summaryrefslogtreecommitdiff
path: root/distrib/crunch/crunchide/crunchide.1
blob: 149fbbe16d285fb4b0a19b62a7f132b686b09852 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
.\"	$OpenBSD: crunchide.1,v 1.5 2000/03/01 22:10:03 todd Exp $
.\"
.\"
.\" Copyright (c) 1994 University of Maryland
.\" All Rights Reserved.
.\"
.\" Permission to use, copy, modify, distribute, and sell this software and its
.\" documentation for any purpose is hereby granted without fee, provided that
.\" the above copyright notice appear in all copies and that both that
.\" copyright notice and this permission notice appear in supporting
.\" documentation, and that the name of U.M. not be used in advertising or
.\" publicity pertaining to distribution of the software without specific,
.\" written prior permission.  U.M. makes no representations about the
.\" suitability of this software for any purpose.  It is provided "as is"
.\" without express or implied warranty.
.\"
.\" U.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL U.M.
.\" BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
.\" IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
.\" Author: James da Silva, Systems Design and Analysis Group
.\"			   Computer Science Department
.\"			   University of Maryland at College Park
.\"
.Dd June 14, 1994
.Dt CRUNCHIDE 1
.Os
.Sh NAME
.Nm crunchide
.Nd hides symbol names from ld, for crunching programs together
.Sh SYNOPSIS
.Nm crunchide
.Op Fl f Ar keep-list-file
.Op Fl k Ar keep-symbol
.Op Ar object-file ...
.Sh DESCRIPTION

.Nm Crunchide
hides the global symbols of
.Ar object-file
such that they are ignored by subsequent runs of the linker,
.Xr ld 1 .
Some symbols may be left visible via the
.Fl k Ar keep-symbol
and
.Fl f Ar keep-list-file
options.  The
.Ar keep-list-file
must contain a list of symbols to keep visible, one symbol per line.
Note that the C compiler prepends an underscore in front of
symbols, so to keep the C function ``foo'' visible, the option
\&``-k _foo'' must be used.

.Pp
.Nm Crunchide
is designed as a companion program for
.Xr crunchgen 1 ,
which automates the process of creating crunched binaries from
multiple component programs.
.Sh NOTES
The ELF version of
.Nm crunchide
mangles the symboltable beyond recognition.
It is therefore not advisable to try to run
.Xr nm 1
on a crunched object file. This is due to the nature of the ELF symboltable
and how some arches uses the symbol attributes for their GOT build.
.Sh SEE ALSO
.Xr crunchgen 1 ,
.Xr ld 1
.Sh AUTHOR
.Nm Crunch
was written by James da Silva <jds@cs.umd.edu>.
.sp 0
Copyright (c) 1994 University of Maryland.  All Rights Reserved.