#!/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}"