From a9c7002d9428c0d48b74a8c3835a724a39043daf Mon Sep 17 00:00:00 2001 From: Matt Fleming Date: Fri, 15 Apr 2011 21:35:48 +0100 Subject: [PATCH] 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 --- elf_gen_dep.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 -- 2.7.4