class obj { private: int value; private: obj() { } obj(int v) : value(v) { } public: int getValue() const { return value; } const static obj seven; }; const obj obj::seven = obj(7); int getSeven() { return obj::seven.getValue(); } gcc (3.3.6,4.1.0) places this immutable const static object in .bss section and calls constructor(int) in .ctors section. why it isn't placed in .rodata ?
-- Summary: immutable object placed in .bss section. Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pld-linux GCC host triplet: i686-pld-linux GCC target triplet: i686-pld-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22575