[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: