[PATCH 15/21] lto, x86, mm: Disable vmalloc BUILD_BUG_ON for LTO

From: Andi Kleen
Date: Mon Nov 27 2017 - 16:37:19 EST


From: Andi Kleen <ak@xxxxxxxxxxxxxxx>

On 32bit builds this BUILD_BUG_ON often fires with LTO for unknown
reasons. As far as I can tell it's a false positive. So disable
it for LTO.

Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
---
arch/x86/mm/init_32.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
index 8a64a6f2848d..8187d8ee98ee 100644
--- a/arch/x86/mm/init_32.c
+++ b/arch/x86/mm/init_32.c
@@ -808,7 +808,9 @@ void __init mem_init(void)
BUILD_BUG_ON(VMALLOC_END > PKMAP_BASE);
#endif
#define high_memory (-128UL << 20)
+#ifndef CONFIG_LTO
BUILD_BUG_ON(VMALLOC_START >= VMALLOC_END);
+#endif
#undef high_memory
#undef __FIXADDR_TOP

--
2.13.6