mirror of https://github.com/acidanthera/audk.git
ArmPkg: rewrite vector table population macros
Unfortunately, Clang does not support the use of symbol references in .org directives, and bails with the following error message when it encounters them: <...>:error: expected assembly-time absolute expression .org DebugAgentVectorTable + 0x000 So replace the .org arguments with absolute values, and move the whole vector table into a subsection with the appropriate alignment, and starting at .org 0x0. This gives the same protection with respect to entries that exceed 128 bytes, in a way that Clang supports as well. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Mark Rutland <mark.rutland@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19303 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
850ba6a953
commit
e7e120133d
|
@ -119,15 +119,18 @@
|
|||
#define ARM_VECTOR_LOW_A32_SERR 0x780
|
||||
|
||||
#define VECTOR_BASE(tbl) \
|
||||
.section .text.##tbl##,"ax"; \
|
||||
.align 11; \
|
||||
.org 0x0; \
|
||||
GCC_ASM_EXPORT(tbl); \
|
||||
ASM_PFX(tbl): \
|
||||
|
||||
#define VECTOR_ENTRY(tbl, off) \
|
||||
.org ASM_PFX(tbl) + off
|
||||
.org off
|
||||
|
||||
#define VECTOR_END(tbl) \
|
||||
.org ASM_PFX(tbl) + 0x800
|
||||
.org 0x800; \
|
||||
.previous
|
||||
|
||||
VOID
|
||||
EFIAPI
|
||||
|
|
Loading…
Reference in New Issue