mesa: Changes to 'ubuntu'
debian/changelog | 8
debian/patches/113_fix_tls.diff |13051 ----------------------------------------
debian/patches/series | 1
3 files changed, 8 insertions(+), 13052 deletions(-)
New commits:
commit 5ba285e9ca2f6f6d8baba231c80dcd41c2f9d2a4
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Tue Mar 27 18:16:40 2012 +1100
Drop TLS patch; no longer needed, now breaks things
diff --git a/debian/changelog b/debian/changelog
index 2adaa41..b8567ec 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+mesa (8.0.2-0ubuntu3) precise; urgency=low
+
+ * Drop 113_fix_tls.diff - this turns out to have been working around a libc
+ bug (most likely Debian bug #637239) which is now fixed. It also seems
+ to be causing problems itself now. (LP: #965798)
+
+ -- Christopher James Halse Rogers <raof@ubuntu.com> Tue, 27 Mar 2012 12:51:58 +1100
+
mesa (8.0.2-0ubuntu2) precise; urgency=low
[ Robert Hooker ]
diff --git a/debian/patches/113_fix_tls.diff b/debian/patches/113_fix_tls.diff
deleted file mode 100644
index 7551df3..0000000
--- a/debian/patches/113_fix_tls.diff
+++ /dev/null
@@ -1,13051 +0,0 @@
-commit 7354b4a95976915f4496f24944cbe9df93d1f8af
-Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
-Date: Tue Mar 15 09:56:23 2011 +1100
-
- Stage changes to extract interesting ones
-
-Index: mesa/src/egl/main/eglcurrent.c
-===================================================================
---- mesa.orig/src/egl/main/eglcurrent.c 2011-06-27 10:35:46.000000000 +0100
-+++ mesa/src/egl/main/eglcurrent.c 2011-06-27 14:49:30.706934576 +0100
-@@ -24,7 +24,7 @@
-
- #ifdef GLX_USE_TLS
- static __thread const _EGLThreadInfo *_egl_TLS
-- __attribute__ ((tls_model("initial-exec")));
-+ __attribute__ ((tls_model("global-dynamic")));
- #endif
-
- static INLINE void _eglSetTSD(const _EGLThreadInfo *t)
-Index: mesa/src/glx/glxclient.h
-===================================================================
---- mesa.orig/src/glx/glxclient.h 2011-06-27 10:35:46.000000000 +0100
-+++ mesa/src/glx/glxclient.h 2011-06-27 14:49:30.706934576 +0100
-@@ -616,7 +616,7 @@
- # if defined( GLX_USE_TLS )
-
- extern __thread void *__glX_tls_Context
-- __attribute__ ((tls_model("initial-exec")));
-+ __attribute__ ((tls_model("global-dynamic")));
-
- # define __glXGetCurrentContext() __glX_tls_Context
-
-Index: mesa/src/glx/glxcurrent.c
-===================================================================
---- mesa.orig/src/glx/glxcurrent.c 2011-06-27 10:35:46.000000000 +0100
-+++ mesa/src/glx/glxcurrent.c 2011-06-27 14:49:30.706934576 +0100
-@@ -86,7 +86,7 @@
- * \b never be \c NULL. This is important! Because of this
- * \c __glXGetCurrentContext can be implemented as trivial macro.
- */
--__thread void *__glX_tls_Context __attribute__ ((tls_model("initial-exec")))
-+__thread void *__glX_tls_Context __attribute__ ((tls_model("global-dynamic")))
- = &dummyContext;
-
- _X_HIDDEN void
-Index: mesa/src/mapi/glapi/gen/gl_x86-64_asm.py
-===================================================================
---- mesa.orig/src/mapi/glapi/gen/gl_x86-64_asm.py 2011-06-27 10:02:56.000000000 +0100
-+++ mesa/src/mapi/glapi/gen/gl_x86-64_asm.py 2011-06-27 14:49:30.706934576 +0100
-@@ -153,8 +153,16 @@
- print ''
- print '\t.p2align\t4,,15'
- print '_x86_64_get_dispatch:'
-- print '\tmovq\t_glapi_tls_Dispatch@GOTTPOFF(%rip), %rax'
-- print '\tmovq\t%fs:(%rax), %rax'
-+# print '\tpush\t%rdi'
-+ # print '\tmovq\t_glapi_tls_Dispatch@GOTTPOFF(%rip), %rax'
-+ # print '\tmovq\t%fs:(%rax), %rax'
-+ print '\t.byte\t0x66'
-+ print '\tleaq\t_glapi_tls_Dispatch@tlsgd(%rip), %rdi'
-+ print '\t.word\t0x6666'
-+ print '\trex64'
-+ print '\tcall\t__tls_get_addr@plt'
-+ print '\tmovq\t(%rax), %rax'
-+# print '\tpop\t%rdi'
- print '\tret'
- print '\t.size\t_x86_64_get_dispatch, .-_x86_64_get_dispatch'
- print ''
-@@ -248,7 +256,9 @@
- print '\tHIDDEN(GL_PREFIX(%s))' % (name)
- print 'GL_PREFIX(%s):' % (name)
- print '#if defined(GLX_USE_TLS)'
-+ save_all_regs(registers)
- print '\tcall\t_x86_64_get_dispatch@PLT'
-+ restore_all_regs(registers)
- print '\tmovq\t%u(%%rax), %%r11' % (f.offset * 8)
- print '\tjmp\t*%r11'
- print '#elif defined(PTHREADS)'
-Index: mesa/src/mapi/glapi/glapi.h
-===================================================================
---- mesa.orig/src/mapi/glapi/glapi.h 2011-06-27 10:35:46.000000000 +0100
-+++ mesa/src/mapi/glapi/glapi.h 2011-06-27 14:49:30.706934576 +0100
-@@ -81,10 +81,10 @@
- #if defined (GLX_USE_TLS)
-
- _GLAPI_EXPORT extern __thread struct _glapi_table * _glapi_tls_Dispatch
-- __attribute__((tls_model("initial-exec")));
-+ __attribute__((tls_model("global-dynamic")));
-
- _GLAPI_EXPORT extern __thread void * _glapi_tls_Context
-- __attribute__((tls_model("initial-exec")));
-+ __attribute__((tls_model("global-dynamic")));
-
- _GLAPI_EXPORT extern const struct _glapi_table *_glapi_Dispatch;
- _GLAPI_EXPORT extern const void *_glapi_Context;
-Index: mesa/src/mapi/mapi/u_current.c
-===================================================================
---- mesa.orig/src/mapi/mapi/u_current.c 2011-06-27 10:35:46.000000000 +0100
-+++ mesa/src/mapi/mapi/u_current.c 2011-06-27 14:51:15.321344318 +0100
-@@ -100,11 +100,11 @@
- #if defined(GLX_USE_TLS)
-
- __thread struct mapi_table *u_current_table
-- __attribute__((tls_model("initial-exec")))
-+ __attribute__((tls_model("global-dynamic")))
- = (struct mapi_table *) table_noop_array;
-
- __thread void *u_current_user
-- __attribute__((tls_model("initial-exec")));
-+ __attribute__((tls_model("global-dynamic")));
-
- #else
-
-Index: mesa/src/mapi/mapi/u_current.h
-===================================================================
---- mesa.orig/src/mapi/mapi/u_current.h 2011-06-27 10:35:46.000000000 +0100
-+++ mesa/src/mapi/mapi/u_current.h 2011-06-27 14:52:02.803363632 +0100
-@@ -31,10 +31,10 @@
- #ifdef GLX_USE_TLS
-
- extern __thread struct mapi_table *u_current_table
-- __attribute__((tls_model("initial-exec")));
-+ __attribute__((tls_model("global-dynamic")));
-
- extern __thread void *u_current_user
-- __attribute__((tls_model("initial-exec")));
-+ __attribute__((tls_model("global-dynamic")));
-
- #else /* GLX_USE_TLS */
-
-Index: mesa/src/mesa/drivers/x11/glxapi.c
-===================================================================
---- mesa.orig/src/mesa/drivers/x11/glxapi.c 2011-06-27 10:02:56.000000000 +0100
-+++ mesa/src/mesa/drivers/x11/glxapi.c 2011-06-27 14:49:30.726935452 +0100
-@@ -160,7 +160,7 @@
- */
- #if defined(GLX_USE_TLS)
- PUBLIC __thread void * CurrentContext
-- __attribute__((tls_model("initial-exec")));
-+ __attribute__((tls_model("global-dynamic")));
- #elif defined(THREADS)
- static _glthread_TSD ContextTSD; /**< Per-thread context pointer */
- #else
-Index: mesa/src/mapi/glapi/glapi_x86-64.S
-===================================================================
---- mesa.orig/src/mapi/glapi/glapi_x86-64.S 2011-06-27 14:47:42.261891747 +0100
-+++ mesa/src/mapi/glapi/glapi_x86-64.S 2011-06-27 14:49:30.966946012 +0100
-@@ -60,8 +60,12 @@
-
- .p2align 4,,15
- _x86_64_get_dispatch:
-- movq _glapi_tls_Dispatch@GOTTPOFF(%rip), %rax
-- movq %fs:(%rax), %rax
-+ .byte 0x66
-+ leaq _glapi_tls_Dispatch@tlsgd(%rip), %rdi
-+ .word 0x6666
-+ rex64
-+ call __tls_get_addr@plt
-+ movq (%rax), %rax
- ret
- .size _x86_64_get_dispatch, .-_x86_64_get_dispatch
-
-@@ -88,7 +92,13 @@
- .type GL_PREFIX(NewList), @function
- GL_PREFIX(NewList):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rbp
- call _x86_64_get_dispatch@PLT
-+ popq %rbp
-+ popq %rsi
-+ popq %rdi
- movq 0(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -125,7 +135,9 @@
- .type GL_PREFIX(EndList), @function
- GL_PREFIX(EndList):
- #if defined(GLX_USE_TLS)
-+ pushq %rbp
- call _x86_64_get_dispatch@PLT
-+ popq %rbp
- movq 8(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -154,7 +166,9 @@
- .type GL_PREFIX(CallList), @function
- GL_PREFIX(CallList):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 16(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -183,7 +197,13 @@
- .type GL_PREFIX(CallLists), @function
- GL_PREFIX(CallLists):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
- call _x86_64_get_dispatch@PLT
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 24(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -220,7 +240,13 @@
- .type GL_PREFIX(DeleteLists), @function
- GL_PREFIX(DeleteLists):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rbp
- call _x86_64_get_dispatch@PLT
-+ popq %rbp
-+ popq %rsi
-+ popq %rdi
- movq 32(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -257,7 +283,9 @@
- .type GL_PREFIX(GenLists), @function
- GL_PREFIX(GenLists):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 40(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -286,7 +314,9 @@
- .type GL_PREFIX(ListBase), @function
- GL_PREFIX(ListBase):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 48(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -315,7 +345,9 @@
- .type GL_PREFIX(Begin), @function
- GL_PREFIX(Begin):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 56(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -344,7 +376,23 @@
- .type GL_PREFIX(Bitmap), @function
- GL_PREFIX(Bitmap):
- #if defined(GLX_USE_TLS)
-+ subq $56, %rsp
-+ movq %rdi, (%rsp)
-+ movq %rsi, 8(%rsp)
-+ movq %xmm0, 16(%rsp)
-+ movq %xmm1, 24(%rsp)
-+ movq %xmm2, 32(%rsp)
-+ movq %xmm3, 40(%rsp)
-+ movq %rdx, 48(%rsp)
- call _x86_64_get_dispatch@PLT
-+ movq 48(%rsp), %rdx
-+ movq 40(%rsp), %xmm3
-+ movq 32(%rsp), %xmm2
-+ movq 24(%rsp), %xmm1
-+ movq 16(%rsp), %xmm0
-+ movq 8(%rsp), %rsi
-+ movq (%rsp), %rdi
-+ addq $56, %rsp
- movq 64(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -401,7 +449,13 @@
- .type GL_PREFIX(Color3b), @function
- GL_PREFIX(Color3b):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
- call _x86_64_get_dispatch@PLT
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 72(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -438,7 +492,9 @@
- .type GL_PREFIX(Color3bv), @function
- GL_PREFIX(Color3bv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 80(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -467,7 +523,15 @@
- .type GL_PREFIX(Color3d), @function
- GL_PREFIX(Color3d):
- #if defined(GLX_USE_TLS)
-+ subq $24, %rsp
-+ movq %xmm0, (%rsp)
-+ movq %xmm1, 8(%rsp)
-+ movq %xmm2, 16(%rsp)
- call _x86_64_get_dispatch@PLT
-+ movq 16(%rsp), %xmm2
-+ movq 8(%rsp), %xmm1
-+ movq (%rsp), %xmm0
-+ addq $24, %rsp
- movq 88(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -508,7 +572,9 @@
- .type GL_PREFIX(Color3dv), @function
- GL_PREFIX(Color3dv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 96(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -537,7 +603,15 @@
- .type GL_PREFIX(Color3f), @function
- GL_PREFIX(Color3f):
- #if defined(GLX_USE_TLS)
-+ subq $24, %rsp
-+ movq %xmm0, (%rsp)
-+ movq %xmm1, 8(%rsp)
-+ movq %xmm2, 16(%rsp)
- call _x86_64_get_dispatch@PLT
-+ movq 16(%rsp), %xmm2
-+ movq 8(%rsp), %xmm1
-+ movq (%rsp), %xmm0
-+ addq $24, %rsp
- movq 104(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -578,7 +652,9 @@
- .type GL_PREFIX(Color3fv), @function
- GL_PREFIX(Color3fv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 112(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -607,7 +683,13 @@
- .type GL_PREFIX(Color3i), @function
- GL_PREFIX(Color3i):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
- call _x86_64_get_dispatch@PLT
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 120(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -644,7 +726,9 @@
- .type GL_PREFIX(Color3iv), @function
- GL_PREFIX(Color3iv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 128(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -673,7 +757,13 @@
- .type GL_PREFIX(Color3s), @function
- GL_PREFIX(Color3s):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
- call _x86_64_get_dispatch@PLT
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 136(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -710,7 +800,9 @@
- .type GL_PREFIX(Color3sv), @function
- GL_PREFIX(Color3sv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 144(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -739,7 +831,13 @@
- .type GL_PREFIX(Color3ub), @function
- GL_PREFIX(Color3ub):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
- call _x86_64_get_dispatch@PLT
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 152(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -776,7 +874,9 @@
- .type GL_PREFIX(Color3ubv), @function
- GL_PREFIX(Color3ubv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 160(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -805,7 +905,13 @@
- .type GL_PREFIX(Color3ui), @function
- GL_PREFIX(Color3ui):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
- call _x86_64_get_dispatch@PLT
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 168(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -842,7 +948,9 @@
- .type GL_PREFIX(Color3uiv), @function
- GL_PREFIX(Color3uiv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 176(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -871,7 +979,13 @@
- .type GL_PREFIX(Color3us), @function
- GL_PREFIX(Color3us):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
- call _x86_64_get_dispatch@PLT
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 184(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -908,7 +1022,9 @@
- .type GL_PREFIX(Color3usv), @function
- GL_PREFIX(Color3usv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 192(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -937,7 +1053,17 @@
- .type GL_PREFIX(Color4b), @function
- GL_PREFIX(Color4b):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
-+ pushq %rcx
-+ pushq %rbp
- call _x86_64_get_dispatch@PLT
-+ popq %rbp
-+ popq %rcx
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 200(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -982,7 +1108,9 @@
- .type GL_PREFIX(Color4bv), @function
- GL_PREFIX(Color4bv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 208(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1011,7 +1139,17 @@
- .type GL_PREFIX(Color4d), @function
- GL_PREFIX(Color4d):
- #if defined(GLX_USE_TLS)
-+ subq $40, %rsp
-+ movq %xmm0, (%rsp)
-+ movq %xmm1, 8(%rsp)
-+ movq %xmm2, 16(%rsp)
-+ movq %xmm3, 24(%rsp)
- call _x86_64_get_dispatch@PLT
-+ movq 24(%rsp), %xmm3
-+ movq 16(%rsp), %xmm2
-+ movq 8(%rsp), %xmm1
-+ movq (%rsp), %xmm0
-+ addq $40, %rsp
- movq 216(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1056,7 +1194,9 @@
- .type GL_PREFIX(Color4dv), @function
- GL_PREFIX(Color4dv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 224(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1085,7 +1225,17 @@
- .type GL_PREFIX(Color4f), @function
- GL_PREFIX(Color4f):
- #if defined(GLX_USE_TLS)
-+ subq $40, %rsp
-+ movq %xmm0, (%rsp)
-+ movq %xmm1, 8(%rsp)
-+ movq %xmm2, 16(%rsp)
-+ movq %xmm3, 24(%rsp)
- call _x86_64_get_dispatch@PLT
-+ movq 24(%rsp), %xmm3
-+ movq 16(%rsp), %xmm2
-+ movq 8(%rsp), %xmm1
-+ movq (%rsp), %xmm0
-+ addq $40, %rsp
- movq 232(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1130,7 +1280,9 @@
- .type GL_PREFIX(Color4fv), @function
- GL_PREFIX(Color4fv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 240(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1159,7 +1311,17 @@
- .type GL_PREFIX(Color4i), @function
- GL_PREFIX(Color4i):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
-+ pushq %rcx
-+ pushq %rbp
- call _x86_64_get_dispatch@PLT
-+ popq %rbp
-+ popq %rcx
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 248(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1204,7 +1366,9 @@
- .type GL_PREFIX(Color4iv), @function
- GL_PREFIX(Color4iv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 256(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1233,7 +1397,17 @@
- .type GL_PREFIX(Color4s), @function
- GL_PREFIX(Color4s):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
-+ pushq %rcx
-+ pushq %rbp
- call _x86_64_get_dispatch@PLT
-+ popq %rbp
-+ popq %rcx
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 264(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1278,7 +1452,9 @@
- .type GL_PREFIX(Color4sv), @function
- GL_PREFIX(Color4sv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 272(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1307,7 +1483,17 @@
- .type GL_PREFIX(Color4ub), @function
- GL_PREFIX(Color4ub):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
-+ pushq %rcx
-+ pushq %rbp
- call _x86_64_get_dispatch@PLT
-+ popq %rbp
-+ popq %rcx
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 280(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1352,7 +1538,9 @@
- .type GL_PREFIX(Color4ubv), @function
- GL_PREFIX(Color4ubv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 288(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1381,7 +1569,17 @@
- .type GL_PREFIX(Color4ui), @function
- GL_PREFIX(Color4ui):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
-+ pushq %rcx
-+ pushq %rbp
- call _x86_64_get_dispatch@PLT
-+ popq %rbp
-+ popq %rcx
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 296(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1426,7 +1624,9 @@
- .type GL_PREFIX(Color4uiv), @function
- GL_PREFIX(Color4uiv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 304(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1455,7 +1655,17 @@
- .type GL_PREFIX(Color4us), @function
- GL_PREFIX(Color4us):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
-+ pushq %rcx
-+ pushq %rbp
- call _x86_64_get_dispatch@PLT
-+ popq %rbp
-+ popq %rcx
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 312(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1500,7 +1710,9 @@
- .type GL_PREFIX(Color4usv), @function
- GL_PREFIX(Color4usv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 320(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1529,7 +1741,9 @@
- .type GL_PREFIX(EdgeFlag), @function
- GL_PREFIX(EdgeFlag):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 328(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1558,7 +1772,9 @@
- .type GL_PREFIX(EdgeFlagv), @function
- GL_PREFIX(EdgeFlagv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 336(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1587,7 +1803,9 @@
- .type GL_PREFIX(End), @function
- GL_PREFIX(End):
- #if defined(GLX_USE_TLS)
-+ pushq %rbp
- call _x86_64_get_dispatch@PLT
-+ popq %rbp
- movq 344(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1616,7 +1834,11 @@
- .type GL_PREFIX(Indexd), @function
- GL_PREFIX(Indexd):
- #if defined(GLX_USE_TLS)
-+ subq $8, %rsp
-+ movq %xmm0, (%rsp)
- call _x86_64_get_dispatch@PLT
-+ movq (%rsp), %xmm0
-+ addq $8, %rsp
- movq 352(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1649,7 +1871,9 @@
- .type GL_PREFIX(Indexdv), @function
- GL_PREFIX(Indexdv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 360(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1678,7 +1902,11 @@
- .type GL_PREFIX(Indexf), @function
- GL_PREFIX(Indexf):
- #if defined(GLX_USE_TLS)
-+ subq $8, %rsp
-+ movq %xmm0, (%rsp)
- call _x86_64_get_dispatch@PLT
-+ movq (%rsp), %xmm0
-+ addq $8, %rsp
- movq 368(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1711,7 +1939,9 @@
- .type GL_PREFIX(Indexfv), @function
- GL_PREFIX(Indexfv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 376(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1740,7 +1970,9 @@
- .type GL_PREFIX(Indexi), @function
- GL_PREFIX(Indexi):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 384(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1769,7 +2001,9 @@
- .type GL_PREFIX(Indexiv), @function
- GL_PREFIX(Indexiv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 392(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1798,7 +2032,9 @@
- .type GL_PREFIX(Indexs), @function
- GL_PREFIX(Indexs):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 400(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1827,7 +2063,9 @@
- .type GL_PREFIX(Indexsv), @function
- GL_PREFIX(Indexsv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 408(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1856,7 +2094,13 @@
- .type GL_PREFIX(Normal3b), @function
- GL_PREFIX(Normal3b):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
- call _x86_64_get_dispatch@PLT
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 416(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1893,7 +2137,9 @@
- .type GL_PREFIX(Normal3bv), @function
- GL_PREFIX(Normal3bv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 424(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1922,7 +2168,15 @@
- .type GL_PREFIX(Normal3d), @function
- GL_PREFIX(Normal3d):
- #if defined(GLX_USE_TLS)
-+ subq $24, %rsp
-+ movq %xmm0, (%rsp)
-+ movq %xmm1, 8(%rsp)
-+ movq %xmm2, 16(%rsp)
- call _x86_64_get_dispatch@PLT
-+ movq 16(%rsp), %xmm2
-+ movq 8(%rsp), %xmm1
-+ movq (%rsp), %xmm0
-+ addq $24, %rsp
- movq 432(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1963,7 +2217,9 @@
- .type GL_PREFIX(Normal3dv), @function
- GL_PREFIX(Normal3dv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 440(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -1992,7 +2248,15 @@
- .type GL_PREFIX(Normal3f), @function
- GL_PREFIX(Normal3f):
- #if defined(GLX_USE_TLS)
-+ subq $24, %rsp
-+ movq %xmm0, (%rsp)
-+ movq %xmm1, 8(%rsp)
-+ movq %xmm2, 16(%rsp)
- call _x86_64_get_dispatch@PLT
-+ movq 16(%rsp), %xmm2
-+ movq 8(%rsp), %xmm1
-+ movq (%rsp), %xmm0
-+ addq $24, %rsp
- movq 448(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -2033,7 +2297,9 @@
- .type GL_PREFIX(Normal3fv), @function
- GL_PREFIX(Normal3fv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 456(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -2062,7 +2328,13 @@
- .type GL_PREFIX(Normal3i), @function
- GL_PREFIX(Normal3i):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
- call _x86_64_get_dispatch@PLT
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 464(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -2099,7 +2371,9 @@
- .type GL_PREFIX(Normal3iv), @function
- GL_PREFIX(Normal3iv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 472(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -2128,7 +2402,13 @@
- .type GL_PREFIX(Normal3s), @function
- GL_PREFIX(Normal3s):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
-+ pushq %rsi
-+ pushq %rdx
- call _x86_64_get_dispatch@PLT
-+ popq %rdx
-+ popq %rsi
-+ popq %rdi
- movq 480(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -2165,7 +2445,9 @@
- .type GL_PREFIX(Normal3sv), @function
- GL_PREFIX(Normal3sv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 488(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -2194,7 +2476,13 @@
- .type GL_PREFIX(RasterPos2d), @function
- GL_PREFIX(RasterPos2d):
- #if defined(GLX_USE_TLS)
-+ subq $24, %rsp
-+ movq %xmm0, (%rsp)
-+ movq %xmm1, 8(%rsp)
- call _x86_64_get_dispatch@PLT
-+ movq 8(%rsp), %xmm1
-+ movq (%rsp), %xmm0
-+ addq $24, %rsp
- movq 496(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -2231,7 +2519,9 @@
- .type GL_PREFIX(RasterPos2dv), @function
- GL_PREFIX(RasterPos2dv):
- #if defined(GLX_USE_TLS)
-+ pushq %rdi
- call _x86_64_get_dispatch@PLT
-+ popq %rdi
- movq 504(%rax), %r11
- jmp *%r11
- #elif defined(PTHREADS)
-@@ -2260,7 +2550,13 @@
- .type GL_PREFIX(RasterPos2f), @function
- GL_PREFIX(RasterPos2f):
- #if defined(GLX_USE_TLS)
-+ subq $24, %rsp
-+ movq %xmm0, (%rsp)
Reply to: