diff options
author | Chia-I Wu <[email protected]> | 2010-08-24 15:51:57 +0800 |
---|---|---|
committer | Chia-I Wu <[email protected]> | 2011-01-20 17:15:50 +0800 |
commit | 96c52d16c1716b8974b5421342f53f36cb80c10f (patch) | |
tree | 7f1ff34df0bb3b53b766e7f5f14b4240e132698e /src | |
parent | 6fc152f660ed995fb6c785b9e8e925bb1640532a (diff) |
mapi: u_current_table may be renamed.
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/mapi/mapi/entry.c | 6 | ||||
-rw-r--r-- | src/mapi/mapi/entry_x86-64_tls.h | 4 | ||||
-rw-r--r-- | src/mapi/mapi/entry_x86_tls.h | 2 | ||||
-rw-r--r-- | src/mapi/mapi/entry_x86_tsd.h | 2 |
4 files changed, 9 insertions, 5 deletions
diff --git a/src/mapi/mapi/entry.c b/src/mapi/mapi/entry.c index 69b6134bd27..faeda835199 100644 --- a/src/mapi/mapi/entry.c +++ b/src/mapi/mapi/entry.c @@ -27,6 +27,11 @@ */ #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 diff --git a/src/mapi/mapi/entry_x86-64_tls.h b/src/mapi/mapi/entry_x86-64_tls.h index d14bf1c3946..21ba434ae8a 100644 --- a/src/mapi/mapi/entry_x86-64_tls.h +++ b/src/mapi/mapi/entry_x86-64_tls.h @@ -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)" diff --git a/src/mapi/mapi/entry_x86_tls.h b/src/mapi/mapi/entry_x86_tls.h index ea63490e1c7..43f34895646 100644 --- a/src/mapi/mapi/entry_x86_tls.h +++ b/src/mapi/mapi/entry_x86_tls.h @@ -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 diff --git a/src/mapi/mapi/entry_x86_tsd.h b/src/mapi/mapi/entry_x86_tsd.h index 0a07ad74247..38742e77dc4 100644 --- a/src/mapi/mapi/entry_x86_tsd.h +++ b/src/mapi/mapi/entry_x86_tsd.h @@ -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" \ |