This patch ports the assembly file tsan_rtl_amd64.S to OS X, where we need several changes:
- Some assembler directives are not available on OS X (.hidden, .type, .size)
- Symbol names need to start with an underscore (added a ASM_TSAN_SYMBOL macro for that).
- To make the interceptors work, we ween to name the function "_wrap_setjmp" (added ASM_TSAN_SYMBOL_INTERCEPTOR for that).
- Calling the original setjmp is done with a simple "jmp _setjmp".
- __sigsetjmp doesn't exist on OS X.