resolv: Fix tst-resolv tests for 2.35 ABIs and later
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
dj/TryBot-32bit |
success
|
Build for i686
|
Commit Message
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(-)
Comments
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
@@ -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