[PATCH -next] x86: vmlinux.lds.S: explain link error better when PHYSICAL_START is LARGE

From: Randy Dunlap
Date: Mon Dec 14 2020 - 19:03:45 EST


On i386, when CONFIG_PHYSICAL_START is very large, it causes a
confusing or misleading linker error message:

ld: kernel image bigger than KERNEL_IMAGE_SIZE

so expand this message to include the possibility that the problem
could be due to CONFIG_PHYSICAL_START.

Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Cc: x86@xxxxxxxxxx
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
---
arch/x86/kernel/vmlinux.lds.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next-20201214.orig/arch/x86/kernel/vmlinux.lds.S
+++ linux-next-20201214/arch/x86/kernel/vmlinux.lds.S
@@ -458,7 +458,7 @@ SECTIONS
* The ASSERT() sink to . is intentional, for binutils 2.14 compatibility:
*/
. = ASSERT((_end - LOAD_OFFSET <= KERNEL_IMAGE_SIZE),
- "kernel image bigger than KERNEL_IMAGE_SIZE");
+ "kernel image bigger than KERNEL_IMAGE_SIZE or CONFIG_PHYSICAL_START too large");

#ifdef CONFIG_X86_64
/*