1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-09 22:41:56 +03:00

Various changes to improve/support Mklinux

Submitted by: Tatsuo Ishii
This commit is contained in:
Marc G. Fournier
1997-02-06 08:40:16 +00:00
parent 9b9141245c
commit 2c9dbc57e5
5 changed files with 29 additions and 8 deletions

View File

@ -10,12 +10,14 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/port/linux/Attic/dynloader.c,v 1.1.1.1 1996/07/09 06:21:44 scrappy Exp $ * $Header: /cvsroot/pgsql/src/backend/port/linux/Attic/dynloader.c,v 1.2 1997/02/06 08:39:40 scrappy Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
#include <stdio.h> #include <stdio.h>
#ifdef HAVE_DLD_H
#include <dld.h> #include <dld.h>
#endif
#include "postgres.h" #include "postgres.h"
#include "port-protos.h" #include "port-protos.h"
#include "utils/elog.h" #include "utils/elog.h"
@ -26,6 +28,10 @@ extern char pg_pathname[];
void * void *
pg_dlopen(char *filename) pg_dlopen(char *filename)
{ {
#ifndef HAVE_DLD_H
elog(WARN, "dynamic load not supported");
return(NULL);
#else
static int dl_initialized= 0; static int dl_initialized= 0;
/* /*
@ -84,10 +90,15 @@ pg_dlopen(char *filename)
} }
return (void *) strdup(filename); return (void *) strdup(filename);
#endif
} }
char * char *
pg_dlerror() pg_dlerror()
{ {
#ifndef HAVE_DLD_H
return("dynaloader unspported");
#else
return dld_strerror(dld_errno); return dld_strerror(dld_errno);
#endif
} }

View File

@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: port-protos.h,v 1.1.1.1 1996/07/09 06:21:44 scrappy Exp $ * $Id: port-protos.h,v 1.2 1997/02/06 08:39:53 scrappy Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -22,8 +22,13 @@
/* dynloader.c */ /* dynloader.c */
#ifndef LINUX_ELF #ifndef LINUX_ELF
# ifndef HAVE_DLD_H
#define pg_dlsym(handle, funcname) (NULL)
# define pg_dlclose(handle) ({})
# else
#define pg_dlsym(handle, funcname) ((func_ptr) dld_get_func((funcname))) #define pg_dlsym(handle, funcname) ((func_ptr) dld_get_func((funcname)))
#define pg_dlclose(handle) ({ dld_unlink_by_file(handle, 1); free(handle); }) # define pg_dlclose(handle) ({ dld_unlink_by_file(handle, 1); free(handle); })
# endif
#else #else
/* #define pg_dlopen(f) dlopen(f, 1) */ /* #define pg_dlopen(f) dlopen(f, 1) */
#define pg_dlopen(f) dlopen(f, 2) #define pg_dlopen(f) dlopen(f, 2)

2
src/configure vendored
View File

@ -2255,7 +2255,7 @@ else
fi fi
done done
for ac_hdr in readline.h history.h for ac_hdr in readline.h history.h dld.h
do do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6

View File

@ -120,7 +120,7 @@ dnl Checks for header files.
AC_HEADER_STDC AC_HEADER_STDC
AC_HEADER_SYS_WAIT AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(limits.h unistd.h termios.h values.h sys/select.h) AC_CHECK_HEADERS(limits.h unistd.h termios.h values.h sys/select.h)
AC_CHECK_HEADERS(readline.h history.h) AC_CHECK_HEADERS(readline.h history.h dld.h)
dnl Checks for typedefs, structures, and compiler characteristics. dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST AC_C_CONST

View File

@ -32,6 +32,9 @@
/* Set to 1 if you have <history.h> */ /* Set to 1 if you have <history.h> */
#undef HAVE_HISTORY #undef HAVE_HISTORY
/* Set to 1 if you have <dld.h> */
#undef HAVE_DLD_H
/* Set to 1 if you have isinf() */ /* Set to 1 if you have isinf() */
#undef HAVE_ISINF #undef HAVE_ISINF
@ -162,9 +165,11 @@
*/ */
# define JMP_BUF # define JMP_BUF
# define USE_POSIX_TIME # define USE_POSIX_TIME
# define NEED_I386_TAS_ASM # if !defined(PPC)
# define HAS_TEST_AND_SET # define NEED_I386_TAS_ASM
typedef unsigned char slock_t; # define HAS_TEST_AND_SET
typedef unsigned char slock_t;
# endif
#endif #endif
#if defined(nextstep) #if defined(nextstep)