PING Jan Nieuwenhuizen re libguile17
Dave Korn
dave.korn@artimi.com
Sat Mar 22 16:52:00 GMT 2008
Jan Nieuwenhuizen wrote on 22 March 2008 13:03:
> Brian Dessent:
>
> > Note that the Cygwin gcc is not using
> --enable-fully-dynamic-string, it
> > is using the patch in PR24196 which is a compromise between the
> > pessimization of assuming fully dynamic strings and the optimization of
> > assuming one global instance of _S_empty_rep_storage.
>
> Hmm, so I should try a forward-patch of that for 4.1? Can someone give
> me some pointers about this?
Well, here is an untested port of it to 4.1 for you to play with. We're
removing the _S_empty_rep optimisation by 1) removing conditionals so it
gets treated the same as all other strings and 2) useing _M_refcopy instead
of _M_refdata so it gets the same reference counting behaviour as other
strings.
> > Also, I'm confused on another issue: if libguile exposes a C++ ABI then
> > mixing 4.1 and 3.4 should be incompatible anyway
>
> AFAIK, 3.4 broke its abi with earlier 3.x exactly because of providing a
> 3.x version that was abi-compatible with the (much stricter and
> sometimes problematic) 4.x series.
In general, you can't even expect compatibility even between X.y and X.z,
although most of those abi breaks are smaller.
> > , regardless of PR24196,
> > by the fact that there are so many g++ changes between those major
> > versions. However looking at the exports of the DLL I see no C++
> > symbols. But if libguile does not expose a C++ ABI then why does the
> > PR24196-patched gcc cause it to work again? Or is it that it uses C++
> > internally and that is where the std::string-across-DLL-boundaries
> > problem occurs?
>
> libguile does not use C++. As far as I understand, it is a problem that
> is introduced while linking the dlls.
Hmm, if it's not that then I don't know what, nor why autogen started
working for me when I recompiled libguile, but the crashes definitely seemed
to unwind through it.
cheers,
DaveK
--
Can't think of a witty .sigline today....
-------------- next part --------------
A non-text attachment was scrubbed...
Name: br1.diff
Type: application/octet-stream
Size: 3178 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20080322/67ab20f2/attachment.obj>
More information about the Cygwin-apps
mailing list