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
21