x86/boot/compressed: Reorganize zero-size section asserts

For readability, move the zero-sized sections to the end after DISCARDS.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200821194310.3089815-27-keescook@chromium.org
This commit is contained in:
Kees Cook 2020-08-21 12:43:07 -07:00 committed by Ingo Molnar
parent 5354e84598
commit 7cf891a400

View File

@ -42,19 +42,6 @@ SECTIONS
*(.rodata.*)
_erodata = . ;
}
.rel.dyn : {
*(.rel.*)
}
.rela.dyn : {
*(.rela.*)
}
.got : {
*(.got)
}
.got.plt : {
*(.got.plt)
}
.data : {
_data = . ;
*(.data)
@ -85,13 +72,34 @@ SECTIONS
ELF_DETAILS
DISCARDS
}
ASSERT(SIZEOF(.got) == 0, "Unexpected GOT entries detected!")
.got.plt (INFO) : {
*(.got.plt)
}
ASSERT(SIZEOF(.got.plt) == 0 ||
#ifdef CONFIG_X86_64
ASSERT(SIZEOF(.got.plt) == 0 || SIZEOF(.got.plt) == 0x18, "Unexpected GOT/PLT entries detected!")
SIZEOF(.got.plt) == 0x18,
#else
ASSERT(SIZEOF(.got.plt) == 0 || SIZEOF(.got.plt) == 0xc, "Unexpected GOT/PLT entries detected!")
SIZEOF(.got.plt) == 0xc,
#endif
"Unexpected GOT/PLT entries detected!")
ASSERT(SIZEOF(.rel.dyn) == 0 && SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations detected!")
/*
* Sections that should stay zero sized, which is safer to
* explicitly check instead of blindly discarding.
*/
.got : {
*(.got)
}
ASSERT(SIZEOF(.got) == 0, "Unexpected GOT entries detected!")
.rel.dyn : {
*(.rel.*)
}
ASSERT(SIZEOF(.rel.dyn) == 0, "Unexpected run-time relocations (.rel) detected!")
.rela.dyn : {
*(.rela.*)
}
ASSERT(SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations (.rela) detected!")
}