In 2.4 init/main.c we have...
* Versions of gcc older than that listed below may actually compile
* and link okay, but the end product can have subtle run time bugs.
* To avoid associated bogus bug reports, we flatly refuse to compile
* with a gcc that is known to be too old from the very beginning.
#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 1)
#error Sorry, your GCC is too old. It builds incorrect kernels.
Note that I've elided the 9 from the minor version number. I also tweaked
the #define asmlinkage in whereveritis.h to look a bit more like 2.2, got
rid of the arch=bla switch to gcc, and built the kernel I'm using at the
moment with gcc 220.127.116.11. I'm looking for "subtle run time bugs". OK, I'm
desparate for entertainment. That's a given. Where should I look?
Everything I'm cognizant of so far is real pretty. I WANT BUGS! WHERE ARE
This is not a bogus bug report. This is a repeatable bug request.
:; cLIeNUX0 /dev/tty12 12:43:36 /
Linux version 2.4.0-test10 (@cLIeNUX) (gcc version 18.104.22.168) #10 Thu Nov 9
:; cLIeNUX0 /dev/tty12 13:03:02 /
On Thu, 9 Nov 100 12:15:19 -0500 (EST),
Rick Hohensee <[email protected]> wrote:
>built the [2.4] kernel I'm using at the
>moment with gcc 22.214.171.124. I'm looking for "subtle run time bugs". OK, I'm
>desparate for entertainment. That's a given. Where should I look?
static struct module kernel_module =
size_of_struct: sizeof(struct module),
gcc 126.96.36.199 miscompiles structures that have internal labeled structure
initializers. uc gets misaligned, ex_table_start is then misaligned
and the exception table handling fails.