[syslinux] [GIT PULL] elflink ldlinux

Matt Fleming matt at console-pimps.org
Tue Jun 7 09:26:26 PDT 2011


On Tue, 7 Jun 2011 16:41:28 +0100
Matt Fleming <matt at console-pimps.org> wrote:

> Hi,
> 
> I've put together some more patches so that we've got feature-parity on
> the elflink branch with Syslinux 4.x. I'm just about to do a final
> review for features that elflink is missing but I think we're nearly
> there now.
> 
> Like previous patches, I've punted on converting lots of stuff from asm
> to C (like the "kbdmap" parsing code) but we should be able to do the
> conversion under the hood later.
> 
> I've also made use of your recent commit introducing open_config() so
> that we can delete the config file lookup code in readconfig.c, thanks!
> 
> Some interesting new features are the PATH-based module loading and
> using DT_NEEDED entries in an ELF's .dynamic section instead of the
> elf_gen_dep.sh script and modules.dep file. The PATH-based module
> loading allows users to use the "PATH" config directive to specify
> directories to search when loading modules. The DT_NEEDED change means
> that you no longer have to run elf_gen_dep.sh to generate the
> modules.dep file so that a module's dependencies are loaded; it's taken
> care of automatically now.
> 
> Please review and pull!

... and lo and behold as soon as I sent this pull request I found a
bug. The following patch needs to be applied. Should I rebase my
for-hpa/elflink/ldlinux branch before you pull or would you prefer a
patch on top?

diff --git a/core/diskfs.inc b/core/diskfs.inc
index 470aa42..2684328 100644
--- a/core/diskfs.inc
+++ b/core/diskfs.inc
@@ -125,6 +125,7 @@ kaboom2:
 ; -----------------------------------------------------------------------------
 
 		section .data16
+		global copyright_str
 copyright_str   db ' Copyright (C) 1994-'
 		asciidec YEAR
 		db ' H. Peter Anvin et al', CR, LF, 0
diff --git a/core/diskstart.inc b/core/diskstart.inc
index e0a710d..c8f7936 100644
--- a/core/diskstart.inc
+++ b/core/diskstart.inc
@@ -514,6 +514,7 @@ SuperInfo	resq 16			; The first 16 bytes expanded 8 times
 ; Banner information not needed in sector 1
 ;
 		section .data16
+		global syslinux_banner
 syslinux_banner	db CR, LF, MY_NAME, ' ', VERSION_STR
 late_banner	db ' ', DATE_STR, 0
 
diff --git a/core/isolinux.asm b/core/isolinux.asm
index 344cb1e..895468c 100644
--- a/core/isolinux.asm
+++ b/core/isolinux.asm
@@ -1034,6 +1034,7 @@ writestr_early	equ writestr
 ; Data that needs to be in the first sector
 ; -----------------------------------------------------------------------------
 
+		global syslinux_banner, copyright_str
 syslinux_banner	db CR, LF, MY_NAME, ' ', VERSION_STR, ' ', DATE_STR, ' ', 0
 copyright_str   db ' Copyright (C) 1994-'
 		asciidec YEAR


-- 
Matt Fleming, Intel Open Source Technology Center




More information about the Syslinux mailing list