[U-Boot] [PATCH v1] Makefile: Don't generate position independent code
Andy Shevchenko
andriy.shevchenko at linux.intel.com
Mon Aug 6 18:55:37 UTC 2018
On Mon, 2018-08-06 at 19:32 +0200, Heinrich Schuchardt wrote:
> On 08/06/2018 07:11 PM, Andy Shevchenko wrote:
> > On Mon, 2018-08-06 at 18:56 +0200, Heinrich Schuchardt wrote:
> > > On 08/06/2018 06:00 PM, Andy Shevchenko wrote:
> > > > Fix all these by disabling PIE on Makefile level.
> > > With the patch building with gcc-8.1 works on i386.
> >
> > Does it mean you are actually run it and it works?
Can you confirm that binary you got is working for you?
> > > But the interesting
> > > question is whether the EFI subsystem will be able to relocate the
> > > runtime code when the EFI service SetVirtualAddressMap() is
> > > called.
> >
> > EFI code should have different CFLAGS I suppose.
>
> This really depends on the architecture:
>
> On RISC-V EFI specific flags are not defined.
> On ARM
> CFLAGS_NON_EFI := -fno-pic -ffixed-r9 -ffunction-sections -fdata-
> sections
> CFLAGS_EFI := -fpic -fshort-wchar
>
> On x86
> ifeq ($(IS_32BIT),y)
> CFLAGS_NON_EFI := -mregparm=3
> endif
> CFLAGS_EFI := -fpic -fshort-wchar
>
> Do you know how -fpic and -fno-PIE work together when both are passed
> to
> gcc?
In all three cases where CONFIG_EFI is used there is no KBUILD_*FLAGS
are in use. The special flags are for EFI apps as it supposed to be.
> CFLAGS_EFI is only used to compile standalone EFI executables like
> helloworld.efi not the EFI runtime. See lib/efi_loader/Makefile.
Yes, I see no contradiction here.
--
Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Intel Finland Oy
More information about the U-Boot
mailing list