You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

185 lines
7.6 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1991-2019 Free Software Foundation, Inc.
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".
-->
<!-- Created by GNU Texinfo 6.4, http://www.gnu.org/software/texinfo/ -->
<head>
<title>elfedit (GNU Binary Utilities)</title>
<meta name="description" content="elfedit (GNU Binary Utilities)">
<meta name="keywords" content="elfedit (GNU Binary Utilities)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Binutils-Index.html#Binutils-Index" rel="index" title="Binutils Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="index.html#Top" rel="up" title="Top">
<link href="Common-Options.html#Common-Options" rel="next" title="Common Options">
<link href="readelf.html#readelf" rel="prev" title="readelf">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<a name="elfedit"></a>
<div class="header">
<p>
Next: <a href="Common-Options.html#Common-Options" accesskey="n" rel="next">Common Options</a>, Previous: <a href="readelf.html#readelf" accesskey="p" rel="prev">readelf</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Binutils-Index.html#Binutils-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="elfedit-1"></a>
<h2 class="chapter">15 elfedit</h2>
<a name="index-Update-ELF-header"></a>
<a name="index-elfedit"></a>
<div class="smallexample">
<pre class="smallexample">elfedit [<samp>--input-mach=</samp><var>machine</var>]
[<samp>--input-type=</samp><var>type</var>]
[<samp>--input-osabi=</samp><var>osabi</var>]
<samp>--output-mach=</samp><var>machine</var>
<samp>--output-type=</samp><var>type</var>
<samp>--output-osabi=</samp><var>osabi</var>
<samp>--enable-x86-feature=</samp><var>feature</var>
<samp>--disable-x86-feature=</samp><var>feature</var>
[<samp>-v</samp>|<samp>--version</samp>]
[<samp>-h</samp>|<samp>--help</samp>]
<var>elffile</var>&hellip;
</pre></div>
<p><code>elfedit</code> 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.
</p>
<p><var>elffile</var>&hellip; are the ELF files to be updated. 32-bit and
64-bit ELF files are supported, as are archives containing ELF files.
</p>
<p>The long and short forms of options, shown here as alternatives, are
equivalent. At least one of the <samp>--output-mach</samp>,
<samp>--output-type</samp>, <samp>--output-osabi</samp>,
<samp>--enable-x86-feature</samp> and <samp>--disable-x86-feature</samp>
options must be given.
</p>
<dl compact="compact">
<dt><code>--input-mach=<var>machine</var></code></dt>
<dd><p>Set the matching input ELF machine type to <var>machine</var>. If
<samp>--input-mach</samp> isn&rsquo;t specified, it will match any ELF
machine types.
</p>
<p>The supported ELF machine types are, <var>i386</var>, <var>IAMCU</var>, <var>L1OM</var>,
<var>K1OM</var> and <var>x86-64</var>.
</p>
</dd>
<dt><code>--output-mach=<var>machine</var></code></dt>
<dd><p>Change the ELF machine type in the ELF header to <var>machine</var>. The
supported ELF machine types are the same as <samp>--input-mach</samp>.
</p>
</dd>
<dt><code>--input-type=<var>type</var></code></dt>
<dd><p>Set the matching input ELF file type to <var>type</var>. If
<samp>--input-type</samp> isn&rsquo;t specified, it will match any ELF file types.
</p>
<p>The supported ELF file types are, <var>rel</var>, <var>exec</var> and <var>dyn</var>.
</p>
</dd>
<dt><code>--output-type=<var>type</var></code></dt>
<dd><p>Change the ELF file type in the ELF header to <var>type</var>. The
supported ELF types are the same as <samp>--input-type</samp>.
</p>
</dd>
<dt><code>--input-osabi=<var>osabi</var></code></dt>
<dd><p>Set the matching input ELF file OSABI to <var>osabi</var>. If
<samp>--input-osabi</samp> isn&rsquo;t specified, it will match any ELF OSABIs.
</p>
<p>The supported ELF OSABIs are, <var>none</var>, <var>HPUX</var>, <var>NetBSD</var>,
<var>GNU</var>, <var>Linux</var> (alias for <var>GNU</var>),
<var>Solaris</var>, <var>AIX</var>, <var>Irix</var>,
<var>FreeBSD</var>, <var>TRU64</var>, <var>Modesto</var>, <var>OpenBSD</var>, <var>OpenVMS</var>,
<var>NSK</var>, <var>AROS</var> and <var>FenixOS</var>.
</p>
</dd>
<dt><code>--output-osabi=<var>osabi</var></code></dt>
<dd><p>Change the ELF OSABI in the ELF header to <var>osabi</var>. The
supported ELF OSABI are the same as <samp>--input-osabi</samp>.
</p>
</dd>
<dt><code>--enable-x86-feature=<var>feature</var></code></dt>
<dd><p>Set the <var>feature</var> bit in program property in <var>exec</var> or <var>dyn</var>
ELF files with machine types of <var>i386</var> or <var>x86-64</var>. The
supported features are, <var>ibt</var> and <var>shstk</var>.
</p>
</dd>
<dt><code>--disable-x86-feature=<var>feature</var></code></dt>
<dd><p>Clear the <var>feature</var> bit in program property in <var>exec</var> or
<var>dyn</var> ELF files with machine types of <var>i386</var> or <var>x86-64</var>.
The supported features are the same as <samp>--enable-x86-feature</samp>.
</p>
<p>Note: <samp>--enable-x86-feature</samp> and <samp>--disable-x86-feature</samp>
are available only on hosts with &lsquo;<samp>mmap</samp>&rsquo; support.
</p>
</dd>
<dt><code>-v</code></dt>
<dt><code>--version</code></dt>
<dd><p>Display the version number of <code>elfedit</code>.
</p>
</dd>
<dt><code>-h</code></dt>
<dt><code>--help</code></dt>
<dd><p>Display the command-line options understood by <code>elfedit</code>.
</p>
</dd>
</dl>
<hr>
<div class="header">
<p>
Next: <a href="Common-Options.html#Common-Options" accesskey="n" rel="next">Common Options</a>, Previous: <a href="readelf.html#readelf" accesskey="p" rel="prev">readelf</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Binutils-Index.html#Binutils-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>