diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-03-18 02:21:23 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-03-18 02:21:23 +0000 |
commit | 870bfecfe6ef8214487dd5c5b016d6f5235659d0 (patch) | |
tree | 506e60fe6d9e56d2ac21ae63db6a4a669799417e /build_tools | |
parent | 42822e71ab91b4f3cf0a6cbb15ea60b69a8d3d6f (diff) |
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: http://svn.digium.com/svn/asterisk/trunk@182826 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'build_tools')
-rwxr-xr-x | build_tools/strip_nonapi | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/build_tools/strip_nonapi b/build_tools/strip_nonapi deleted file mode 100755 index 17492e6f8..000000000 --- a/build_tools/strip_nonapi +++ /dev/null @@ -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 |