From: nickc Date: Tue, 29 Apr 2003 11:52:36 +0000 (+0000) Subject: Fix problem parsing symbol version strings when they are preceeded by whitespace. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=034b0a1dced23cd161b07b04ff89e1aca96e9a61;p=pf3gnuchains%2Fpf3gnuchains3x.git Fix problem parsing symbol version strings when they are preceeded by whitespace. Add test to catch this problem in the future. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index f9eec49a12..3417eb236e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2003-04-29 Nick Clifton + + * config/obj-elf.c (obj_elf_symver): Skip whitespace before the + start of a version name. + 2003-04-28 Chris Demetriou * configure.in (mips-*-*n*bsd*): Replace with... diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c index 6c15704fe5..7c2423c11b 100644 --- a/gas/config/obj-elf.c +++ b/gas/config/obj-elf.c @@ -1269,6 +1269,7 @@ obj_elf_symver (ignore) } ++input_line_pointer; + SKIP_WHITESPACE (); name = input_line_pointer; /* Temporarily include '@' in symbol names. */ diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index e619931f28..381233ce73 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2003-04-29 Nick Clifton + + * gas/elf/elf.exp: Invoke symver test. + * gas/elf/symver.s: New test case. + * gas/elf/symver.d: Expected output. + 2003-04-24 Nick Clifton * gas/ppc/astest2.s: Add tests for conditional branches with diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp index a967cb7d43..c9aa34d5f1 100644 --- a/gas/testsuite/gas/elf/elf.exp +++ b/gas/testsuite/gas/elf/elf.exp @@ -53,4 +53,5 @@ if { ([istarget "*-*-elf*"] run_dump_test "section0" run_dump_test "section1" run_list_test "section2" "$target_machine" "-al" + run_dump_test "symver" } diff --git a/gas/testsuite/gas/elf/symver.d b/gas/testsuite/gas/elf/symver.d new file mode 100644 index 0000000000..67b8a4cf13 --- /dev/null +++ b/gas/testsuite/gas/elf/symver.d @@ -0,0 +1,17 @@ +#objdump: --syms +#name: ELF symbol versioning +# +# The #... and #pass are there to match extra symbols inserted by +# some toolchains, eg the mips-elf port will add .reginfo and .ptrd + +dump.o: file format .* + +SYMBOL TABLE: + +0+000 l.*d.*\.text.*0+000.* +0+000 l.*d.*\.data.*0+000.* +0+000 l.*d.*\.bss.*0+000.* +#... +0+000 l.*O.*\.data.*0+004 x +0+000 l.*O.*\.data.*0+004 x@VERS\.0 +#pass diff --git a/gas/testsuite/gas/elf/symver.s b/gas/testsuite/gas/elf/symver.s new file mode 100644 index 0000000000..dd2315bfb3 --- /dev/null +++ b/gas/testsuite/gas/elf/symver.s @@ -0,0 +1,6 @@ + .data + .type x,@object + .size x,4 +x: + .word 12 + .symver x, x@VERS.0