compiled vmlinux symbols doesn't match the /proc/kallsyms
Juerg Haefliger
juerg.haefliger at canonical.com
Fri Apr 13 06:26:30 UTC 2018
On 04/12/2018 05:10 AM, zerons wrote:
> 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
This is not how you build an Ubuntu kernel. See
https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
> 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?
Why not install the debug package linux-image-4.4.0-119-generic-dbgsym?
...Juerg
> Thanks.
>
More information about the kernel-team
mailing list