binutils-gdb/ld/testsuite/ld-powerpc/tocnovar.d
Alan Modra 44bd1acd55 Non-alloc sections don't belong in PT_LOAD segments
Taking them out showed a bug in the powerpc64 backend with .branch_lt
being removed from output_bfd but not from previously set up segment
section maps.  Removing the bfd sections meant their sh_flags (and
practically everything else) remaining zero, ie. not SHF_ALLOC,
triggering complaints about "`.branch_lt' can't be allocated in
segment".

include/elf/
	* internal.h (ELF_SECTION_IN_SEGMENT_1): Ensure PT_LOAD and
	similar segments only contain alloc sections.
ld/
	* emultempl/ppc64elf.em (gld${EMULATION_NAME}_after_allocation):
	Call gld${EMULATION_NAME}_map_segments regardless of need_laying_out.
ld/testsuite/
	* ld-powerpc/tocnovar.d: Revert last change.
2015-04-25 09:15:49 +09:30

15 lines
197 B
Makefile

#source: tocnovar.s
#as: -a64
#ld: -melf64ppc -z relro
#readelf: -l --wide
#target: powerpc64*-*-*
#...
+LOAD .*
+LOAD .*
+GNU_RELRO .*
#...
+00 +\.text
+01 +\.opd \.got
+02 +\.opd \.got