Re: git: 349cc55c9796 - main - Merge llvm-project main llvmorg-14-init-10186-gff7f2cfa959b
- Reply: Konstantin Belousov : "Re: git: 349cc55c9796 - main - Merge llvm-project main llvmorg-14-init-10186-gff7f2cfa959b"
- In reply to: Charlie Li : "Re: git: 349cc55c9796 - main - Merge llvm-project main llvmorg-14-init-10186-gff7f2cfa959b"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 17 May 2022 17:56:14 UTC
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