[gold patch] final_layout.sh fails depending on symbol table order

Cary Coutant ccoutant@google.com
Fri Mar 25 21:43:00 GMT 2011


The recent patch to testsuite/final_layout.sh (to eliminate the
dependency on dc) now simply checks the order of the variables in nm
output, but nm output is not always in address order:

0000000000401acc B global_vara
0000000000401ac8 B global_varb
0000000000401ad0 B global_varc

The script is checking that global_varb comes before global_vara, but
fails here because the symbol table is not in address order. Adding
the -n option to the nm call fixes this.

OK? (Obvious?)

-cary


        * testsuite/Makefile.am (final_layout.stdout): Use -n option with nm.
        * testsuite/Makefile.in: Regenerate.


Index: testsuite/Makefile.am
===================================================================
RCS file: /cvs/src/src/gold/testsuite/Makefile.am,v
retrieving revision 1.155
diff -u -p -r1.155 Makefile.am
--- testsuite/Makefile.am	10 Mar 2011 01:31:33 -0000	1.155
+++ testsuite/Makefile.am	25 Mar 2011 21:37:49 -0000
@@ -209,7 +209,7 @@ 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.stdout: final_layout
-	$(TEST_NM) final_layout > final_layout.stdout
+	$(TEST_NM) -n final_layout > final_layout.stdout

 check_PROGRAMS += icf_virtual_function_folding_test
 MOSTLYCLEANFILES += icf_virtual_function_folding_test



More information about the Binutils mailing list