Hi! * Ralf Wildenhues [mailto:[EMAIL PROTECTED] > Sent: Thursday, September 22, 2005 16:43 > To: Peter Ekberg > Cc: [email protected] > 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,
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
variables.
* 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...
Cheers,
Peter
head-do-not-export-lt__error_strings.patch
Description: head-do-not-export-lt__error_strings.patch
