mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-15 04:31:49 +08:00
[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.
This commit is contained in:
parent
91254b918f
commit
a66b7a0434
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user