tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Cross compiling Kernel with all options enabled and compiler wrapper
> 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 mouse%rodents-montreal.org@localhost
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Home |
Main Index |
Thread Index |
Old Index