Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

crunchide(1) [netbsd man page]

CRUNCHIDE(1)						    BSD General Commands Manual 					      CRUNCHIDE(1)

NAME
crunchide -- hides symbol names from ld, for crunching programs together SYNOPSIS
crunchide [-f keep-list-file] [-k keep-symbol] object-file [object-file ...] DESCRIPTION
crunchide hides the global symbols of object-file such that they are ignored by subsequent runs of the linker, ld(1). Some symbols may be left visible via the -k keep-symbol and -f keep-list-file options. The keep-list-file must contain a list of symbols to keep visible, one symbol per line. The names given by keep-symbol or in keep-list-file should be C names. For example, to keep the C function ``foo'' visi- ble, the option ``-k foo'' should be used. crunchide is designed as a companion program for crunchgen(1), which automates the process of creating crunched binaries from multiple compo- nent programs. SEE ALSO
crunchgen(1), ld(1) AUTHORS
crunchide was written by James da Silva <jds@cs.umd.edu>. Copyright (c) 1994 University of Maryland. All Rights Reserved. Chris Demetriou <cgd@NetBSD.org> reorganized crunchide so that it supported multiple object formats, and added ELF object support and ECOFF object recognition. Copyright (c) 1997 Christopher G. Demetriou. All Rights Reserved. BSD
June 14, 1994 BSD

Check Out this Related Man Page

symcompact(1)						      General Commands Manual						     symcompact(1)

NAME
symcompact - string compaction for object files SYNOPSIS
symcompact [ object_name ... ] DESCRIPTION
symcompact reduces the symbol table size of an executable file. This is done by removing unnecessary overlay transfer vectors (text sym- bols beginning with a tilde). In a nonoverlaid program there is no need for both the underscore (_foo) and tilde (~foo) text symbol and only the underscore form is kept. For overlaid programs if the symbol is in the base segment the tilde form is not needed and again only the underscore form is preserved. Running symcompact typically reduces the kernel symbol table size by 250 or so symbols. It is possible to run both symcompact and strcompact to achieve an even higher degree of symbol and string table compaction. The normal sequence is to run symcompact first followed by strcompact. If symcompact runs out of memory it will be necessary to reverse the order and run symcompact a second time - see the BUGS note below. The user must have write permission to the object/executable file. symcompact writes to stderr the count of symbols removed from the symbol table. symcompact exits 0 if successful, and >0 if an error occurred. SEE ALSO
symcompact(1), symorder(1) BUGS
This program can partially negate the benefits of strcompact because multiple references to identical strings cause additional strings to be placed in the string table. Running strcompact again after running this program fixes this problem. The register local symbol type is removed from the executable/object file. Since the debugger really doesn't know how to deal with those symbols this is not much of a loss and saves quite a bit of space both in the symbol table and the string table. symcompact should not be run on .o files that will be passed to the linker. The linker will need the tilde form of the symbol if an over- laid executable is being created. 3rd Berkeley Distribution January 25, 1994 symcompact(1)
Man Page