]> git.ipfire.org Git - thirdparty/glibc.git/blob - elf/next.c
powerpc: Fix build of wcscpy with --disable-multi-arch
[thirdparty/glibc.git] / elf / next.c
1 #include <stdio.h>
2
3
4 extern int successful_rtld_next_test (void);
5 extern void *failing_rtld_next_use (void);
6
7
8 static int
9 do_test (void)
10 {
11 int result;
12 void *addr;
13
14 /* First try call a function which uses RTLD_NEXT and calls that
15 function. */
16 result = successful_rtld_next_test ();
17 if (result == 42)
18 {
19 puts ("RTLD_NEXT seems to work for existing functions");
20 result = 0;
21 }
22 else
23 {
24 printf ("Heh? `successful_rtld_next_test' returned %d\n", result);
25 result = 1;
26 }
27
28 /* Next try a function which tries to get a function with RTLD_NEXT
29 but that fails. This dlsym() call should return a NULL pointer
30 and do nothing else. */
31 addr = failing_rtld_next_use ();
32 if (addr == NULL)
33 puts ("dlsym returned NULL for non-existing function. Good");
34 else
35 {
36 puts ("dlsym found something !?");
37 result = 1;
38 }
39
40 return result;
41 }
42
43 #include <support/test-driver.c>