7237d70417
* stdlib/cxa_atexit.c (__new_exitfn): Rewrite to preserve order in which the functions were registered. * dlfcn/Makefile: Add rules to build and run bug-atexit1 and bug-atexit2. * dlfcn/bug-atext1.c: New file. * dlfcn/bug-atext1-lib.c: New file. * dlfcn/bug-atext2.c: New file. * dlfcn/bug-atext2-lib.c: New file.
24 lines
486 B
C
24 lines
486 B
C
/* Derived from a test case in
|
|
http://sourceware.org/bugzilla/show_bug.cgi?id=1158. */
|
|
#include <dlfcn.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
static int
|
|
do_test (void)
|
|
{
|
|
for (int i = 0; i < 2; ++i)
|
|
{
|
|
void *dso = dlopen ("$ORIGIN/bug-atexit1-lib.so", RTLD_NOW);
|
|
void (*fn) (void) = (void (*)()) dlsym (dso, "foo");
|
|
fn ();
|
|
dlclose (dso);
|
|
puts ("round done");
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
#define TEST_FUNCTION do_test ()
|
|
#include "../test-skeleton.c"
|