Since commit 9b09fc3 ("Add support of asm label for functions", 05-09-2010) tcc has had the capability to rename functions at the assembly level. This capability was subsequently used by commit 2596273 ("Add support for __REDIRECT_NTH needed with eglibc", 11-09-2010) to redirect long double functions on platforms which did not support long double. Here we add the companion macro __REDIRECT which is used (along with __REDIRECT_NTH) in the glibc headers on Linux to support the Large File API (when _FILE_OFFSET_BITS is set to 64).
Unified · Split
| @@ -980,6 +980,7 @@ LIBTCCAPI TCCState *tcc_new(void) · 979 unmodified lines | |||
| 980 | #endif | 980 | #endif |
| 981 | 981 | ||
| 982 | /* glibc defines */ | 982 | /* glibc defines */ |
| 983 | tcc_define_symbol(s, "__REDIRECT(name, proto, alias)", "name proto __asm__ (#alias)"); | ||
| 983 | tcc_define_symbol(s, "__REDIRECT_NTH(name, proto, alias)", "name proto __asm__ (#alias) __THROW"); | 984 | tcc_define_symbol(s, "__REDIRECT_NTH(name, proto, alias)", "name proto __asm__ (#alias) __THROW"); |
| 984 | 985 | ||
| 985 | #ifndef TCC_TARGET_PE | 986 | #ifndef TCC_TARGET_PE |