From 6fc61be869a5db3842aa3ca95565984c754251cd Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 17 Aug 2004 17:03:24 +0000 Subject: [PATCH] Fixed an assembler warning / error (depending on the version of GAS used). Fixed a crash in the optimized pthreads dispatch path. --- src/mesa/glapi/gl_x86_asm.py | 14 +++----------- src/mesa/x86/glapi_x86.S | 14 +++----------- 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) -- 2.30.2