[syslinux] testing out 6.03 network booting...

Matt Fleming matt at console-pimps.org
Sat Jun 21 12:10:37 PDT 2014


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?

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 2001
From: 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


More information about the Syslinux mailing list