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