# elfedit(1) - man - phpMan

[ELFEDIT(1)](https://www.chedong.com/phpMan.php/man/ELFEDIT/1/markdown)                              GNU Development Tools                             [ELFEDIT(1)](https://www.chedong.com/phpMan.php/man/ELFEDIT/1/markdown)



## NAME
       elfedit - update ELF header and program property of ELF files

## SYNOPSIS
       elfedit [**--input-mach=**_machine_]
               [**--input-type=**_type_]
               [**--input-osabi=**_osabi_]
               [**--input-abiversion=**_version_]
               **--output-mach=**_machine_
               **--output-type=**_type_
               **--output-osabi=**_osabi_
               **--output-abiversion=**_version_
               **--enable-x86-feature=**_feature_
               **--disable-x86-feature=**_feature_
               [**-v**|**--version**]
               [**-h**|**--help**]
               _elffile_...

## DESCRIPTION
       **elfedit** 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.

       _elffile_... are the ELF files to be updated.  32-bit and 64-bit ELF files are supported, as
       are archives containing ELF files.

## OPTIONS
       The long and short forms of options, shown here as alternatives, are equivalent. At least one
       of the **--output-mach**, **--output-type**, **--output-osabi**, **--output-abiversion**,
       **--enable-x86-feature** and **--disable-x86-feature** options must be given.

       **--input-mach=**_machine_
           Set the matching input ELF machine type to _machine_.  If **--input-mach** isn't specified, it
           will match any ELF machine types.

           The supported ELF machine types are, _i386_, _IAMCU_, _L1OM_, _K1OM_ and _x86-64_.

       **--output-mach=**_machine_
           Change the ELF machine type in the ELF header to _machine_.  The supported ELF machine
           types are the same as **--input-mach**.

       **--input-type=**_type_
           Set the matching input ELF file type to _type_.  If **--input-type** isn't specified, it will
           match any ELF file types.

           The supported ELF file types are, _rel_, _exec_ and _dyn_.

       **--output-type=**_type_
           Change the ELF file type in the ELF header to _type_.  The supported ELF types are the same
           as **--input-type**.

       **--input-osabi=**_osabi_
           Set the matching input ELF file OSABI to _osabi_.  If **--input-osabi** isn't specified, it
           will match any ELF OSABIs.

           The supported ELF OSABIs are, _none_, _HPUX_, _NetBSD_, _GNU_, _Linux_ (alias for _GNU_), _Solaris_,
           _AIX_, _Irix_, _FreeBSD_, _TRU64_, _Modesto_, _OpenBSD_, _OpenVMS_, _NSK_, _AROS_ and _FenixOS_.

       **--output-osabi=**_osabi_
           Change the ELF OSABI in the ELF header to _osabi_.  The supported ELF OSABI are the same as
           **--input-osabi**.

       **--input-abiversion=**_version_
           Set the matching input ELF file ABIVERSION to _version_.  _version_ must be between 0 and
           255.  If **--input-abiversion** isn't specified, it will match any ELF ABIVERSIONs.

       **--output-abiversion=**_version_
           Change the ELF ABIVERSION in the ELF header to _version_.  _version_ must be between 0 and
           255.

       **--enable-x86-feature=**_feature_
           Set the _feature_ bit in program property in _exec_ or _dyn_ ELF files with machine types of
           _i386_ or _x86-64_.  The supported features are, _ibt_, _shstk_, _lam_u48_ and _lam_u57_.

       **--disable-x86-feature=**_feature_
           Clear the _feature_ bit in program property in _exec_ or _dyn_ ELF files with machine types of
           _i386_ or _x86-64_.  The supported features are the same as **--enable-x86-feature**.

           Note: **--enable-x86-feature** and **--disable-x86-feature** are available only on hosts with
           **mmap** support.

### -v
### --version
           Display the version number of **elfedit**.

### -h
### --help
           Display the command-line options understood by **elfedit**.

       **@**_file_
           Read command-line options from _file_.  The options read are inserted in place of the
           original @_file_ option.  If _file_ does not exist, or cannot be read, then the option will
           be treated literally, and not removed.

           Options in _file_ 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 _file_ may itself contain additional @_file_ options; any
           such options will be processed recursively.

## SEE ALSO
       [**readelf**(1)](https://www.chedong.com/phpMan.php/man/readelf/1/markdown), and the Info entries for _binutils_.

## COPYRIGHT
       Copyright (c) 1991-2022 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".



binutils-2.38                                2025-12-03                                   [ELFEDIT(1)](https://www.chedong.com/phpMan.php/man/ELFEDIT/1/markdown)
