Re: A Bug in gcc or asm/string.h ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 27 Jun 2005 01:05:28 +0200
Andreas Kies <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux