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}