Bug 21072 - base allocator change shared object issues
Summary: base allocator change shared object issues
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: libstdc++ (show other bugs)
Version: 4.0.0
: P2 enhancement
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-17 17:56 UTC by Benjamin Kosnik
Modified: 2006-10-08 01:32 UTC (History)
2 users (show)

See Also:
Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments
bug (513 bytes, application/x-bzip2)
2005-04-17 17:56 UTC, Benjamin Kosnik
Details
revert base allocator change (440 bytes, patch)
2005-04-17 17:57 UTC, Benjamin Kosnik
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Kosnik 2005-04-17 17:56:19 UTC
Issues with switching base allocator in so 6 inside attachment.
Comment 1 Benjamin Kosnik 2005-04-17 17:56:48 UTC
Created attachment 8666 [details]
bug
Comment 2 Benjamin Kosnik 2005-04-17 17:57:56 UTC
Created attachment 8667 [details]
revert base allocator change
Comment 3 Benjamin Kosnik 2005-04-17 17:59:24 UTC
Additional fixes include adding _M_reclaim_block checks. However, this seems to
be patching the symptom, not the disease.
Comment 4 Paolo Carlini 2005-04-17 18:27:11 UTC
Ick! :(

Actually, I clearly remember a message from Mark warning that something could go
wrong when using different allocators in different sources, but then forgot
about the issue when we switched. I really hope that we can work around it, 
somehow...
Comment 5 Michael Matz 2005-11-04 14:45:35 UTC
While 4.0 had this fixed, trunk still uses the 'mt' allocator by default
on linux, and hence is incompatible with 3.4 and 4.0 by default.  Is that
really intended, or shouldn't also trunk default back to the 'new' allocator?
Comment 6 Benjamin Kosnik 2005-11-04 17:41:38 UTC
In general, we make no claims as to ABI compliance wrt development/trunk versions. 

Comment 7 Michael Matz 2005-11-07 19:59:18 UTC
Of course not.  But unaware people trying trunk currently on distros which
provided 3.4 or 4.0 will get non-obvious problems, and I'm not sure if that's
a good idea (ignoring this problem 4.0 and trunk are nearly compatible, and
4.0 compiled programs work with the trunk libstc++, which has the same
SOname like the 4.0 one).  I think the only way to switch to the 'mt'
allocator by default for the future without API issues would be to rename
it to 'new', and not via some configure arguments.

Another reason is that this switching back of the default allocator is
not forgotten when 4.1 branches, which I think is necessary anyway, so that
4.1 libs are compatible with 4.0 programs.
Comment 8 Benjamin Kosnik 2005-11-08 23:12:45 UTC
We'd certainly not forget about this on the branch. 

However, I decided to just go ahead and do this anyway, because it is a change in behavior but mostly because it seems to be confusing people/distros WRT what allocator choices should be standard.

Comment 9 Paolo Carlini 2006-10-08 01:32:42 UTC
No open issues.