xref: /freebsd/contrib/elftoolchain/brandelf/brandelf.1 (revision d8000daa92a4cdf940348f483861d52fa3cbf91d)
1*d8000daaSEd Maste.\" Copyright (c) 1997
2*d8000daaSEd Maste.\"	John-Mark Gurney.  All rights reserved.
3*d8000daaSEd Maste.\"
4*d8000daaSEd Maste.\" Redistribution and use in source and binary forms, with or without
5*d8000daaSEd Maste.\" modification, are permitted provided that the following conditions
6*d8000daaSEd Maste.\" are met:
7*d8000daaSEd Maste.\" 1. Redistributions of source code must retain the above copyright
8*d8000daaSEd Maste.\"    notice, this list of conditions and the following disclaimer.
9*d8000daaSEd Maste.\" 2. Redistributions in binary form must reproduce the above copyright
10*d8000daaSEd Maste.\"    notice, this list of conditions and the following disclaimer in the
11*d8000daaSEd Maste.\"    documentation and/or other materials provided with the distribution.
12*d8000daaSEd Maste.\" 3. Neither the name of the author nor the names of any co-contributors
13*d8000daaSEd Maste.\"    may be used to endorse or promote products derived from this software
14*d8000daaSEd Maste.\"    without specific prior written permission.
15*d8000daaSEd Maste.\"
16*d8000daaSEd Maste.\" THIS SOFTWARE IS PROVIDED BY John-Mark Gurney AND CONTRIBUTORS ``AS IS''
17*d8000daaSEd Maste.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18*d8000daaSEd Maste.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19*d8000daaSEd Maste.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20*d8000daaSEd Maste.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21*d8000daaSEd Maste.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22*d8000daaSEd Maste.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23*d8000daaSEd Maste.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24*d8000daaSEd Maste.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25*d8000daaSEd Maste.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26*d8000daaSEd Maste.\" SUCH DAMAGE.
27*d8000daaSEd Maste.\"
28*d8000daaSEd Maste.\" $FreeBSD: src/usr.bin/brandelf/brandelf.1,v 1.17 2007/03/09 14:36:18 ru Exp $
29*d8000daaSEd Maste.\" $Id: brandelf.1 3195 2015-05-12 17:22:19Z emaste $
30*d8000daaSEd Maste.\"
31*d8000daaSEd Maste.Dd October 27, 2014
32*d8000daaSEd Maste.Dt BRANDELF 1
33*d8000daaSEd Maste.Os
34*d8000daaSEd Maste.Sh NAME
35*d8000daaSEd Maste.Nm brandelf
36*d8000daaSEd Maste.Nd mark an ELF binary for a specific ABI
37*d8000daaSEd Maste.Sh SYNOPSIS
38*d8000daaSEd Maste.Nm
39*d8000daaSEd Maste.Op Fl V | Fl -version
40*d8000daaSEd Maste.Op Fl f Ar ELF_ABI_number
41*d8000daaSEd Maste.Op Fl h | Fl -help
42*d8000daaSEd Maste.Op Fl l
43*d8000daaSEd Maste.Op Fl t Ar brand
44*d8000daaSEd Maste.Op Fl v
45*d8000daaSEd Maste.Ar
46*d8000daaSEd Maste.Sh DESCRIPTION
47*d8000daaSEd MasteThe
48*d8000daaSEd Maste.Nm
49*d8000daaSEd Masteutility marks an ELF binary to be run under a certain ABI.
50*d8000daaSEd Maste.Pp
51*d8000daaSEd MasteThe options are as follows:
52*d8000daaSEd Maste.Bl -tag -width indent
53*d8000daaSEd Maste.It Fl f Ar ELF_ABI_number
54*d8000daaSEd MasteForces branding with the supplied ELF ABI number.
55*d8000daaSEd MasteIncompatible with the
56*d8000daaSEd Maste.Fl t
57*d8000daaSEd Masteoption.
58*d8000daaSEd MasteThese values are assigned by SCO/USL.
59*d8000daaSEd Maste.It Fl h | Fl -help
60*d8000daaSEd MastePrint a usage message and exit.
61*d8000daaSEd Maste.It Fl l
62*d8000daaSEd MasteWrites the list of all known ELF types to standard output.
63*d8000daaSEd Maste.It Fl t Ar brand
64*d8000daaSEd MasteBrands the given ELF binaries to be of the ABI specified by argument
65*d8000daaSEd Maste.Ar brand .
66*d8000daaSEd MasteSupported ABIs include
67*d8000daaSEd Maste.Dq Li 86Open ,
68*d8000daaSEd Maste.Dq Li AIX ,
69*d8000daaSEd Maste.Dq Li ARM ,
70*d8000daaSEd Maste.Dq Li AROS ,
71*d8000daaSEd Maste.Dq Li FreeBSD ,
72*d8000daaSEd Maste.Dq Li GNU ,
73*d8000daaSEd Maste.Dq Li HP/UX ,
74*d8000daaSEd Maste.Dq Li Hurd ,
75*d8000daaSEd Maste.Dq Li IRIX ,
76*d8000daaSEd Maste.Dq Li Linux
77*d8000daaSEd Maste(an alias for
78*d8000daaSEd Maste.Dq Li GNU ) ,
79*d8000daaSEd Maste.Dq Li Modesto ,
80*d8000daaSEd Maste.Dq Li NSK ,
81*d8000daaSEd Maste.Dq Li NetBSD ,
82*d8000daaSEd Maste.Dq Li None ,
83*d8000daaSEd Maste.Dq Li OpenBSD ,
84*d8000daaSEd Maste.Dq Li OpenVMS ,
85*d8000daaSEd Maste.Dq Li Standalone ,
86*d8000daaSEd Maste.Dq Li SVR4
87*d8000daaSEd Maste(an alias for
88*d8000daaSEd Maste.Dq Li None ) ,
89*d8000daaSEd Maste.Dq Li Solaris
90*d8000daaSEd Masteand
91*d8000daaSEd Maste.Dq Li Tru64 .
92*d8000daaSEd Maste.It Fl v
93*d8000daaSEd MasteThis option is accepted for compatibility with other versions of
94*d8000daaSEd Maste.Nm ,
95*d8000daaSEd Mastebut is otherwise ignored.
96*d8000daaSEd Maste.It Fl V | Fl -version
97*d8000daaSEd MastePrint a version identifier and exit.
98*d8000daaSEd Maste.El
99*d8000daaSEd Maste.Pp
100*d8000daaSEd MasteIf the options
101*d8000daaSEd Maste.Fl f Ar ELF_ABI_number
102*d8000daaSEd Masteor
103*d8000daaSEd Maste.Fl t Ar brand
104*d8000daaSEd Mastewere specified,
105*d8000daaSEd Maste.Nm
106*d8000daaSEd Mastewill brand the files named by command-line arguments
107*d8000daaSEd Maste.Ar
108*d8000daaSEd Masteto be of type
109*d8000daaSEd Maste.Ar ELF_ABI_number
110*d8000daaSEd Masteor
111*d8000daaSEd Maste.Ar brand
112*d8000daaSEd Masterespectively.
113*d8000daaSEd Maste.Pp
114*d8000daaSEd MasteIf neither of the
115*d8000daaSEd Maste.Fl f
116*d8000daaSEd Masteor
117*d8000daaSEd Maste.Fl t
118*d8000daaSEd Masteoptions were specified,
119*d8000daaSEd Maste.Nm
120*d8000daaSEd Mastewill display the current branding for the files named by the arguments
121*d8000daaSEd Maste.Ar .
122*d8000daaSEd Maste.Sh EXIT STATUS
123*d8000daaSEd MasteExit status is 0 on success, and 1 if the command
124*d8000daaSEd Mastefails if a file does not exist, is too short, fails to brand properly,
125*d8000daaSEd Masteor the brand requested is not one of the known types and the
126*d8000daaSEd Maste.Fl f
127*d8000daaSEd Masteoption is not set.
128*d8000daaSEd Maste.Sh EXAMPLES
129*d8000daaSEd MasteThe following is an example of a typical usage
130*d8000daaSEd Masteof the
131*d8000daaSEd Maste.Nm
132*d8000daaSEd Mastecommand:
133*d8000daaSEd Maste.Bd -literal -offset indent
134*d8000daaSEd Mastebrandelf file
135*d8000daaSEd Mastebrandelf -t GNU file
136*d8000daaSEd Maste.Ed
137*d8000daaSEd Maste.Sh SEE ALSO
138*d8000daaSEd Maste.Rs
139*d8000daaSEd Maste.%A The Santa Cruz Operation, Inc.
140*d8000daaSEd Maste.%T System V Application Binary Interface
141*d8000daaSEd Maste.%D April 29, 1998 (DRAFT)
142*d8000daaSEd Maste.%O http://www.sco.com/developer/devspecs/
143*d8000daaSEd Maste.Re
144*d8000daaSEd Maste.Sh HISTORY
145*d8000daaSEd MasteThe
146*d8000daaSEd Maste.Nm
147*d8000daaSEd Mastemanual page first appeared in
148*d8000daaSEd Maste.Fx 2.2 .
149*d8000daaSEd Maste.Sh AUTHORS
150*d8000daaSEd MasteThis manual page was written by
151*d8000daaSEd Maste.An John-Mark Gurney Aq Mt gurney_j@efn.org .
152