This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: rs6000.h patch for gcc-2.95 branch


>>>>> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]