Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#!/bin/sh
#
# $Id: pamgdb.in 816 2014-09-12 07:50:22Z des $
#

srcdir="@abs_top_srcdir@"
builddir="@abs_top_builddir@"

# Make sure we get the right version of libpam
pam_libdir="${builddir}/lib/.libs"
LD_LIBRARY_PATH="${pam_libdir}:${LD_LIBRARY_PATH}"
LD_LIBRARY_PATH="${LD_LIBRARY_PATH%:}"
export LD_LIBRARY_PATH

# DWIM, assuming that the first positional argument is the name of the
# program to debug rather than a gdb option.
prog="$1"
if expr "${prog}" : ".*/.*" >/dev/null ; then
	# The first argument is an absolute or relative path.  There
	# is a good chance that it points to the wrapper script
	# generated by libtool rather than the actual binary.
	altprog="${prog%/*}/.libs/${prog##*/}"
	if [ -x "${altprog}" ] ; then
		shift
		set "${altprog}" "$@"
	fi
elif expr "${prog}" : "[a-z.-][a-z.-]*" >/dev/null ; then
	# The first argument is just the name of the program.  Look for
	# it in the build directory.
	for libdir in $(find "${builddir}" -type d -name .libs -print) ; do
		altprog="${libdir}/${prog}"
		if [ -x "${altprog}" ] ; then
			shift
			set "${altprog}" "$@"
			break
		fi
	done
fi

# Let's go!
exec gdb "$@"