1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-01 10:06:57 +03:00
* elf/Makefile (tests): Add loadfail.
	Add rules to build failobj.so.
	* elf/loadfail.c: New file.  Test of failing to load object with
	RTLD_GLOBAL set.
	* elf/failobj.c: New file.  Object which will fail to load.
This commit is contained in:
Ulrich Drepper
1999-01-20 20:01:17 +00:00
parent ad11b5a745
commit 1e26231274
4 changed files with 50 additions and 2 deletions

30
elf/loadfail.c Normal file
View File

@ -0,0 +1,30 @@
#include <dlfcn.h>
#include <error.h>
#include <stdio.h>
#include <stdlib.h>
int
main (void)
{
void *h;
if (dlopen ("testobj1.so", RTLD_GLOBAL | RTLD_NOW) == NULL
|| dlopen ("testobj1.so", RTLD_GLOBAL | RTLD_NOW) == NULL
|| dlopen ("testobj2.so", RTLD_GLOBAL | RTLD_NOW) == NULL
|| dlopen ("testobj3.so", RTLD_GLOBAL | RTLD_NOW) == NULL
|| dlopen ("testobj4.so", RTLD_GLOBAL | RTLD_NOW) == NULL
|| dlopen ("testobj5.so", RTLD_GLOBAL | RTLD_NOW) == NULL)
error (EXIT_FAILURE, 0, "failed to load shared object: %s", dlerror ());
h = dlopen ("failobj.so", RTLD_GLOBAL | RTLD_NOW);
printf ("h = %p, %s\n", h, h == NULL ? "ok" : "fail");
return h != NULL;
}
int
foo (int a)
{
return 10;
}