diff --git a/src/backend/port/dynloader/aix.h b/src/backend/port/dynloader/aix.h index f34d07b06531a031f7a3e2fc8d18accce93e6d17..a0320727f3f2c99f14339fbe27be041dcc3bcf57 100644 --- a/src/backend/port/dynloader/aix.h +++ b/src/backend/port/dynloader/aix.h @@ -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 diff --git a/src/backend/port/dynloader/bsdi.c b/src/backend/port/dynloader/bsdi.c index bbedee3d0c4aee856c583d3abe3f3ff5df97d214..e974330e580ac70653bfbf1b448ccf86318ede65 100644 --- a/src/backend/port/dynloader/bsdi.c +++ b/src/backend/port/dynloader/bsdi.c @@ -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 */ diff --git a/src/backend/port/dynloader/bsdi.h b/src/backend/port/dynloader/bsdi.h index 56f3443665193a7f8d1b988808f2168e6ae3a5ff..834dff0d70554081f831188a1fe592deadd78d78 100644 --- a/src/backend/port/dynloader/bsdi.h +++ b/src/backend/port/dynloader/bsdi.h @@ -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 @@ -16,19 +15,20 @@ #include "utils/dynamic_loader.h" -/* dynloader.c */ -#ifndef PRE_BSDI_2_1 +#ifdef HAVE_DLOPEN + #include -#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 */ diff --git a/src/backend/port/dynloader/dgux.h b/src/backend/port/dynloader/dgux.h index 7eb676687d027044d1e49ca92b66e5bd55f30484..15fb78a90b3b36ec0027201178cbdd0db87b24eb 100644 --- a/src/backend/port/dynloader/dgux.h +++ b/src/backend/port/dynloader/dgux.h @@ -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 diff --git a/src/backend/port/dynloader/freebsd.h b/src/backend/port/dynloader/freebsd.h index 4b6658583476c9490554c0c69652466b75e0e6fc..fe75a47f0c273126492b8ae876aefe322c15521c 100644 --- a/src/backend/port/dynloader/freebsd.h +++ b/src/backend/port/dynloader/freebsd.h @@ -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 diff --git a/src/backend/port/dynloader/irix5.h b/src/backend/port/dynloader/irix5.h index 355ce1b87d8b3fb0bf6e399654e3be426f72b117..a4a5d134b6c00935d30df35c67fce8f8f3f6d745 100644 --- a/src/backend/port/dynloader/irix5.h +++ b/src/backend/port/dynloader/irix5.h @@ -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 diff --git a/src/backend/port/dynloader/linux.h b/src/backend/port/dynloader/linux.h index 64807b036fb0e26a7a54bf2778a410111960595f..d6873763b4b42941c5bdfd12a1c87786267dfa16 100644 --- a/src/backend/port/dynloader/linux.h +++ b/src/backend/port/dynloader/linux.h @@ -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 $ * *------------------------------------------------------------------------- */ @@ -15,13 +14,13 @@ #define PORT_PROTOS_H #include "utils/dynamic_loader.h" -#ifdef __ELF__ +#ifdef HAVE_DLOPEN #include #endif -/* dynloader.c */ -#ifndef __ELF__ +#ifndef HAVE_DLOPEN + #ifndef HAVE_DLD_H #define pg_dlsym(handle, funcname) (NULL) #define pg_dlclose(handle) ({}) @@ -29,14 +28,14 @@ #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 */ diff --git a/src/backend/port/dynloader/netbsd.h b/src/backend/port/dynloader/netbsd.h index a4c13b322cfc66ecc9a4b141bb6978723bae086b..21b434e872319c545e805a59c4c520d0e1b72f38 100644 --- a/src/backend/port/dynloader/netbsd.h +++ b/src/backend/port/dynloader/netbsd.h @@ -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 diff --git a/src/backend/port/dynloader/openbsd.h b/src/backend/port/dynloader/openbsd.h index 307edf97cc81b85acf1ca705f4881b1f491a2870..155600e69743624a2ce080850a63095f7414fd27 100644 --- a/src/backend/port/dynloader/openbsd.h +++ b/src/backend/port/dynloader/openbsd.h @@ -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 diff --git a/src/backend/port/dynloader/osf.h b/src/backend/port/dynloader/osf.h index 9f5cdd5c588d455d31a590193020b0968ae5f561..61961b02d6df789e3e2535603bea33d5e2176e9b 100644 --- a/src/backend/port/dynloader/osf.h +++ b/src/backend/port/dynloader/osf.h @@ -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() diff --git a/src/backend/port/dynloader/sco.h b/src/backend/port/dynloader/sco.h index 584799f52b9cf0c12d9a0ac6be4d6c32f29326d7..70ead4fa8d68b400a17a3b1b9de49bda8f47a0c7 100644 --- a/src/backend/port/dynloader/sco.h +++ b/src/backend/port/dynloader/sco.h @@ -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 diff --git a/src/backend/port/dynloader/solaris.h b/src/backend/port/dynloader/solaris.h index c5f6ec187412b8a1fdc66393684f130143565d0c..e4b81f435f46586fc4e59dc079c6fc4e45a22912 100644 --- a/src/backend/port/dynloader/solaris.h +++ b/src/backend/port/dynloader/solaris.h @@ -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 #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 diff --git a/src/backend/port/dynloader/sunos4.h b/src/backend/port/dynloader/sunos4.h index e915a85086e739341fcbcf16a8de4bc02364284b..49040c1dea598b3d32e0ee3616a569e7c9b33738 100644 --- a/src/backend/port/dynloader/sunos4.h +++ b/src/backend/port/dynloader/sunos4.h @@ -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 diff --git a/src/backend/port/dynloader/svr4.h b/src/backend/port/dynloader/svr4.h index 6e151d2e497ca6b2d31a46c654b3a580944595f7..96c39ea2ec6f944e2a14ef4e4c913a2d7bfda7d9 100644 --- a/src/backend/port/dynloader/svr4.h +++ b/src/backend/port/dynloader/svr4.h @@ -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 diff --git a/src/backend/port/dynloader/univel.h b/src/backend/port/dynloader/univel.h index d490e25e6b97bd3a74841a406882690307bf02eb..83f0e2c82a5abe35361535d013d3456f40d4eabb 100644 --- a/src/backend/port/dynloader/univel.h +++ b/src/backend/port/dynloader/univel.h @@ -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 diff --git a/src/backend/port/dynloader/unixware.h b/src/backend/port/dynloader/unixware.h index d52842cede0dcbe3f1b6276aa6a9b57e47572ec2..5c1b04cc69441cda71644061aa2867d8fab06798 100644 --- a/src/backend/port/dynloader/unixware.h +++ b/src/backend/port/dynloader/unixware.h @@ -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 diff --git a/src/backend/port/dynloader/win.h b/src/backend/port/dynloader/win.h index 5cabfab3fa7ea7978ca1d85c4d5b21da106cedb5..d0d33189b799b2acb5e8af5e5aaf1e22b2cffecb 100644 --- a/src/backend/port/dynloader/win.h +++ b/src/backend/port/dynloader/win.h @@ -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 diff --git a/src/template/bsdi b/src/template/bsdi index d6698e77726dd36d5b721b1e871902e5bd01f35a..967d055a54f9c9968ec1d45c0aa9defe2f8b22ee 100644 --- a/src/template/bsdi +++ b/src/template/bsdi @@ -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