SHA256
3
0
forked from pool/glibc

Accepting request 583844 from home:Andreas_Schwab:Factory

- 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
This commit is contained in:
Andreas Schwab 2018-03-07 11:17:55 +00:00 committed by Git OBS Bridge
parent 2e3e51886a
commit 8d7ff96d83
3 changed files with 98 additions and 0 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Wed Mar 7 09:14:55 UTC 2018 - schwab@suse.de
- nss-database-multiple-dfn.patch: Fix multiple definitions of
__nss_*_database (BZ #22918)
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Feb 22 15:10:32 UTC 2018 - fvogt@suse.com Thu Feb 22 15:10:32 UTC 2018 - fvogt@suse.com

View File

@ -282,6 +282,8 @@ Patch306: glibc-fix-double-loopback.diff
### ###
# PATCH-FIX-UPSTREAM Fix parsing flags in ELF64 files (BZ #22827) # PATCH-FIX-UPSTREAM Fix parsing flags in ELF64 files (BZ #22827)
Patch1000: riscv-readelflib.patch Patch1000: riscv-readelflib.patch
# PATCH-FIX-UPSTREAM Fix multiple definitions of __nss_*_database (BZ #22918)
Patch1001: nss-database-multiple-dfn.patch
### ###
# Patches awaiting upstream approval # Patches awaiting upstream approval
@ -492,6 +494,7 @@ mv crypt_blowfish-%crypt_bf_version/*.[chS] crypt/
%patch306 -p1 %patch306 -p1
%patch1000 -p1 %patch1000 -p1
%patch1001 -p1
%patch2000 -p1 %patch2000 -p1
%patch2004 -p1 %patch2004 -p1

View File

@ -0,0 +1,89 @@
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. */