# man > x86_64-linux-gnu-elfedit(1)


*Source: tldr-pages*

---

[_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-2024 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.42                                2026-02-09                                   [_ELFEDIT_(1)](https://www.chedong.com/phpMan.php/man/ELFEDIT/1/markdown)
