Re: [PATCH 0/4] Handle memmap and mem kernel options in boot stage kaslr

From: Baoquan He
Date: Sun Apr 23 2017 - 22:46:47 EST


On 04/18/17 at 02:51pm, Ingo Molnar wrote:
>
> * Baoquan He <bhe@xxxxxxxxxx> wrote:
>
> > On 04/18/17 at 11:47am, Ingo Molnar wrote:
> > > I ported this series to tip:x86/boot (please post future versions against that),
> > > and beyond a trivial conflict with e820entry => e820_entry, it fails to build on
> > > 32-bit allmodconfig:
> > >
> > > ld: -r and -shared may not be used together
> > > scripts/Makefile.build:294: recipe for target 'arch/x86/boot/compressed/kaslr.o' failed
> > >
> > > ... which could be due to bad relocations, but I've not dug any further.
> >
> > Thanks, Ingo!
> >
> > I will find a x86_32 system to try allmodconfig.
>
> No need, on a 64-bit system just do:
>
> make ARCH=i386 allmodconfig

Those EXPORT_SYMBOL(sym) in lib/ctype.c|cmdline.c caused this build
failure. I added below code to skip linux/export.h including, it works.
However I haven't found out why EXPORT_SYMBOL in boot stage caused the
failure.

#define _LINUX_EXPORT_H
#define EXPORT_SYMBOL(sym)

>
> and build the kernel the regular way.
>
> Thanks,
>
> Ingo