Re: [PATCH 5/6] kbuild: Use single pass kallsyms

From: Markus Trippelsdorf
Date: Sat Feb 08 2014 - 04:19:36 EST


On 2014.02.08 at 08:50 +0100, Andi Kleen wrote:
> -vmlinux_link "${kallsymso}" vmlinux
> +vmlinux_link "${kallsymsso}" vmlinux
> +if [ -n "${CONFIG_KALLSYMS}" ] ; then
> + # Now regenerate the kallsyms table and patch it into the
> + # previously linked file. We tell kallsyms to pad it
> + # to the previous length, so that no symbol changes.
> + info KALLSYMS2 .tmp_kallsyms2.o
> + kallsyms vmlinux .tmp_kallsyms2.o $(<.kallsyms_pad)
> +
> + info OBJCOPY .tmp_kallsyms2.bin
> + ${OBJCOPY} -O binary .tmp_kallsyms2.o .tmp_kallsyms2.bin
> +
> + info PATCHFILE vmlinux
> + OFF=$(${OBJDUMP} --section-headers vmlinux |
> + gawk -f ./source/scripts/elf_file_offset \
> + -v section=.kallsyms -v filesize=$(stat -c%s .tmp_kallsyms2.bin) )
> + if [ -z "$OFF" ] ; then
> + echo "Cannot find .kallsyms section in vmlinux binary"
> + exit 1
> + fi
> + scripts/patchfile vmlinux $OFF .tmp_kallsyms2.bin
> +fi

This causes:
gawk: fatal: can't open source file `./source/scripts/elf_file_offset' for reading (No such file or directory)

diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
index 4c5435f420a6..06469556c580 100644
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
@@ -213,7 +213,7 @@ if [ -n "${CONFIG_KALLSYMS}" ] ; then

info PATCHFILE vmlinux
OFF=$(${OBJDUMP} --section-headers vmlinux |
- gawk -f ./source/scripts/elf_file_offset \
+ gawk -f ./scripts/elf_file_offset \
-v section=.kallsyms -v filesize=$(stat -c%s .tmp_kallsyms2.bin) )
if [ -z "$OFF" ] ; then
echo "Cannot find .kallsyms section in vmlinux binary"

--
Markus
--
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/