Re: Cross compiling Kernel with all options enabled and compiler wrapper
Mouse <[email protected]> Wed, 20 Aug 2025 07:33:34 -0400 (EDT)
| Newsgroups | gmane.os.netbsd.devel.toolchain |
|---|---|
| Message-ID | <[email protected]> |
> conflicting types for 'strcasecmp'; have 'int(void)' > 123 | extern int strcasecmp (); > previous declaration of 'strcasecmp' with type 'int(const char *, const char *)' > 116 | extern int strcasecmp (const char *__s1, const char *__s2) This is a very long-standing bug in NetBSD; previous versions of gcc have silently papered over it, allowing a declaration specifying argument types to silently override a declaration specifying old-style arguments. The way it's reporting an old-style declaration as a prototype specifying no arguments makes me suspect it's using C23, which has done away with old-style declarations. In the immediate term, you might be able to find an option to tell the compiler to use a pre-C23 standard. But the right answer is to fix NetBSD's code; sooner or later someone will run into a compiler that doesn't do pre-C23 at all. /~\ 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