Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit b68ff3e

Browse files
committed
Remove obsolete netbsd dynloader code
dlopen() has been documented since NetBSD 1.1 (1995).
1 parent 29351a0 commit b68ff3e

File tree

2 files changed

+6
-126
lines changed

2 files changed

+6
-126
lines changed

src/backend/port/dynloader/netbsd.c

+2-101
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,7 @@
11
/*
2-
* Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
3-
* Portions Copyright (c) 1990 The Regents of the University of California.
4-
* All rights reserved.
5-
*
62
* src/backend/port/dynloader/netbsd.c
73
*
8-
* Redistribution and use in source and binary forms, with or without
9-
* modification, are permitted provided that the following conditions
10-
* are met:
11-
* 1. Redistributions of source code must retain the above copyright
12-
* notice, this list of conditions and the following disclaimer.
13-
* 2. Redistributions in binary form must reproduce the above copyright
14-
* notice, this list of conditions and the following disclaimer in the
15-
* documentation and/or other materials provided with the distribution.
16-
* 3. Neither the name of the University nor the names of its contributors
17-
* may be used to endorse or promote products derived from this software
18-
* without specific prior written permission.
4+
* Dummy file used for nothing at this point
195
*
20-
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21-
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23-
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26-
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27-
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28-
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29-
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30-
* SUCH DAMAGE.
6+
* see netbsd.h
317
*/
32-
33-
#if defined(LIBC_SCCS) && !defined(lint)
34-
static char sccsid[] = "@(#)dl.c 5.4 (Berkeley) 2/23/91";
35-
#endif /* LIBC_SCCS and not lint */
36-
37-
#include "postgres.h"
38-
39-
#include <nlist.h>
40-
#include <link.h>
41-
#include <dlfcn.h>
42-
43-
#include "dynloader.h"
44-
45-
static char error_message[BUFSIZ];
46-
47-
char *
48-
BSD44_derived_dlerror(void)
49-
{
50-
static char ret[BUFSIZ];
51-
52-
strcpy(ret, error_message);
53-
error_message[0] = 0;
54-
return (ret[0] == 0) ? NULL : ret;
55-
}
56-
57-
void *
58-
BSD44_derived_dlopen(const char *file, int num)
59-
{
60-
#if !defined(HAVE_DLOPEN)
61-
snprintf(error_message, sizeof(error_message),
62-
"dlopen (%s) not supported", file);
63-
return NULL;
64-
#else
65-
void *vp;
66-
67-
if ((vp = dlopen((char *) file, num)) == NULL)
68-
snprintf(error_message, sizeof(error_message),
69-
"dlopen (%s) failed: %s", file, dlerror());
70-
return vp;
71-
#endif
72-
}
73-
74-
void *
75-
BSD44_derived_dlsym(void *handle, const char *name)
76-
{
77-
#if !defined(HAVE_DLOPEN)
78-
snprintf(error_message, sizeof(error_message),
79-
"dlsym (%s) failed", name);
80-
return NULL;
81-
#else
82-
void *vp;
83-
84-
#ifndef __ELF__
85-
char buf[BUFSIZ];
86-
87-
if (*name != '_')
88-
{
89-
snprintf(buf, sizeof(buf), "_%s", name);
90-
name = buf;
91-
}
92-
#endif /* !__ELF__ */
93-
if ((vp = dlsym(handle, (char *) name)) == NULL)
94-
snprintf(error_message, sizeof(error_message),
95-
"dlsym (%s) failed", name);
96-
return vp;
97-
#endif
98-
}
99-
100-
void
101-
BSD44_derived_dlclose(void *handle)
102-
{
103-
#if defined(HAVE_DLOPEN)
104-
dlclose(handle);
105-
#endif
106-
}

src/backend/port/dynloader/netbsd.h

+4-25
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
* netbsd.h
44
* port-specific prototypes for NetBSD
55
*
6-
*
76
* Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
87
* Portions Copyright (c) 1994, Regents of the University of California
98
*
@@ -14,25 +13,10 @@
1413
#ifndef PORT_PROTOS_H
1514
#define PORT_PROTOS_H
1615

17-
#include <nlist.h>
18-
#include <link.h>
1916
#include <dlfcn.h>
2017

2118
#include "utils/dynamic_loader.h" /* pgrminclude ignore */
2219

23-
/*
24-
* Dynamic Loader on NetBSD 1.0.
25-
*
26-
* this dynamic loader uses the system dynamic loading interface for shared
27-
* libraries (ie. dlopen/dlsym/dlclose). The user must specify a shared
28-
* library as the file to be dynamically loaded.
29-
*
30-
* agc - I know this is all a bit crufty, but it does work, is fairly
31-
* portable, and works (the stipulation that the d.l. function must
32-
* begin with an underscore is fairly tricky, and some versions of
33-
* NetBSD (like 1.0, and 1.0A pre June 1995) have no dlerror.)
34-
*/
35-
3620
/*
3721
* In some older systems, the RTLD_NOW flag isn't defined and the mode
3822
* argument to dlopen must always be 1. The RTLD_GLOBAL flag is wanted
@@ -46,14 +30,9 @@
4630
#define RTLD_GLOBAL 0
4731
#endif
4832

49-
#define pg_dlopen(f) BSD44_derived_dlopen((f), RTLD_NOW | RTLD_GLOBAL)
50-
#define pg_dlsym BSD44_derived_dlsym
51-
#define pg_dlclose BSD44_derived_dlclose
52-
#define pg_dlerror BSD44_derived_dlerror
53-
54-
char *BSD44_derived_dlerror(void);
55-
void *BSD44_derived_dlopen(const char *filename, int num);
56-
void *BSD44_derived_dlsym(void *handle, const char *name);
57-
void BSD44_derived_dlclose(void *handle);
33+
#define pg_dlopen(f) dlopen((f), RTLD_NOW | RTLD_GLOBAL)
34+
#define pg_dlsym dlsym
35+
#define pg_dlclose dlclose
36+
#define pg_dlerror dlerror
5837

5938
#endif /* PORT_PROTOS_H */

0 commit comments

Comments
 (0)