Annotation of src/usr.bin/ctfconv/ctfstrip, Revision 1.2
1.1 mpi 1: #!/bin/sh
1.2 ! mpi 2: #
! 3: # $OpenBSD$
! 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:
19: # Turn off Strict Bourne shell mode.
20: set +o sh
21:
22: USAGE="usage: ${0##*/} [-S] [-o outfile] file"
23:
24: while getopts "o:S" opt; do
25: case $opt in
26: S) STRIPFLAG=-g;;
27: o) OUTFILE="${OPTARG}";;
28: *) print -u2 "${USAGE}"; exit 1;;
29: esac
30: done
31: shift $((OPTIND-1))
32:
33: if [[ $# == 0 ]]; then
34: print -u2 "${USAGE}";
35: exit 1
36: fi
37:
38: LABEL="unknown"
39: TMPFILE=$1.rawctf
40:
41: # Extract kernel verison
42: if [[ "$1" == bsd* ]]; then
43: LABEL=`what $1 |tr -d '\n'|awk -F"$1 " '{ print $2 '\n' }'`
44: fi
45:
46: ctfconv -o ${TMPFILE} -l "${LABEL}" $1 || exit 2
47:
48: objcopy --add-section .SUNW_ctf=${TMPFILE} ${STRIPFLAG} $1 ${OUTFILE}
49:
50: rm -f ${TMPFILE}