Can someone explain what this mean.
It's a #define
d macro, which expands to nothing when building (non-shared) libc.a, and to:
extern __typeof (strcspn) __EI_strcspn __asm__("" "strcspn");
extern __typeof (strcspn) __EI_strcspn __attribute__((alias ("" "__GI_strcspn")));
when compiling libc.so.6.
What this does is define a symbol alias __GI_strcspn
that has the same value as strcspn
, but is not exported out of libc.so.6 (i.e. it's an internal symbol).
Is this important to rest of the code?
Yes: other code inside libc.so.6
may call this symbol without possibility to interpose it in e.g. LD_PRELOADED
library.