[Bug testsuite/30928] [gdb/testsuite] Compilation failure for gdb.arch/i386-signal.exp

cvs-commit at gcc dot gnu.org sourceware-bugzilla@sourceware.org
Sat Oct 7 08:33:38 GMT 2023


https://sourceware.org/bugzilla/show_bug.cgi?id=30928

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tom de Vries <vries@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6542e3df20652b96851c9f801ce199e3072792cf

commit 6542e3df20652b96851c9f801ce199e3072792cf
Author: Tom de Vries <tdevries@suse.de>
Date:   Sat Oct 7 10:33:29 2023 +0200

    [gdb/testsuite] Fix gdb.arch/i386-signal.exp on x86_64

    On x86_64-linux, with test-case gdb.arch/i386-signal.exp I run into:
    ...
    builtin_spawn -ignore SIGHUP gcc -fno-stack-protector i386-signal.c \
      -fdiagnostics-color=never -fno-pie -g -no-pie -lm -o i386-signal^M
    /tmp/cc2xydTG.s: Assembler messages:^M
    /tmp/cc2xydTG.s:50: Error: operand size mismatch for `push'^M
    compiler exited with status 1
    output is:
    /tmp/cc2xydTG.s: Assembler messages:^M
    /tmp/cc2xydTG.s:50: Error: operand size mismatch for `push'^M

    gdb compile failed, /tmp/cc2xydTG.s: Assembler messages:
    /tmp/cc2xydTG.s:50: Error: operand size mismatch for `push'
    UNTESTED: gdb.arch/i386-signal.exp: failed to compile
    ...

    This is with gas 2.41, it compiles without problems with gas 2.40.  Some
more
    strict checking was added in commit 5cc007751cd ("x86: further adjust
    extend-to-32bit-address conditions").  This may or may not be a gas
regression
    ( https://sourceware.org/pipermail/binutils/2023-October/129818.html ).

    The offending bit is:
    ...
        "    push $sigframe\n"
    ...
    which refers to a function:
    ...
        "    .globl sigframe\n"
        "sigframe:\n"
    ...

    The test-case passes with target board unix/-m32.

    Make the test-case work by using pushq instead of push for the
    is_amd64_regs_target case.

    Tested on x86_64-linux, with target boards:
    - unix/-m64 (is_amd64_regs_target == 1), and
    - unix/-m32 (is_amd64_regs_target == 0),

    PR testsuite/30928
    Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30928

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Gdb-prs mailing list