Hi Linus, please apply - maintainer cc:ed for info.
Reiserfs emits a warning about strchr being defined but not
used. I finally tracked down the reason for this.
gcc - when seeing strstr(x, "%") recognized that the second parameter
is a char, and therefore uses strchr instead of strstr.
The workaround to avoid the warning is to replace the call
to strstr with strchr - which is OK.
This hides the warning, and brings us down to 6 warnings for a
make defconfig bzImage.
Sam
===== fs/reiserfs/prints.c 1.21 vs edited =====
--- 1.21/fs/reiserfs/prints.c Sun Mar 23 07:14:13 2003
+++ edited/fs/reiserfs/prints.c Sat May 17 21:08:16 2003
@@ -164,7 +164,7 @@
*skip = 0;
- while ((k = strstr (k, "%")) != NULL)
+ while ((k = strchr (k, '%')) != NULL)
{
if (k[1] == 'k' || k[1] == 'K' || k[1] == 'h' || k[1] == 't' ||
k[1] == 'z' || k[1] == 'b' || k[1] == 'y' || k[1] == 'a' ) {
On Sat, 17 May 2003 21:16:11 +0200
Sam Ravnborg <[email protected]> wrote:
> Hi Linus, please apply - maintainer cc:ed for info.
>
> Reiserfs emits a warning about strchr being defined but not
> used. I finally tracked down the reason for this.
> gcc - when seeing strstr(x, "%") recognized that the second parameter
> is a char, and therefore uses strchr instead of strstr.
> The workaround to avoid the warning is to replace the call
> to strstr with strchr - which is OK.
>
> This hides the warning, and brings us down to 6 warnings for a
> make defconfig bzImage.
>
> Sam
Good job finding this, several others have looked and never found what
was causing it. Is this gcc behaviour documented anywhere? What other
surprises are there?
On Mon, May 19, 2003 at 12:47:12PM -0700, Stephen Hemminger wrote:
>
> Is this gcc behaviour documented anywhere?
I dropped a mail to gcc-bugs - the reply was:
=======
The kernel is a special case; GCC is entitled to assume the existence of
standard C library functions.
=======
So when messing with standard functions we may expect a few suprises,
which I think is fair enough.
Sam
An unnamed Administration source, Sam Ravnborg, wrote:
% On Mon, May 19, 2003 at 12:47:12PM -0700, Stephen Hemminger wrote:
% >
% > Is this gcc behaviour documented anywhere?
%
% I dropped a mail to gcc-bugs - the reply was:
%
% =======
% The kernel is a special case; GCC is entitled to assume the existence of
% standard C library functions.
% =======
%
% So when messing with standard functions we may expect a few suprises,
% which I think is fair enough.
Hmm. And -nostdlib (or -nodefaultlibs) doesn't catch it?
K
--
According to Kentucky state law, every person must take a bath at least
once a year.