glibc/include/sys/single_threaded.h
Adhemerval Zanella baf2a265c7 misc: Optimize internal usage of __libc_single_threaded
By adding an internal alias to avoid the GOT indirection.
On some architecture, __libc_single_thread may be accessed through
copy relocations and thus it requires to update also the copies
default copy.

This is done by adding a new internal macro,
libc_hidden_data_{proto,def}, which has an addition argument that
specifies the alias name (instead of default __GI_ one).

Checked on x86_64-linux-gnu and i686-linux-gnu.

Reviewed-by: Fangrui Song <maskray@google.com>
2022-06-24 17:45:58 -03:00

13 lines
259 B
C

#include <misc/sys/single_threaded.h>
#ifndef _ISOMAC
libc_hidden_proto_alias (__libc_single_threaded,
__libc_single_threaded_internal);
#if !defined SHARED || !IS_IN(libc)
# define __libc_single_threaded_internal __libc_single_threaded
#endif
#endif