diff options
author | Tom de Vries <tdevries@suse.de> | 2023-03-17 16:06:39 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2023-03-17 16:06:39 +0100 |
commit | 4581f89b8d7de193605e39861c87359c9ea473cf (patch) | |
tree | c0c68d83c20f070393b63cab3602677c099e4eb8 /gdb | |
parent | a14e3d11b2656355ca2c3d5b5a9f05e46f71e897 (diff) | |
download | binutils-4581f89b8d7de193605e39861c87359c9ea473cf.zip binutils-4581f89b8d7de193605e39861c87359c9ea473cf.tar.gz binutils-4581f89b8d7de193605e39861c87359c9ea473cf.tar.bz2 |
[gdb/testsuite] Handle precise-aligned-alloc.c for remote host
With test-case gdb.arch/i386-sse.exp (and likewise gdb.arch/i386-avx.exp) and
host board local-remote-host-notty and target board native-gdbserver I run
into:
...
gdb compile failed, i386-sse.c:68:10: fatal error: \
../lib/precise-aligned-alloc.c: No such file or directory
#include "../lib/precise-aligned-alloc.c"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
Fix this using '#include "precise-aligned-alloc.c"' and making that work with
non-remote and remote host.
Tested on x86_64-linux.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/gdb.arch/i386-avx.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.arch/i386-avx.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.arch/i386-sse.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.arch/i386-sse.exp | 2 | ||||
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 16 |
5 files changed, 22 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.arch/i386-avx.c b/gdb/testsuite/gdb.arch/i386-avx.c index 28c407d..b778b3f 100644 --- a/gdb/testsuite/gdb.arch/i386-avx.c +++ b/gdb/testsuite/gdb.arch/i386-avx.c @@ -50,7 +50,7 @@ v8sf_t data_orig[] = #endif }; -#include "../lib/precise-aligned-alloc.c" +#include "precise-aligned-alloc.c" int main (int argc, char **argv) diff --git a/gdb/testsuite/gdb.arch/i386-avx.exp b/gdb/testsuite/gdb.arch/i386-avx.exp index ad2cb58..5516684 100644 --- a/gdb/testsuite/gdb.arch/i386-avx.exp +++ b/gdb/testsuite/gdb.arch/i386-avx.exp @@ -30,6 +30,8 @@ set flags { debug } # C11 for _Alignas, gnu for asm. lappend flags additional_flags=-std=gnu11 +lappend_include_file flags $srcdir/lib/precise-aligned-alloc.c + if { [test_compiler_info gcc*] || [test_compiler_info clang*] } { lappend flags "additional_flags=-mavx -I${srcdir}/.." } diff --git a/gdb/testsuite/gdb.arch/i386-sse.c b/gdb/testsuite/gdb.arch/i386-sse.c index a5424f5..8b1b0ec 100644 --- a/gdb/testsuite/gdb.arch/i386-sse.c +++ b/gdb/testsuite/gdb.arch/i386-sse.c @@ -65,7 +65,7 @@ have_sse (void) return 0; } -#include "../lib/precise-aligned-alloc.c" +#include "precise-aligned-alloc.c" int main (int argc, char **argv) diff --git a/gdb/testsuite/gdb.arch/i386-sse.exp b/gdb/testsuite/gdb.arch/i386-sse.exp index 6df98ec..3c66589 100644 --- a/gdb/testsuite/gdb.arch/i386-sse.exp +++ b/gdb/testsuite/gdb.arch/i386-sse.exp @@ -32,6 +32,8 @@ if { [test_compiler_info gcc*] || [test_compiler_info clang*] } { lappend flags "additional_flags=-msse -I${srcdir}/.." } +lappend_include_file flags $srcdir/lib/precise-aligned-alloc.c + if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \ $flags] != "" } { unsupported "compiler does not support SSE" diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 8b1127c..0e69bca 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -9491,5 +9491,21 @@ gdb_caching_proc have_compile_flag { flag } { additional_flags=$flag] } + +# Handle include file FILE, and if necessary update compiler flags variable +# FLAGS. + +proc lappend_include_file { flags file } { + upvar $flags up_flags + if { [is_remote host] } { + gdb_remote_download host $file + } else { + set dir [file dirname $file] + if { $dir != [file join $::srcdir $::subdir] } { + lappend up_flags "additional_flags=-I$dir" + } + } +} + # Always load compatibility stuff. load_lib future.exp |