Re: [PATCH] powerpc: Remove the static variable initialisations to 0

From: Michael Ellerman
Date: Sun Jul 24 2022 - 23:28:27 EST


Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx> writes:
> On Sat, Jul 23, 2022 at 03:34:05PM +0200, Michal Suchánek wrote:
>> Hello,
>>
>> On Sat, Jul 23, 2022 at 05:24:36PM +0800, Jason Wang wrote:
>> > Initialise global and static variable to 0 is always unnecessary.
>> > Remove the unnecessary initialisations.
>>
>> Isn't this change also unnecessary?
>>
>> Initializing to 0 does not affect correctness, or even any kind of
>> semantics in any way.
>
> It did make a difference when the kernel was still compiled with
> -fcommon (which used to be the GCC default on most configurations, it is
> traditional on Unix). No explicit initialiser puts an object in .bss if
> you use -fcommon. This matters a bit for data layout.

The kernel has built with -fno-common since ~2002.

I think the belief is that an explicit initialiser of 0 forces the
variable into .data, but AFAICS that is not true with any compiler we
support.

cheers