On Fri, Oct 27, 2023 at 09:01:44AM -0700, Nathan Chancellor wrote:
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/1981b1b6b92f7579a30c9ed32dbdf3bc...
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.
All now queued up, thanks! If only all stable submissions were sent to us in such easy-to-consume-form :)
thanks,
greg k-h