mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-29 18:19:30 +00:00
Merged revisions 182808 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r182808 | kpfleming | 2009-03-17 20:55:22 -0500 (Tue, 17 Mar 2009) | 5 lines Improve the build system to *properly* remove unnecessary symbols from the runtime global namespace. Along the way, change the prefixes on some internal-only API calls to use a common prefix. With these changes, for a module to export symbols into the global namespace, it must have *both* the AST_MODFLAG_GLOBAL_SYMBOLS flag and a linker script that allows the linker to leave the symbols exposed in the module's .so file (see res_odbc.exports for an example). ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@182826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1,38 +0,0 @@
|
||||
#!/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_
|
||||
# resample_
|
||||
|
||||
FILTER="${GREP} -v -e ^ast_ -e ^_ast_ -e ^__ast_ -e ^astman_ -e ^pbx_ -e ^resample_"
|
||||
|
||||
case "${PROC}" in
|
||||
powerpc64)
|
||||
TEXTSYM=" D "
|
||||
;;
|
||||
*)
|
||||
TEXTSYM=" T "
|
||||
;;
|
||||
esac
|
||||
|
||||
case "${OSARCH}" in
|
||||
linux-gnu|FreeBSD)
|
||||
nm ${1} | ${GREP} -e "$TEXTSYM" | cut -d" " -f3 | ${FILTER} > striplist
|
||||
sed -e "s/^/-N /" striplist | xargs -n 40 ${STRIP} ${1}
|
||||
rm -f striplist
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
Reference in New Issue
Block a user