This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/77300] [MIPS] incorrectly moves instruction containing local GOT16 relocation into a delay slot
- From: "aurelien at aurel32 dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 21 Aug 2016 21:13:01 +0000
- Subject: [Bug target/77300] [MIPS] incorrectly moves instruction containing local GOT16 relocation into a delay slot
- Authentication-results: sourceware.org; auth=none
- Auto-submitted: auto-generated
- References: <bug-77300-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77300
Aurelien Jarno <aurelien at aurel32 dot net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |aurelien at aurel32 dot net
--- Comment #1 from Aurelien Jarno <aurelien at aurel32 dot net> ---
I have tried to identified when this behavior has been introduced. It appears
that even GCC 4.9 is producing similar code. However what cause ld to reject it
is the following change in the assembly code:
- .text
+ .section
.text._ZN1HIiE5m_fn4ERK1G.isra.1,"axG",@progbits,_ZN1HIiE5m_fn5ERK1G,comdat
It seems the optimization is somehow correct when all the code is in the same
section, but that's no the case anymore when it is in multiple sections.