(root)/
glibc-2.38/
sysdeps/
generic/
symbol-hacks.h
       1  /* Some compiler optimizations may transform loops into memset/memmove
       2     calls and without proper declaration it may generate PLT calls.  */
       3  #if !defined __ASSEMBLER__ && IS_IN (libc) && defined SHARED \
       4      && !defined LIBC_NONSHARED
       5  asm ("memmove = __GI_memmove");
       6  asm ("memset = __GI_memset");
       7  asm ("memcpy = __GI_memcpy");
       8  
       9  /* Some targets do not use __stack_chk_fail_local.  In libc.so,
      10     redirect __stack_chk_fail to a hidden reference
      11     __stack_chk_fail_local, to avoid the PLT reference.
      12     __stack_chk_fail itself is a global symbol, exported from libc.so,
      13     and cannot be made hidden.  */
      14  
      15  # if IS_IN (libc) && defined SHARED \
      16    && defined STACK_PROTECTOR_LEVEL && STACK_PROTECTOR_LEVEL > 0
      17  asm (".hidden __stack_chk_fail_local\n"
      18       "__stack_chk_fail = __stack_chk_fail_local");
      19  # endif
      20  #endif