[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gdb-patches
Subject:    [Ping]  [PATCH] Fix gdb.base/step-indirect-call-thunk.exp
From:       Carl Love via Gdb-patches <gdb-patches () sourceware ! org>
Date:       2022-06-30 15:12:49
Message-ID: d014d95b3a271368ccab5048fa66afde44f11c5c.camel () us ! ibm ! com
[Download RAW message or body]

Ping?


On Wed, 2022-06-15 at 09:21 -0700, Carl Love wrote:
> GDB maintainers:
> 
> The gdb regression test gdb.base/step-indirect-call-thunk.exp
> currently
> does not run on X86 due to a compile error related to incompatible
> gcc
> command line argument.  Secondly, the gcc command line arguments that
> are used are specific to Intel thus generating an unsupported command
> line error when compiled on other architectures.
> 
> This patch fixes the command line arguments so the test will compile
> on
> X86.  It also adds a check so the test will only run on X86.
> 
> Please let me know if this patch is acceptable for mainline.
> 
>                            Carl Love
> 
> 
> --------------------------------------------------------------
> Fix gdb.base/step-indirect-call-thunk.exp
> 
> This test fails on Intel X86-64 with the error:
> 
> Executing on host: gcc  -fno-stack-protector  -fdiagnostics-
> color=never
> -mindirect-branch=thunk -mfunction-return=thunk -c -g
> -o /.../gdb/testsuite/outputs/gdb.base/step-indirect-call-thunk/step-
> indirect-call-thunk0.o
> /.../gdb/testsuite/gdb.base/step-indirect-call-thunk.c
> (timeout = 300) builtin_spawn -ignore SIGHUP gcc -fno-stack-protector
> -fdiagnostics-color=never -mindirect-branch=thunk -mfunction-
> return=thunk -c
> -g -o /.../gdb/testsuite/outputs/gdb.base/step-indirect-call-
> thunk/step-indirect-call-thunk0.o
> /.../binutils-gdb-current/gdb/testsuite/gdb.base/step-indirect-call-
> thunk.c
> /.../gdb/testsuite/gdb.base/step-indirect-call-thunk.c:
>  In function 'inc': /.../gdb/testsuite/gdb.base/step-indirect-call-
> thunk.c:
> 22:1: error: '-mindirect-branch' and '-fcf-protection' are not
> compatible
>    22 | {                /* inc.1 */
> 
> As stated in the error message the default "-fcf-protection" and
> "-mindirect-branch' are in compatible.  The fcf-protection argument
> needs to be
> "-fcf-protection=none" for the test to compile on Intel.
> 
> The test also fails on PowerPC as the "-mindirect-branch' is an Intel
> specific
> GCC command line argument.  A check for X86 is added so the test will
> only run
> on X86 platforms.
> 
> The patch has been tested and verified on Power 10 and Intel X86-64
> systems with
> no regressions.
> ---
>  gdb/testsuite/gdb.base/step-indirect-call-thunk.exp | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/gdb/testsuite/gdb.base/step-indirect-call-thunk.exp
> b/gdb/testsuite/gdb.base/step-indirect-call-thunk.exp
> index 761e1d9a280..7c1b53c99be 100644
> --- a/gdb/testsuite/gdb.base/step-indirect-call-thunk.exp
> +++ b/gdb/testsuite/gdb.base/step-indirect-call-thunk.exp
> @@ -15,7 +15,11 @@
> 
>  standard_testfile
> 
> -set cflags "-mindirect-branch=thunk -mfunction-return=thunk"
> +if { ![istarget "x86*"] } {
> +    return
> +}
> +
> +set cflags "-mindirect-branch=thunk -mfunction-return=thunk -fcf-
> protection=none"
>  if { [prepare_for_testing "failed to prepare" $testfile $srcfile \
>          [list debug "additional_flags=$cflags"]] } {
>      return -1

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic