Date: Thu, 30 Mar 2023 12:56:53 -0700 From: Mark Millard <marklmi@yahoo.com> To: Mateusz Guzik <mjguzik@gmail.com>, Current FreeBSD <freebsd-current@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org> Cc: freebsd@walstatt-de.de Subject: Re: NanoBSD: CURRENT unable to compile 13-STABLE : ld: error: args.o: Opaque pointers are only supported in -opaque-pointers mode (Producer: 'LLVM15.0.7' Reader: 'LLVM 14.0.5') Message-ID: <C7D808F1-E01A-4804-BAC8-ED9BC12C06A7@yahoo.com> References: <C7D808F1-E01A-4804-BAC8-ED9BC12C06A7.ref@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Mateusz Guzik <mjguzik_at_gmail.com> wrote on Date: Thu, 30 Mar 2023 14:56:09 UTC : > On 3/30/23, Mateusz Guzik <mjguzik@gmail.com> wrote: > > On 3/30/23, FreeBSD User <freebsd@walstatt-de.de> wrote: > >> . . . > > >=20 > So I looked into it and landed > = https://cgit.FreeBSD.org/src/commit/?id=3D82eb549f800e08158802b74bef62e7db= 0939a3fe >=20 > As of that commit I can both buildworld and buildkernel a stable/13 > tree while running main, without any magic to change compilers. For reference, that patch involves: +.if ${COMPILER_VERSION} >=3D 150000 +CWARNFLAGS+=3D -Wno-error=3Ddeprecated-non-prototype +CWARNFLAGS+=3D -Wno-error=3Darray-parameter +CWARNFLAGS+=3D -Wno-error=3Dstrict-prototypes +.endif I'm unclear here. Is the goal that a system clang 15+ toolchain can build just the bootstrap toolchain and such that are then used to actually build stable/13? Otherwise I'm unclear on how compatibility with what a system clang 14 toolchain would produce is established. To my knowledge, FreeBSD has not actively supported newer FreeBSD building older FreeBSD across versions. It has supported somewhat-older building newer. I'd guess there are various ways that having newer toolchains build compatible results for older toolchains is messy and that FreeBSD has generally avoided systematically dealing with such. I'll note that even when the toolchain stays at the same LLVM version, FreeBSD version V to V+1 gets a change in the default target triple: even that case is a form of "cross-build" between the older compiler and the bootstrap compiler to be used in building V+1 (and any later V+1 compiler builds for V+1). Has the target triple been systematically forced to be correct for targeting the older FreeBSD? May be just some more explanation of the context/intent will clear my confusion(s). But for now using a system clang 15+ toolchain to produce an older FreeBSD that is based on s system clang 14 toolchain and an older target triple seems odd to me. =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C7D808F1-E01A-4804-BAC8-ED9BC12C06A7>