Script "sstrip-ET_EXECs.sh"
#!/bin/sh

# --------------------------
# sstrip-ET_EXECs.sh
# version 1.0.3.5
# --------------------------

# check for required binaries
REQD_BINS=""
which awk >/dev/null 2>&1 || type awk >/dev/null 2>&1 || REQD_BINS="awk,${REQD_BINS}"
## which strip >/dev/null 2>&1 || type strip >/dev/null 2>&1 || REQD_BINS="strip,${REQD_BINS}"
which sstrip >/dev/null 2>&1 || type sstrip >/dev/null 2>&1 || REQD_BINS="sstrip,${REQD_BINS}"
which scanelf >/dev/null 2>&1 || type scanelf >/dev/null 2>&1 || REQD_BINS="scanelf,${REQD_BINS}"
if [ -n "${REQD_BINS}" ]; then
  echo -e `basename ${0}`: "Required binaries (${REQD_BINS}\010) are not present."
  exit 1
fi

LIST_OF_ETEXECS="$(scanelf -R `pwd` -ym -E ET_EXEC -B | awk '{print $2}')"

if [ ! -z "${LIST_OF_ETEXECS}" ]
then
  echo "${LIST_OF_ETEXECS}" | while read LINE
  do
    echo -n "sstripping etype ET_EXEC ELF binary:" "${LINE}"
    STDERR_OF_CMD=`sstrip "${LINE}" 2>&1`
    [ ! -z "${STDERR_OF_CMD}" ] && echo -n -e " -->" "\033[1m${STDERR_OF_CMD}\033[0m"
    echo ""
  done
else
  echo "No ET_EXECs found to sstrip."
fi

## ELFS_TO_STRIP="$(scanelf -yqmRBF '#k%F' -k '.symtab' `pwd`)"
## 
## # strip `scanelf -yqmRBF '#k%F' -k '.symtab' /`
## if [ ! -z "${ELFS_TO_STRIP}" ]
## then
##  echo "${ELFS_TO_STRIP}" | while read LINE
##  do
##    echo -n "binutils-stripping ELF binary:" "${LINE}"
##    STDERR_OF_CMD=`strip "${LINE}" 2>&1`
##    [ ! -z "${STDERR_OF_CMD}" ] && echo -n -e " -->" "\033[1m${STDERR_OF_CMD}\033[0m"
##    echo ""
##  done
## fi
Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.