resolv: Remove bogus targets that build ga_test

Remove the bogus targets (and source) that supposedly build ga_test.
This code was added to resolv very early in the development process
but does not appear to be an actual test program. The target for
building this file is tests but because the glibc Make system is
built the way it is, the target is overriden by higher-level tests
targets and, therefore, the ga_test program is never built. Removing
the target and the source code makes the resolv/Makefile less confusing.

Tested by building and running 'make check' on 64 bit host running
Kernel 4.10.0-19 configured with
 --prefix=/home/hawkinsw/code/glibc-build/install
 --enable-hardcoded-path-in-tests
 --disable-mathvec

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
Will Hawkins 2017-10-19 22:25:26 -07:00 committed by Carlos O'Donell
parent b6b08b8e21
commit b9a558e790
3 changed files with 6 additions and 105 deletions

View File

@ -1,3 +1,9 @@
2017-10-20 Will Hawkins <hawkinsw@borlaugic.com>
* resolv/Makefile [$(build-shared)$(have-thread-library) == yesyes]
(tests): Remove $(objpfx)ga_test depdendency.
* resolv/ga_test.c: Remove file.
2017-10-20 Mike FABIAN <mfabian@redhat.com>
[BZ #18812]

View File

@ -101,10 +101,6 @@ routines += $(libnss_dns-routines) $(libresolv-routines)
static-only-routines += $(libnss_dns-routines) $(libresolv-routines)
endif
ifeq (yesyes,$(build-shared)$(have-thread-library))
tests: $(objpfx)ga_test
endif
ifeq ($(run-built-tests),yes)
ifneq (no,$(PERL))
tests-special += $(objpfx)mtrace-tst-leaks.out
@ -134,8 +130,6 @@ $(objpfx)libnss_dns.so: $(objpfx)libresolv.so
# The asynchronous name lookup code needs the thread library.
$(objpfx)libanl.so: $(shared-thread-library)
$(objpfx)ga_test: $(objpfx)libanl.so $(shared-thread-library)
$(objpfx)tst-res_hconf_reorder: $(libdl) $(shared-thread-library)
tst-res_hconf_reorder-ENV = RESOLV_REORDER=on

View File

@ -1,99 +0,0 @@
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netdb.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
int
main (void)
{
#define N 10
struct gaicb reqmem[N];
struct gaicb *req[N];
int n;
for (n = 0; n < N; ++n)
{
asprintf (&reqmem[n].ar_name, "test%d.test.redhat.com", 140 + n);
reqmem[n].ar_service = NULL;
reqmem[n].ar_request = NULL;
reqmem[n].ar_result = NULL;
req[n] = &reqmem[n];
}
if (getaddrinfo_a (GAI_NOWAIT, req, N, NULL) != 0)
{
puts ("queue call failed");
exit (1);
}
else
puts ("queue call successful");
while (1)
{
int any = 0;
for (n = 0; n < N; ++n)
if (req[n] != NULL && gai_error (req[n]) != EAI_INPROGRESS)
{
if (gai_error (req[n]) == 0)
{
struct addrinfo *runp = req[n]->ar_result;
while (runp != NULL)
{
switch (runp->ai_family)
{
case PF_INET:
{
struct sockaddr_in *sinp;
sinp = (struct sockaddr_in *) runp->ai_addr;
printf ("%2d: %s = %s\n", n,
req[n]->ar_name, inet_ntoa (sinp->sin_addr));
}
break;
default:
printf ("%2d: family %d\n", n, runp->ai_family);
break;
}
runp = runp->ai_next;
}
}
else
printf ("error for %d: %s\n", n,
gai_strerror (gai_error (req[n])));
req[n] = NULL;
break;
}
else if (req[n] != NULL)
any = 1;
if (n == N)
{
if (any)
gai_suspend (req, N, NULL);
else
break;
}
}
__libc_write(1,"got all\n", 8);
for (n = 0; n < N; ++n)
if (gai_error (&reqmem[n]) == 0)
{
struct addrinfo *runp = reqmem[n].ar_result;
while (runp != NULL)
{
struct addrinfo *oldp = runp;
runp = runp->ai_next;
freeaddrinfo (oldp);
}
}
return 0;
}