diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2017-08-18 20:49:36 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-08-21 09:43:49 +0200 |
commit | 0426a4e68f18d75515414361de9e3e1445d2644e (patch) | |
tree | b9e8039bf7067dd14ad0dd8409d6afab416ee1ec /drivers/firmware/efi | |
parent | 760b61d76da6d6a99eb245ab61abf71ca5415cea (diff) | |
download | op-kernel-dev-0426a4e68f18d75515414361de9e3e1445d2644e.zip op-kernel-dev-0426a4e68f18d75515414361de9e3e1445d2644e.tar.gz |
efi/libstub/arm64: Force 'hidden' visibility for section markers
To prevent the compiler from emitting absolute references to the section
markers when running in PIC mode, override the visibility to 'hidden' for
all contents of asm/sections.h
Tested-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matt Fleming <matt@codeblueprint.co.uk>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-efi@vger.kernel.org
Link: http://lkml.kernel.org/r/20170818194947.19347-4-ard.biesheuvel@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/firmware/efi')
-rw-r--r-- | drivers/firmware/efi/libstub/arm64-stub.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/firmware/efi/libstub/arm64-stub.c b/drivers/firmware/efi/libstub/arm64-stub.c index b4c2589..f7a6970 100644 --- a/drivers/firmware/efi/libstub/arm64-stub.c +++ b/drivers/firmware/efi/libstub/arm64-stub.c @@ -9,9 +9,17 @@ * published by the Free Software Foundation. * */ + +/* + * To prevent the compiler from emitting GOT-indirected (and thus absolute) + * references to the section markers, override their visibility as 'hidden' + */ +#pragma GCC visibility push(hidden) +#include <asm/sections.h> +#pragma GCC visibility pop + #include <linux/efi.h> #include <asm/efi.h> -#include <asm/sections.h> #include <asm/sysreg.h> #include "efistub.h" |