via some heavy-handed hackery in the ASM symbol handling in case C symbols get a leading underscore (but ASM symbols do not). But this is now like clang and GCC on Darwin work: asm symbols are undecorated, C symbols get a _ prepended, so to connect both some trickery is involved for the ASM symbols that don't have a _ prepended. They must be included in the C symbol table (because that's what we use to lookup also ASM labels), but they also must not disturb the normal C symbol (which don't have the _ prepended), so they need some mangling. A bit unsatisfying, but well. So, add asm-c-connect-test to the working ones for Darwin as well.
Showing the changes to lib (1 of 8 files). Show all
Unified · Split
| @@ -4,6 +4,7 @@ · 3 unmodified lines | |||
| 4 | #ifdef __APPLE__ | 4 | #ifdef __APPLE__ |
| 5 | #define __bound_alloca ___bound_alloca | 5 | #define __bound_alloca ___bound_alloca |
| 6 | #define __bound_alloca_nr ___bound_alloca_nr | 6 | #define __bound_alloca_nr ___bound_alloca_nr |
| 7 | #define __bound_new_region ___bound_new_region | ||
| 7 | #endif | 8 | #endif |
| 8 | 9 | ||
| 9 | .globl __bound_alloca | 10 | .globl __bound_alloca |