Apply a1e2c031ec39 and e32683c6f7d2 to 5.15 and earlier
From: Nathan Chancellor
Date: Fri Oct 27 2023 - 12:01:51 EST
Hi Greg and Sasha,
Please consider applying the following mbox files to their respective
stable trees, which contains commit a1e2c031ec39 ("x86/mm: Simplify
RESERVE_BRK()") and commit e32683c6f7d2 ("x86/mm: Fix RESERVE_BRK() for
older binutils"). This resolves a link failure noticed in the Android
trees due to a new diagnostic in ld.lld:
https://github.com/llvm/llvm-project/commit/1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40
ld.lld: error: relocation refers to a symbol in a discarded section: __brk_reservation_fn_dmi_alloc__
>>> defined in vmlinux.o
>>> referenced by ld-temp.o
>>> vmlinux.o:(exit_amd_microcode.cfi_jt)
ld.lld: error: relocation refers to a symbol in a discarded section: __brk_reservation_fn_early_pgt_alloc__
>>> defined in vmlinux.o
>>> referenced by ld-temp.o
>>> vmlinux.o:(exit_amd_microcode.cfi_jt)
While I think this may be related to Android's downstream use of LTO and
CFI, I see no reason that this could not happen without LTO due to
RESERVE_BRK() prior to those upstream commits residing in the
.discard.text section.
I confirmed they resolve the Android build problem and I did an
ARCH=x86_64 defconfig build and boot test in QEMU and an allmodconfig
build with GCC, which had no regressions.
Cheers,
Nathan
Attachment:
4.14.mbox
Description: application/mbox
Attachment:
4.19.mbox
Description: application/mbox
Attachment:
5.4.mbox
Description: application/mbox
Attachment:
5.10.mbox
Description: application/mbox
Attachment:
5.15.mbox
Description: application/mbox