diff options
author | Sriraman Tallam <tmsriram@google.com> | 2013-01-10 00:18:15 +0000 |
---|---|---|
committer | Sriraman Tallam <tmsriram@google.com> | 2013-01-10 00:18:15 +0000 |
commit | 9e9143bc874ab4742433b7498413313fb1723e8b (patch) | |
tree | affd5cff00b087689a5da91d989d3fcdc3527f47 /gold/testsuite | |
parent | 40c134978ad094bc831acd08703edee156b68f75 (diff) | |
download | gdb-9e9143bc874ab4742433b7498413313fb1723e8b.zip gdb-9e9143bc874ab4742433b7498413313fb1723e8b.tar.gz gdb-9e9143bc874ab4742433b7498413313fb1723e8b.tar.bz2 |
Make linker scripts and section ordering via --section-ordering-file or
linker plugins work. This patch lets linker scripts take precedence.
2013-01-09 Sriraman Tallam <tmsriram@google.com>
* output.h (sort_attached_input_sections): Change to be public.
* script-sections.cc
(Output_section_definition::set_section_addresses): Sort
attached input sections according to section order before linker
script assigns section addresses.
(Orphan_output_section::set_section_addresses): Sort
attached input sections according to section order before linker
script assigns section addresses.
* Makefile.am (final_layout.sh): Use a simple linker script to
check if section ordering still works.
* Makefile.in: Regenerate.
Diffstat (limited to 'gold/testsuite')
-rw-r--r-- | gold/testsuite/Makefile.am | 8 | ||||
-rw-r--r-- | gold/testsuite/Makefile.in | 7 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am index 74621e9..e5f445a 100644 --- a/gold/testsuite/Makefile.am +++ b/gold/testsuite/Makefile.am @@ -246,13 +246,15 @@ icf_safe_so_test_2.stdout: icf_safe_so_test check_SCRIPTS += final_layout.sh check_DATA += final_layout.stdout -MOSTLYCLEANFILES += final_layout final_layout_sequence.txt +MOSTLYCLEANFILES += final_layout final_layout_sequence.txt final_layout_script.lds final_layout.o: final_layout.cc $(CXXCOMPILE) -O0 -c -ffunction-sections -fdata-sections -g -o $@ $< 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: final_layout.o final_layout_sequence.txt gcctestdir/ld - $(CXXLINK) -Bgcctestdir/ -Wl,--section-ordering-file,final_layout_sequence.txt final_layout.o +final_layout_script.lds: + (echo "SECTIONS { .text : { *(.text*) } .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 $(TEST_NM) -n --synthetic final_layout > final_layout.stdout diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in index f829774..6e22934 100644 --- a/gold/testsuite/Makefile.in +++ b/gold/testsuite/Makefile.in @@ -125,6 +125,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_safe_test icf_safe_so_test \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ final_layout \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ final_layout_sequence.txt \ +@GCC_TRUE@@NATIVE_LINKER_TRUE@ final_layout_script.lds \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ text_section_grouping \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_virtual_function_folding_test \ @GCC_TRUE@@NATIVE_LINKER_TRUE@ icf_preemptible_functions_test \ @@ -4355,8 +4356,10 @@ uninstall-am: @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -O0 -c -ffunction-sections -fdata-sections -g -o $@ $< @GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout_sequence.txt: @GCC_TRUE@@NATIVE_LINKER_TRUE@ (echo "*_Z3barv*" && echo ".text._Z3bazv" && echo "*_Z3foov*" && echo "*global_varb*" && echo "*global_vara*" && echo "*global_varc*") > final_layout_sequence.txt -@GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout: final_layout.o final_layout_sequence.txt gcctestdir/ld -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--section-ordering-file,final_layout_sequence.txt final_layout.o +@GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout_script.lds: +@GCC_TRUE@@NATIVE_LINKER_TRUE@ (echo "SECTIONS { .text : { *(.text*) } .bss : { *(.bss*) } }") > final_layout_script.lds +@GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout: final_layout.o final_layout_sequence.txt final_layout_script.lds gcctestdir/ld +@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--section-ordering-file,final_layout_sequence.txt -Wl,-T,final_layout_script.lds final_layout.o @GCC_TRUE@@NATIVE_LINKER_TRUE@final_layout.stdout: final_layout @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_NM) -n --synthetic final_layout > final_layout.stdout @GCC_TRUE@@NATIVE_LINKER_TRUE@text_section_grouping.o: text_section_grouping.cc |