|
1 | 1 | /*
|
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 |
| - * |
6 | 2 | * src/backend/port/dynloader/netbsd.c
|
7 | 3 | *
|
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 |
19 | 5 | *
|
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 |
31 | 7 | */
|
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 |
| -} |
0 commit comments