This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: rs6000.h patch for gcc-2.95 branch
- To: Bernd Schmidt <bernds at cambridge dot redhat dot com>
- Subject: Re: rs6000.h patch for gcc-2.95 branch
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Wed, 21 Feb 2001 13:07:25 -0500
- cc: gcc-patches at gcc dot gnu dot org
>>>>> Bernd Schmidt writes:
Bernd> (This isn't critical and can wait until 2.95.4, right?)
Bernd> What kind of failure do you get without the patch?
It is not critical, but it is an annoying bug. What gcc-2.95.x
currently produces is:
.csect .text[PR]
_section_.text:
.csect .data[RW]
.long _section_.text
The purpose is to have the data section reference the text section so that
the text section is not garbage collected away by the linker. ".long"
always means a 32-bit quantity and in 64-bit mode this is trying to place
a 64-bit address of he _section_.text label into a 32-bit location. The
AIX linker silently truncates the value and the GNU linker complains with
an error.
The change produces ".llong _section_.text" in 64-bit mode which
allocates storage for a 64-bit pointer.
David