aboutsummaryrefslogtreecommitdiff
path: root/gdb/contrib
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2021-08-02 15:31:51 +0200
committerTom de Vries <tdevries@suse.de>2021-08-02 15:31:51 +0200
commita66b7a0434a9e2233801bcdb294dd6d92f57dc9b (patch)
treee19f7c6840938bca3482ece94ac766cbc748403d /gdb/contrib
parent91254b918f1b35359d44b567a15013c42a931460 (diff)
downloadgdb-a66b7a0434a9e2233801bcdb294dd6d92f57dc9b.zip
gdb-a66b7a0434a9e2233801bcdb294dd6d92f57dc9b.tar.gz
gdb-a66b7a0434a9e2233801bcdb294dd6d92f57dc9b.tar.bz2
[gdb/testsuite] Fix gdb.dwarf2/fission-relative-dwo.exp with cc-with-gdb-index
When running with target board cc-with-gdb-index, we run into: ... gdb compile failed, warning: Could not find DWO CU \ fission-relative-dwo.dwo(0x1234) referenced by CU at offset 0xc7 \ [in module outputs/gdb.dwarf2/fission-relative-dwo/.tmp/fission-relative-dwo] UNTESTED: gdb.dwarf2/fission-relative-dwo.exp: fission-relative-dwo.exp ERROR: failed to compile fission-relative-dwo ... The problem is that: - the .dwo file is found relative to the executable, and - cc-with-tweaks.sh moves the executable to a temp dir, but not the .dwo file. Fix this by copying the .dwo file alongside the executable in the temp dir. Verified changes using shellcheck. Tested on x86_64-linux. gdb/ChangeLog: 2021-08-02 Tom de Vries <tdevries@suse.de> * contrib/cc-with-tweaks.sh: Copy .dwo files alongside executable.
Diffstat (limited to 'gdb/contrib')
-rwxr-xr-xgdb/contrib/cc-with-tweaks.sh14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/contrib/cc-with-tweaks.sh b/gdb/contrib/cc-with-tweaks.sh
index 8653dfb..0d244db 100755
--- a/gdb/contrib/cc-with-tweaks.sh
+++ b/gdb/contrib/cc-with-tweaks.sh
@@ -179,6 +179,19 @@ fi
if [ "$want_index" = true ]; then
get_tmpdir
mv "$output_file" "$tmpdir"
+ output_dir=$(dirname "$output_file")
+
+ # Copy .dwo file alongside, to fix gdb.dwarf2/fission-relative-dwo.exp.
+ # Use copy instead of move to not break
+ # rtf=gdb.dwarf2/fission-absolute-dwo.exp.
+ dwo_pattern="$output_dir/*.dwo"
+ for f in $dwo_pattern; do
+ if [ "$f" = "$dwo_pattern" ]; then
+ break
+ fi
+ cp "$f" "$tmpdir"
+ done
+
tmpfile="$tmpdir/$(basename $output_file)"
# Filter out these messages which would stop dejagnu testcase run:
# echo "$myname: No index was created for $file" 1>&2
@@ -187,6 +200,7 @@ if [ "$want_index" = true ]; then
| grep -v "^${GDB_ADD_INDEX##*/}: " >&2
rc=${PIPESTATUS[0]}
mv "$tmpfile" "$output_file"
+ rm -f "$tmpdir"/*.dwo
[ $rc != 0 ] && exit $rc
fi