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 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/mapi/mapi/entry_x86-64_tls.h b/src/mapi/mapi/entry_x86-64_tls.h
index d3b606c..dad596a 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)                             \
-- 
1.7.3.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to