linker script /arch/arm64/kernel/vmlinux.lds build error

Robin Murphy robin.murphy at arm.com
Wed Sep 7 03:30:23 PDT 2022


On 2022-09-06 19:13, Mohan Rao .vanimina wrote:
> Has anyone ever encountered the following issue.
> Actually I’m trying to configure the page size for 64KB for the AARCH
> 64 platform.
> 
> Build error:
> LTO vmlinux.o
> MODPOST vmlinux.symvers
> MODINFO modules.builtin.modinfo
> GEN modules.builtin
> LD  .tmp_vmlinux.kallsymsl
> ld.lld: error: k/arch/arm64/kernel/vmlinux.lds:72: symbol not found: PMD_SIZE
> 
> I started seeing this build issue after changing the default page size
> from ARM64_4K_PAGES to ARM64_64K_PAGES.
> 
> patch:
> choice
>              prompt “Page size”
> -          default ARM64_4K_PAGES
> +         default ARM64_64K_PAGES
>              help
>                   Page size ( translation granule) configuration.
> 

It sounds like you've most likely confused the build system into not 
rebuilding everything that should have been rebuilt. Hacking Kconfig 
sources is not the way to change your configuration; you should do that 
by editing .config, either manually or with tools like scripts/config or 
one of the interactive make targets.

However it looks like you're using LTO, so I guess there's also a chance 
that that could be at fault for failing to properly track some 
dependency that the config change affects. If you can still reproduce 
this behaviour by changing your config normally, it might be worth 
raising it with the Clang folks. FWIW I've never seen any issue 
reconfiguring the page size for GCC builds (without LTO).

Robin.



More information about the linux-arm-kernel mailing list