elfedit: Add --output-abiversion option to update ABIVERSION

* NEWS: Mention --output-abiversion.
	* elfedit.c (input_elf_abiversion): New.
	(output_elf_abiversion): Likewise.
	(update_elf_header): Update EI_ABIVERSION.
	(command_line_switch): Add OPTION_INPUT_ABIVERSION and
	OPTION_OUTPUT_ABIVERSION.
	(options): Add --input-abiversion and --output-abiversion.
	(usage): Likewise.
	(main): Handle --input-abiversion and --output-abiversion.
	* doc/binutils.texi: Document --input-abiversion and
	--output-abiversion.
	* testsuite/binutils-all/elfedit.exp: Run elfedit-6.
	* testsuite/binutils-all/elfedit-6.d: New file.
This commit is contained in:
H.J. Lu
2021-11-16 14:14:56 -08:00
parent 65e4a99a26
commit c9dcc18f8d
5 changed files with 83 additions and 3 deletions

View File

@@ -5206,9 +5206,11 @@ objdump(1), and the Info entries for @file{binutils}.
elfedit [@option{--input-mach=}@var{machine}]
[@option{--input-type=}@var{type}]
[@option{--input-osabi=}@var{osabi}]
[@option{--input-abiversion=}@var{version}]
@option{--output-mach=}@var{machine}
@option{--output-type=}@var{type}
@option{--output-osabi=}@var{osabi}
@option{--output-abiversion=}@var{version}
@option{--enable-x86-feature=}@var{feature}
@option{--disable-x86-feature=}@var{feature}
[@option{-v}|@option{--version}]
@@ -5233,6 +5235,7 @@ should be updated.
The long and short forms of options, shown here as alternatives, are
equivalent. At least one of the @option{--output-mach},
@option{--output-type}, @option{--output-osabi},
@option{--output-abiversion},
@option{--enable-x86-feature} and @option{--disable-x86-feature}
options must be given.
@@ -5274,6 +5277,15 @@ The supported ELF OSABIs are, @var{none}, @var{HPUX}, @var{NetBSD},
Change the ELF OSABI in the ELF header to @var{osabi}. The
supported ELF OSABI are the same as @option{--input-osabi}.
@item --input-abiversion=@var{version}
Set the matching input ELF file ABIVERSION to @var{version}.
@var{version} must be between 0 and 255. If @option{--input-abiversion}
isn't specified, it will match any ELF ABIVERSIONs.
@item --output-abiversion=@var{version}
Change the ELF ABIVERSION in the ELF header to @var{version}.
@var{version} must be between 0 and 255.
@item --enable-x86-feature=@var{feature}
Set the @var{feature} bit in program property in @var{exec} or @var{dyn}
ELF files with machine types of @var{i386} or @var{x86-64}. The