Re: [PATCH] removal of "static foo = 0" from drivers/ide (test11)

Tigran Aivazian
2000-11-21T23:56:18Z

On Wed, 22 Nov 2000, J . A . Magallon wrote:

>
> On Wed, 22 Nov 2000 00:04:53 Tigran Aivazian wrote:
> > On Tue, 21 Nov 2000, J . A . Magallon wrote:
> >
> > Quite the contrary. The patch seems correct and useful to me. What do you
> > think is wrong with it? (Linus accepted megabytes worth of the above in
> > the past...)
> >
>
> Sorry, i should look at the rest of the code. Seeing only that, is seems like
> that variables have to hold an initial value of zero, and the patch relies
> on the ANSI behaviour of the compiler that auto-initializes them to 0.
> I have seen many compilers break ANSI rules in optimized mode. Typical
> runs-fine-in-debug-mode-but-breaks-on-production-release.
> One other point for info would be gcc specs.

In the case of kernel, we have to do many things manually, can't rely on
some compiler (sometimes :). So, the code I pointed you at
arch/i386/kernel/head.S (look for "Clear BSS") is in fact what clears the
BSS; without it you will end up with uninitialized garbage in what you
think "ANSI C compiler arranged" for you.

Regards,
Tigran