[syslinux] [PATCH 20/20] elf_gen_dep.sh: Prioritise symbols exported by core

Matt Fleming matt at console-pimps.org
Sat Apr 16 07:17:48 PDT 2011


From: Matt Fleming <matt.fleming at linux.intel.com>

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 ()
 			fi
 		else
 			#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
 		fi
 	done
-- 
1.7.4.2




More information about the Syslinux mailing list