mapi: u_current_table may be renamed.
authorChia-I Wu <olv@lunarg.com>
Tue, 24 Aug 2010 07:51:57 +0000 (15:51 +0800)
committerChia-I Wu <olv@lunarg.com>
Thu, 20 Jan 2011 09:15:50 +0000 (17:15 +0800)
When MAPI_MODE_GLAPI is defined, u_current_table is renamed to
_glapi_Dispatch or _glapi_tls_Dispatch.  The ASM dispatchers should not
use hardcoded name.

src/mapi/mapi/entry.c
src/mapi/mapi/entry_x86-64_tls.h
src/mapi/mapi/entry_x86_tls.h
src/mapi/mapi/entry_x86_tsd.h

index 69b6134bd27c5fcff96a774911cea5b77a6ecbd6..faeda8351995d97c77f799b289e7a3186576578a 100644 (file)
  */
 
 #include "entry.h"
+#include "u_current.h"
+#include "u_macros.h"
+
+/* define macros for use by assembly dispatchers */
+#define ENTRY_CURRENT_TABLE U_STRINGIFY(u_current_table)
 
 #if defined(USE_X86_ASM) && defined(__GNUC__)
 #   ifdef GLX_USE_TLS
@@ -39,7 +44,6 @@
 #else
 
 #include <stdlib.h>
-#include "u_current.h"
 
 /* C version of the public entries */
 #define MAPI_TMP_DEFINES
index d14bf1c394698af92ff29c4ebed91b556e31aaa8..21ba434ae8ae9831444b5fc7056aea44418ef37d 100644 (file)
@@ -46,7 +46,7 @@ __asm__(".section .note.ABI-tag, \"a\"\n\t"
 __asm__(".text");
 
 __asm__("x86_64_current_tls:\n\t"
-       "movq u_current_table@GOTTPOFF(%rip), %rax\n\t"
+       "movq " ENTRY_CURRENT_TABLE "@GOTTPOFF(%rip), %rax\n\t"
        "ret");
 
 __asm__(".balign 32\n"
@@ -59,7 +59,7 @@ __asm__(".balign 32\n"
    func ":"
 
 #define STUB_ASM_CODE(slot)                              \
-   "movq u_current_table@GOTTPOFF(%rip), %rax\n\t"   \
+   "movq " ENTRY_CURRENT_TABLE "@GOTTPOFF(%rip), %rax\n\t"  \
    "movq %fs:(%rax), %r11\n\t"                           \
    "jmp *(8 * " slot ")(%r11)"
 
index ea63490e1c782482d3693a2956b01fe0dbf1f01a..43f34895646a6154e433657d82b54e892bc3dd74 100644 (file)
@@ -50,7 +50,7 @@ __asm__("x86_current_tls:\n\t"
         "1:\n\t"
         "popl %eax\n\t"
        "addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %eax\n\t"
-       "movl u_current_table@GOTNTPOFF(%eax), %eax\n\t"
+       "movl " ENTRY_CURRENT_TABLE "@GOTNTPOFF(%eax), %eax\n\t"
        "ret");
 
 #ifndef GLX_X86_READONLY_TEXT
index 0a07ad7424786161699c0741d6883b278b185afb..38742e77dc439c8369f94a12b463b6d6fd3e44ae 100644 (file)
@@ -43,7 +43,7 @@ __asm__(".text\n"
    func ":"
 
 #define STUB_ASM_CODE(slot)         \
-   "movl u_current_table, %eax\n\t" \
+   "movl " ENTRY_CURRENT_TABLE ", %eax\n\t" \
    "testl %eax, %eax\n\t"           \
    "je 1f\n\t"                      \
    "jmp *(4 * " slot ")(%eax)\n"    \