compiled vmlinux symbols doesn't match the /proc/kallsyms

zerons sironhide0null at gmail.com
Thu Apr 12 03:10:17 UTC 2018


Hi,

Environment:
	Ubuntu 16.04, kernel 4.4.0-119-generic, amd64

cmdline:
	BOOT_IMAGE=/boot/vmlinuz-4.4.0-119-generic root=UUID=54a30539-d55c-4664-a716-409963511419 ro find_preseed=/preseed.cfg auto noprompt priority=critical locale=en_US quiet

Steps:
	sudo apt-get install linux-image-4.4.0-119-generic
	reboot
	apt-get source linux-image-4.4.0-119-generic
	cd linux-4.4.0
	cp /boot/config-4.4.0-119-generic .config
	make vmlinux

I also tried `make CONFIG_DEBUG_SECTION_MISMATCH=y vmlinux`, and got some 'section mismatch'
messages.

After that, I checked symbols in vmlinux, for example, 'tty_open', the address was 0xffffffff81502bc0,
while that symbol in /proc/kallsyms was 0xffffffff81502c30. This is very inconvenient to debug the kernel. 

For this case(download the source code and `make vmlinux`), how can I get the vmlinux file which can match 
the symbols in /proc/kallsyms? 

Thanks.




More information about the kernel-team mailing list