summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/misc/internals/__uClibc_main.c7
-rw-r--r--libc/sysdeps/linux/common/longjmp.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
index 58f6643b2..da29ef69e 100644
--- a/libc/misc/internals/__uClibc_main.c
+++ b/libc/misc/internals/__uClibc_main.c
@@ -313,6 +313,11 @@ void __uClibc_fini(void)
}
libc_hidden_def(__uClibc_fini)
+#ifndef SHARED
+extern void __nptl_deallocate_tsd (void) __attribute ((weak));
+extern unsigned int __nptl_nthreads __attribute ((weak));
+#endif
+
/* __uClibc_main is the new main stub for uClibc. This function is
* called from crt1 (version 0.9.28 or newer), after ALL shared libraries
* are initialized, just before we call the application's main function.
@@ -481,7 +486,6 @@ void __uClibc_main(int (*main)(int, char **, char **), int argc,
# ifdef SHARED
__libc_pthread_functions.ptr__nptl_deallocate_tsd ();
# else
- extern void __nptl_deallocate_tsd (void) __attribute ((weak));
__nptl_deallocate_tsd ();
# endif
@@ -491,7 +495,6 @@ void __uClibc_main(int (*main)(int, char **, char **), int argc,
# ifdef SHARED
unsigned int *const ptr = __libc_pthread_functions.ptr_nthreads;
# else
- extern unsigned int __nptl_nthreads __attribute ((weak));
unsigned int *const ptr = &__nptl_nthreads;
# endif
diff --git a/libc/sysdeps/linux/common/longjmp.c b/libc/sysdeps/linux/common/longjmp.c
index 4d1442414..b07eced6a 100644
--- a/libc/sysdeps/linux/common/longjmp.c
+++ b/libc/sysdeps/linux/common/longjmp.c
@@ -24,6 +24,10 @@
extern void __longjmp (__jmp_buf __env, int __val) attribute_noreturn;
libc_hidden_proto(__longjmp)
+#if 0
+extern void _longjmp_unwind (jmp_buf env, int val);
+#endif
+
extern __typeof(longjmp) __libc_longjmp attribute_noreturn;
/* Set the signal mask to the one specified in ENV, and jump
to the position specified in ENV, causing the setjmp