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:
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
2
src/configure
vendored
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
# if !defined(PPC)
|
||||||
# define NEED_I386_TAS_ASM
|
# define NEED_I386_TAS_ASM
|
||||||
# define HAS_TEST_AND_SET
|
# define HAS_TEST_AND_SET
|
||||||
typedef unsigned char slock_t;
|
typedef unsigned char slock_t;
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(nextstep)
|
#if defined(nextstep)
|
||||||
|
Reference in New Issue
Block a user