arm64: vmlinux.lds.S: don't discard .exit.* sections at link-time
authorWill Deacon <will.deacon@arm.com>
Tue, 25 Nov 2014 15:26:13 +0000 (15:26 +0000)
committerWill Deacon <will.deacon@arm.com>
Tue, 25 Nov 2014 15:56:45 +0000 (15:56 +0000)
.exit.* sections may be subject to patching by the new alternatives
framework and so shouldn't be discarded at link-time. Without this patch,
such a section will result in the following linker error:

`.exit.text' referenced in section `.altinstructions' of
 drivers/built-in.o: defined in discarded section `.exit.text' of
drivers/built-in.o

Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/vmlinux.lds.S

index 3236727be2b9a3f4df15a2f39bce5fb6ceb68067..9965ec87cbecfcac284eddc4459bda6adab0c368 100644 (file)
@@ -11,8 +11,9 @@
 
 #include "image.h"
 
-#define ARM_EXIT_KEEP(x)
-#define ARM_EXIT_DISCARD(x)    x
+/* .exit.text needed in case of alternative patching */
+#define ARM_EXIT_KEEP(x)       x
+#define ARM_EXIT_DISCARD(x)
 
 OUTPUT_ARCH(aarch64)
 ENTRY(_text)