This file is indexed.

/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