From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32364 invoked by alias); 29 Apr 2003 11:55:15 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 32357 invoked from network); 29 Apr 2003 11:55:14 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 29 Apr 2003 11:55:14 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id h3TBtED13507 for ; Tue, 29 Apr 2003 07:55:14 -0400 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [172.16.52.156]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id h3TBtEq18023; Tue, 29 Apr 2003 07:55:14 -0400 Received: from localhost.localdomain.redhat.com (vpn50-27.rdu.redhat.com [172.16.50.27]) by pobox.corp.redhat.com (8.11.6/8.11.6) with ESMTP id h3TBtAY18740; Tue, 29 Apr 2003 07:55:12 -0400 To: Alan Modra Cc: "H. J. Lu" , binutils@sources.redhat.com Subject: Re: ppc-gas: Add '+' and '-' to symbol chars list References: <20030427234406.GD933@bubble.sa.bigpond.net.au> <20030427212431.A21730@lucon.org> <20030429053018.GE25514@bubble.sa.bigpond.net.au> From: Nick Clifton Date: Tue, 29 Apr 2003 11:55:00 -0000 In-Reply-To: <20030429053018.GE25514@bubble.sa.bigpond.net.au> Message-ID: User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2003-04/txt/msg00604.txt.bz2 Hi Alan, > It's still broken. > > $ cat xxx.s > .data > .type x,@object > .size x,4 > x: > .word 12 > .symver x, x@VERS.0 > $ gas/as-new xxx.s > xxx.s: Assembler messages: > xxx.s:6: Error: missing version name in `' for symbol `x' > xxx.s:6: Warning: rest of line ignored; first ignored character is ` ' The patch below takes care of this problem. It does raise an issue though - are there other places where we need to insert a SKIP_WHITESPACE ? I ma also including an addition to the testsuite to check for this bug. I will check the patches into the branch as well. Cheers Nick gas/ChangeLog 2003-04-29 Nick Clifton * config/obj-elf.c (obj_elf_symver): Skip whitespace before the start of a version name. gas/testsuite/ChangeLog 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. Index: gas/config/obj-elf.c =================================================================== RCS file: /cvs/src/src/gas/config/obj-elf.c,v retrieving revision 1.62 diff -c -3 -p -w -r1.62 obj-elf.c *** gas/config/obj-elf.c 4 Feb 2003 12:34:08 -0000 1.62 --- gas/config/obj-elf.c 29 Apr 2003 10:53:34 -0000 *************** obj_elf_symver (ignore) *** 1269,1274 **** --- 1269,1275 ---- } ++input_line_pointer; + SKIP_WHITESPACE (); name = input_line_pointer; /* Temporarily include '@' in symbol names. */ Index: testsuite/gas/elf/elf.exp =================================================================== RCS file: /cvs/src/src/gas/testsuite/gas/elf/elf.exp,v retrieving revision 1.15 diff -c -3 -p -w -r1.15 elf.exp *** testsuite/gas/elf/elf.exp 25 Mar 2003 20:55:59 -0000 1.15 --- testsuite/gas/elf/elf.exp 29 Apr 2003 11:48:22 -0000 *************** if { ([istarget "*-*-elf*"] *** 53,56 **** --- 53,57 ---- run_dump_test "section0" run_dump_test "section1" run_list_test "section2" "$target_machine" "-al" + run_dump_test "symver" } *** /dev/null Thu Jan 30 10:24:37 2003 --- testsuite/gas/elf/symver.s Tue Apr 29 11:53:03 2003 *************** *** 0 **** --- 1,6 ---- + .data + .type x,@object + .size x,4 + x: + .word 12 + .symver x, x@VERS.0 *** /dev/null Thu Jan 30 10:24:37 2003 --- testsuite/gas/elf/symver.d Tue Apr 29 12:37:44 2003 *************** *** 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