From 9bebae74c534b412c03a1f3b601df5bfc96e65c1 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 7 Jun 2011 20:15:51 +0200 Subject: mapi: Fix tls with shared/es-glapi on x86-64 x86_64_entry_start needs to be bound global, in order to have the correct address in entry_get_public (seems not to be needed on x86). Otherwise addresses needed for _glapi_proc_address will be computed from some random offset (0x6400229a61058b48 in my case). --- src/mapi/mapi/entry_x86-64_tls.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/mapi/mapi/entry_x86-64_tls.h b/src/mapi/mapi/entry_x86-64_tls.h index d3b606c8ac..dad596ada8 100644 --- a/src/mapi/mapi/entry_x86-64_tls.h +++ b/src/mapi/mapi/entry_x86-64_tls.h @@ -28,6 +28,12 @@ #include "u_macros.h" +#ifdef __GNUC__ +# define HIDDEN(x) ".hidden " U_STRINGIFY(x) "\n" +#else +# define HIDDEN(x) +#endif + #ifdef __linux__ __asm__(".section .note.ABI-tag, \"a\"\n\t" ".p2align 2\n\t" @@ -43,6 +49,8 @@ __asm__(".section .note.ABI-tag, \"a\"\n\t" __asm__(".text\n" ".balign 32\n" + ".globl x86_64_entry_start\n" + HIDDEN(x86_64_entry_start) "x86_64_entry_start:"); #define STUB_ASM_ENTRY(func) \ -- cgit v1.2.3