Re: Cross compiling Kernel with all options enabled and compiler wrapper

Mouse <[email protected]> Wed, 20 Aug 2025 07:38:40 -0400 (EDT)
Newsgroups gmane.os.netbsd.devel.toolchain
Message-ID <[email protected]>
>> error: conflicting types for 'strncasecmp'; have 'int(void)'
>>  127 | extern int strncasecmp ();
>> [...]

> That sounds like the combination of a long-term issue with visibility
> on Linux and newer GCC defaulting to break old code.

I would say, rather, newer GCC defaulting to point out errors in old
code.

int strncasecmp();

has never been compatible with

int strncasecmp(const char *, const char *);

but gcc has had a long-standing (mis)feature whereby the prototype
declaration silently overrides the old-style declaration, thereby
letting people get away with such mismatches.  C23 has, though, done
away with old-style declarations entirely.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		[email protected]
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B