x86/build: Add asserts for unwanted sections
In preparation for warning on orphan sections, enforce other expected-to-be-zero-sized sections (since discarding them might hide problems with them suddenly gaining unexpected entries). Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/20200821194310.3089815-25-keescook@chromium.org
This commit is contained in:
parent
815d680771
commit
5354e84598
1 changed files with 24 additions and 0 deletions
|
@ -427,6 +427,30 @@ SECTIONS
|
||||||
SIZEOF(.got.plt) == 0xc,
|
SIZEOF(.got.plt) == 0xc,
|
||||||
#endif
|
#endif
|
||||||
"Unexpected GOT/PLT entries detected!")
|
"Unexpected GOT/PLT entries detected!")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sections that should stay zero sized, which is safer to
|
||||||
|
* explicitly check instead of blindly discarding.
|
||||||
|
*/
|
||||||
|
.got : {
|
||||||
|
*(.got) *(.igot.*)
|
||||||
|
}
|
||||||
|
ASSERT(SIZEOF(.got) == 0, "Unexpected GOT entries detected!")
|
||||||
|
|
||||||
|
.plt : {
|
||||||
|
*(.plt) *(.plt.*) *(.iplt)
|
||||||
|
}
|
||||||
|
ASSERT(SIZEOF(.plt) == 0, "Unexpected run-time procedure linkages detected!")
|
||||||
|
|
||||||
|
.rel.dyn : {
|
||||||
|
*(.rel.*) *(.rel_*)
|
||||||
|
}
|
||||||
|
ASSERT(SIZEOF(.rel.dyn) == 0, "Unexpected run-time relocations (.rel) detected!")
|
||||||
|
|
||||||
|
.rela.dyn : {
|
||||||
|
*(.rela.*) *(.rela_*)
|
||||||
|
}
|
||||||
|
ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!")
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_X86_32
|
#ifdef CONFIG_X86_32
|
||||||
|
|
Loading…
Add table
Reference in a new issue