Blame sysdeps/generic/symbol-hacks.h

Packit 6c4009
/* Some compiler optimizations may transform loops into memset/memmove
Packit 6c4009
   calls and without proper declaration it may generate PLT calls.  */
Packit 6c4009
#if !defined __ASSEMBLER__ && IS_IN (libc) && defined SHARED
Packit 6c4009
asm ("memmove = __GI_memmove");
Packit 6c4009
asm ("memset = __GI_memset");
Packit 6c4009
asm ("memcpy = __GI_memcpy");
Packit 6c4009
Packit 6c4009
/* Some targets do not use __stack_chk_fail_local.  In libc.so,
Packit 6c4009
   redirect __stack_chk_fail to a hidden reference
Packit 6c4009
   __stack_chk_fail_local, to avoid the PLT reference.
Packit 6c4009
   __stack_chk_fail itself is a global symbol, exported from libc.so,
Packit 6c4009
   and cannot be made hidden.  */
Packit 6c4009
Packit 6c4009
# if IS_IN (libc) && defined SHARED && \
Packit 6c4009
  defined STACK_PROTECTOR_LEVEL && STACK_PROTECTOR_LEVEL > 0
Packit 6c4009
asm (".hidden __stack_chk_fail_local\n"
Packit 6c4009
     "__stack_chk_fail = __stack_chk_fail_local");
Packit 6c4009
# endif
Packit 6c4009
#endif