audk/ArmPkg/Library
Ard Biesheuvel f484427d10 ArmPkg, BaseTools AARCH64: Add BTI ELF note to .hii objects
The ELF based toolchains use objcopy to create HII object files, which
contain only a single .hii section. This means no GNU note is inserted
that describes the object as compatible with BTI, even though the lack
of executable code in such an object makes the distinction irrelevant.
However, the linker will not add the note globally to the resulting ELF
executable, and this breaks BTI compatibility.

So let's insert a GNU BTI-compatible ELF note by hand when generating
such object files.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
2023-03-30 11:05:22 +00:00
..
ArmArchTimerLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmCacheMaintenanceLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmDisassemblerLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmExceptionLib ArmPkg: Emit BTI opcodes when BTI codegen is enabled 2023-03-30 11:05:22 +00:00
ArmGenericTimerPhyCounterLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmGenericTimerVirtCounterLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmGicArchLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmGicArchSecLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmHvcLib ArmPkg: Remove RVCT support 2022-05-13 14:58:54 +00:00
ArmHvcLibNull ArmPkg/ArmHvcLibNull: Add NULL instance of ArmHvcLib 2022-11-06 16:32:28 +00:00
ArmLib ArmPkg/ArmMmuLib ARM: Isolate the access flag from AP mask 2023-03-16 21:14:49 +00:00
ArmMmuLib ArmPkg/ArmMmuLib: Introduce region types for RO/XP WB cached memory 2023-03-16 21:14:49 +00:00
ArmMonitorLib ArmPkg/ArmMonitorLib: Add ArmMonitorLib 2022-11-06 16:32:28 +00:00
ArmMtlNullLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmPsciResetSystemLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmSmcLib ArmPkg: Remove RVCT support 2022-05-13 14:58:54 +00:00
ArmSmcLibNull ArmPkg: Add SMC helper functions 2021-12-14 11:30:26 +00:00
ArmSmcPsciResetSystemLib ArmPkg: Handle warm reboot request correctly 2022-09-05 13:52:51 +00:00
ArmSoftFloatLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmSvcLib ArmPkg: Emit BTI opcodes when BTI codegen is enabled 2023-03-30 11:05:22 +00:00
ArmTrngLib ArmPkg/ArmTrngLib: Remove ASSERTs in ArmTrngLibConstructor() 2022-11-26 14:42:41 +00:00
CompilerIntrinsicsLib ArmPkg: Remove RVCT support 2022-05-13 14:58:54 +00:00
DebugAgentSymbolsBaseLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DebugPeCoffExtraActionLib ArmPkg: Remove RealView Debugger support 2023-01-30 16:50:14 +00:00
DefaultExceptionHandlerLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
GccLto ArmPkg/GccLto AARCH64: Add BTI note to LTO helper library 2023-03-30 11:05:22 +00:00
LinuxBootBootManagerLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
OpteeLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiServicesTablePointerLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PlatformBootManagerLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SemiHostingDebugLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SemiHostingSerialPortLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SemihostLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
StandaloneMmMmuLib ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
GnuNoteBti.bin ArmPkg, BaseTools AARCH64: Add BTI ELF note to .hii objects 2023-03-30 11:05:22 +00:00