196 lines
7.2 KiB
Groff
196 lines
7.2 KiB
Groff
.\" -*- mode: troff; coding: utf-8 -*-
|
|
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
|
|
.\"
|
|
.\" Standard preamble:
|
|
.\" ========================================================================
|
|
.de Sp \" Vertical space (when we can't use .PP)
|
|
.if t .sp .5v
|
|
.if n .sp
|
|
..
|
|
.de Vb \" Begin verbatim text
|
|
.ft CW
|
|
.nf
|
|
.ne \\$1
|
|
..
|
|
.de Ve \" End verbatim text
|
|
.ft R
|
|
.fi
|
|
..
|
|
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
|
|
.ie n \{\
|
|
. ds C` ""
|
|
. ds C' ""
|
|
'br\}
|
|
.el\{\
|
|
. ds C`
|
|
. ds C'
|
|
'br\}
|
|
.\"
|
|
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
|
.ie \n(.g .ds Aq \(aq
|
|
.el .ds Aq '
|
|
.\"
|
|
.\" If the F register is >0, we'll generate index entries on stderr for
|
|
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
|
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
|
.\" output yourself in some meaningful fashion.
|
|
.\"
|
|
.\" Avoid warning from groff about undefined register 'F'.
|
|
.de IX
|
|
..
|
|
.nr rF 0
|
|
.if \n(.g .if rF .nr rF 1
|
|
.if (\n(rF:(\n(.g==0)) \{\
|
|
. if \nF \{\
|
|
. de IX
|
|
. tm Index:\\$1\t\\n%\t"\\$2"
|
|
..
|
|
. if !\nF==2 \{\
|
|
. nr % 0
|
|
. nr F 2
|
|
. \}
|
|
. \}
|
|
.\}
|
|
.rr rF
|
|
.\" ========================================================================
|
|
.\"
|
|
.IX Title "ELFEDIT 1"
|
|
.TH ELFEDIT 1 1980-01-01 binutils-2.40.90 "GNU Development Tools"
|
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
|
.\" way too many mistakes in technical documents.
|
|
.if n .ad l
|
|
.nh
|
|
.SH NAME
|
|
elfedit \- update ELF header and program property of ELF files
|
|
.SH SYNOPSIS
|
|
.IX Header "SYNOPSIS"
|
|
elfedit [\fB\-\-input\-mach=\fR\fImachine\fR]
|
|
[\fB\-\-input\-type=\fR\fItype\fR]
|
|
[\fB\-\-input\-osabi=\fR\fIosabi\fR]
|
|
[\fB\-\-input\-abiversion=\fR\fIversion\fR]
|
|
\fB\-\-output\-mach=\fR\fImachine\fR
|
|
\fB\-\-output\-type=\fR\fItype\fR
|
|
\fB\-\-output\-osabi=\fR\fIosabi\fR
|
|
\fB\-\-output\-abiversion=\fR\fIversion\fR
|
|
\fB\-\-enable\-x86\-feature=\fR\fIfeature\fR
|
|
\fB\-\-disable\-x86\-feature=\fR\fIfeature\fR
|
|
[\fB\-v\fR|\fB\-\-version\fR]
|
|
[\fB\-h\fR|\fB\-\-help\fR]
|
|
\fIelffile\fR...
|
|
.SH DESCRIPTION
|
|
.IX Header "DESCRIPTION"
|
|
\&\fBelfedit\fR updates the ELF header and program property of ELF
|
|
files which have the matching ELF machine and file types. The options
|
|
control how and which fields in the ELF header and program property
|
|
should be updated.
|
|
.PP
|
|
\&\fIelffile\fR... are the ELF files to be updated. 32\-bit and
|
|
64\-bit ELF files are supported, as are archives containing ELF files.
|
|
.SH OPTIONS
|
|
.IX Header "OPTIONS"
|
|
The long and short forms of options, shown here as alternatives, are
|
|
equivalent. At least one of the \fB\-\-output\-mach\fR,
|
|
\&\fB\-\-output\-type\fR, \fB\-\-output\-osabi\fR,
|
|
\&\fB\-\-output\-abiversion\fR,
|
|
\&\fB\-\-enable\-x86\-feature\fR and \fB\-\-disable\-x86\-feature\fR
|
|
options must be given.
|
|
.IP \fB\-\-input\-mach=\fR\fImachine\fR 4
|
|
.IX Item "--input-mach=machine"
|
|
Set the matching input ELF machine type to \fImachine\fR. If
|
|
\&\fB\-\-input\-mach\fR isn't specified, it will match any ELF
|
|
machine types.
|
|
.Sp
|
|
The supported ELF machine types are, \fIi386\fR, \fIIAMCU\fR, \fIL1OM\fR,
|
|
\&\fIK1OM\fR and \fIx86\-64\fR.
|
|
.IP \fB\-\-output\-mach=\fR\fImachine\fR 4
|
|
.IX Item "--output-mach=machine"
|
|
Change the ELF machine type in the ELF header to \fImachine\fR. The
|
|
supported ELF machine types are the same as \fB\-\-input\-mach\fR.
|
|
.IP \fB\-\-input\-type=\fR\fItype\fR 4
|
|
.IX Item "--input-type=type"
|
|
Set the matching input ELF file type to \fItype\fR. If
|
|
\&\fB\-\-input\-type\fR isn't specified, it will match any ELF file types.
|
|
.Sp
|
|
The supported ELF file types are, \fIrel\fR, \fIexec\fR and \fIdyn\fR.
|
|
.IP \fB\-\-output\-type=\fR\fItype\fR 4
|
|
.IX Item "--output-type=type"
|
|
Change the ELF file type in the ELF header to \fItype\fR. The
|
|
supported ELF types are the same as \fB\-\-input\-type\fR.
|
|
.IP \fB\-\-input\-osabi=\fR\fIosabi\fR 4
|
|
.IX Item "--input-osabi=osabi"
|
|
Set the matching input ELF file OSABI to \fIosabi\fR. If
|
|
\&\fB\-\-input\-osabi\fR isn't specified, it will match any ELF OSABIs.
|
|
.Sp
|
|
The supported ELF OSABIs are, \fInone\fR, \fIHPUX\fR, \fINetBSD\fR,
|
|
\&\fIGNU\fR, \fILinux\fR (alias for \fIGNU\fR),
|
|
\&\fISolaris\fR, \fIAIX\fR, \fIIrix\fR,
|
|
\&\fIFreeBSD\fR, \fITRU64\fR, \fIModesto\fR, \fIOpenBSD\fR, \fIOpenVMS\fR,
|
|
\&\fINSK\fR, \fIAROS\fR and \fIFenixOS\fR.
|
|
.IP \fB\-\-output\-osabi=\fR\fIosabi\fR 4
|
|
.IX Item "--output-osabi=osabi"
|
|
Change the ELF OSABI in the ELF header to \fIosabi\fR. The
|
|
supported ELF OSABI are the same as \fB\-\-input\-osabi\fR.
|
|
.IP \fB\-\-input\-abiversion=\fR\fIversion\fR 4
|
|
.IX Item "--input-abiversion=version"
|
|
Set the matching input ELF file ABIVERSION to \fIversion\fR.
|
|
\&\fIversion\fR must be between 0 and 255. If \fB\-\-input\-abiversion\fR
|
|
isn't specified, it will match any ELF ABIVERSIONs.
|
|
.IP \fB\-\-output\-abiversion=\fR\fIversion\fR 4
|
|
.IX Item "--output-abiversion=version"
|
|
Change the ELF ABIVERSION in the ELF header to \fIversion\fR.
|
|
\&\fIversion\fR must be between 0 and 255.
|
|
.IP \fB\-\-enable\-x86\-feature=\fR\fIfeature\fR 4
|
|
.IX Item "--enable-x86-feature=feature"
|
|
Set the \fIfeature\fR bit in program property in \fIexec\fR or \fIdyn\fR
|
|
ELF files with machine types of \fIi386\fR or \fIx86\-64\fR. The
|
|
supported features are, \fIibt\fR, \fIshstk\fR, \fIlam_u48\fR and
|
|
\&\fIlam_u57\fR.
|
|
.IP \fB\-\-disable\-x86\-feature=\fR\fIfeature\fR 4
|
|
.IX Item "--disable-x86-feature=feature"
|
|
Clear the \fIfeature\fR bit in program property in \fIexec\fR or
|
|
\&\fIdyn\fR ELF files with machine types of \fIi386\fR or \fIx86\-64\fR.
|
|
The supported features are the same as \fB\-\-enable\-x86\-feature\fR.
|
|
.Sp
|
|
Note: \fB\-\-enable\-x86\-feature\fR and \fB\-\-disable\-x86\-feature\fR
|
|
are available only on hosts with \fBmmap\fR support.
|
|
.IP \fB\-v\fR 4
|
|
.IX Item "-v"
|
|
.PD 0
|
|
.IP \fB\-\-version\fR 4
|
|
.IX Item "--version"
|
|
.PD
|
|
Display the version number of \fBelfedit\fR.
|
|
.IP \fB\-h\fR 4
|
|
.IX Item "-h"
|
|
.PD 0
|
|
.IP \fB\-\-help\fR 4
|
|
.IX Item "--help"
|
|
.PD
|
|
Display the command-line options understood by \fBelfedit\fR.
|
|
.IP \fB@\fR\fIfile\fR 4
|
|
.IX Item "@file"
|
|
Read command-line options from \fIfile\fR. The options read are
|
|
inserted in place of the original @\fIfile\fR option. If \fIfile\fR
|
|
does not exist, or cannot be read, then the option will be treated
|
|
literally, and not removed.
|
|
.Sp
|
|
Options in \fIfile\fR are separated by whitespace. A whitespace
|
|
character may be included in an option by surrounding the entire
|
|
option in either single or double quotes. Any character (including a
|
|
backslash) may be included by prefixing the character to be included
|
|
with a backslash. The \fIfile\fR may itself contain additional
|
|
@\fIfile\fR options; any such options will be processed recursively.
|
|
.SH "SEE ALSO"
|
|
.IX Header "SEE ALSO"
|
|
\&\fBreadelf\fR\|(1), and the Info entries for \fIbinutils\fR.
|
|
.SH COPYRIGHT
|
|
.IX Header "COPYRIGHT"
|
|
Copyright (c) 1991\-2023 Free Software Foundation, Inc.
|
|
.PP
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
under the terms of the GNU Free Documentation License, Version 1.3
|
|
or any later version published by the Free Software Foundation;
|
|
with no Invariant Sections, with no Front-Cover Texts, and with no
|
|
Back-Cover Texts. A copy of the license is included in the
|
|
section entitled "GNU Free Documentation License".
|