forked from pool/glibc
Andreas Schwab
8d7ff96d83
- nss-database-multiple-dfn.patch: Fix multiple definitions of __nss_*_database (BZ #22918) OBS-URL: https://build.opensuse.org/request/show/583844 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=497
90 lines
3.5 KiB
Diff
90 lines
3.5 KiB
Diff
2018-03-03 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
[BZ #22918]
|
|
* nss/nsswitch.h (DEFINE_DATABASE): Don't define __nss_*_database.
|
|
* nss/nsswitch.c (DEFINE_DATABASE): Define __nss_*_database here.
|
|
* nscd/gai.c (__nss_hosts_database): Readd definition.
|
|
* posix/tst-rfc3484.c (__nss_hosts_database): Likewise.
|
|
* posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise.
|
|
* posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise.
|
|
|
|
Index: glibc-2.27/nscd/gai.c
|
|
===================================================================
|
|
--- glibc-2.27.orig/nscd/gai.c
|
|
+++ glibc-2.27/nscd/gai.c
|
|
@@ -45,3 +45,6 @@
|
|
#ifdef HAVE_LIBIDN
|
|
# include <libidn/idn-stub.c>
|
|
#endif
|
|
+
|
|
+/* Some variables normally defined in libc. */
|
|
+service_user *__nss_hosts_database attribute_hidden;
|
|
Index: glibc-2.27/nss/nsswitch.c
|
|
===================================================================
|
|
--- glibc-2.27.orig/nss/nsswitch.c
|
|
+++ glibc-2.27/nss/nsswitch.c
|
|
@@ -62,7 +62,7 @@ static service_library *nss_new_service
|
|
|
|
/* Declare external database variables. */
|
|
#define DEFINE_DATABASE(name) \
|
|
- extern service_user *__nss_##name##_database attribute_hidden; \
|
|
+ service_user *__nss_##name##_database attribute_hidden; \
|
|
weak_extern (__nss_##name##_database)
|
|
#include "databases.def"
|
|
#undef DEFINE_DATABASE
|
|
Index: glibc-2.27/nss/nsswitch.h
|
|
===================================================================
|
|
--- glibc-2.27.orig/nss/nsswitch.h
|
|
+++ glibc-2.27/nss/nsswitch.h
|
|
@@ -226,10 +226,10 @@ libc_hidden_proto (__nss_hostname_digits
|
|
#define MAX_NR_ADDRS 48
|
|
|
|
/* Prototypes for __nss_*_lookup2 functions. */
|
|
-#define DEFINE_DATABASE(arg) \
|
|
- service_user *__nss_##arg##_database attribute_hidden; \
|
|
- int __nss_##arg##_lookup2 (service_user **, const char *, \
|
|
- const char *, void **); \
|
|
+#define DEFINE_DATABASE(arg) \
|
|
+ extern service_user *__nss_##arg##_database attribute_hidden; \
|
|
+ int __nss_##arg##_lookup2 (service_user **, const char *, \
|
|
+ const char *, void **); \
|
|
libc_hidden_proto (__nss_##arg##_lookup2)
|
|
#include "databases.def"
|
|
#undef DEFINE_DATABASE
|
|
Index: glibc-2.27/posix/tst-rfc3484-2.c
|
|
===================================================================
|
|
--- glibc-2.27.orig/posix/tst-rfc3484-2.c
|
|
+++ glibc-2.27/posix/tst-rfc3484-2.c
|
|
@@ -58,6 +58,7 @@ _res_hconf_init (void)
|
|
#undef USE_NSCD
|
|
#include "../sysdeps/posix/getaddrinfo.c"
|
|
|
|
+service_user *__nss_hosts_database attribute_hidden;
|
|
|
|
/* This is the beginning of the real test code. The above defines
|
|
(among other things) the function rfc3484_sort. */
|
|
Index: glibc-2.27/posix/tst-rfc3484-3.c
|
|
===================================================================
|
|
--- glibc-2.27.orig/posix/tst-rfc3484-3.c
|
|
+++ glibc-2.27/posix/tst-rfc3484-3.c
|
|
@@ -58,6 +58,7 @@ _res_hconf_init (void)
|
|
#undef USE_NSCD
|
|
#include "../sysdeps/posix/getaddrinfo.c"
|
|
|
|
+service_user *__nss_hosts_database attribute_hidden;
|
|
|
|
/* This is the beginning of the real test code. The above defines
|
|
(among other things) the function rfc3484_sort. */
|
|
Index: glibc-2.27/posix/tst-rfc3484.c
|
|
===================================================================
|
|
--- glibc-2.27.orig/posix/tst-rfc3484.c
|
|
+++ glibc-2.27/posix/tst-rfc3484.c
|
|
@@ -58,6 +58,7 @@ _res_hconf_init (void)
|
|
#undef USE_NSCD
|
|
#include "../sysdeps/posix/getaddrinfo.c"
|
|
|
|
+service_user *__nss_hosts_database attribute_hidden;
|
|
|
|
/* This is the beginning of the real test code. The above defines
|
|
(among other things) the function rfc3484_sort. */
|