aboutsummaryrefslogtreecommitdiffstats
path: root/build_tools
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-18 01:28:42 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-03-18 01:28:42 +0000
commit91282c22ff7b8facf84d267fda0555eb4a17261a (patch)
treeaeee88ffbd06e0bc9b16c4ed7a235e376aedaf13 /build_tools
parentf4a5d593628f3296611859f69ff24ee3d95535da (diff)
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/branches/1.4@182802 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'build_tools')
-rw-r--r--build_tools/cflags-devmode.xml2
-rwxr-xr-xbuild_tools/strip_nonapi37
2 files changed, 0 insertions, 39 deletions
diff --git a/build_tools/cflags-devmode.xml b/build_tools/cflags-devmode.xml
index 8be92e71f..9ce9a68d5 100644
--- a/build_tools/cflags-devmode.xml
+++ b/build_tools/cflags-devmode.xml
@@ -12,6 +12,4 @@
</member>
<member name="MTX_PROFILE" displayname="Enable Code Profiling Using TSC Counters">
</member>
- <member name="TRACE_FRAMES" displayname="Trace Frame Allocations">
- </member>
</category>
diff --git a/build_tools/strip_nonapi b/build_tools/strip_nonapi
deleted file mode 100755
index ade30c978..000000000
--- a/build_tools/strip_nonapi
+++ /dev/null
@@ -1,37 +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_
-
-case "${PROC}" in
- powerpc64)
- TEXTSYM=" D "
- ;;
- *)
- TEXTSYM=" T "
- ;;
-esac
-
-FILTER="${GREP} -v -e ^ast_ -e ^_ast_ -e ^__ast_ -e ^astman_ -e ^pbx_"
-
-case "${OSARCH}" in
- linux-gnu)
- nm ${1} | ${GREP} -e "$TEXTSYM" | cut -d" " -f3 | ${FILTER} > striplist
- sed -e "s/^/-N /" striplist | xargs -n 40 ${STRIP} ${1}
- rm -f striplist
- ;;
- *)
- ;;
-esac