Re: x86/build: Move max-page-size option to LDFLAGS_vmlinux

From: Sedat Dilek
Date: Thu Jul 23 2020 - 12:01:05 EST


[ Please CC me I am not subscribed to this ML ]

[1] says:
"
This option is only required for vmlinux on 64-bit, to enforce 2MiB
alignment, so set it in LDFLAGS_vmlinux instead of KBUILD_LDFLAGS. Also
drop the ld-option check: this option was added in binutils-2.18 and all
the other places that use it already don't have the check.

This reduces the size of the intermediate ELF files
arch/x86/boot/setup.elf and arch/x86/realmode/rm/realmode.elf by about
2MiB each. The binary versions are unchanged.

Move the LDFLAGS settings to all be together and just after CFLAGS
settings are done.

Signed-off-by: Arvind Sankar <nivedita@xxxxxxxxxxxx>
"

Hi Arvind,

I have tested this on top of Linux v5.8-rc6 with a snapshot version of
LLVM/Clang/LLD v11.

Without your patch:
$ grep "max-page-size=0x200000"
build-log_5.8.0-rc6-4-amd64-llvm11-ias.txt | wc -l
16935

With your patch:
$ grep "max-page-size=0x200000"
build-log_5.8.0-rc6-6-amd64-llvm11-ias.txt | wc -l
4

I was able to build and boot on a Debian AMD64 system.

Feel free to add:

Tested-by: Sedat Dilek <sedat.dilek@xxxxxxxxx>

Regards,
- Sedat -

[1] https://lore.kernel.org/patchwork/patch/1277806/