diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/mach/strerror_l.c | 3 | ||||
-rw-r--r-- | sysdeps/nptl/pthread-functions.h | 1 | ||||
-rw-r--r-- | sysdeps/nptl/unwind-forcedunwind.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/shm-directory.c | 6 |
4 files changed, 7 insertions, 7 deletions
diff --git a/sysdeps/mach/strerror_l.c b/sysdeps/mach/strerror_l.c index b9842ccf40..7111124439 100644 --- a/sysdeps/mach/strerror_l.c +++ b/sysdeps/mach/strerror_l.c @@ -24,6 +24,7 @@ #include <mach/error.h> #include <errorlib.h> #include <sys/param.h> +#include <libc-symbols.h> static __thread char *last_value; @@ -86,7 +87,7 @@ strerror_l (int errnum, locale_t loc) return (char *) translate (es->subsystem[sub].codes[code], loc); } - +/* This is called when a thread is exiting to free the last_value string. */ void __strerror_thread_freeres (void) { diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 53a4b38fbc..fa103695d9 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -94,7 +94,6 @@ struct pthread_functions __attribute ((noreturn)) __cleanup_fct_attribute; void (*ptr__nptl_deallocate_tsd) (void); int (*ptr__nptl_setxid) (struct xid_command *); - void (*ptr_freeres) (void); void (*ptr_set_robust) (struct pthread *); }; diff --git a/sysdeps/nptl/unwind-forcedunwind.c b/sysdeps/nptl/unwind-forcedunwind.c index 0621c8002f..5902fa4be7 100644 --- a/sysdeps/nptl/unwind-forcedunwind.c +++ b/sysdeps/nptl/unwind-forcedunwind.c @@ -79,9 +79,9 @@ pthread_cancel_init (void) libgcc_s_handle = handle; } +/* Register for cleanup in libpthread.so. */ void -__libc_freeres_fn_section -__unwind_freeres (void) +__nptl_unwind_freeres (void) { void *handle = libgcc_s_handle; if (handle != NULL) diff --git a/sysdeps/unix/sysv/linux/shm-directory.c b/sysdeps/unix/sysv/linux/shm-directory.c index c494d3fbf6..6a7c7fd182 100644 --- a/sysdeps/unix/sysv/linux/shm-directory.c +++ b/sysdeps/unix/sysv/linux/shm-directory.c @@ -135,13 +135,13 @@ __shm_directory (size_t *len) } #if IS_IN (libpthread) hidden_def (__shm_directory) -#endif - /* Make sure the table is freed if we want to free everything before exiting. */ -libc_freeres_fn (freeit) +void +__shm_directory_freeres (void) { if (mountpoint.dir != defaultdir) free (mountpoint.dir); } +#endif |