From: Matt Fleming Date: Fri, 15 Apr 2011 20:35:48 +0000 (+0100) Subject: elf_gen_dep.sh: Prioritise symbols exported by core X-Git-Tag: syslinux-5.00-pre1~52 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a9c7002d9428c0d48b74a8c3835a724a39043daf;p=platform%2Fupstream%2Fsyslinux.git 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 --- 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