This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: weak-attribute over-optimisation with 4.1
- From: Jan Kiszka <jan dot kiszka at web dot de>
- To: Florian Weimer <fw at deneb dot enyo dot de>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Tue, 23 May 2006 11:30:29 +0200
- Subject: Re: weak-attribute over-optimisation with 4.1
- References: <446F567B.6060101@web.de> <8764jz92sf.fsf@mid.deneb.enyo.de>
Florian Weimer wrote:
> * Jan Kiszka:
>
>> So, is this a regression? Does it also happen with vanilla 4.1?
>
> According to the documentation, the weak attribute affects
> declarations, not definitions, and is an instruction to the linker.
> Technically, the GCC 4.1 behavior is correct. I'm not sure if it's
> desirably, though.
Looks at least very surprising for the user - given the fact that only
empty weak functions suffer from this, that this behaviour depends on
optimisation levels, and that it was fine with earlier versions for
quite a while.
For sure, the weak attribute is for the linker. But my feeling is that
the compiler should then give the linker the chance to do its work -
even when the rest of the code gets heavily optimised.
Does anyone know what were the reasons for changing this behaviour?
Jan