* elf/Makefile (tests): Add resolvfail.  Add rules to build the
	program.
	* elf/resolvfail.c: New file.
This commit is contained in:
Ulrich Drepper 1999-08-01 21:43:03 +00:00
parent 4f2793d41f
commit ff5fad1641
5 changed files with 48 additions and 1 deletions

View File

@ -1,5 +1,9 @@
1999-08-01 Ulrich Drepper <drepper@cygnus.com> 1999-08-01 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (tests): Add resolvfail. Add rules to build the
program.
* elf/resolvfail.c: New file.
* elf/dl-sym.c (_dl_sym): Always determine module of the caller to * elf/dl-sym.c (_dl_sym): Always determine module of the caller to
pass it to _dl_lookup_symbol. pass it to _dl_lookup_symbol.

View File

@ -71,7 +71,7 @@ install-rootsbin += ldconfig
endif endif
ifeq (yes,$(build-shared)) ifeq (yes,$(build-shared))
tests = loadtest restest1 preloadtest loadfail multiload origtest tests = loadtest restest1 preloadtest loadfail multiload origtest resolvfail
endif endif
modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
testobj1_1 failobj testobj1_1 failobj
@ -237,3 +237,9 @@ $(objpfx)multiload.out: $(objpfx)testobj1.so
$(objpfx)origtest: $(libdl) $(objpfx)origtest: $(libdl)
$(objpfx)origtest.out: $(objpfx)testobj1.so $(objpfx)origtest.out: $(objpfx)testobj1.so
ifeq ($(have-thread-library),yes)
$(objpfx)resolvfail: $(libdl) $(shared-thread-library)
else
$(objpfx)resolvfail: $(libdl)
endif

25
elf/resolvfail.c Normal file
View File

@ -0,0 +1,25 @@
#include <dlfcn.h>
static const char obj[] = "testobj1.so";
int
main (void)
{
void *d = dlopen (obj, RTLD_LAZY);
int n;
if (d == NULL)
{
printf ("cannot load %s: %s\n", obj, dlerror ());
return 1;
}
for (n = 0; n < 10000; ++n)
if (dlsym (d, "does not exist") != NULL)
{
puts ("dlsym() did not fail");
return 1;
}
return 0;
}

View File

@ -1,3 +1,8 @@
1999-08-01 Ulrich Drepper <drepper@cygnus.com>
* Versions [ld.so] (GLIBC_2.0): Export __libc_internal_tsd_get and
__libc_internal_tsd_set.
1999-07-29 Andreas Jaeger <aj@arthur.rhein-neckar.de> 1999-07-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manager.c: Remove inclusion of <linux/tasks.h> since it's not * manager.c: Remove inclusion of <linux/tasks.h> since it's not

View File

@ -22,6 +22,13 @@ libc {
} }
} }
ld.so {
GLIBC_2.0 {
# Internal libc interface to libpthread
__libc_internal_tsd_get; __libc_internal_tsd_set;
}
}
libpthread { libpthread {
GLIBC_2.0 { GLIBC_2.0 {
# Hidden entry point (through macros). # Hidden entry point (through macros).