23 lines
915 B
Bash
Executable File
23 lines
915 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# `kyua debug` command does not work with libtool (see
|
|
# https://github.com/jmmv/kyua/issues/207). On some distributions `kyua debug`
|
|
# runs the first `gdb` it finds in $PATH, but on Debian and Ubuntu it looks for
|
|
# `/usr/bin/gdb`. This script expects `gdb` to be moved to `gdb.orig` and
|
|
# executed from there.
|
|
coredump="$6"
|
|
binary=$(gdb.orig --batch --core="${coredump}" 2>/dev/null | sed -ne "s/Core was generated by \`\(.*\)'./\1/p")
|
|
# GDB 6.3 from OpenBSD 6.6 does not tell the full path of the broken binary.
|
|
# We need to fix it. Either the binary or it's libtool script will do.
|
|
if [ ! -e "${binary}" ]; then
|
|
binary="$(find "${TOP}" -name "${binary}" | head -n 1)"
|
|
fi
|
|
|
|
# $TOP points to BIND sources and should be set on `kyua debug` invocation.
|
|
"${TOP}/libtool" --mode=execute gdb.orig \
|
|
--batch \
|
|
--command="${TOP}/bin/tests/system/run.gdb" \
|
|
--core="${coredump}" \
|
|
-- \
|
|
"${binary}"
|