lkml.org 
[lkml]   [2005]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: A Bug in gcc or asm/string.h ?
On Mon, 27 Jun 2005 01:05:28 +0200
Andreas Kies <andikies@t-online.de> wrote:

> Hello,
>
> When running a kernel module compiled with gcc 3.3.5, I think I've found a
> bug in either the compiler or the kernel definition of strcmp in
> asm-i386/string.h . The exact compiler version is :
>
> Reading specs from /usr/lib/gcc-lib/i586-suse-linux/3.3.5/specs
> Configured with: ../configure --enable-threads=posix --prefix=/usr
> --with-local-prefix=/usr/local --infodir=/usr/share/info
> --mandir=/usr/share/man --enable-languages=c,c++,f77,objc,java,ada
> --disable-checking --libdir=/usr/lib --enable-libgcj --with-slibdir=/lib
> --with-system-zlib --enable-shared --enable-__cxa_atexit i586-suse-linux
> Thread model: posix
> gcc version 3.3.5 20050117 (prerelease) (SUSE Linux)
>
> I was able to construct a small pure usermode program.
> If you compile the included test program with optimization level 1 or less
> it works, if compiled with level 2 it fails. Failing means the strcmp
> result is != 0 because char ptr has valid contents at the time strcmp is
> expanded. Other platforms besides i386 might be affected, too.
> In the case of a failure you get "Unrecognized" as output on stdout.
>
> So, here are my questions :
> - Is this a bug in the compiler ?
> In Documentation/Changes version 2.95.x is still recommended, I guess this
> is outdated.
> - Is it a bug in the definition of strcmp ? Maybe an addition volatile is
> missing.
>
> Thanks for reading.
>
...
>
> int oem;
>
> int main(void)
> {
> char ptr[2];

what happens if you change "char ptr[2]" to "volatile char ptr[2]" ?

--
Paolo Ornati
Linux 2.6.12.1 on x86_64
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-06-27 18:54    [W:0.042 / U:1.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site