[Bug c++/55137] [4.8 Regression] Unexpected static structure initialization

sebastian.huber@embedded-brains.de gcc-bugzilla@gcc.gnu.org
Tue Nov 6 15:51:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55137

--- Comment #7 from Sebastian Huber <sebastian.huber@embedded-brains.de> 2012-11-06 15:50:38 UTC ---
(In reply to comment #6)
> What I mean that for your testcase while you have s: .zero 8
> instead of s: .long 4, 16399, there is also dynamic initialization:
>         movl    $4, s(%rip)
>         movl    $16399, s+4(%rip)
> (at -O2, at -O0 worse).

Ok, I should have looked at the assembler output.

I hit this problem on the RTEMS operating system.  It uses a supposed to be
statically initialized configuration structure for system initialization.  The
global constructors run in the initialization task (which would dynamically
initialize the configuration structure now).  To be able to start the
initialization task, we need the configuration.

>From my point of view this dynamic initialization is pretty bad here.



More information about the Gcc-bugs mailing list