diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 092c2058041a8b63be559623daecdff5d1317419..ecb767c01c6249800a8d1b851c36b34aec1c6d9d 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,7 @@
+2003-12-18  Michael Koch  <konqueror@gmx.de>
+
+	* libltdl/ltdl.c: Define __private_extern__ if needed.
+
 2003-12-18  Michael Koch  <konqueror@gmx.de>
 
 	* libltdl/.cvsignore: Ignore autom4te.cache
diff --git a/libjava/libltdl/ltdl.c b/libjava/libltdl/ltdl.c
index 98f3277557ad9c8c2825f71b5484a050ece9c857..f691c8a439cb065b3b2dbe2a9e534d1719b4edee 100644
--- a/libjava/libltdl/ltdl.c
+++ b/libjava/libltdl/ltdl.c
@@ -1584,7 +1584,13 @@ static struct lt_user_dlloader sys_dld = {
 
 
 #if HAVE_MACH_O_DYLD_H
-# include <mach-o/dyld.h>
+# ifndef __private_extern__
+# define __private_extern__ extern
+#  include <mach-o/dyld.h>
+# undef __private_extern__
+# else
+#  include <mach-o/dyld.h>
+# endif
 #endif
 #include <mach-o/getsect.h>