Commit 7cf891a4 authored by Kees Cook's avatar Kees Cook Committed by Ingo Molnar
Browse files

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



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

Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200821194310.3089815-27-keescook@chromium.org
parent 5354e845
Loading
Loading
Loading
Loading
+26 −18
Original line number Diff line number Diff line
@@ -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!")

	/*
	 * 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!")

ASSERT(SIZEOF(.rel.dyn) == 0 && SIZEOF(.rela.dyn) == 0, "Unexpected run-time relocations 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!")
}