aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2023-03-17 16:06:39 +0100
committerTom de Vries <tdevries@suse.de>2023-03-17 16:06:39 +0100
commit4581f89b8d7de193605e39861c87359c9ea473cf (patch)
treec0c68d83c20f070393b63cab3602677c099e4eb8 /gdb
parenta14e3d11b2656355ca2c3d5b5a9f05e46f71e897 (diff)
downloadbinutils-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.c2
-rw-r--r--gdb/testsuite/gdb.arch/i386-avx.exp2
-rw-r--r--gdb/testsuite/gdb.arch/i386-sse.c2
-rw-r--r--gdb/testsuite/gdb.arch/i386-sse.exp2
-rw-r--r--gdb/testsuite/lib/gdb.exp16
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