#!/bin/sh # Copyright (C) Internet Systems Consortium, Inc. ("ISC") # # SPDX-License-Identifier: MPL-2.0 # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, you can obtain one at https://mozilla.org/MPL/2.0/. # # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. # `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}" |