Message ID | 20231002130150.1497733-16-arjun@redhat.com |
---|---|
State | New |
Headers | show |
Series | Consolidate NSS functionality into nss subdir | expand |
On 02/10/23 09:55, Arjun Shankar wrote: > getaddrinfo is an entry point for nss functionality. This commit moves > it from 'sysdeps/posix' to 'nss', gets rid of the stub in 'posix', and > moves all associated tests as well. LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > --- > nss/Makefile | 19 ++++++++++++-- > nss/Versions | 1 + > {sysdeps/posix => nss}/getaddrinfo.c | 0 > {posix => nss}/tst-getaddrinfo.c | 0 > {posix => nss}/tst-getaddrinfo2.c | 0 > {posix => nss}/tst-getaddrinfo3.c | 0 > {posix => nss}/tst-getaddrinfo4.c | 0 > {posix => nss}/tst-getaddrinfo5.c | 0 > {posix => nss}/tst-rfc3484-2.c | 2 +- > {posix => nss}/tst-rfc3484-3.c | 2 +- > {posix => nss}/tst-rfc3484.c | 2 +- > posix/Makefile | 10 -------- > posix/Versions | 2 +- > posix/getaddrinfo.c | 38 ---------------------------- > 14 files changed, 22 insertions(+), 54 deletions(-) > rename {sysdeps/posix => nss}/getaddrinfo.c (100%) > rename {posix => nss}/tst-getaddrinfo.c (100%) > rename {posix => nss}/tst-getaddrinfo2.c (100%) > rename {posix => nss}/tst-getaddrinfo3.c (100%) > rename {posix => nss}/tst-getaddrinfo4.c (100%) > rename {posix => nss}/tst-getaddrinfo5.c (100%) > rename {posix => nss}/tst-rfc3484-2.c (99%) > rename {posix => nss}/tst-rfc3484-3.c (98%) > rename {posix => nss}/tst-rfc3484.c (98%) > delete mode 100644 posix/getaddrinfo.c > > diff --git a/nss/Makefile b/nss/Makefile > index e88754bf51..da5bd207aa 100644 > --- a/nss/Makefile > +++ b/nss/Makefile > @@ -127,6 +127,7 @@ endif > > # hosts routines: > routines += \ > + getaddrinfo \ > gethstbyad \ > gethstbyad_r \ > gethstbynm \ > @@ -138,6 +139,7 @@ routines += \ > # routines > > ifeq ($(have-thread-library),yes) > +CFLAGS-getaddrinfo.c += -fexceptions > CFLAGS-gethstbyad.c += -fexceptions > CFLAGS-gethstbyad_r.c += -fexceptions > CFLAGS-gethstbynm.c += -fexceptions > @@ -300,7 +302,13 @@ others-extras = $(makedb-modules) > extra-objs += $(makedb-modules:=.o) > > tests-static = tst-field > -tests-internal = tst-field > + > +tests-internal := \ > + tst-field \ > + tst-rfc3484 \ > + tst-rfc3484-2 \ > + tst-rfc3484-3 \ > + # tests-internal > > tests := \ > bug17079 \ > @@ -309,6 +317,9 @@ tests := \ > test-rpcent \ > testgrp \ > tst-fgetsgent_r \ > + tst-getaddrinfo \ > + tst-getaddrinfo2 \ > + tst-getaddrinfo3 \ > tst-gethnm \ > tst-getpw \ > tst-gshadow \ > @@ -327,7 +338,11 @@ tests := \ > tst-shadow \ > # tests > > -xtests = bug-erange > +xtests := \ > + bug-erange \ > + tst-getaddrinfo4 \ > + tst-getaddrinfo5 \ > + # xtests > > tests-container := \ > tst-initgroups1 \ > diff --git a/nss/Versions b/nss/Versions > index d8c4e373c9..158a9175a4 100644 > --- a/nss/Versions > +++ b/nss/Versions > @@ -19,6 +19,7 @@ libc { > fgetspent; fgetspent_r; > > # g* > + getaddrinfo; > getaliasbyname; getaliasbyname_r; getaliasent; getaliasent_r; > getgrent; getgrent_r; getgrgid; getgrgid_r; getgrnam; getgrnam_r; > getgroups; > diff --git a/sysdeps/posix/getaddrinfo.c b/nss/getaddrinfo.c > similarity index 100% > rename from sysdeps/posix/getaddrinfo.c > rename to nss/getaddrinfo.c > diff --git a/posix/tst-getaddrinfo.c b/nss/tst-getaddrinfo.c > similarity index 100% > rename from posix/tst-getaddrinfo.c > rename to nss/tst-getaddrinfo.c > diff --git a/posix/tst-getaddrinfo2.c b/nss/tst-getaddrinfo2.c > similarity index 100% > rename from posix/tst-getaddrinfo2.c > rename to nss/tst-getaddrinfo2.c > diff --git a/posix/tst-getaddrinfo3.c b/nss/tst-getaddrinfo3.c > similarity index 100% > rename from posix/tst-getaddrinfo3.c > rename to nss/tst-getaddrinfo3.c > diff --git a/posix/tst-getaddrinfo4.c b/nss/tst-getaddrinfo4.c > similarity index 100% > rename from posix/tst-getaddrinfo4.c > rename to nss/tst-getaddrinfo4.c > diff --git a/posix/tst-getaddrinfo5.c b/nss/tst-getaddrinfo5.c > similarity index 100% > rename from posix/tst-getaddrinfo5.c > rename to nss/tst-getaddrinfo5.c > diff --git a/posix/tst-rfc3484-2.c b/nss/tst-rfc3484-2.c > similarity index 99% > rename from posix/tst-rfc3484-2.c > rename to nss/tst-rfc3484-2.c > index ce8ccd5f38..a5f8f82c04 100644 > --- a/posix/tst-rfc3484-2.c > +++ b/nss/tst-rfc3484-2.c > @@ -57,7 +57,7 @@ _res_hconf_init (void) > } > > #undef USE_NSCD > -#include "../sysdeps/posix/getaddrinfo.c" > +#include "getaddrinfo.c" > > nss_action_list __nss_hosts_database attribute_hidden; > > diff --git a/posix/tst-rfc3484-3.c b/nss/tst-rfc3484-3.c > similarity index 98% > rename from posix/tst-rfc3484-3.c > rename to nss/tst-rfc3484-3.c > index ecb163963f..edf0b7db2e 100644 > --- a/posix/tst-rfc3484-3.c > +++ b/nss/tst-rfc3484-3.c > @@ -57,7 +57,7 @@ _res_hconf_init (void) > } > > #undef USE_NSCD > -#include "../sysdeps/posix/getaddrinfo.c" > +#include "getaddrinfo.c" > > nss_action_list __nss_hosts_database attribute_hidden; > > diff --git a/posix/tst-rfc3484.c b/nss/tst-rfc3484.c > similarity index 98% > rename from posix/tst-rfc3484.c > rename to nss/tst-rfc3484.c > index 3b2052eb54..5b4a0c5b82 100644 > --- a/posix/tst-rfc3484.c > +++ b/nss/tst-rfc3484.c > @@ -57,7 +57,7 @@ _res_hconf_init (void) > } > > #undef USE_NSCD > -#include "../sysdeps/posix/getaddrinfo.c" > +#include "getaddrinfo.c" > > nss_action_list __nss_hosts_database attribute_hidden; > > diff --git a/posix/Makefile b/posix/Makefile > index be7d319394..3ab124d040 100644 > --- a/posix/Makefile > +++ b/posix/Makefile > @@ -88,7 +88,6 @@ routines := \ > fpathconf \ > gai_strerror \ > get_child_max \ > - getaddrinfo \ > getegid \ > geteuid \ > getgid \ > @@ -287,9 +286,6 @@ tests := \ > tst-fnmatch7 \ > tst-fork \ > tst-gai_strerror \ > - tst-getaddrinfo \ > - tst-getaddrinfo2 \ > - tst-getaddrinfo3 \ > tst-getopt_long1 \ > tst-glob-tilde \ > tst-glob_symlinks \ > @@ -351,9 +347,6 @@ tests-internal := \ > bug-regex5 \ > bug-regex20 \ > bug-regex33 \ > - tst-rfc3484 \ > - tst-rfc3484-2 \ > - tst-rfc3484-3 \ > # tests-internal > > tests-container := \ > @@ -368,8 +361,6 @@ tests-time64 := \ > # tests-time64 > > xtests := \ > - tst-getaddrinfo4 \ > - tst-getaddrinfo5 \ > tst-sched_rr_get_interval \ > # xtests > > @@ -556,7 +547,6 @@ $(objpfx)config-name.h: $(..)scripts/config-uname.sh $(common-objpfx)config.make > '$(config-machine)-$(config-vendor)' > $@.new > mv -f $@.new $@ > > -CFLAGS-getaddrinfo.c += -fexceptions > CFLAGS-pause.c += -fexceptions -fasynchronous-unwind-tables > CFLAGS-pread.c += -fexceptions -fasynchronous-unwind-tables > CFLAGS-pread64.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes) > diff --git a/posix/Versions b/posix/Versions > index 2eedbc3e79..b24c7c87ff 100644 > --- a/posix/Versions > +++ b/posix/Versions > @@ -34,7 +34,7 @@ libc { > fnmatch; fork; fpathconf; freeaddrinfo; > > # g* > - getaddrinfo; getdtablesize; getegid; geteuid; getgid; getopt; getopt_long; > + getdtablesize; getegid; geteuid; getgid; getopt; getopt_long; > getopt_long_only; getpgid; getpgrp; getpid; getppid; getsid; getuid; glob; > glob_pattern_p; globfree; group_member; > > diff --git a/posix/getaddrinfo.c b/posix/getaddrinfo.c > deleted file mode 100644 > index 0e36a4564c..0000000000 > --- a/posix/getaddrinfo.c > +++ /dev/null > @@ -1,38 +0,0 @@ > -/* Stub version of getaddrinfo function. > - Copyright (C) 1996-2023 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public > - License as published by the Free Software Foundation; either > - version 2.1 of the License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; if not, see > - <https://www.gnu.org/licenses/>. */ > - > -#include <errno.h> > -#include <netdb.h> > - > -int > -getaddrinfo (const char *name, const char *service, const struct addrinfo *req, > - struct addrinfo **pai) > -{ > - __set_errno (ENOSYS); > - return EAI_SYSTEM; > -} > -stub_warning (getaddrinfo) > -libc_hidden_def (getaddrinfo) > - > -void > -freeaddrinfo (struct addrinfo *ai) > -{ > - /* Nothing. */ > -} > -stub_warning (freeaddrinfo) > -libc_hidden_def (freeaddrinfo)
This has broken the testsuite build for i686-gnu. /scratch/jmyers/glibc-bot/install/compilers/i686-gnu/lib/gcc/i686-glibc-gnu/12.3.1/../../../../i686-glibc-gnu/bin/ld: /scratch/jmyers/glibc-bot/build/glibcs/i686-gnu/glibc/nss/tst-rfc3484.o: undefined reference to symbol '__gsync_wait' /scratch/jmyers/glibc-bot/install/compilers/i686-gnu/lib/gcc/i686-glibc-gnu/12.3.1/../../../../i686-glibc-gnu/bin/ld: /scratch/jmyers/glibc-bot/build/glibcs/i686-gnu/glibc/mach/libmachuser.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[3]: *** [../Rules:235: /scratch/jmyers/glibc-bot/build/glibcs/i686-gnu/glibc/nss/tst-rfc3484] Error 1 https://sourceware.org/pipermail/libc-testresults/2023q4/012009.html https://sourceware.org/pipermail/libc-testresults/2023q4/012010.html
> This has broken the testsuite build for i686-gnu. > > /scratch/jmyers/glibc-bot/install/compilers/i686-gnu/lib/gcc/i686-glibc-gnu/12.3.1/../../../../i686-glibc-gnu/bin/ld: > /scratch/jmyers/glibc-bot/build/glibcs/i686-gnu/glibc/nss/tst-rfc3484.o: undefined reference to symbol '__gsync_wait' > /scratch/jmyers/glibc-bot/install/compilers/i686-gnu/lib/gcc/i686-glibc-gnu/12.3.1/../../../../i686-glibc-gnu/bin/ld: > /scratch/jmyers/glibc-bot/build/glibcs/i686-gnu/glibc/mach/libmachuser.so.1: error adding symbols: DSO missing from command line > collect2: error: ld returned 1 exit status > make[3]: *** [../Rules:235: /scratch/jmyers/glibc-bot/build/glibcs/i686-gnu/glibc/nss/tst-rfc3484] Error 1 Thanks Joseph. I expect to post a fix for this soon. -- Arjun Shankar he/him/his
diff --git a/nss/Makefile b/nss/Makefile index e88754bf51..da5bd207aa 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -127,6 +127,7 @@ endif # hosts routines: routines += \ + getaddrinfo \ gethstbyad \ gethstbyad_r \ gethstbynm \ @@ -138,6 +139,7 @@ routines += \ # routines ifeq ($(have-thread-library),yes) +CFLAGS-getaddrinfo.c += -fexceptions CFLAGS-gethstbyad.c += -fexceptions CFLAGS-gethstbyad_r.c += -fexceptions CFLAGS-gethstbynm.c += -fexceptions @@ -300,7 +302,13 @@ others-extras = $(makedb-modules) extra-objs += $(makedb-modules:=.o) tests-static = tst-field -tests-internal = tst-field + +tests-internal := \ + tst-field \ + tst-rfc3484 \ + tst-rfc3484-2 \ + tst-rfc3484-3 \ + # tests-internal tests := \ bug17079 \ @@ -309,6 +317,9 @@ tests := \ test-rpcent \ testgrp \ tst-fgetsgent_r \ + tst-getaddrinfo \ + tst-getaddrinfo2 \ + tst-getaddrinfo3 \ tst-gethnm \ tst-getpw \ tst-gshadow \ @@ -327,7 +338,11 @@ tests := \ tst-shadow \ # tests -xtests = bug-erange +xtests := \ + bug-erange \ + tst-getaddrinfo4 \ + tst-getaddrinfo5 \ + # xtests tests-container := \ tst-initgroups1 \ diff --git a/nss/Versions b/nss/Versions index d8c4e373c9..158a9175a4 100644 --- a/nss/Versions +++ b/nss/Versions @@ -19,6 +19,7 @@ libc { fgetspent; fgetspent_r; # g* + getaddrinfo; getaliasbyname; getaliasbyname_r; getaliasent; getaliasent_r; getgrent; getgrent_r; getgrgid; getgrgid_r; getgrnam; getgrnam_r; getgroups; diff --git a/sysdeps/posix/getaddrinfo.c b/nss/getaddrinfo.c similarity index 100% rename from sysdeps/posix/getaddrinfo.c rename to nss/getaddrinfo.c diff --git a/posix/tst-getaddrinfo.c b/nss/tst-getaddrinfo.c similarity index 100% rename from posix/tst-getaddrinfo.c rename to nss/tst-getaddrinfo.c diff --git a/posix/tst-getaddrinfo2.c b/nss/tst-getaddrinfo2.c similarity index 100% rename from posix/tst-getaddrinfo2.c rename to nss/tst-getaddrinfo2.c diff --git a/posix/tst-getaddrinfo3.c b/nss/tst-getaddrinfo3.c similarity index 100% rename from posix/tst-getaddrinfo3.c rename to nss/tst-getaddrinfo3.c diff --git a/posix/tst-getaddrinfo4.c b/nss/tst-getaddrinfo4.c similarity index 100% rename from posix/tst-getaddrinfo4.c rename to nss/tst-getaddrinfo4.c diff --git a/posix/tst-getaddrinfo5.c b/nss/tst-getaddrinfo5.c similarity index 100% rename from posix/tst-getaddrinfo5.c rename to nss/tst-getaddrinfo5.c diff --git a/posix/tst-rfc3484-2.c b/nss/tst-rfc3484-2.c similarity index 99% rename from posix/tst-rfc3484-2.c rename to nss/tst-rfc3484-2.c index ce8ccd5f38..a5f8f82c04 100644 --- a/posix/tst-rfc3484-2.c +++ b/nss/tst-rfc3484-2.c @@ -57,7 +57,7 @@ _res_hconf_init (void) } #undef USE_NSCD -#include "../sysdeps/posix/getaddrinfo.c" +#include "getaddrinfo.c" nss_action_list __nss_hosts_database attribute_hidden; diff --git a/posix/tst-rfc3484-3.c b/nss/tst-rfc3484-3.c similarity index 98% rename from posix/tst-rfc3484-3.c rename to nss/tst-rfc3484-3.c index ecb163963f..edf0b7db2e 100644 --- a/posix/tst-rfc3484-3.c +++ b/nss/tst-rfc3484-3.c @@ -57,7 +57,7 @@ _res_hconf_init (void) } #undef USE_NSCD -#include "../sysdeps/posix/getaddrinfo.c" +#include "getaddrinfo.c" nss_action_list __nss_hosts_database attribute_hidden; diff --git a/posix/tst-rfc3484.c b/nss/tst-rfc3484.c similarity index 98% rename from posix/tst-rfc3484.c rename to nss/tst-rfc3484.c index 3b2052eb54..5b4a0c5b82 100644 --- a/posix/tst-rfc3484.c +++ b/nss/tst-rfc3484.c @@ -57,7 +57,7 @@ _res_hconf_init (void) } #undef USE_NSCD -#include "../sysdeps/posix/getaddrinfo.c" +#include "getaddrinfo.c" nss_action_list __nss_hosts_database attribute_hidden; diff --git a/posix/Makefile b/posix/Makefile index be7d319394..3ab124d040 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -88,7 +88,6 @@ routines := \ fpathconf \ gai_strerror \ get_child_max \ - getaddrinfo \ getegid \ geteuid \ getgid \ @@ -287,9 +286,6 @@ tests := \ tst-fnmatch7 \ tst-fork \ tst-gai_strerror \ - tst-getaddrinfo \ - tst-getaddrinfo2 \ - tst-getaddrinfo3 \ tst-getopt_long1 \ tst-glob-tilde \ tst-glob_symlinks \ @@ -351,9 +347,6 @@ tests-internal := \ bug-regex5 \ bug-regex20 \ bug-regex33 \ - tst-rfc3484 \ - tst-rfc3484-2 \ - tst-rfc3484-3 \ # tests-internal tests-container := \ @@ -368,8 +361,6 @@ tests-time64 := \ # tests-time64 xtests := \ - tst-getaddrinfo4 \ - tst-getaddrinfo5 \ tst-sched_rr_get_interval \ # xtests @@ -556,7 +547,6 @@ $(objpfx)config-name.h: $(..)scripts/config-uname.sh $(common-objpfx)config.make '$(config-machine)-$(config-vendor)' > $@.new mv -f $@.new $@ -CFLAGS-getaddrinfo.c += -fexceptions CFLAGS-pause.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-pread.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-pread64.c += -fexceptions -fasynchronous-unwind-tables $(config-cflags-wno-ignored-attributes) diff --git a/posix/Versions b/posix/Versions index 2eedbc3e79..b24c7c87ff 100644 --- a/posix/Versions +++ b/posix/Versions @@ -34,7 +34,7 @@ libc { fnmatch; fork; fpathconf; freeaddrinfo; # g* - getaddrinfo; getdtablesize; getegid; geteuid; getgid; getopt; getopt_long; + getdtablesize; getegid; geteuid; getgid; getopt; getopt_long; getopt_long_only; getpgid; getpgrp; getpid; getppid; getsid; getuid; glob; glob_pattern_p; globfree; group_member; diff --git a/posix/getaddrinfo.c b/posix/getaddrinfo.c deleted file mode 100644 index 0e36a4564c..0000000000 --- a/posix/getaddrinfo.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Stub version of getaddrinfo function. - Copyright (C) 1996-2023 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <https://www.gnu.org/licenses/>. */ - -#include <errno.h> -#include <netdb.h> - -int -getaddrinfo (const char *name, const char *service, const struct addrinfo *req, - struct addrinfo **pai) -{ - __set_errno (ENOSYS); - return EAI_SYSTEM; -} -stub_warning (getaddrinfo) -libc_hidden_def (getaddrinfo) - -void -freeaddrinfo (struct addrinfo *ai) -{ - /* Nothing. */ -} -stub_warning (freeaddrinfo) -libc_hidden_def (freeaddrinfo)