descriptionenhanced version of the Mac OS X strip tool
homepage URLhttp://mackyle.github.com/striptease
repository URLhttps://github.com/mackyle/striptease.git
ownermackyle@gmail.com
last changeWed, 10 Apr 2013 01:42:56 +0000 (9 18:42 -0700)
last refreshThu, 21 Nov 2024 07:34:31 +0000 (21 08:34 +0100)
content tags
add:
readme
striptease (or "tease" for short) is an enhanced version of strip. It's
capable of stripping a binary's symbol table of non-text local symbols.
This mode, enabled with the -t switch, is similar to "strip -x", except
-x strips all local symbols including text symbols. tease -t allows for
useful CrashReporter stacks to be generated on the deployment host. This
is important in light of the hidden-visibility default (-fvisibility=hidden)
that results in many symbols not being marked as global and therefore being
stripped by an ordinary strip -x.

tease also includes a -no_code_signature option, which strips any
LC_CODE_SIGNATURE load commands from the target file, in much the same way
as the ordinary strip's -no_uuid option.

Finally, tease includes an -a option, which instructs it to regenerate the
symbol table without stripping anything. tease -a is intended to be used
in conjunction with -no_code_signature (or -no_uuid), to pass over the file
and only strip the relevant Mach-O load commands without removing anything
from the symbol table.

striptease is based on strip.c and other supporting files in Apple's
cctools package. This version of striptease is based on cctools-809,
corresponding to Xcode Tools 4.2 and Mac OS X 10.7. It builds properly
under Xcode Tools 2.x on Mac OS X 10.4, as well. The cctools package is
available from:

http://opensource.apple.com/tarballs/cctools/cctools-809.tar.gz

cctools, and therefore strip, are available under the APSL license:

http://www.opensource.apple.com/apsl/

All files from cctools necessary to build strip are included, unmodified.
This includes strip.c. Changes to strip.c are made in tease.c. Many other
files from the cctools package not relevant to strip (or tease) are omitted
from this distribution. This README and an accompanying Makefile for
build system integration are also included.

Use "make" to build a build/Release/tease executable.

Use "make DEBUG=1" to build a build/Debug/tease debug executable.

Use "make clean" to remove the build directory and built executables.

Note that when building on 10.6 or 10.7, the MacOSX10.5.sdk must be present.
Also note that compile warnings (and link warnings when building on 10.4)
should be ignored -- the cctools-809 sources have some issues with warnings.
shortlog
2013-04-10 Kyle J. McKaygithub.com -> github.iomaster
2012-08-27 Kyle J. McKaynm: Add nm.c source and support for building the nm...
2012-05-04 Kyle J. McKayFind ld in the PATH when make_ld_r_object is called
2012-05-04 Kyle J. McKayTerminate the nasty build warnings
2012-05-04 Kyle J. McKayRemove the <>'s from the version string so what does...
2012-05-04 Kyle J. McKayUpdate copyright year
2012-05-04 Kyle J. McKayMove the cctools source version number into version.mak
2012-05-04 Kyle J. McKayPrefer the 10.4u SDK for 32-bit if available
2012-05-04 Kyle J. McKayImprove the embedded version string and do not dead...
2012-05-04 Kyle J. McKayBuild a .zip file for release builds
2012-05-04 Kyle J. McKaySupport building install_name_tool
2012-04-27 Kyle J. McKayFix crasher using -no_dylib... on 64-bit architectures
2012-04-15 Kyle J. McKayAdd support for -no_dylib and -no_dylib_unused
2012-04-15 Kyle J. McKayIntegrate cctools-822 changes
2011-11-18 Kyle J. McKaystrip does not have a -s option, it has a -x option
2011-11-17 Kyle J. McKayClarify issues in README
...
heads
11 years ago master
11 years ago gh-pages