Linker scripts and Section Reordering.
Alan Modra
amodra@gmail.com
Mon Jan 14 13:08:00 GMT 2013
On Wed, Jan 09, 2013 at 03:40:08PM -0800, Sriraman Tallam wrote:
> * Makefile.am (final_layout.sh): Use a simple linker script to
> check if section ordering still works.
When using a script, powerpc64 gold needs to be told where to place
.toc sections, otherwise they will get their own output section which
happens to be placed before .got. Since the toc base reg is set to
.got + 32768, this results in offsets less than -32768 and reloc
overflows. OK to apply?
* Makefile.am (final_layout_script.lds): Handle .got section.
* Makefile.in: Regenerate.
Index: gold/testsuite/Makefile.am
===================================================================
RCS file: /cvs/src/src/gold/testsuite/Makefile.am,v
retrieving revision 1.204
diff -u -p -r1.204 Makefile.am
--- gold/testsuite/Makefile.am 10 Jan 2013 00:18:15 -0000 1.204
+++ gold/testsuite/Makefile.am 14 Jan 2013 06:22:10 -0000
@@ -252,7 +252,7 @@ final_layout.o: final_layout.cc
final_layout_sequence.txt:
(echo "*_Z3barv*" && echo ".text._Z3bazv" && echo "*_Z3foov*" && echo "*global_varb*" && echo "*global_vara*" && echo "*global_varc*") > final_layout_sequence.txt
final_layout_script.lds:
- (echo "SECTIONS { .text : { *(.text*) } .bss : { *(.bss*) } }") > final_layout_script.lds
+ (echo "SECTIONS { .text : { *(.text*) } .got : { *(.got .toc) } .bss : { *(.bss*) } }") > final_layout_script.lds
final_layout: final_layout.o final_layout_sequence.txt final_layout_script.lds gcctestdir/ld
$(CXXLINK) -Bgcctestdir/ -Wl,--section-ordering-file,final_layout_sequence.txt -Wl,-T,final_layout_script.lds final_layout.o
final_layout.stdout: final_layout
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list