diff mbox

[5/6] kbuild: Use single pass kallsyms

Message ID 20140208091920.GA400@x4 (mailing list archive)
State New, archived
Headers show

Commit Message

Markus Trippelsdorf Feb. 8, 2014, 9:19 a.m. UTC
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 mbox

Patch

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"