Message ID | 20220211234239.1251406-1-shorne@gmail.com |
---|---|
State | New |
Headers | show |
Series | resolv: Fix tst-resolv tests for 2.35 ABIs and later | expand |
Ping? On Sat, Feb 12, 2022 at 08:42:39AM +0900, Stafford Horne wrote: > The commit 737e873b30 ("resolv: Do not build libanl.so for ABIs starting > at 2.35") disabled building libanl for ports supporting only 2.35 and > later like OpenRISC. > > However, the if statement was not updated quite correctly and the change > ends up disabling many tst-resolv* tests. This was not supposed to be > done and it causes test dependency errors like: > > make: Entering directory 'gnu-home/glibc/resolv' > make: *** No rule to make target 'gnu-home/build-glibc/resolv/tst-resolv-res_ninit.out', needed by 'gnu-home/build-glibc/resolv/mtrace-tst-resolv-res_ninit.out'. Stop. > make: Leaving directory 'gnu-home/glibc/resolv' > > This patch move the extra-libs += libanl definition and condition down > to be closer to other libanl definitions. The $(have-GLIBC_2.34) > condition now includes libanl-routines and libanl-shared-only-routines as > well. > > Also, I have added a comment to endif of $(have-thread-library) to help > show the bondary of the have-thread-library definitions. > --- > Notes: > - I also moved libanl-shared-only-routines into the have-GLIBC_2.34 condition, > Florian didn't mention this in his mail but it seems correct. > - I documented the boundary of the have-thread-library condition. I think this > highlights that for non have-thread-library builds the tst-resolv-res_ninit > will still be broken, because tst-resolv-res_ninit is outside the > have-thread-library condition. > > resolv/Makefile | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/resolv/Makefile b/resolv/Makefile > index c465479e8b..438672786f 100644 > --- a/resolv/Makefile > +++ b/resolv/Makefile > @@ -79,11 +79,6 @@ generate := mtrace-tst-leaks.out tst-leaks.mtrace tst-leaks2.mtrace > extra-libs := libresolv libnss_dns > ifeq ($(have-thread-library),yes) > routines += gai_sigqueue > -endif > - > -ifeq ($(have-GLIBC_2.34)$(have-thread-library),yesyes) > -# Empty compatibility library for old binaries. > -extra-libs += libanl > > tests += \ > tst-bug18665 \ > @@ -144,7 +139,8 @@ xtests += tst-resolv-qtypes > > # This test has dropped packet tests and runs for a long time. > xtests += tst-resolv-rotate > -endif > +endif # $(have-thread-library) > + > extra-libs-others = $(extra-libs) > libresolv-routines := \ > base64 \ > @@ -168,6 +164,13 @@ libresolv-routines := \ > resolv-deprecated \ > # libresolv-routines > > +ifeq ($(have-GLIBC_2.34)$(have-thread-library),yesyes) > +# Empty compatibility library for old binaries. > +extra-libs += libanl > +libanl-routines += libanl-compat > +libanl-shared-only-routines += libanl-compat > +endif > + > $(libanl-routines-var) += \ > gai_cancel \ > gai_error \ > @@ -177,9 +180,6 @@ $(libanl-routines-var) += \ > getaddrinfo_a \ > # $(libanl-routines-var) > > -libanl-routines += libanl-compat > -libanl-shared-only-routines += libanl-compat > - > # Pretend that libanl.so is a linker script, so that the symbolic link > # is not installed. > install-lib-ldscripts = libanl.so > -- > 2.31.1 >
On 11/02/2022 20:42, Stafford Horne via Libc-alpha wrote: > The commit 737e873b30 ("resolv: Do not build libanl.so for ABIs starting > at 2.35") disabled building libanl for ports supporting only 2.35 and > later like OpenRISC. > > However, the if statement was not updated quite correctly and the change > ends up disabling many tst-resolv* tests. This was not supposed to be > done and it causes test dependency errors like: > > make: Entering directory 'gnu-home/glibc/resolv' > make: *** No rule to make target 'gnu-home/build-glibc/resolv/tst-resolv-res_ninit.out', needed by 'gnu-home/build-glibc/resolv/mtrace-tst-resolv-res_ninit.out'. Stop. > make: Leaving directory 'gnu-home/glibc/resolv' > > This patch move the extra-libs += libanl definition and condition down > to be closer to other libanl definitions. The $(have-GLIBC_2.34) > condition now includes libanl-routines and libanl-shared-only-routines as > well. > > Also, I have added a comment to endif of $(have-thread-library) to help > show the bondary of the have-thread-library definitions. > --- > Notes: > - I also moved libanl-shared-only-routines into the have-GLIBC_2.34 condition, > Florian didn't mention this in his mail but it seems correct. > - I documented the boundary of the have-thread-library condition. I think this > highlights that for non have-thread-library builds the tst-resolv-res_ninit > will still be broken, because tst-resolv-res_ninit is outside the > have-thread-library condition. LGTM, thanks. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > > resolv/Makefile | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/resolv/Makefile b/resolv/Makefile > index c465479e8b..438672786f 100644 > --- a/resolv/Makefile > +++ b/resolv/Makefile > @@ -79,11 +79,6 @@ generate := mtrace-tst-leaks.out tst-leaks.mtrace tst-leaks2.mtrace > extra-libs := libresolv libnss_dns > ifeq ($(have-thread-library),yes) > routines += gai_sigqueue > -endif > - > -ifeq ($(have-GLIBC_2.34)$(have-thread-library),yesyes) > -# Empty compatibility library for old binaries. > -extra-libs += libanl > > tests += \ > tst-bug18665 \ > @@ -144,7 +139,8 @@ xtests += tst-resolv-qtypes > > # This test has dropped packet tests and runs for a long time. > xtests += tst-resolv-rotate > -endif > +endif # $(have-thread-library) > + > extra-libs-others = $(extra-libs) > libresolv-routines := \ > base64 \ > @@ -168,6 +164,13 @@ libresolv-routines := \ > resolv-deprecated \ > # libresolv-routines > > +ifeq ($(have-GLIBC_2.34)$(have-thread-library),yesyes) > +# Empty compatibility library for old binaries. > +extra-libs += libanl > +libanl-routines += libanl-compat > +libanl-shared-only-routines += libanl-compat > +endif > + > $(libanl-routines-var) += \ > gai_cancel \ > gai_error \ > @@ -177,9 +180,6 @@ $(libanl-routines-var) += \ > getaddrinfo_a \ > # $(libanl-routines-var) > > -libanl-routines += libanl-compat > -libanl-shared-only-routines += libanl-compat > - > # Pretend that libanl.so is a linker script, so that the symbolic link > # is not installed. > install-lib-ldscripts = libanl.so
On Mon, Feb 21, 2022 at 03:24:21PM -0300, Adhemerval Zanella wrote: > > > On 11/02/2022 20:42, Stafford Horne via Libc-alpha wrote: > > The commit 737e873b30 ("resolv: Do not build libanl.so for ABIs starting > > at 2.35") disabled building libanl for ports supporting only 2.35 and > > later like OpenRISC. > > > > However, the if statement was not updated quite correctly and the change > > ends up disabling many tst-resolv* tests. This was not supposed to be > > done and it causes test dependency errors like: > > > > make: Entering directory 'gnu-home/glibc/resolv' > > make: *** No rule to make target 'gnu-home/build-glibc/resolv/tst-resolv-res_ninit.out', needed by 'gnu-home/build-glibc/resolv/mtrace-tst-resolv-res_ninit.out'. Stop. > > make: Leaving directory 'gnu-home/glibc/resolv' > > > > This patch move the extra-libs += libanl definition and condition down > > to be closer to other libanl definitions. The $(have-GLIBC_2.34) > > condition now includes libanl-routines and libanl-shared-only-routines as > > well. > > > > Also, I have added a comment to endif of $(have-thread-library) to help > > show the bondary of the have-thread-library definitions. > > --- > > Notes: > > - I also moved libanl-shared-only-routines into the have-GLIBC_2.34 condition, > > Florian didn't mention this in his mail but it seems correct. > > - I documented the boundary of the have-thread-library condition. I think this > > highlights that for non have-thread-library builds the tst-resolv-res_ninit > > will still be broken, because tst-resolv-res_ninit is outside the > > have-thread-library condition. > > > LGTM, thanks. > > Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Thanks, I think we should backport this to the 2.35 branch as well, I will do that. -Stafford > > > > resolv/Makefile | 18 +++++++++--------- > > 1 file changed, 9 insertions(+), 9 deletions(-) > > > > diff --git a/resolv/Makefile b/resolv/Makefile > > index c465479e8b..438672786f 100644 > > --- a/resolv/Makefile > > +++ b/resolv/Makefile > > @@ -79,11 +79,6 @@ generate := mtrace-tst-leaks.out tst-leaks.mtrace tst-leaks2.mtrace > > extra-libs := libresolv libnss_dns > > ifeq ($(have-thread-library),yes) > > routines += gai_sigqueue > > -endif > > - > > -ifeq ($(have-GLIBC_2.34)$(have-thread-library),yesyes) > > -# Empty compatibility library for old binaries. > > -extra-libs += libanl > > > > tests += \ > > tst-bug18665 \ > > @@ -144,7 +139,8 @@ xtests += tst-resolv-qtypes > > > > # This test has dropped packet tests and runs for a long time. > > xtests += tst-resolv-rotate > > -endif > > +endif # $(have-thread-library) > > + > > extra-libs-others = $(extra-libs) > > libresolv-routines := \ > > base64 \ > > @@ -168,6 +164,13 @@ libresolv-routines := \ > > resolv-deprecated \ > > # libresolv-routines > > > > +ifeq ($(have-GLIBC_2.34)$(have-thread-library),yesyes) > > +# Empty compatibility library for old binaries. > > +extra-libs += libanl > > +libanl-routines += libanl-compat > > +libanl-shared-only-routines += libanl-compat > > +endif > > + > > $(libanl-routines-var) += \ > > gai_cancel \ > > gai_error \ > > @@ -177,9 +180,6 @@ $(libanl-routines-var) += \ > > getaddrinfo_a \ > > # $(libanl-routines-var) > > > > -libanl-routines += libanl-compat > > -libanl-shared-only-routines += libanl-compat > > - > > # Pretend that libanl.so is a linker script, so that the symbolic link > > # is not installed. > > install-lib-ldscripts = libanl.so
diff --git a/resolv/Makefile b/resolv/Makefile index c465479e8b..438672786f 100644 --- a/resolv/Makefile +++ b/resolv/Makefile @@ -79,11 +79,6 @@ generate := mtrace-tst-leaks.out tst-leaks.mtrace tst-leaks2.mtrace extra-libs := libresolv libnss_dns ifeq ($(have-thread-library),yes) routines += gai_sigqueue -endif - -ifeq ($(have-GLIBC_2.34)$(have-thread-library),yesyes) -# Empty compatibility library for old binaries. -extra-libs += libanl tests += \ tst-bug18665 \ @@ -144,7 +139,8 @@ xtests += tst-resolv-qtypes # This test has dropped packet tests and runs for a long time. xtests += tst-resolv-rotate -endif +endif # $(have-thread-library) + extra-libs-others = $(extra-libs) libresolv-routines := \ base64 \ @@ -168,6 +164,13 @@ libresolv-routines := \ resolv-deprecated \ # libresolv-routines +ifeq ($(have-GLIBC_2.34)$(have-thread-library),yesyes) +# Empty compatibility library for old binaries. +extra-libs += libanl +libanl-routines += libanl-compat +libanl-shared-only-routines += libanl-compat +endif + $(libanl-routines-var) += \ gai_cancel \ gai_error \ @@ -177,9 +180,6 @@ $(libanl-routines-var) += \ getaddrinfo_a \ # $(libanl-routines-var) -libanl-routines += libanl-compat -libanl-shared-only-routines += libanl-compat - # Pretend that libanl.so is a linker script, so that the symbolic link # is not installed. install-lib-ldscripts = libanl.so