aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2004-08-17 17:03:24 +0000
committerIan Romanick <[email protected]>2004-08-17 17:03:24 +0000
commit6fc61be869a5db3842aa3ca95565984c754251cd (patch)
treef0b8f5b677a617656de34afe324a207b2e56913f
parent51830613a941d07e19f38f328657864ca2326111 (diff)
Fixed an assembler warning / error (depending on the version of GAS used).
Fixed a crash in the optimized pthreads dispatch path.
-rw-r--r--src/mesa/glapi/gl_x86_asm.py14
-rw-r--r--src/mesa/x86/glapi_x86.S14
2 files changed, 6 insertions, 22 deletions
diff --git a/src/mesa/glapi/gl_x86_asm.py b/src/mesa/glapi/gl_x86_asm.py
index cb2f6d5b209..159925838cf 100644
--- a/src/mesa/glapi/gl_x86_asm.py
+++ b/src/mesa/glapi/gl_x86_asm.py
@@ -72,7 +72,7 @@ class PrintGenericStubs(gl_XML.FilterGLAPISpecBase):
print '#define GL_OFFSET(x) CODEPTR(REGOFF(4 * x, EAX))'
print ''
print '#if defined(GNU_ASSEMBLER) && !defined(__DJGPP__) && !defined(__MINGW32__)'
- print '#define GLOBL_FN(x) GLOBL x ; .type x,@function'
+ print '#define GLOBL_FN(x) GLOBL x ; .type x, function'
print '#else'
print '#define GLOBL_FN(x) GLOBL x'
print '#endif'
@@ -90,7 +90,7 @@ class PrintGenericStubs(gl_XML.FilterGLAPISpecBase):
print '\tTEST_L(EAX, EAX) ;\t\t\t\t\\'
print '\tJE(1f) ;\t\t\t\t\t\\'
print '\tJMP(GL_OFFSET(off)) ;\t\t\t\t\\'
- print '1:\tCALL(get_dispatch) ;\t\t\t\t\\'
+ print '1:\tCALL(_x86_get_dispatch) ;\t\t\t\\'
print '\tJMP(GL_OFFSET(off))'
print '#elif defined(THREADS)'
print '# define GL_STUB(fn,off,fn_alt)\t\t\t\\'
@@ -117,21 +117,13 @@ class PrintGenericStubs(gl_XML.FilterGLAPISpecBase):
print '#ifdef PTHREADS'
print 'EXTERN GLNAME(_glapi_Dispatch)'
print 'EXTERN GLNAME(_gl_DispatchTSD)'
- print '#ifdef __PIC__'
- print 'EXTERN GLNAME(pthread_getspecific@PLT)'
- print '#else'
print 'EXTERN GLNAME(pthread_getspecific)'
- print '#endif'
print ''
print 'ALIGNTEXT16'
- print 'GLNAME(get_dispatch):'
+ print 'GLNAME(_x86_get_dispatch):'
print '\tSUB_L(CONST(24), ESP)'
print '\tPUSH_L(GLNAME(_gl_DispatchTSD))'
- print '#ifdef __PIC__'
- print '\tCALL(GLNAME(pthread_getspecific@PLT))'
- print '#else'
print '\tCALL(GLNAME(pthread_getspecific))'
- print '#endif'
print '\tADD_L(CONST(28), ESP)'
print '\tRET'
print '#elif defined(THREADS)'
diff --git a/src/mesa/x86/glapi_x86.S b/src/mesa/x86/glapi_x86.S
index 4c8044e49cc..6727e708c11 100644
--- a/src/mesa/x86/glapi_x86.S
+++ b/src/mesa/x86/glapi_x86.S
@@ -42,7 +42,7 @@
#define GL_OFFSET(x) CODEPTR(REGOFF(4 * x, EAX))
#if defined(GNU_ASSEMBLER) && !defined(__DJGPP__) && !defined(__MINGW32__)
-#define GLOBL_FN(x) GLOBL x ; .type x,@function
+#define GLOBL_FN(x) GLOBL x ; .type x, function
#else
#define GLOBL_FN(x) GLOBL x
#endif
@@ -60,7 +60,7 @@ GL_PREFIX(fn, fn_alt): \
TEST_L(EAX, EAX) ; \
JE(1f) ; \
JMP(GL_OFFSET(off)) ; \
-1: CALL(get_dispatch) ; \
+1: CALL(_x86_get_dispatch) ; \
JMP(GL_OFFSET(off))
#elif defined(THREADS)
# define GL_STUB(fn,off,fn_alt) \
@@ -87,21 +87,13 @@ SEG_TEXT
#ifdef PTHREADS
EXTERN GLNAME(_glapi_Dispatch)
EXTERN GLNAME(_gl_DispatchTSD)
-#ifdef __PIC__
-EXTERN GLNAME(pthread_getspecific@PLT)
-#else
EXTERN GLNAME(pthread_getspecific)
-#endif
ALIGNTEXT16
-GLNAME(get_dispatch):
+GLNAME(_x86_get_dispatch):
SUB_L(CONST(24), ESP)
PUSH_L(GLNAME(_gl_DispatchTSD))
-#ifdef __PIC__
- CALL(GLNAME(pthread_getspecific@PLT))
-#else
CALL(GLNAME(pthread_getspecific))
-#endif
ADD_L(CONST(28), ESP)
RET
#elif defined(THREADS)