rtld: properly handle root directory in load path (bug 30435)
[platform/upstream/glibc.git] / elf / tst-linkall-static.c
1 /* Test static linking against multiple libraries, to find symbol conflicts.
2    Copyright (C) 2016-2023 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public License as
7    published by the Free Software Foundation; either version 2.1 of the
8    License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; see the file COPYING.LIB.  If
17    not, see <https://www.gnu.org/licenses/>.  */
18
19 #include <math.h>
20 #include <pthread.h>
21 #if USE_CRYPT
22 # include <crypt.h>
23 #endif
24 #include <resolv.h>
25 #include <dlfcn.h>
26 #include <utmp.h>
27 #include <aio.h>
28 #include <netdb.h>
29
30 /* These references force linking the executable against central
31    functions in the static libraries, pulling significant parts of
32    each library into the link.  */
33 void *references[] =
34   {
35     &pow,                       /* libm */
36     &pthread_create,            /* libpthread */
37 #if USE_CRYPT
38     &crypt,                     /* libcrypt */
39 #endif
40     &res_send,                  /* libresolv */
41     &dlopen,                    /* libdl */
42     &login,                     /* libutil */
43     &aio_init,                  /* librt */
44     &getaddrinfo_a,             /* libanl */
45   };
46
47 static int
48 do_test (void)
49 {
50   /* This is a link-time test.  There is nothing to run here.  */
51   return 0;
52 }
53
54 #include <support/test-driver.c>