Postgres 9.2, and perhaps no existing users either.
case $host_os in
aix*) template=aix ;;
- bsdi*) template=bsdi ;;
cygwin*) template=cygwin ;;
darwin*) template=darwin ;;
dragonfly*) template=netbsd ;;
case $host_os in
- # BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
+ # NetBSD uses a custom fseeko/ftello built on fsetpos/fgetpos
# Mingw uses macros to access Win32 API calls
- bsdi*|netbsd*|mingw*)
+ netbsd*|mingw*)
cat >>confdefs.h <<\_ACEOF
#define HAVE_FSEEKO 1
case $host_os in
aix*) template=aix ;;
- bsdi*) template=bsdi ;;
cygwin*) template=cygwin ;;
darwin*) template=darwin ;;
dragonfly*) template=netbsd ;;
AC_REPLACE_FUNCS(fseeko)
case $host_os in
- # BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
+ # NetBSD uses a custom fseeko/ftello built on fsetpos/fgetpos
# Mingw uses macros to access Win32 API calls
- bsdi*|netbsd*|mingw*)
+ netbsd*|mingw*)
AC_DEFINE(HAVE_FSEEKO, 1, [Define to 1 because replacement version used.])
ac_cv_func_fseeko=yes;;
*)
-->
<variablelist>
- <varlistentry>
- <term><systemitem class="osname">BSD/OS</></term>
- <indexterm><primary>BSD/OS</><secondary>shared library</></>
- <listitem>
- <para>
- The compiler flag to create <acronym>PIC</acronym> is
- <option>-fpic</option>. The linker flag to create shared
- libraries is <option>-shared</option>.
-<programlisting>
-gcc -fpic -c foo.c
-ld -shared -o foo.so foo.o
-</programlisting>
- This is applicable as of version 4.0 of
- <systemitem class="osname">BSD/OS</>.
- </para>
- </listitem>
- </varlistentry>
-
<varlistentry>
<term><systemitem class="osname">FreeBSD</></term>
<indexterm><primary>FreeBSD</><secondary>shared library</></>
On some systems with shared libraries
you need to tell the system how to find the newly installed
shared libraries. The systems on which this is
- <emphasis>not</emphasis> necessary include <systemitem
- class="osname">BSD/OS</>, <systemitem class="osname">FreeBSD</>,
+ <emphasis>not</emphasis> necessary include
+ <systemitem class="osname">FreeBSD</>,
<systemitem class="osname">HP-UX</>, <systemitem
class="osname">IRIX</>, <systemitem class="osname">Linux</>,
<systemitem class="osname">NetBSD</>, <systemitem
<indexterm>
<primary>ldconfig</primary>
</indexterm>
- If you are on <systemitem class="osname">BSD/OS</>
- or <systemitem class="osname">Linux</>, and you have root access you can
- run:
+ If you are on <systemitem class="osname">Linux</> and you have root
+ access, you can run:
<programlisting>
/sbin/ldconfig /usr/local/pgsql/lib
</programlisting>
</listitem>
</varlistentry>
- <varlistentry>
- <term><systemitem class="osname">BSD/OS</></term>
- <indexterm><primary>BSD/OS</><secondary>IPC configuration</></>
- <listitem>
- <formalpara>
- <title>Shared Memory</title>
- <para>
- By default, only 4 MB of shared memory is supported. Keep in
- mind that shared memory is not pageable; it is locked in RAM.
- To increase the amount of shared memory supported by your
- system, add something like the following to your kernel configuration
- file:
-<programlisting>
-options "SHMALL=8192"
-options "SHMMAX=\(SHMALL*PAGE_SIZE\)"
-</programlisting>
- <varname>SHMALL</> is measured in 4 kB pages, so a value of
- 1024 represents 4 MB of shared memory. Therefore the above increases
- the maximum shared memory area to 32 MB.
- For those running 4.3 or later, you will probably also need to increase
- <varname>KERNEL_VIRTUAL_MB</> above the default <literal>248</>.
- Once all changes have been made, recompile the kernel, and reboot.
- </para>
- </formalpara>
-
- <formalpara>
- <title>Semaphores</title>
- <para>
- You will probably want to increase the number of semaphores
- as well; the default system total of 60 will only allow about
- 50 <productname>PostgreSQL</productname> connections. Set the
- values you want in your kernel configuration file, e.g.:
-<programlisting>
-options "SEMMNI=40"
-options "SEMMNS=240"
-</programlisting>
- </para>
- </formalpara>
- </listitem>
- </varlistentry>
-
<varlistentry>
<term><systemitem class="osname">FreeBSD</></term>
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
+++ /dev/null
-/*-------------------------------------------------------------------------
- *
- * 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 */
+++ /dev/null
-/*-------------------------------------------------------------------------
- *
- * 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 */
#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
/* 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
+++ /dev/null
-/*
- * src/include/port/bsdi.h
- */
+++ /dev/null
-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 $@ $<
* 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
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:
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;
floc += offset;
if (fsetpos(stream, &floc) != 0)
goto failure;
-#ifdef __bsdi__
- funlockfile(stream);
-#endif
return 0;
break;
default:
}
failure:
-#ifdef __bsdi__
- funlockfile(stream);
-#endif
return -1;
}
+++ /dev/null
-case $host_os in
- bsdi2.0 | bsdi2.1 | bsdi3*) CC=gcc2;;
-esac
# 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.
#
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