[BACK]Return to ctfstrip CVS log [TXT][DIR] Up to [local] / src / usr.bin / ctfconv

Annotation of src/usr.bin/ctfconv/ctfstrip, Revision 1.3

1.1       mpi         1: #!/bin/sh
1.2       mpi         2: #
1.3     ! jasper      3: # $OpenBSD: ctfstrip,v 1.2 2017/08/11 14:24:24 mpi Exp $
1.2       mpi         4: #
                      5: # Copyright (c) 2017 Martin Pieuchot
                      6: #
                      7: # Permission to use, copy, modify, and distribute this software for any
                      8: # purpose with or without fee is hereby granted, provided that the above
                      9: # copyright notice and this permission notice appear in all copies.
                     10: #
                     11: # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
                     12: # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
                     13: # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
                     14: # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                     15: # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
                     16: # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
                     17: # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1.1       mpi        18:
1.3     ! jasper     19: set -o posix
        !            20:
        !            21: cleanup() {
        !            22:        rm -f ${TMPFILE}
        !            23:        exit 1
        !            24: }
        !            25:
        !            26: trap "cleanup" 1 2 3 13 15
1.1       mpi        27:
                     28: USAGE="usage: ${0##*/} [-S] [-o outfile] file"
                     29:
                     30: while getopts "o:S" opt; do
                     31:        case $opt in
                     32:        S)      STRIPFLAG=-g;;
                     33:        o)      OUTFILE="${OPTARG}";;
                     34:        *)      print -u2 "${USAGE}"; exit 1;;
                     35:        esac
                     36: done
                     37: shift $((OPTIND-1))
                     38:
                     39: if [[ $# == 0 ]]; then
                     40:        print -u2 "${USAGE}";
                     41:        exit 1
                     42: fi
                     43:
                     44: LABEL="unknown"
1.3     ! jasper     45: TMPFILE=$(mktemp /tmp/.ctf.XXXXXXXXXX)
1.1       mpi        46:
1.3     ! jasper     47: # Extract kernel version
1.1       mpi        48: if [[ "$1" == bsd* ]]; then
                     49:        LABEL=`what $1 |tr -d '\n'|awk -F"$1    " '{ print $2 '\n' }'`
                     50: fi
                     51:
1.3     ! jasper     52: ctfconv -o ${TMPFILE} -l "${LABEL}" $1 || cleanup
1.1       mpi        53:
                     54: objcopy --add-section .SUNW_ctf=${TMPFILE} ${STRIPFLAG} $1 ${OUTFILE}
                     55:
                     56: rm -f ${TMPFILE}