1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-30 11:03:19 +03:00

Remove BSD/OS (BSDi) port. There are no known users upgrading to

Postgres 9.2, and perhaps no existing users either.
This commit is contained in:
Bruce Momjian
2012-05-03 10:58:44 -04:00
parent 7490c48f1e
commit ebcaa5fcde
15 changed files with 13 additions and 290 deletions

View File

@ -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

View File

@ -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 */

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -1,3 +0,0 @@
/*
* src/include/port/bsdi.h
*/

View File

@ -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 $@ $<

View File

@ -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;
}

View File

@ -1,3 +0,0 @@
case $host_os in
bsdi2.0 | bsdi2.1 | bsdi3*) CC=gcc2;;
esac

View File

@ -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