This is the mail archive of the cygwin-apps mailing list for the Cygwin project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
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....
Attachment:
br1.diff
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |