mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
279d901e5a
Add Intel Linear Address Masking (LAM) property support. LAM modifies the checking that is applied to 64-bit linear addresses, allowing software to use of the untranslated address bits for metadata. bfd/ * elf-linker-x86.h (elf_x86_cet_report): Renamed to ... (elf_x86_prop_report): This. (elf_linker_x86_params): Add lam_u48, lam_u57, lam_u48_report and lam_u57_report. * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Support GNU_PROPERTY_X86_FEATURE_1_LAM_U48 and GNU_PROPERTY_X86_FEATURE_1_LAM_U57. (_bfd_x86_elf_link_fixup_gnu_properties): Keep LAM features only for 64-bit output. binutils/ * NEWS: Mention LAM_U48 and LAM_U57 support. * elfedit.c (elf_x86_feature): Support lam_u48 and lam_u57. (usage): Add lam_u48 and lam_u57. * readelf.c (decode_x86_feature_1): Support LAM_U48 and LAM_U57. * doc/binutils.texi: Update elfedit with lam_u48 and lam_u57 support. * testsuite/binutils-all/x86-64/lam-u48.d: New file. * testsuite/binutils-all/x86-64/lam-u48.s: Likewise. * testsuite/binutils-all/x86-64/lam-u57.d: Likewise. * testsuite/binutils-all/x86-64/lam-u57.s: Likewise. include/ * elf/common.h (GNU_PROPERTY_X86_FEATURE_1_LAM_U48): New. (GNU_PROPERTY_X86_FEATURE_1_LAM_U57): Likewise. ld/ * NEWS: Mention LAM_U48 and LAM_U57 support. * ld.texi: Document LAM_U48 and LAM_U57 support. * emulparams/cet.sh: Updated. * emulparams/elf_x86_64.sh: Source x86-64-lam.sh. * emulparams/x86-64-lam.sh: New file. * testsuite/ld-x86-64/property-x86-lam-u48-1a.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u48-1b.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u48-2.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u48-3a.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u48-3b.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u48-4.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u48-5.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u48.s: Likewise. * testsuite/ld-x86-64/property-x86-lam-u57-1a.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u57-1b.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u57-2.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u57-3a.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u57-3b.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u57-4.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u57-5.d: Likewise. * testsuite/ld-x86-64/property-x86-lam-u57.s: Likewise. * testsuite/ld-x86-64/x86-64.exp: Run LAM tests. |
||
---|---|---|
.. | ||
aarch64 | ||
arc | ||
arm | ||
bfin | ||
hppa | ||
i386 | ||
m68k | ||
mips | ||
nfp | ||
vax | ||
wasm32 | ||
windres | ||
x86-64 | ||
add-empty-section.d | ||
add-section.d | ||
add-symbol.d | ||
alias-2.def | ||
alias.def | ||
ar.exp | ||
bintest.s | ||
common-1.s | ||
common-1a.d | ||
common-1b.d | ||
common-1c.d | ||
common-1d.d | ||
common-1e.d | ||
common-1f.d | ||
common-2.s | ||
common-2a.d | ||
common-2b.d | ||
common-2c.d | ||
common-2d.d | ||
common-2e.d | ||
common-2f.d | ||
compress.exp | ||
copy-1.d | ||
copy-1.s | ||
copy-2.d | ||
copy-3.d | ||
copy-4.d | ||
copy-5.d | ||
copy-6.d | ||
copytest.s | ||
cxxfilt.exp | ||
data-sections.s | ||
debug_str.d | ||
debug_str.s | ||
debuginfod.exp | ||
debuglink.s | ||
disasm.s | ||
dlltool.exp | ||
dumptest.s | ||
dw2-1.S | ||
dw2-1.W | ||
dw2-2.S | ||
dw2-3.rS | ||
dw2-3.rt | ||
dw2-3.S | ||
dw2-3.W | ||
dw2-3gabi.W | ||
dw2-compressed.S | ||
dw2-decodedline-1.S | ||
dw2-decodedline.S | ||
dw2-empty.S | ||
dw2-ranges.S | ||
dw2-ranges.W | ||
dw4.s | ||
dw5.S | ||
dw5.W | ||
dwarf-attributes.S | ||
dwarf-attributes.W | ||
dwo.s | ||
elfedit-1.d | ||
elfedit-2.d | ||
elfedit-3.d | ||
elfedit-4.d | ||
elfedit-5.d | ||
elfedit.exp | ||
empty | ||
empty-file | ||
empty.s | ||
exclude-1.s | ||
exclude-1a.d | ||
exclude-1b.d | ||
fastcall.def | ||
group-2.s | ||
group-3.s | ||
group-4.s | ||
group-5.d | ||
group-5.s | ||
group-6.d | ||
group-6.s | ||
group-7.s | ||
group-7a.d | ||
group-7b.d | ||
group-7c.d | ||
group.s | ||
ifunc.s | ||
keep-section-1.d | ||
keep-section-2.d | ||
libdw2-compressed.out | ||
libdw2-compressedgabi.out | ||
libdw2.out | ||
link-order.s | ||
linkdebug.s | ||
localize-hidden-1.d | ||
localize-hidden-1.s | ||
localize-hidden-2.d | ||
localize-hidden-2.s | ||
locview-1.s | ||
locview-2.s | ||
mangled.s | ||
mbind1.s | ||
needed-by-reloc.s | ||
nm-1.s | ||
nm-elf-1.s | ||
nm-ver.s | ||
nm.exp | ||
note-1.d | ||
note-2-32.d | ||
note-2-32.s | ||
note-2-64.d | ||
note-2-64.s | ||
note-3-32.d | ||
note-3-32.s | ||
note-3-64.d | ||
note-3-64.s | ||
note-3.32.s | ||
note-4-32.d | ||
note-4-32.s | ||
note-4-64.d | ||
note-4-64.s | ||
note-5.d | ||
note-5.s | ||
note-6-32.d | ||
note-6-32.s | ||
note-6-64.d | ||
note-6-64.s | ||
objcopy.exp | ||
objdump.exp | ||
objdump.s | ||
objdump.W | ||
objdump.Wk | ||
objdump.WK2 | ||
objdump.WK3 | ||
objdump.WL | ||
only-section-01.d | ||
pr18374.s | ||
pr19020.in | ||
pr19020a.d | ||
pr19020b.d | ||
pr19547.c | ||
pr23633.d | ||
pr23633.list | ||
pr23633.s | ||
pr25543.d | ||
pr25543.s | ||
pr25662-pdp11.s | ||
pr25662.ld | ||
pr25662.s | ||
pr26112.o.bz2 | ||
pr26112.r | ||
pr26160.dwp.bz2 | ||
pr26160.r | ||
readelf-maskos-1a.d | ||
readelf-maskos-1b.d | ||
readelf-maskos-unknown.s | ||
readelf-maskos.s | ||
readelf.demangled | ||
readelf.exp | ||
readelf.h | ||
readelf.k | ||
readelf.k2 | ||
readelf.locview-1 | ||
readelf.locview-2 | ||
readelf.n | ||
readelf.pr18374 | ||
readelf.r | ||
readelf.r-64 | ||
readelf.s | ||
readelf.s-64 | ||
readelf.ss | ||
readelf.ss-64 | ||
readelf.ss-mips | ||
readelf.ss-tmips | ||
readelf.wa | ||
readelf.wKis | ||
readelf.z | ||
remove-relocs-01.d | ||
remove-relocs-01.s | ||
remove-relocs-02.d | ||
remove-relocs-03.d | ||
remove-relocs-04.d | ||
remove-relocs-05.d | ||
remove-relocs-06.d | ||
remove-relocs-07.d | ||
remove-relocs-07.s | ||
remove-relocs-08.d | ||
remove-section-01.d | ||
retain1.s | ||
retain1a.d | ||
retain1b.d | ||
set-section-alignment.d | ||
size.exp | ||
strings-1.bin | ||
strings.exp | ||
strip-1.d | ||
strip-2.d | ||
strip-3.d | ||
strip-4.d | ||
strip-5.d | ||
strip-6.d | ||
strip-7.d | ||
strip-8.d | ||
strip-9.d | ||
strip-10.d | ||
strip-11.d | ||
strip-12.d | ||
strip-12.s | ||
strip-13.d | ||
strip-13mips64.s | ||
strip-13rel.s | ||
strip-13rela.s | ||
strip-14.d | ||
strip-14mips64.s | ||
strip-14rel.s | ||
strip-14rela.s | ||
strip-15.d | ||
strip-15mips64.s | ||
strip-15rel.s | ||
strip-15rela.s | ||
symbols-1.d | ||
symbols-2.d | ||
symbols-3.d | ||
symbols-4.d | ||
symbols.s | ||
testprog.c | ||
testranges-ia64.d | ||
testranges-ia64.s | ||
testranges.d | ||
testranges.s | ||
unique.s | ||
unknown.s | ||
update-1.s | ||
update-2.s | ||
update-3.s | ||
update-4.s | ||
update-section.exp | ||
verilog-1.hex | ||
verilog-2.hex | ||
verilog-4.hex | ||
verilog-8.hex | ||
verilogtest.s | ||
version.def | ||
version.s | ||
z.s | ||
zero-sec.r | ||
zero-sec.s |