]> granicus.if.org Git - postgresql/commitdiff
Use RTLD_GLOBAL flag for dlopen-style dynamic loaders.
authorPeter Eisentraut <peter_e@gmx.net>
Mon, 14 May 2001 21:45:53 +0000 (21:45 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Mon, 14 May 2001 21:45:53 +0000 (21:45 +0000)
18 files changed:
src/backend/port/dynloader/aix.h
src/backend/port/dynloader/bsdi.c
src/backend/port/dynloader/bsdi.h
src/backend/port/dynloader/dgux.h
src/backend/port/dynloader/freebsd.h
src/backend/port/dynloader/irix5.h
src/backend/port/dynloader/linux.h
src/backend/port/dynloader/netbsd.h
src/backend/port/dynloader/openbsd.h
src/backend/port/dynloader/osf.h
src/backend/port/dynloader/sco.h
src/backend/port/dynloader/solaris.h
src/backend/port/dynloader/sunos4.h
src/backend/port/dynloader/svr4.h
src/backend/port/dynloader/univel.h
src/backend/port/dynloader/unixware.h
src/backend/port/dynloader/win.h
src/template/bsdi

index f34d07b06531a031f7a3e2fc8d18accce93e6d17..a0320727f3f2c99f14339fbe27be041dcc3bcf57 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: aix.h,v 1.5 2001/03/22 03:59:42 momjian Exp $
+ * $Id: aix.h,v 1.6 2001/05/14 21:45:53 petere Exp $
  *
  * @(#)dlfcn.h 1.4 revision of 95/04/25  09:36:52
  * This is an unpublished work copyright (c) 1992 HELIOS Software GmbH
@@ -58,7 +58,7 @@ extern                "C"
 
 #include "utils/dynamic_loader.h"
 
-#define  pg_dlopen(f)  dlopen(f, RTLD_LAZY)
+#define  pg_dlopen(f)  dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define  pg_dlsym      dlsym
 #define  pg_dlclose dlclose
 #define  pg_dlerror dlerror
index bbedee3d0c4aee856c583d3abe3f3ff5df97d214..e974330e580ac70653bfbf1b448ccf86318ede65 100644 (file)
@@ -15,7 +15,7 @@
  *
  *-------------------------------------------------------------------------
  */
-#ifdef PRE_BSDI_2_1
+#ifndef HAVE_DLOPEN
 #include "postgres.h"
 
 extern char pg_pathname[];
@@ -95,4 +95,4 @@ pg_dlerror()
        return dld_strerror(dld_errno);
 }
 
-#endif
+#endif /* not HAVE_DLOPEN */
index 56f3443665193a7f8d1b988808f2168e6ae3a5ff..834dff0d70554081f831188a1fe592deadd78d78 100644 (file)
@@ -1,7 +1,6 @@
 /*-------------------------------------------------------------------------
  *
- * port_protos.h
- *       port-specific prototypes for SunOS 4
+ * Dynamic loader interface for BSD/OS
  *
  *
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
 
 #include "utils/dynamic_loader.h"
 
-/* dynloader.c */
 
-#ifndef  PRE_BSDI_2_1
+#ifdef HAVE_DLOPEN
+
 #include <dlfcn.h>
-#define                  pg_dlopen(f)    dlopen(f, RTLD_LAZY)
+#define                  pg_dlopen(f)    dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define                  pg_dlsym                dlsym
 #define                  pg_dlclose      dlclose
 #define                  pg_dlerror      dlerror
-#else
+
+#else /* not HAVE_DLOPEN */
+
 #define pg_dlsym(handle, funcname)       ((PGFunction) dld_get_func((funcname)))
 #define pg_dlclose(handle)                       ({ dld_unlink_by_file(handle, 1); free(handle); })
-#endif
 
-/* port.c */
+#endif /* not HAVE_DLOPEN */
 
 #endif  /* PORT_PROTOS_H */
index 7eb676687d027044d1e49ca92b66e5bd55f30484..15fb78a90b3b36ec0027201178cbdd0db87b24eb 100644 (file)
@@ -5,7 +5,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: dgux.h,v 1.9 2001/02/10 02:31:26 tgl Exp $
+ * $Id: dgux.h,v 1.10 2001/05/14 21:45:53 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -23,7 +23,7 @@
  * library as the file to be dynamically loaded.
  *
  */
-#define pg_dlopen(f)  dlopen(f,1)
+#define pg_dlopen(f)  dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define pg_dlsym               dlsym
 #define pg_dlclose             dlclose
 #define pg_dlerror             dlerror
index 4b6658583476c9490554c0c69652466b75e0e6fc..fe75a47f0c273126492b8ae876aefe322c15521c 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: freebsd.h,v 1.8 2001/02/10 02:31:26 tgl Exp $
+ * $Id: freebsd.h,v 1.9 2001/05/14 21:45:53 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -33,7 +33,7 @@
  * begin with an underscore is fairly tricky, and some versions of
  * NetBSD (like 1.0, and 1.0A pre June 1995) have no dlerror.)
  */
-#define                   pg_dlopen(f)    BSD44_derived_dlopen(f, 1)
+#define                   pg_dlopen(f)    BSD44_derived_dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define                   pg_dlsym                BSD44_derived_dlsym
 #define                   pg_dlclose      BSD44_derived_dlclose
 #define                   pg_dlerror      BSD44_derived_dlerror
index 355ce1b87d8b3fb0bf6e399654e3be426f72b117..a4a5d134b6c00935d30df35c67fce8f8f3f6d745 100644 (file)
@@ -26,7 +26,7 @@
  * library as the file to be dynamically loaded.
  *
  */
-#define pg_dlopen(f)   dlopen(f,1)
+#define pg_dlopen(f)   dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define pg_dlsym               dlsym
 #define pg_dlclose             dlclose
 #define pg_dlerror             dlerror
index 64807b036fb0e26a7a54bf2778a410111960595f..d6873763b4b42941c5bdfd12a1c87786267dfa16 100644 (file)
@@ -1,13 +1,12 @@
 /*-------------------------------------------------------------------------
  *
- * port_protos.h
- *       port-specific prototypes for Linux
+ * Dynamic loader interface for Linux
  *
  *
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: linux.h,v 1.11 2001/02/10 02:31:26 tgl Exp $
+ * $Id: linux.h,v 1.12 2001/05/14 21:45:53 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
 #define PORT_PROTOS_H
 
 #include "utils/dynamic_loader.h"
-#ifdef __ELF__
+#ifdef HAVE_DLOPEN
 #include <dlfcn.h>
 #endif
 
-/* dynloader.c */
 
-#ifndef __ELF__
+#ifndef HAVE_DLOPEN
+
 #ifndef HAVE_DLD_H
 #define pg_dlsym(handle, funcname)             (NULL)
 #define pg_dlclose(handle)                        ({})
 #define pg_dlsym(handle, funcname)             ((PGFunction) dld_get_func((funcname)))
 #define pg_dlclose(handle)                        ({ dld_unlink_by_file(handle, 1); free(handle); })
 #endif
-#else
-/* #define             pg_dlopen(f)    dlopen(f, 1) */
-#define pg_dlopen(f)   dlopen(f, 2)
+
+#else /* HAVE_DLOPEN */
+
+#define pg_dlopen(f)   dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define pg_dlsym               dlsym
 #define pg_dlclose             dlclose
 #define pg_dlerror             dlerror
-#endif
 
-/* port.c */
+#endif /* HAVE_DLOPEN */
 
 #endif  /* PORT_PROTOS_H */
index a4c13b322cfc66ecc9a4b141bb6978723bae086b..21b434e872319c545e805a59c4c520d0e1b72f38 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: netbsd.h,v 1.3 2001/02/10 02:31:26 tgl Exp $
+ * $Id: netbsd.h,v 1.4 2001/05/14 21:45:53 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -33,7 +33,7 @@
  * begin with an underscore is fairly tricky, and some versions of
  * NetBSD (like 1.0, and 1.0A pre June 1995) have no dlerror.)
  */
-#define                   pg_dlopen(f)    BSD44_derived_dlopen(f, 1)
+#define                   pg_dlopen(f)    BSD44_derived_dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define                   pg_dlsym                BSD44_derived_dlsym
 #define                   pg_dlclose      BSD44_derived_dlclose
 #define                   pg_dlerror      BSD44_derived_dlerror
index 307edf97cc81b85acf1ca705f4881b1f491a2870..155600e69743624a2ce080850a63095f7414fd27 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: openbsd.h,v 1.3 2001/02/10 02:31:26 tgl Exp $
+ * $Id: openbsd.h,v 1.4 2001/05/14 21:45:53 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -33,7 +33,7 @@
  * begin with an underscore is fairly tricky, and some versions of
  * NetBSD (like 1.0, and 1.0A pre June 1995) have no dlerror.)
  */
-#define                   pg_dlopen(f)    BSD44_derived_dlopen(f, 1)
+#define                   pg_dlopen(f)    BSD44_derived_dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define                   pg_dlsym                BSD44_derived_dlsym
 #define                   pg_dlclose      BSD44_derived_dlclose
 #define                   pg_dlerror      BSD44_derived_dlerror
index 9f5cdd5c588d455d31a590193020b0968ae5f561..61961b02d6df789e3e2535603bea33d5e2176e9b 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: osf.h,v 1.2 2001/01/24 19:43:04 momjian Exp $
+ * $Id: osf.h,v 1.3 2001/05/14 21:45:53 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -28,7 +28,7 @@
  * library as the file to be dynamically loaded.
  *
  */
-#define  pg_dlopen(f)  dlopen(f, RTLD_LAZY)
+#define  pg_dlopen(f)  dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define  pg_dlsym(h, f) ((PGFunction) dlsym(h, f))
 #define  pg_dlclose(h) dlclose(h)
 #define  pg_dlerror()  dlerror()
index 584799f52b9cf0c12d9a0ac6be4d6c32f29326d7..70ead4fa8d68b400a17a3b1b9de49bda8f47a0c7 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: sco.h,v 1.7 2001/02/10 02:31:26 tgl Exp $
+ * $Id: sco.h,v 1.8 2001/05/14 21:45:53 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -26,7 +26,7 @@
  * library as the file to be dynamically loaded.
  *
  */
-#define pg_dlopen(f)   dlopen(f,1)
+#define pg_dlopen(f)   dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define pg_dlsym               dlsym
 #define pg_dlclose             dlclose
 #define pg_dlerror             dlerror
index c5f6ec187412b8a1fdc66393684f130143565d0c..e4b81f435f46586fc4e59dc079c6fc4e45a22912 100644 (file)
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/pgsql/src/backend/port/dynloader/solaris.h,v 1.3 2001/03/22 03:59:43 momjian Exp $ */
+/* $Header: /cvsroot/pgsql/src/backend/port/dynloader/solaris.h,v 1.4 2001/05/14 21:45:53 petere Exp $ */
 
 #ifndef DYNLOADER_SOLARIS_H
 #define DYNLOADER_SOLARIS_H
@@ -6,7 +6,7 @@
 #include <dlfcn.h>
 #include "utils/dynamic_loader.h"
 
-#define pg_dlopen(f)   dlopen(f,1)
+#define pg_dlopen(f)   dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define pg_dlsym               dlsym
 #define pg_dlclose             dlclose
 #define pg_dlerror             dlerror
index e915a85086e739341fcbcf16a8de4bc02364284b..49040c1dea598b3d32e0ee3616a569e7c9b33738 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: sunos4.h,v 1.7 2001/02/10 02:31:26 tgl Exp $
+ * $Id: sunos4.h,v 1.8 2001/05/14 21:45:53 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -26,7 +26,7 @@
  * library as the file to be dynamically loaded.
  *
  */
-#define pg_dlopen(f)   dlopen(f, 1)
+#define pg_dlopen(f)   dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define pg_dlsym               dlsym
 #define pg_dlclose             dlclose
 #define pg_dlerror             dlerror
index 6e151d2e497ca6b2d31a46c654b3a580944595f7..96c39ea2ec6f944e2a14ef4e4c913a2d7bfda7d9 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: svr4.h,v 1.7 2001/02/10 02:31:26 tgl Exp $
+ * $Id: svr4.h,v 1.8 2001/05/14 21:45:53 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -26,7 +26,7 @@
  * library as the file to be dynamically loaded.
  *
  */
-#define pg_dlopen(f)   dlopen(f,RTLD_LAZY)
+#define pg_dlopen(f)   dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define pg_dlsym               dlsym
 #define pg_dlclose             dlclose
 #define pg_dlerror             dlerror
index d490e25e6b97bd3a74841a406882690307bf02eb..83f0e2c82a5abe35361535d013d3456f40d4eabb 100644 (file)
@@ -26,7 +26,7 @@
  * library as the file to be dynamically loaded.
  *
   */
-#define pg_dlopen(f)   dlopen(f,RTLD_LAZY)
+#define pg_dlopen(f)   dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define pg_dlsym               dlsym
 #define pg_dlclose             dlclose
 #define pg_dlerror             dlerror
index d52842cede0dcbe3f1b6276aa6a9b57e47572ec2..5c1b04cc69441cda71644061aa2867d8fab06798 100644 (file)
@@ -26,7 +26,7 @@
  * library as the file to be dynamically loaded.
  *
   */
-#define pg_dlopen(f)   dlopen(f,RTLD_LAZY)
+#define pg_dlopen(f)   dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define pg_dlsym               dlsym
 #define pg_dlclose             dlclose
 #define pg_dlerror             dlerror
index 5cabfab3fa7ea7978ca1d85c4d5b21da106cedb5..d0d33189b799b2acb5e8af5e5aaf1e22b2cffecb 100644 (file)
@@ -26,7 +26,7 @@
  * library as the file to be dynamically loaded.
  *
   */
-#define pg_dlopen(f)           dlopen(f,1)
+#define pg_dlopen(f)           dlopen((f), RTLD_LAZY | RTLD_GLOBAL)
 #define pg_dlsym               dlsym
 #define pg_dlclose             dlclose
 #define pg_dlerror             dlerror
index d6698e77726dd36d5b721b1e871902e5bd01f35a..967d055a54f9c9968ec1d45c0aa9defe2f8b22ee 100644 (file)
@@ -4,10 +4,6 @@ case $host_cpu in
   i?86)  CFLAGS="$CFLAGS -m486";;
 esac
 
-case $host_os in
-  bsdi2.0) CFLAGS="$CFLAGS -DPRE_BSDI_2_1";;
-esac
-
 case $host_os in
   bsdi2.0 | bsdi2.1 | bsdi3*)
     CC=gcc2