Add ASSERT()s that .got and .got.plt sections are empty to linker scripts for gcc and clang.
Suggested-by: Ard Biesheuvel <a...@kernel.org> Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- BaseTools/Scripts/ClangBase.lds | 10 ++++++++++ BaseTools/Scripts/GccBase.lds | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/BaseTools/Scripts/ClangBase.lds b/BaseTools/Scripts/ClangBase.lds index 61452ddd9506..c7dcd2024ac8 100644 --- a/BaseTools/Scripts/ClangBase.lds +++ b/BaseTools/Scripts/ClangBase.lds @@ -59,6 +59,16 @@ SECTIONS { KEEP (*(.hii)) } + .got : { + *(.got) + } + ASSERT(SIZEOF(.got) == 0, "Unexpected GOT entries detected!") + + .got.plt (INFO) : { + *(.got.plt) + } + ASSERT(SIZEOF(.got.plt) == 0 || SIZEOF(.got.plt) == 0xc || SIZEOF(.got.plt) == 0x18, "Unexpected GOT/PLT entries detected!") + /* * Retain the GNU build id but in a non-allocatable section so GenFw * does not copy it into the PE/COFF image. diff --git a/BaseTools/Scripts/GccBase.lds b/BaseTools/Scripts/GccBase.lds index 83cebd29d599..9f27e83bb0fc 100644 --- a/BaseTools/Scripts/GccBase.lds +++ b/BaseTools/Scripts/GccBase.lds @@ -59,6 +59,16 @@ SECTIONS { KEEP (*(.hii)) } + .got : { + *(.got) + } + ASSERT(SIZEOF(.got) == 0, "Unexpected GOT entries detected!") + + .got.plt (INFO) : { + *(.got.plt) + } + ASSERT(SIZEOF(.got.plt) == 0 || SIZEOF(.got.plt) == 0xc || SIZEOF(.got.plt) == 0x18, "Unexpected GOT/PLT entries detected!") + /* * Retain the GNU build id but in a non-allocatable section so GenFw * does not copy it into the PE/COFF image. -- 2.40.0 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#103345): https://edk2.groups.io/g/devel/message/103345 Mute This Topic: https://groups.io/mt/98404598/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-