[syslinux:elflink] elf_gen_dep.sh: Prioritise symbols exported by core

syslinux-bot for Matt Fleming matt.fleming at linux.intel.com
Wed Apr 27 14:31:08 PDT 2011

Commit-ID:  a9c7002d9428c0d48b74a8c3835a724a39043daf
Gitweb:     http://syslinux.zytor.com/commit/a9c7002d9428c0d48b74a8c3835a724a39043daf
Author:     Matt Fleming <matt.fleming at linux.intel.com>
AuthorDate: Fri, 15 Apr 2011 21:35:48 +0100
Committer:  Matt Fleming <matt.fleming at linux.intel.com>
CommitDate: Tue, 26 Apr 2011 10:06:33 +0100

elf_gen_dep.sh: Prioritise symbols exported by core

It's possible for multiple modules to export the same symbol. We
always favour the symbols exported from core/ because this means that
modules will have less runtime dependencies.

For example, some symbols required by ldlinux.c32 are exported by both
core/ and libmenu.c32. Because we don't want ldlinux.c32 to have any
dependencies, we need to make sure we resolve to the symbol exported
by core/.

Note that now the order in which we extract global symbols from ELF
files in elf_gen_dep.sh is important, because this dictates our order
of preference and hence core/isolinux.elf and core/pxelinux.elf need
to come first.

Signed-off-by: Matt Fleming <matt.fleming at linux.intel.com>

 elf_gen_dep.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/elf_gen_dep.sh b/elf_gen_dep.sh
index 2cde308..1badb64 100755
--- a/elf_gen_dep.sh
+++ b/elf_gen_dep.sh
@@ -85,7 +85,7 @@ resolve_sym ()
 			#echo $symbol
-			sed -n -e "s/^$symbol <\(.*\)>/\1/p" all.txt >> resolve.tmp
+			sed -n -e "s/^$symbol <\(.*\)>/\1/p" all.txt | head -n1 >> resolve.tmp
 			#grep $symbol all.txt

More information about the Syslinux-commits mailing list