Re: kbuild breaks um - fails to find util when linking

From: Jeff Dike
Date: Wed Jun 11 2008 - 11:48:36 EST


This patch obviously isn't usable for anyone else, but UML needs a
hook or something to add libgcc and libc to the ld commands:

Index: linux-2.6-git/scripts/link-vmlinux.sh
===================================================================
--- linux-2.6-git.orig/scripts/link-vmlinux.sh 2008-06-11 11:26:07.000000000 -0400
+++ linux-2.6-git/scripts/link-vmlinux.sh 2008-06-11 11:41:04.000000000 -0400
@@ -122,7 +122,7 @@ fi
# First stage of fully linked vmlinux
tell LD ${VMLINUX}
${LD} ${LDFLAGS} ${LDFLAGS_vmlinux} -o ${VMLINUX} \
- -T ${KBUILD_VMLINUX_LDS} vmlinux.o
+ -T ${KBUILD_VMLINUX_LDS} vmlinux.o `gcc -print-libgcc-file-name` -lc

if [ "${CONFIG_KALLSYMS}" = "y" ]; then

@@ -133,7 +133,8 @@ if [ "${CONFIG_KALLSYMS}" = "y" ]; then
# link in kalll symbols
tell LD vmlinux
${LD} ${LDFLAGS} ${LDFLAGS_vmlinux} -o vmlinux \
- -T ${KBUILD_VMLINUX_LDS} vmlinux.o .tmp_kallsyms.o
+ -T ${KBUILD_VMLINUX_LDS} vmlinux.o .tmp_kallsyms.o \
+ `gcc -print-libgcc-file-name` -lc
fi

tell SYSMAP System.map

This fixes the flood of undefined symbols, but I still get this on the
link:
ld: warning: Cannot create .note.gnu.build-id section, --build-id ignored.
ld: warning: cannot find entry symbol _start; defaulting to 08056320

And when I run the result, I get this, which I don't understand at
all:

-bash: ./uml/linux: /usr/lib/libc.so.1: bad ELF interpreter: No
such file or directory

Jeff

--
Work email - jdike at linux dot intel dot com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/