PR bfd/14207 changes vs *-*-nacl* targets

Roland McGrath mcgrathr@google.com
Mon Jul 2 19:09:00 GMT 2012


Since the changes to fix bug 14207, I'm now seeing these new failures
for arm-nacl, i686-nacl, and x86_64-nacl targets:

UNRESOLVED: strip -z relro (relro1)
UNRESOLVED: objcopy -z relro (relro1)
UNRESOLVED: objcopy -z relro (tdata1)
UNRESOLVED: objcopy -z relro (tdata2)

These are hitting the abort in assign_file_positions_for_non_load_sections
added by:

	2012-06-12  H.J. Lu  <hongjiu.lu@intel.com>

		PR bfd/14207
		* elf.c (assign_file_positions_for_non_load_sections): Abort if
		PT_GNU_RELRO segment doesn't fit in PT_LOAD segment.

(Incidentally, why is that a conditional call to abort instead of a use of
BFD_ASSERT?)

Dropping the new check I do indeed get a bogus PT_NULL header generated.
So it looks like earlier fix:

	2012-06-12  Alan Modra  <amodra@gmail.com>

		PR ld/14207
		* elf.c (_bfd_elf_map_sections_to_segments): Disregard bss type
		sections at end of PT_LOAD segment when searching for segment
		that contains end of relro extent.

for this issue did not cover all cases.  I lack the context that folks like
Alan have on how this stuff is organized in the linker, so it's probably
easier for someone else to build a --target=x86_64-nacl configuration and
debug this than for me to figure it all out myself.


Thanks,
Roland



More information about the Binutils mailing list