diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.shlib | 13 | ||||
-rw-r--r-- | src/backend/port/dynloader/bsdi.c | 96 | ||||
-rw-r--r-- | src/backend/port/dynloader/bsdi.h | 50 | ||||
-rw-r--r-- | src/backend/utils/misc/ps_status.c | 2 | ||||
-rw-r--r-- | src/include/port.h | 2 | ||||
-rw-r--r-- | src/include/port/bsdi.h | 3 | ||||
-rw-r--r-- | src/makefiles/Makefile.bsdi | 25 | ||||
-rw-r--r-- | src/port/fseeko.c | 24 | ||||
-rw-r--r-- | src/template/bsdi | 3 | ||||
-rwxr-xr-x | src/tools/find_typedef | 7 |
10 files changed, 5 insertions, 220 deletions
diff --git a/src/Makefile.shlib b/src/Makefile.shlib index 0304f7a2aa7..294d10f6186 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -157,19 +157,6 @@ ifeq ($(PORTNAME), openbsd) endif endif -ifeq ($(PORTNAME), bsdi) - ifeq ($(DLSUFFIX), .so) - LINK.shared = $(COMPILER) -shared - ifdef soname - LINK.shared += -Wl,-x,-soname,$(soname) - endif - SHLIB_LINK += -lc - endif - ifeq ($(DLSUFFIX), .o) - LINK.shared = shlicc -O $(LDREL) - endif -endif - ifeq ($(PORTNAME), freebsd) ifdef ELF_SYSTEM ifdef SO_MAJOR_VERSION diff --git a/src/backend/port/dynloader/bsdi.c b/src/backend/port/dynloader/bsdi.c deleted file mode 100644 index cdf7444e112..00000000000 --- a/src/backend/port/dynloader/bsdi.c +++ /dev/null @@ -1,96 +0,0 @@ -/*------------------------------------------------------------------------- - * - * dynloader.c - * Dynamic Loader for Postgres for Linux, generated from those for - * Ultrix. - * - * You need to install the dld library on your Linux system! - * - * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * src/backend/port/dynloader/bsdi.c - * - *------------------------------------------------------------------------- - */ -#include "postgres.h" -#ifndef HAVE_DLOPEN - -extern char my_exec_path[]; - -void * -pg_dlopen(char *filename) -{ - static int dl_initialized = 0; - - /* - * initializes the dynamic loader with the executable's pathname. (only - * needs to do this the first time pg_dlopen is called.) - */ - if (!dl_initialized) - { - if (dld_init(dld_find_executable(my_exec_path))) - return NULL; - - /* - * if there are undefined symbols, we want dl to search from the - * following libraries also. - */ - dl_initialized = 1; - } - - /* - * link the file, then check for undefined symbols! - */ - if (dld_link(filename)) - return NULL; - - /* - * If undefined symbols: try to link with the C and math libraries! This - * could be smarter, if the dynamic linker was able to handle shared libs! - */ - if (dld_undefined_sym_count > 0) - { - if (dld_link("/usr/lib/libc.a")) - { - elog(WARNING, "could not link C library"); - return NULL; - } - if (dld_undefined_sym_count > 0) - { - if (dld_link("/usr/lib/libm.a")) - { - elog(WARNING, "could not link math library"); - return NULL; - } - if (dld_undefined_sym_count > 0) - { - int count = dld_undefined_sym_count; - char **list = dld_list_undefined_sym(); - - /* list the undefined symbols, if any */ - do - { - elog(WARNING, "\"%s\" is undefined", *list); - list++; - count--; - } while (count > 0); - - dld_unlink_by_file(filename, 1); - return NULL; - } - } - } - - return (void *) strdup(filename); -} - -char * -pg_dlerror() -{ - return dld_strerror(dld_errno); -} - -#endif /* not HAVE_DLOPEN */ diff --git a/src/backend/port/dynloader/bsdi.h b/src/backend/port/dynloader/bsdi.h deleted file mode 100644 index a4b626bacb0..00000000000 --- a/src/backend/port/dynloader/bsdi.h +++ /dev/null @@ -1,50 +0,0 @@ -/*------------------------------------------------------------------------- - * - * bsdi.h - * Dynamic loader interface for BSD/OS - * - * Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * src/backend/port/dynloader/bsdi.h - * - *------------------------------------------------------------------------- - */ -#ifndef PORT_PROTOS_H -#define PORT_PROTOS_H - -#include "utils/dynamic_loader.h" /* pgrminclude ignore */ - - -#ifdef HAVE_DLOPEN - -#include <dlfcn.h> - -/* - * In some older systems, the RTLD_NOW flag isn't defined and the mode - * argument to dlopen must always be 1. The RTLD_GLOBAL flag is wanted - * if available, but it doesn't exist everywhere. - * If it doesn't exist, set it to 0 so it has no effect. - */ -#ifndef RTLD_NOW -#define RTLD_NOW 1 -#endif -#ifndef RTLD_GLOBAL -#define RTLD_GLOBAL 0 -#endif - -#define pg_dlopen(f) dlopen((f), RTLD_NOW | RTLD_GLOBAL) -#define pg_dlsym dlsym -#define pg_dlclose dlclose -#define pg_dlerror dlerror -#else /* not HAVE_DLOPEN */ - -#define pg_dlsym(handle, funcname) ((PGFunction) dld_get_func((funcname))) -#define pg_dlclose(handle) \ -do { \ - dld_unlink_by_file(handle, 1); \ - free(handle); \ -} while (0) -#endif /* not HAVE_DLOPEN */ - -#endif /* PORT_PROTOS_H */ diff --git a/src/backend/utils/misc/ps_status.c b/src/backend/utils/misc/ps_status.c index f1497c63f42..47c47a4e107 100644 --- a/src/backend/utils/misc/ps_status.c +++ b/src/backend/utils/misc/ps_status.c @@ -64,7 +64,7 @@ bool update_process_title = true; #define PS_USE_PSTAT #elif defined(HAVE_PS_STRINGS) #define PS_USE_PS_STRINGS -#elif (defined(BSD) || defined(__bsdi__) || defined(__hurd__)) && !defined(__darwin__) +#elif (defined(BSD) || defined(__hurd__)) && !defined(__darwin__) #define PS_USE_CHANGE_ARGV #elif defined(__linux__) || defined(_AIX) || defined(__sgi) || (defined(sun) && !defined(BSD)) || defined(ultrix) || defined(__ksr__) || defined(__osf__) || defined(__svr5__) || defined(__darwin__) #define PS_USE_CLOBBER_ARGV diff --git a/src/include/port.h b/src/include/port.h index 37e33c3e2ae..120e402a762 100644 --- a/src/include/port.h +++ b/src/include/port.h @@ -367,7 +367,7 @@ extern char *crypt(const char *key, const char *setting); /* WIN32 handled in port/win32.h */ #ifndef WIN32 #define pgoff_t off_t -#if defined(__bsdi__) || defined(__NetBSD__) +#ifdef __NetBSD__ extern int fseeko(FILE *stream, off_t offset, int whence); extern off_t ftello(FILE *stream); #endif diff --git a/src/include/port/bsdi.h b/src/include/port/bsdi.h deleted file mode 100644 index 13249f545b7..00000000000 --- a/src/include/port/bsdi.h +++ /dev/null @@ -1,3 +0,0 @@ -/* - * src/include/port/bsdi.h - */ diff --git a/src/makefiles/Makefile.bsdi b/src/makefiles/Makefile.bsdi deleted file mode 100644 index e2c9be3dcd0..00000000000 --- a/src/makefiles/Makefile.bsdi +++ /dev/null @@ -1,25 +0,0 @@ -AROPT = cr - -# bsdi 4.0 and later is ELF -DLSUFFIX = .so -ifeq ($(host_os), bsdi2.0) -DLSUFFIX = .o -endif -ifeq ($(host_os), bsdi2.1) -DLSUFFIX = .o -endif -ifeq ($(findstring bsdi3, $(host_os)), bsdi3) -DLSUFFIX = .o -endif - -ifeq ($(DLSUFFIX), .so) -CFLAGS_SL = -fpic -rpath = -Wl,-rpath,'$(rpathdir)' -export_dynamic = -Wl,-export-dynamic -else -CFLAGS_SL = -endif - -# Rule for building a shared library from a single .o file -%.so: %.o - $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@ $< diff --git a/src/port/fseeko.c b/src/port/fseeko.c index c33d94c1096..882b22599aa 100644 --- a/src/port/fseeko.c +++ b/src/port/fseeko.c @@ -17,22 +17,17 @@ * We have to use the native defines here because configure hasn't * completed yet. */ -#if defined(__bsdi__) || defined(__NetBSD__) +#ifdef __NetBSD__ #include "c.h" -#ifdef __bsdi__ -#include <pthread.h> -#endif #include <sys/stat.h> /* - * On BSD/OS and NetBSD, off_t and fpos_t are the same. Standards + * On NetBSD, off_t and fpos_t are the same. Standards * say off_t is an arithmetic type, but not necessarily integral, * while fpos_t might be neither. - * - * This is thread-safe on BSD/OS using flockfile/funlockfile. */ int @@ -44,17 +39,11 @@ fseeko(FILE *stream, off_t offset, int whence) switch (whence) { case SEEK_CUR: -#ifdef __bsdi__ - flockfile(stream); -#endif if (fgetpos(stream, &floc) != 0) goto failure; floc += offset; if (fsetpos(stream, &floc) != 0) goto failure; -#ifdef __bsdi__ - funlockfile(stream); -#endif return 0; break; case SEEK_SET: @@ -63,9 +52,6 @@ fseeko(FILE *stream, off_t offset, int whence) return 0; break; case SEEK_END: -#ifdef __bsdi__ - flockfile(stream); -#endif fflush(stream); /* force writes to fd for stat() */ if (fstat(fileno(stream), &filestat) != 0) goto failure; @@ -73,9 +59,6 @@ fseeko(FILE *stream, off_t offset, int whence) floc += offset; if (fsetpos(stream, &floc) != 0) goto failure; -#ifdef __bsdi__ - funlockfile(stream); -#endif return 0; break; default: @@ -84,9 +67,6 @@ fseeko(FILE *stream, off_t offset, int whence) } failure: -#ifdef __bsdi__ - funlockfile(stream); -#endif return -1; } diff --git a/src/template/bsdi b/src/template/bsdi deleted file mode 100644 index dce8fb404ea..00000000000 --- a/src/template/bsdi +++ /dev/null @@ -1,3 +0,0 @@ -case $host_os in - bsdi2.0 | bsdi2.1 | bsdi3*) CC=gcc2;; -esac diff --git a/src/tools/find_typedef b/src/tools/find_typedef index 8b07de62ef8..3198a453e91 100755 --- a/src/tools/find_typedef +++ b/src/tools/find_typedef @@ -8,7 +8,7 @@ # For this program to work, you must have compiled all binaries with # debugging symbols. # -# This is run on BSD/OS 4.0 or Linux, so you may need to make changes. +# This is run on Linux, so you may need to make changes. # # Ignore the nm errors about a file not being a binary file. # @@ -52,11 +52,6 @@ do # if objdump -W is recognized, only one line of error should appear readelf -w "$DIR"/* | egrep -A3 '\(DW_TAG_typedef\)' | awk ' $1 == "DW_AT_name" {print $NF}' - else # BSD/OS - # BSD/OS reports all typedefs, even those defined in system - # include files but never referenced in the PG code. - objdump --stabs "$DIR"/* | - awk ' $2 == "LSYM" && $7 ~ /:t/ {sub(":.*", "", $7); print $7}' fi done | grep -v ' ' | # some typedefs have spaces, remove them |