Opened 6 months ago

Closed 6 months ago

#4789 closed task (fixed)

binutils-2.36

Reported by: Bruce Dubbs Owned by: lfs-book
Priority: normal Milestone: 10.1
Component: Book Version: SVN
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (4)

comment:1 by Bruce Dubbs, 6 months ago

Changes in 2.36:

  • Update elfedit and readelf with LAM_U48 and LAM_U57 support.
  • Nm has a new command line option: --ifunc-chars=CHARS. This specifies a string of one or two characters. The first character is used as the type character when displaying global ifunc symbols. The second character, if present is used when displaying local ifunc symbols.

In addition a new configure time option --enable-f-for-ifunc-symbols has been created, which if used will change nm's default characters for ifunc symbols from i (both local and global) to F (global) and f (local).

  • The ar tool's previously unused l modifier is now used for specifying dependencies of a static library. The arguments of this option (or --record-libdeps long form option) will be stored verbatim in the .LIBDEP member of the archive, which the linker may read at link time.
  • Readelf can now display the contents of LTO symbol table sections when asked to do so via the --lto-syms command line option.
  • Readelf now accepts the -C command line option to enable the demangling of symbol names. In addition the --demangle=<style>, --no-demangle, --recurse-limit and --no-recurse-limit options are also now availale.
  • Add support for the SHF_GNU_RETAIN ELF section flag. This flag specifies that the section should not be garbage collected by the linker.

comment:2 by Bruce Dubbs, 6 months ago

ld:

Changes in 2.36:

  • Add libdep plugin, for linking dependencies of static libraries that were recorded by ar in the .LIBDEP archive member.
  • Add --error-handling-script=<NAME> command line option to allow a helper script to be invoked when an undefined symbol or a missing library is encountered. This option can be suppressed via the configure time switch: --enable-error-handling-script=no.
  • Add -z lam-u48 to x86-64 ELF linker to generate LAM_U48 property.
  • Add -z lam-u57 to x86-64 ELF linker to enerate LAM_U57 property.
  • Add -z lam-u48-report=[none|warning|error] to report missing LAM_U48 property.
  • Add -z lam-u57-report=[none|warning|error] to report missing LAM_U57 property.
  • Add -z lam-report=[none|warning|error] to report missing LAM_U48 and LAM_U57 properties.
  • Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark x86-64-{baseline|v[234]} ISA level as needed.
  • Add -z unique-symbol to avoid duplicated local symbol names.
  • The creation of PE format DLLs now defaults to using a more secure set of DLL characteristics.
  • The linker now deduplicates the types in .ctf sections. The new command-line option --ctf-share-types describes how to do this: its default value, share-unconflicted, produces the most compact output.
  • The linker now omits the "variable section" from .ctf sections by default, saving space. This is almost certainly what you want unless you are working on a project that has its own analogue of symbol tables that are not reflected in the ELF symtabs.
  • Add support for the SHF_GNU_RETAIN ELF section flag. This flag specifies that the section should not be garbage collected by the linker.

comment:3 by Bruce Dubbs, 6 months ago

gas:

Changes in 2.36:

  • Add support for Intel AVX VNNI instructions.
  • Add support for Intel HRESET instruction.
  • Add support for Intel UINTR instructions.
  • Support non-absolute segment values for i386 lcall and ljmp.
  • When setting the link order attribute of ELF sections, it is now possible to use a numeric section index instead of symbol name.
  • Add support for Cortex-A78, Cortex-A78AE, Cortex-A78C and Cortex-X1 for AArch64 and ARM. Add support for Cortex-R82, Neoverse V1, and Neoverse N2 for ARM.
  • Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded Trace Extension), TRBE (Trace Buffer Extension)and BRBE (Branch Record Buffer Extension) system registers for AArch64.
  • Add support for Armv8-R and Armv8.7-A AArch64.
  • Add support for DSB memory nXS barrier, WFET and WFIT instruction for Armv8.7 AArch64.
  • Add support for +flagm feature for -march in Armv8.4 AArch64.
  • Add support for +ls64 feature for -march in Armv8.7 AArch64. Add atomic 64-byte load/store instructions for this feature.
  • Add support for +pauth (Pointer Authentication) feature for -march in AArch64.
  • Add support for Intel TDX instructions.
  • Add support for Intel Key Locker instructions.
  • Added a .nop directive to generate a single no-op instruction in a target neutral manner. This instruction does have an effect on DWARF line number generation, if that is active.
  • Removed --reduce-memory-overheads and --hash-size as gas now uses hash tables that can be expand and shrink automatically.
  • Add {disp16} pseudo prefix to x86 assembler.
  • Add support for Intel AMX instructions.
  • Configure with --enable-x86-used-note by default for Linux/x86.
  • Add support for the SHF_GNU_RETAIN flag, which can be applied to sections using the 'R' flag in the .section directive. SHF_GNU_RETAIN specifies that the section should not be garbage collected by the linker. It requires the GNU or FreeBSD ELF OSABIs.

comment:4 by Bruce Dubbs, 6 months ago

Resolution: fixed
Status: newclosed

Fixed at revision 12105.

Note: See TracTickets for help on using tickets.