Index: libltdl/libltdl/lt__private.h
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/libltdl/lt__private.h,v
retrieving revision 1.5
diff -u -r1.5 lt__private.h
--- libltdl/libltdl/lt__private.h	17 Sep 2005 07:29:03 -0000	1.5
+++ libltdl/libltdl/lt__private.h	23 Sep 2005 11:55:29 -0000
@@ -122,15 +122,15 @@
 /* Extract the diagnostic strings from the error table macro in the same
    order as the enumerated indices in lt_error.h. */
 
-LT_SCOPE const char		*lt__error_strings[];
+#define LT__STRERROR(name)	lt__error_string(LT_CONC(LT_ERROR_,name))
 
-#define LT__STRERROR(name)	lt__error_strings[LT_CONC(LT_ERROR_,name)]
-
-#define LT__GETERROR(lvalue)	      (lvalue) = lt__last_error;
-#define LT__SETERRORSTR(errormsg)     lt__last_error = (errormsg)
+#define LT__GETERROR(lvalue)	      (lvalue) = lt__last_error_string()
+#define LT__SETERRORSTR(errormsg)     lt__set_last_error_string(errormsg)
 #define LT__SETERROR(errorcode)	      LT__SETERRORSTR(LT__STRERROR(errorcode))
 
-LT_SCOPE const char		*lt__last_error;
+LT_SCOPE const char *lt__error_string		(int errorcode);
+LT_SCOPE const char *lt__last_error_string	(void);
+LT_SCOPE const char *lt__set_last_error_string	(const char *errormsg);
 
 LT_END_C_DECLS
 
Index: libltdl/lt_error.c
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/lt_error.c,v
retrieving revision 1.4
diff -u -r1.4 lt_error.c
--- libltdl/lt_error.c	22 Apr 2005 10:10:30 -0000	1.4
+++ libltdl/lt_error.c	23 Sep 2005 11:55:29 -0000
@@ -29,8 +29,8 @@
 #include "lt_error.h"
 #include "lt__private.h"
 
-LT_GLOBAL_DATA const char	*lt__last_error	= 0;
-LT_GLOBAL_DATA const char	*lt__error_strings[] =
+static const char	*lt__last_error	= 0;
+static const char	*lt__error_strings[] =
   {
 #define LT_ERROR(name, diagnostic)	(diagnostic),
     lt_dlerror_table
@@ -86,4 +86,22 @@
     }
 
   return errors;
+}
+
+const char *
+lt__error_string (int errorcode)
+{
+  return lt__error_strings[errorcode];
+}
+
+const char *
+lt__last_error_string (void)
+{
+  return lt__last_error;
+}
+
+const char *
+lt__set_last_error_string (const char *errormsg)
+{
+  return lt__last_error = last_error;
 }
Index: libltdl/m4/ltdl.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/m4/ltdl.m4,v
retrieving revision 1.8
diff -u -r1.8 ltdl.m4
--- libltdl/m4/ltdl.m4	17 Sep 2005 07:29:03 -0000	1.8
+++ libltdl/m4/ltdl.m4	23 Sep 2005 11:55:29 -0000
@@ -5,7 +5,7 @@
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# serial 8 LTDL_INIT
+# serial 9 LTDL_INIT
 
 # LT_WITH_LTDL([DIRECTORY])
 # -------------------------
