diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-06-15 17:00:29 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-06-15 21:19:16 +0200 |
commit | aa9a7f629632c9180de89632d4f2c1e6039f7781 (patch) | |
tree | 8232636305ebbafe77bc1acdcaab416e9a1f0992 /nptl | |
parent | dbdc57dc81437c350c8c8e00a2d40d1749da004e (diff) | |
download | glibc-aa9a7f629632c9180de89632d4f2c1e6039f7781.zip glibc-aa9a7f629632c9180de89632d4f2c1e6039f7781.tar.gz glibc-aa9a7f629632c9180de89632d4f2c1e6039f7781.tar.bz2 |
nptl: Export _pthread_cleanup_push, _pthread_cleanup_pop again
These were turned into compat symbols as part of the libpthread
move. It turns out they are used by language run-time libraries
(e.g., the GCC D front end), so it makes to preserve them as
external symbols even though they are not declared in any header
file.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/Versions | 2 | ||||
-rw-r--r-- | nptl/cleanup_compat.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/nptl/Versions b/nptl/Versions index d49dba9..62bb939 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -260,6 +260,8 @@ libc { __pthread_unregister_cancel; __pthread_unregister_cancel_restore; __pthread_unwind_next; + _pthread_cleanup_pop; + _pthread_cleanup_push; call_once; cnd_broadcast; cnd_destroy; diff --git a/nptl/cleanup_compat.c b/nptl/cleanup_compat.c index 1a757cf..6e3c6b1 100644 --- a/nptl/cleanup_compat.c +++ b/nptl/cleanup_compat.c @@ -33,6 +33,8 @@ __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, THREAD_SETMEM (self, cleanup, buffer); } libc_hidden_def (__pthread_cleanup_push) +versioned_symbol (libc, __pthread_cleanup_push, _pthread_cleanup_push, + GLIBC_2_34); void __pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute) @@ -47,6 +49,8 @@ __pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute) buffer->__routine (buffer->__arg); } libc_hidden_def (__pthread_cleanup_pop) +versioned_symbol (libc, __pthread_cleanup_pop, _pthread_cleanup_pop, + GLIBC_2_34); #if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34) compat_symbol (libpthread, __pthread_cleanup_push, _pthread_cleanup_push, |