[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87fsipdg7b.fsf@mpe.ellerman.id.au>
Date: Mon, 25 Jul 2022 13:27:52 +1000
From: Michael Ellerman <mpe@...erman.id.au>
To: Segher Boessenkool <segher@...nel.crashing.org>,
Michal Suchánek
<msuchanek@...e.de>
Cc: lkp@...el.com, linux-kernel@...r.kernel.org, npiggin@...il.com,
Julia.Lawall@...ia.fr, paulus@...ba.org,
Jason Wang <wangborong@...rlc.com>,
linuxppc-dev@...ts.ozlabs.org, hbathini@...ux.ibm.com,
joel@....id.au
Subject: Re: [PATCH] powerpc: Remove the static variable initialisations to 0
Segher Boessenkool <segher@...nel.crashing.org> 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
Powered by blists - more mailing lists