aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2018-07-10 15:48:24 +0200
committerPeter Eisentraut <peter_e@gmx.net>2018-08-13 23:21:01 +0200
commitb5d29299ccad9b2385236f2b82a0c4e1365b9add (patch)
tree46599492f5bf464f2cc782715afebd4275cf222a /src
parent3ebdd21b794b49fde2010ff3d39071e02d27b404 (diff)
downloadpostgresql-b5d29299ccad9b2385236f2b82a0c4e1365b9add.tar.gz
postgresql-b5d29299ccad9b2385236f2b82a0c4e1365b9add.zip
Remove obsolete darwin dynloader code
not needed since macOS 10.3 (2003)
Diffstat (limited to 'src')
-rw-r--r--src/backend/port/dynloader/darwin.c103
1 files changed, 0 insertions, 103 deletions
diff --git a/src/backend/port/dynloader/darwin.c b/src/backend/port/dynloader/darwin.c
index 93f19878f56..65fa0e39f21 100644
--- a/src/backend/port/dynloader/darwin.c
+++ b/src/backend/port/dynloader/darwin.c
@@ -1,24 +1,15 @@
/*
* Dynamic loading support for macOS (Darwin)
*
- * If dlopen() is available (Darwin 10.3 and later), we just use it.
- * Otherwise we emulate it with the older, now deprecated, NSLinkModule API.
- *
* src/backend/port/dynloader/darwin.c
*/
#include "postgres.h"
-#ifdef HAVE_DLOPEN
#include <dlfcn.h>
-#else
-#include <mach-o/dyld.h>
-#endif
#include "dynloader.h"
-#ifdef HAVE_DLOPEN
-
void *
pg_dlopen(const char *filename)
{
@@ -34,7 +25,6 @@ pg_dlclose(void *handle)
PGFunction
pg_dlsym(void *handle, const char *funcname)
{
- /* Do not prepend an underscore: see dlopen(3) */
return dlsym(handle, funcname);
}
@@ -43,96 +33,3 @@ pg_dlerror(void)
{
return dlerror();
}
-#else /* !HAVE_DLOPEN */
-
-/*
- * These routines were taken from the Apache source, but were made
- * available with a PostgreSQL-compatible license. Kudos Wilfredo
- * Sánchez <wsanchez@apple.com>.
- */
-
-static NSObjectFileImageReturnCode cofiff_result = NSObjectFileImageFailure;
-
-void *
-pg_dlopen(const char *filename)
-{
- NSObjectFileImage image;
-
- cofiff_result = NSCreateObjectFileImageFromFile(filename, &image);
- if (cofiff_result != NSObjectFileImageSuccess)
- return NULL;
- return NSLinkModule(image, filename,
- NSLINKMODULE_OPTION_BINDNOW |
- NSLINKMODULE_OPTION_RETURN_ON_ERROR);
-}
-
-void
-pg_dlclose(void *handle)
-{
- NSUnLinkModule(handle, NSUNLINKMODULE_OPTION_NONE);
-}
-
-PGFunction
-pg_dlsym(void *handle, const char *funcname)
-{
- NSSymbol symbol;
- char *symname = (char *) malloc(strlen(funcname) + 2);
-
- if (!symname)
- return NULL;
-
- sprintf(symname, "_%s", funcname);
- if (NSIsSymbolNameDefined(symname))
- {
- symbol = NSLookupAndBindSymbol(symname);
-
- free(symname);
- return (PGFunction) NSAddressOfSymbol(symbol);
- }
- else
- {
- free(symname);
- return NULL;
- }
-}
-
-char *
-pg_dlerror(void)
-{
- NSLinkEditErrors c;
- int errorNumber;
- const char *fileName;
- const char *errorString = NULL;
-
- switch (cofiff_result)
- {
- case NSObjectFileImageSuccess:
- /* must have failed in NSLinkModule */
- NSLinkEditError(&c, &errorNumber, &fileName, &errorString);
- if (errorString == NULL || *errorString == '\0')
- errorString = "unknown link-edit failure";
- break;
- case NSObjectFileImageFailure:
- errorString = "failed to open object file";
- break;
- case NSObjectFileImageInappropriateFile:
- errorString = "inappropriate object file";
- break;
- case NSObjectFileImageArch:
- errorString = "object file is for wrong architecture";
- break;
- case NSObjectFileImageFormat:
- errorString = "object file has wrong format";
- break;
- case NSObjectFileImageAccess:
- errorString = "insufficient permissions for object file";
- break;
- default:
- errorString = "unknown failure to open object file";
- break;
- }
-
- return (char *) errorString;
-}
-
-#endif /* HAVE_DLOPEN */