From 224d30d393654ff0689429505a3e725cdad1cca5 Mon Sep 17 00:00:00 2001 From: Markus Metzger Date: Wed, 26 Sep 2018 15:28:28 +0200 Subject: [PATCH] testsuite: fix is_amd64_regs_target Commit c221b2f Testsuite: Add gdb_can_simple_compile changed the source file name extension of the test program from .s to .c resulting in compile fails. This, in turn, causes is_amd64_regs_target checks to fail. In gdb.btrace/tailcall.exp and others, this causes the wrong source file to be picked and the test to fail on 64-bit targets. Change the test source from an assembly program to a C program using inline assembly. testsuite/ * lib/gdb.exp (is_amd64_regs_target): Change assembly to C inline assembly. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/lib/gdb.exp | 13 +++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index f2fb6de..7f278ef 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-10-01 Markus Metzger + + * lib/gdb.exp (is_amd64_regs_target): Change assembly to C inline + assembly. + 2018-09-28 Andrew Burgess * gdb.base/frame-selection.exp: New file. diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index f32abfe..1eea922 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -2467,13 +2467,14 @@ gdb_caching_proc is_amd64_regs_target { return 0 } - set list {} - foreach reg \ - {rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15} { - lappend list "\tincq %$reg" - } + return [gdb_can_simple_compile is_amd64_regs_target { + int main (void) { + asm ("incq %rax"); + asm ("incq %r15"); - return [gdb_can_simple_compile is_amd64_regs_target [join $list \n]] + return 0; + } + }] } # Return 1 if this target is an x86 or x86-64 with -m32. -- 2.7.4