This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Problem with gas test on cygwin...
- From: Dave Korn <dave dot korn dot cygwin at googlemail dot com>
- To: Dave Korn <dave dot korn dot cygwin at googlemail dot com>
- Cc: Christian Joensson <christian dot joensson at gmail dot com>, binutils <binutils at sourceware dot org>, "H.J. Lu" <hjl dot tools at gmail dot com>
- Date: Tue, 02 Jun 2009 12:05:18 +0100
- Subject: Re: Problem with gas test on cygwin...
- References: <5460e3330906012255m7da31a4bv13ba603b9de38b39@mail.gmail.com> <4A24EFF4.4000000@gmail.com>
Dave Korn wrote:
> Christian Joensson wrote:
>> Hi guys.
>>
>> Windows XP Pro/SP3 cygwin Intel Core2 Duo T9600@2.80GHz system with packages:
>>
>> binutils (local build) 2.19.51.20090531 (+D Korn's gas weak patch)
Still fails with my weak patch reverted. Which makes sense; it shouldn't be
affecting these strongly-defined references in any way.
>> ../as-new --32 -o dump.o
>> /usr/local/src/trunk/src/gas/testsuite/gas/i386/jump.s
>> Executing on host: sh -c {../as-new --32 -o dump.o
>> /usr/local/src/trunk/src/gas/testsuite/gas/i386/jump.s 2>&1}
>> /dev/null gas.out (timeout = 300)
>> spawn [open ...]^M
>> /usr/local/src/trunk/objdir-binutils/gas/testsuite/../../binutils/objdump
>> -drw dump.o
>> Executing on host: sh -c
>> {/usr/local/src/trunk/objdir-binutils/gas/testsuite/../../binutils/objdump
>> -drw dump.o >dump.out 2>gas.stderr} /dev/null (timeout = 300)
>> spawn [open ...]^M
>> regexp_diff match failure
>> regexp "^[ ]*[a-f0-9]+: eb 00 jmp 0x7b$"
>> line " 79: eb 00 jmp 7b <.text+0x7b>"
>> regexp_diff match failure
>> regexp "^[ ]*[a-f0-9]+: eb 00 jmp 0x7e$"
>> line " 7c: eb 00 jmp 7e <.text+0x7e>"
>> FAIL: i386 jump
>> ../as-new --32 -J -o dump.o
>> /usr/local/src/trunk/src/gas/testsuite/gas/i386/ssemmx2.s
This is HJ's new test for the '$' == '.' syntax. It looks like a minor
difference between PE and ELF handling of section symbols to me; it doesn't
happen on Linux. There appears to be an idiom used in the rest of the file to
handle these formatting differences, which I have extended in the attached
patch. With the patch, cygwin now PASSes and linux remains PASSing.
gas/testsuite/ChangeLog:
* gas/i386/jump.d: Tweak patterns to also match PE platform output.
OK to apply?
cheers,
DaveK
Index: gas/testsuite/gas/i386/jump.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/i386/jump.d,v
retrieving revision 1.6
diff -p -u -r1.6 jump.d
--- gas/testsuite/gas/i386/jump.d 1 Jun 2009 16:31:00 -0000 1.6
+++ gas/testsuite/gas/i386/jump.d 2 Jun 2009 10:43:51 -0000
@@ -32,8 +32,8 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 66 ff 23 jmpw \*\(%ebx\)
[ ]*[a-f0-9]+: ff 23 jmp \*\(%ebx\)
[ ]*[a-f0-9]+: ff 2b ljmp \*\(%ebx\)
-[ ]*[a-f0-9]+: eb 00 jmp 0x7b
+[ ]*[a-f0-9]+: eb 00 jmp (0x)?7b( <.text(\+0x7b)?>)?
[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: eb 00 jmp 0x7e
+[ ]*[a-f0-9]+: eb 00 jmp (0x)?7e( <.text(\+0x7e)?>)?
[ ]*[a-f0-9]+: 90 nop
#pass