/usr/bin/eztrace.preload is in eztrace 1.1-2-1ubuntu2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | #!/bin/bash
# Copyright © CNRS, INRIA, Université Bordeaux 1, Télécom SudParis
# See COPYING in top-level directory.
debug=n
mpi=n
show_env=n
remove_new_file=no
usage()
{
cat << EOF
usage: $0 options
OPTIONS:
-? Show this message
-t "plugin1 plugin2 ... pluginN" Select a list of plugins
-o <directory> Select the output directory
-l <directory> Select a plugin directory
-f Enable EZTRACE_FLUSH
-d Run EZtrace with gdb
-e Show environment
-p PadicoTM mode
-m MPI mode
EOF
}
while getopts 't:o:l:fbdmep' OPTION; do
case $OPTION in
d)
debug=y
;;
e)
show_env=y
;;
m)
mpi=y
;;
p)
padico=y
;;
t)
modules=$OPTARG
export EZTRACE_TRACE=$modules
;;
o)
output_path=$OPTARG
export EZTRACE_TRACE_DIR=$output_path
;;
l)
eztrace_lib_path=$OPTARG
export EZTRACE_LIBRARY_PATH=$eztrace_library_path
;;
f)
export EZTRACE_FLUSH=1
;;
?) usage
exit 2
;;
esac
done
# remove the options from the command line
shift $(($OPTIND - 1))
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
bindir=${exec_prefix}/bin
# make sure eztrace libs are available
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$libdir
prog_name=$1
shift
new_prog_name=$prog_name
# libeztrace should always be preloaded!
files=${libdir}/libeztrace-autostart.so.0
EZTRACE_LIBRARY_PATH=${EZTRACE_LIBRARY_PATH}:${libdir}/
if [ "x$EZTRACE_TRACE" != x ]; then
# only use the specified modules
for module in $EZTRACE_TRACE
do
for dir in `echo $EZTRACE_LIBRARY_PATH |sed 's/:/ /g'`
do
if [ -f ${dir}/libeztrace-autostart-$module.so.0 ]; then
files="$files:${dir}/libeztrace-autostart-$module.so.0"
fi
done
done
else
# use all the available modules
for dir in `echo $EZTRACE_LIBRARY_PATH |sed 's/:/ /g'`
do
for module in `ls $dir/libeztrace-autostart-*.so.0 2>/dev/null`
do
files="$files:$module"
done
done
fi
if [ x$debug = xy ]; then
# generate a gdbinit file that will preload all the modules
gdbinit_file=`mktemp`
echo "set env LD_PRELOAD $files" > $gdbinit_file
echo "set env LD_LIBRARY_PATH $LD_LIBRARY_PATH" >> $gdbinit_file
echo "echo \n" >> $gdbinit_file
echo "echo EZTrace: hook loaded\n" >> $gdbinit_file
gdb -x $gdbinit_file --args $new_prog_name $*
rm $gdbinit_file
elif [ x$show_env = xy ]; then
remove_new_file=no
echo env LD_PRELOAD=$files LD_LIBRARY_PATH=$LD_LIBRARY_PATH $new_prog_name $*
elif [ x$mpi = xy ]; then
remove_new_file=no
echo env LD_PRELOAD $files LD_LIBRARY_PATH $LD_LIBRARY_PATH $new_prog_name $*
elif [ x$padico = xy ]; then
remove_new_file=no
echo $files $new_prog_name $*
else
LD_PRELOAD=$files $new_prog_name $*
fi
if [ "x$remove_new_file" = "xyes" ]; then
echo "removing $new_prog_name"
rm $new_prog_name
fi
|