Yes, sorry for the inconvinience;
It turns out that for some reason, the three different compilers used
across various platforms (gcc12, gcc13 and clang) are not all similarly
strict with enum vs. int32 types, or are forgiving in slightly different
ways.
What happend was that I forgot a type conversion to ccsignal_t in the
fallback newreno reaction - but that (int32 for an enum) was acceptable
for gcc12 / clang (my local toolchain), only gcc13 complained (upstream).
But when I hurried to fix the gcc13 error (with the proper type in the
function header), either gcc12 or clang then complained about the
missing default clause (which I had added in other instances, but wasn't
flagged in my local build previous to submitting the fix).
Thus that broke some toolchains - but it wasn't flagged to me locally
either.
I'm trying to get my local toolchain upgraded to gcc13 - since this
appears to be the most stringent set of checks, to prevent similar
issues in the future.
Richard Scheffenegger
Am 26.02.2024 um 09:32 schrieb Richard Scheffenegger:
Weitergeleitete Nachricht
Betreff:Re: after commit 5e248c2, kernel module build is broken
Datum: Mon, 26 Feb 2024 14:24:48 +0800
Von:Zhenlei Huang
An: Michael Butler
Kopie (CC): freebsd-current , Richard
Scheffenegger
On Feb 25, 2024, at 11:38 PM, Michael Butler
wrote:
Building
/usr/obj/usr/src/amd64.amd64/sys/VM01-new/modules/usr/src/sys/modules/vmm/machine
machine -> /usr/src/sys/amd64/include
Building
/usr/obj/usr/src/amd64.amd64/sys/VM01-new/modules/usr/src/sys/modules/vmm/x86
x86 -> /usr/src/sys/x86/include
Building
/usr/obj/usr/src/amd64.amd64/sys/VM01-new/modules/usr/src/sys/modules/vmm/i386
i386 -> /usr/src/sys/i386/include
Building
/usr/obj/usr/src/amd64.amd64/sys/VM01-new/modules/usr/src/sys/modules/vmm/opt_acpi.h
Building
/usr/obj/usr/src/amd64.amd64/sys/VM01-new/modules/usr/src/sys/modules/vmm/opt_ddb.h
Building /usr/obj/usr/src/amd64.amd64/sys/VM01-new/cc.o
/usr/src/sys/netinet/cc/cc.c:475:10: error: 6 enumeration values not handled in
switch: 'CC_ACK', 'CC_DUPACK', 'CC_PARTIALACK'... [-Werror,-Wswitch]
475 | switch (type) {
| ^~~~
Should be fixed by 8917131e00b0 (tcp: need default in switch statement for enum)
1 error generated.
*** [cc.o] Error code 1
Best regards,
Zhenlei
OpenPGP_0x17BE5899E0B1439B.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature