2023-10-27 16:02:06

by Nathan Chancellor

[permalink] [raw]
Subject: Apply a1e2c031ec39 and e32683c6f7d2 to 5.15 and earlier

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


Attachments:
(No filename) (1.29 kB)
4.14.mbox (8.18 kB)
4.19.mbox (8.18 kB)
5.4.mbox (8.21 kB)
5.10.mbox (8.68 kB)
5.15.mbox (8.51 kB)
Download all attachments

2023-10-31 12:56:13

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: Apply a1e2c031ec39 and e32683c6f7d2 to 5.15 and earlier

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/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.

All now queued up, thanks! If only all stable submissions were sent to
us in such easy-to-consume-form :)

thanks,

greg k-h