On Thu, 19 Jun, at 10:04:35PM, Gene Cumm wrote:> > I'm getting some similar results here with the precompiled binaries > and my binaries of 6.03-pre17Gene, could you try out the attached patch? And see if you get any different results? Andrew, feel free to try it out too, or you could just wait for someone to cut another pre-release. Note that I don't think this will magically solve all EFI PXELINUX problems, but it should at least restore the behaviour from before -pre14. --->From 129c3c31f1a7c2d58d72493d8aed5e6d30d79eb4 Mon Sep 17 00:00:00 2001From: Matt Fleming <matt.fleming at intel.com> Date: Sat, 21 Jun 2014 19:30:53 +0100 Subject: [PATCH] efi: Tag __syslinux_adv* with __export commit 415d571 ("adv: Remove double defintion") introduced a regression for the EFI boot loader. The commit is correct, but should have tagged the __syslinux_adv_ptr and __syslinux_adv_size data objects in the EFI core as __export. This change is required because symbols in the EFI code are not global by default, and so, when ldlinux.{e32,e64} tries to bind to the adv symbols it fails. The following demonstrates the ELF symbol changes, Before: 659: 0000000000034f40 8 OBJECT LOCAL DEFAULT 16 __syslinux_adv_ptr After: 957: 0000000000036fe0 8 OBJECT GLOBAL DEFAULT 16 __syslinux_adv_ptr Signed-off-by: Matt Fleming <matt.fleming at intel.com> --- efi/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/efi/main.c b/efi/main.c index 1cc2456..208fee4 100644 --- a/efi/main.c +++ b/efi/main.c @@ -141,8 +141,8 @@ void __cdecl core_farcall(uint32_t c, const com32sys_t *a, com32sys_t *b) } __export struct firmware *firmware = NULL; -void *__syslinux_adv_ptr; -size_t __syslinux_adv_size; +__export void *__syslinux_adv_ptr; +__export size_t __syslinux_adv_size; char core_xfer_buf[65536]; struct iso_boot_info { uint32_t pvd; /* LBA of primary volume descriptor */ -- 1.9.0 -- Matt Fleming, Intel Open Source Technology Center
On Sat, Jun 21, 2014 at 3:10 PM, Matt Fleming <matt at console-pimps.org> wrote:> On Thu, 19 Jun, at 10:04:35PM, Gene Cumm wrote: >> >> I'm getting some similar results here with the precompiled binaries >> and my binaries of 6.03-pre17 > > Gene, could you try out the attached patch? And see if you get any > different results?EFI64 looks good. I need to look at EFI32 to see if my EFI32 builds are broken. -- -Gene
On Sat, Jun 21, 2014 at 5:42 PM, Gene Cumm <gene.cumm at gmail.com> wrote:> On Sat, Jun 21, 2014 at 3:10 PM, Matt Fleming <matt at console-pimps.org> wrote: >> On Thu, 19 Jun, at 10:04:35PM, Gene Cumm wrote: >>> >>> I'm getting some similar results here with the precompiled binaries >>> and my binaries of 6.03-pre17 >> >> Gene, could you try out the attached patch? And see if you get any >> different results? > > EFI64 looks good. I need to look at EFI32 to see if my EFI32 builds are broken.Trying prebuild 6.03-pre11, I don't get a bootable system so I think my VM may not be a valid EFI32 test. -- -Gene
> Andrew, feel free to try it out too, or you could just wait for someone > to cut another pre-release.Matt - I'd love to try it - but I'm not so good at fixing compiling issues. right now I get stuck at being unable to 'make' the efi32 or efi64 components due to an error: Failed to build gnu-efi. Execute the following command for full details: build-gnu-efi.sh ia32 /tmp/syslinux/efi32 make[3]: *** [/tmp/syslinux/efi32/lib/libefi.a] Error 1 make[3]: Leaving directory `/tmp/syslinux/efi32/efi' make[2]: *** [efi] Error 2 make[2]: Leaving directory `/tmp/syslinux/efi32' make[1]: *** [efi32] Error 2 make[1]: Leaving directory `/tmp/syslinux' make: *** [efi32] Error 2 thought everyone would have better / more important things to do than help me build from source - so not expecting any help with this!> Note that I don't think this will magically solve all EFI PXELINUX > problems, but it should at least restore the behaviour from before > -pre14.Good to know it was a bug (and wasn't me doing something wrongly! :) ) Cheers, Andrew
On Sun, 22 Jun, at 06:15:50PM, Andrew Rae wrote:> > Matt - I'd love to try it - but I'm not so good at fixing compiling > issues. right now I get stuck at being unable to 'make' the efi32 or > efi64 components due to an error:Andrew, could you try out syslinux-6.03-pre18? Peter pushed the release button yesterday and -pre18 contains my change. It would be good to know whether it improves things for you. -- Matt Fleming, Intel Open Source Technology Center