[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Don't export lt__error_strings (was: Libtool stresstest.at segfault on C
Don't export lt__error_strings (was: Libtool stresstest.at segfault on Cygwin/MinGW)
Fri, 23 Sep 2005 14:02:18 +0200
* Ralf Wildenhues [mailto:address@hidden
> Sent: Thursday, September 22, 2005 16:43
> To: Peter Ekberg
> Cc: address@hidden
> Subject: Re: Libtool stresstest.at segfault on Cygwin/MinGW
> Hi Peter,
> * Peter Ekberg wrote on Thu, Sep 22, 2005 at 04:05:54PM CEST:
> > * Ralf Wildenhues wrote on Monday, September 19, 2005 17:10 CEST:
> > > * Peter Ekberg wrote on Mon, Sep 19, 2005 at 04:17:56PM CEST:
> > *snip*
> > > > The patch makes exporting non-const data work though, which is
> > > > what I need...
> > >
> > > Surely non-constant data are more important. But you do
> realize that
> > > exporting data objects should be avoided if possible? ;-)
> > Are there other platforms with data export difficulties?
> Not that I know of. Don't the w32-related ones give you enough
> headaches already? ;-)
Right :-) But for a change it would be nice if w32 were not the
only oddball system. Just curious.
> Data exports are trickier than one thinks. For example, the
> size of an
> exported array is part of the interface. :-/
> Erm, now that I mention it: if someone would change
> lt__error_strings to
> be used through an accessor function, that would be *great*
> (it was not part of 1.5 interface).
I see that lt__last_error is also exported. Further, I don't
see any record of this being published interfaces, so the
only thing that matters is that the loaders get it right,
So, here's a patch:
* libltdl/libltdl/lt__private.h, libltdl/lt_error.c:
Don't export the lt__last_error and lt__error_strings
* libltdl/libltdl/lt__private.h (LT__STRERROR, LT__GETERROR)
(LT__SETERRORSTR): Adjust to not use the above variables,
instead use the following functions...
* libltdl/lt_error.c: (lt__error_string, lt__last_error_string)
(lt__set_last_error_string): Reimplement the functionallity
in these functions instead.
* libltdl/m4/ltdl.m4: Bump serial number.
The serial number bump in libltdl/m4/ltdl.m4 is just a guess...
- Don't export lt__error_strings (was: Libtool stresstest.at segfault on Cygwin/MinGW),
Peter Ekberg <=