On Wed, Feb 05, 2020 at 02:39:47PM -0800, Kristen Carlson Accardi wrote: > At boot time, find all the function sections that have separate .text > sections, shuffle them, and then copy them to new locations. Adjust > any relocations accordingly. > > Signed-off-by: Kristen Carlson Accardi <kristen@xxxxxxxxxxxxxxx> > --- > arch/x86/boot/compressed/Makefile | 1 + > arch/x86/boot/compressed/fgkaslr.c | 751 +++++++++++++++++++++++ > arch/x86/boot/compressed/misc.c | 106 +++- > arch/x86/boot/compressed/misc.h | 26 + > arch/x86/boot/compressed/vmlinux.symbols | 15 + > arch/x86/include/asm/boot.h | 15 +- > arch/x86/include/asm/kaslr.h | 1 + > arch/x86/lib/kaslr.c | 15 + > scripts/kallsyms.c | 14 +- > scripts/link-vmlinux.sh | 4 + > 10 files changed, 939 insertions(+), 9 deletions(-) > create mode 100644 arch/x86/boot/compressed/fgkaslr.c > create mode 100644 arch/x86/boot/compressed/vmlinux.symbols > > diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile > index b7e5ea757ef4..60d4c4e59c05 100644 > --- a/arch/x86/boot/compressed/Makefile > +++ b/arch/x86/boot/compressed/Makefile > @@ -122,6 +122,7 @@ OBJCOPYFLAGS_vmlinux.bin := -R .comment -S > > ifdef CONFIG_FG_KASLR > RELOCS_ARGS += --fg-kaslr > + OBJCOPYFLAGS += --keep-symbols=$(obj)/vmlinux.symbols I think this should be $(srctree)/$(src) rather than $(obj)? Using a separate build directory fails currently.