On 5/16/22 8:09 PM, Charlie Li wrote:
Brooks Davis wrote:
On Mon, May 16, 2022 at 10:47:49AM -0400, Charlie Li wrote:
Dimitry Andric wrote:
This was also reported by another user, and it turned out they were
using WITHOUT_CROSS_COMPILER= in src.conf. If you also have that, try
removing it and rebuilding.
Yeah I eventually figured that part out. Worked around (first attempt)
by building with devel/llvm14 CROSS_TOOLCHAIN, but resulted in certain
kernel modules (zfs and a few more) with malformed relocations.
Subsequent rebuild with the new world's toolchain corrected that.
Does that mean we're missing patches in the port? Hopefully anything
this critical can be merged into LLVM 14.0.3.
Probably:
May 15 22:34:08 current-builder kernel: ---<<BOOT>>---
May 15 22:34:08 current-builder kernel: Copyright (c) 1992-2022 The
FreeBSD Project.
May 15 22:34:08 current-builder kernel: Copyright (c) 1979, 1980, 1983,
1986, 1988, 1989, 1991, 1992, 1993, 1994
May 15 22:34:08 current-builder kernel: The Regents of the
University of California. All rights reserved.
May 15 22:34:08 current-builder kernel: FreeBSD is a registered
trademark of The FreeBSD Foundation.
May 15 22:34:08 current-builder kernel: FreeBSD 14.0-CURRENT #121
main-n255657-48a1a6be196: Sun May 15 21:59:12 EDT 2022
May 15 22:34:08 current-builder kernel:
root@current-builder:/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG amd64
May 15 22:34:08 current-builder kernel: clang version 14.0.2
[...]
May 15 22:34:08 current-builder kernel: kldload: unexpected relocation
type 42, symbol index 8321
These are all type 42:
#define R_X86_64_REX_GOTPCRELX 42
It's not a LLVM bug so much as it is probably missing support in the kernel
and/or
loader for this type of relocation. kldxref might also need updating.
I suspect due to a mismatch of old lld with new clang or some such that the old
lld failed to resolve these relocations to some other type or something weird
like
that?
--
John Baldwin