|
@@ -1,50 +0,0 @@
|
|
-#include <fcntl.h>
|
|
|
|
-#include <stdlib.h>
|
|
|
|
-#include <stdio.h>
|
|
|
|
-#include <dlfcn.h>
|
|
|
|
-#include "thread_db.h"
|
|
|
|
-
|
|
|
|
-extern void _dlinfo();
|
|
|
|
-
|
|
|
|
-int main(int argc, char **argv) {
|
|
|
|
- void *handle;
|
|
|
|
- td_err_e (*td_init_p) (void);
|
|
|
|
-
|
|
|
|
- fprintf(stderr, "Attempting to dlopen() libpthread.so with RTLD_NOW\n");
|
|
|
|
- handle = dlopen ("libpthread.so", RTLD_NOW);
|
|
|
|
- if (!handle) {
|
|
|
|
- fputs (dlerror(), stderr);
|
|
|
|
- exit(1);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- td_init_p = dlsym (handle, "__pthread_initialize");
|
|
|
|
- if (td_init_p == NULL) {
|
|
|
|
- fprintf(stderr, "yipe! __pthread_initialize() failed!\n");
|
|
|
|
- return EXIT_FAILURE;
|
|
|
|
- }
|
|
|
|
-#if 0 //def __UCLIBC__
|
|
|
|
- _dlinfo(); /* not supported by ld.so.2 */
|
|
|
|
-#endif
|
|
|
|
- dlclose(handle);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- fprintf(stderr, "Attempting to dlopen() libpthread.so with RTLD_LAZY\n");
|
|
|
|
- handle = dlopen ("libpthread.so", RTLD_LAZY);
|
|
|
|
- if (!handle) {
|
|
|
|
- fputs (dlerror(), stderr);
|
|
|
|
- exit(1);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- td_init_p = dlsym (handle, "__pthread_initialize");
|
|
|
|
- if (td_init_p == NULL) {
|
|
|
|
- fprintf(stderr, "yipe! __pthread_initialize() failed!");
|
|
|
|
- return EXIT_FAILURE;
|
|
|
|
- }
|
|
|
|
-#if 0 //def __UCLIBC__
|
|
|
|
- _dlinfo(); /* not supported by ld.so.2 */
|
|
|
|
-#endif
|
|
|
|
- dlclose(handle);
|
|
|
|
-
|
|
|
|
- fprintf(stderr, "Everything worked as expected.\n");
|
|
|
|
- return EXIT_SUCCESS;
|
|
|
|
-}
|
|
|