1. compat_symbol (libpthread, __pthread_create_2_0, pthread_create,
GLIBC_2_0);
2.
# define compat_symbol(lib, local, symbol, version) \
compat_symbol_reference (lib, local, symbol, version)
3.
#define compat_symbol_reference(lib, local, symbol, version) \
compat_symbol_reference_1 (lib, local, symbol, version)
#define compat_symbol_reference_1(lib, local, symbol, version) \
compat_symbol_reference_2 (local, symbol, VERSION_##lib##_##version)
#define compat_symbol_reference_2(local, symbol, name) \
symbol_version_reference (local, symbol, name)
4.
#ifdef __ASSEMBLER__
# define symbol_version_reference(real, name, version) \
.symver real, name##@##version
#else /* !__ASSEMBLER__ */
# define symbol_version_reference(real, name, version) \
__asm__ (".symver " #real "," #name "@" #version)
#endif