mirror of https://github.com/asterisk/asterisk
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r43450 | kpfleming | 2006-09-21 16:21:29 -0500 (Thu, 21 Sep 2006) | 2 lines add another attempt to strip non-API symbols from the final binary... script will need to be extended to work on non-Linux systems ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43451 65c4cc65-6c06-0410-ace0-fbb531ad65f31.6.0
parent
2b55678e1f
commit
f1d824aaba
@ -0,0 +1,28 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
# This script is designed to remove all non-API global symbols from an object
|
||||
# file. The only global symbols that should be retained are those that belong
|
||||
# to the official namespace. Unfortunately doing this is platform-specific, as
|
||||
# the object file manipulation tools are not consistent across platforms.
|
||||
#
|
||||
# On platforms where this script does not know what to do, the object file
|
||||
# will retain non-API global symbols, and this may have unpleasant side effects.
|
||||
#
|
||||
# Prefixes that belong to the official namespace are:
|
||||
# ast_
|
||||
# _ast_
|
||||
# __ast_
|
||||
# astman_
|
||||
# pbx_
|
||||
|
||||
FILTER="grep -v -e ^ast_ -e ^_ast_ -e ^__ast_ -e ^astman_ -e ^pbx_"
|
||||
|
||||
case "${OSARCH}" in
|
||||
linux-gnu)
|
||||
nm ${1} | grep -e " T " | cut -d" " -f3 | ${FILTER} > striplist
|
||||
sed -e "s/^/-N /" striplist | xargs strip ${1}
|
||||
rm -f striplist
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
Loading…
Reference in new issue