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 <[email protected]> Intel Finland Oy _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

