This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: gcc-3.4.0: mt_allocator crashes due to alignment problems onSPARC targets when sizeof(type) <= 2
- From: "B. Kosnik" <bkoz at nabi dot net>
- To: Brad Spencer <spencer at infointeractive dot com>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Tue, 4 May 2004 17:37:58 -0500
- Subject: Re: gcc-3.4.0: mt_allocator crashes due to alignment problems onSPARC targets when sizeof(type) <= 2
- References: <20040504221210.GC21258@eng.infointeractive.com>
Brad, before you get too deep into your current woes, you may want to
try using the mainline mt_allocator.h file. I think the 3.4.0 branch
file is missing the alignment patches that Paolo put into mainline.
Whoops.
We should sync these files between mainline and the branch.
>Also, I wasn't aware that the default allocator had become "new", at
>least for Solaris targets. Was this intentional?
This was the only allocator that was in working order, and giving good
test results for all performance tests, on all platforms at the time of
the release.
I would still like to change the defaults for linux, at least for
LSB-compliant systems by specifying a --enable-libstdcxx-allocator flag,
and perhaps solaris too if it was known to work. I think time is rapidly
forcing some kind of decision, however.
>One more detail: Is it intentional that _S_init is never set to true
>when _S_options._M_force_new is true? It's not causing problems, but
>it does mean _S_initialize() is called (and then immediately
>short-circuited) on every allocation, which confused me while
>debugging.
Seems less than optimal, so no, it's probably not intentional. Some of
this was changed around when I did the changes for the tune nested
class: it should probably be fixed up.
-benjamin