Re: [Mesa3d-dev] glx_mangle.h seems to be missing entries and _glapi_Dispatch not defined
Heath Feather wrote: I am using the -DUSE_MGL_NAMESPACE option to build a name mangled version of Mesa (linux-x86-static). I first ran into some issues with glx_mangle.h requiring these additional entries. #define glXGetCurrentDisplay mglXGetCurrentDisplay #define glXChooseFBConfig mglXChooseFBConfig #define glXGetFBConfigAttrib mglXGetFBConfigAttrib #define glXGetFBConfigs mglXGetFBConfigs #define glXGetVisualFromFBConfig mglXGetVisualFromFBConfig #define glXCreateWindow mglXCreateWindow #define glXDestroyWindow mglXDestroyWindow #define glXCreatePixmap mglXCreatePixmap #define glXDestroyPixmap mglXDestroyPixmap #define glXCreatePbuffer mglXCreatePbuffer #define glXDestroyPbuffer mglXDestroyPbuffer #define glXQueryDrawable mglXQueryDrawable #define glXCreateNewContext mglXCreateNewContext #define glXMakeContextCurrent mglXMakeContextCurrent #define glXGetCurrentReadDrawable mglXGetCurrentReadDrawable #define glXQueryContext mglXQueryContext #define glXSelectEvent mglXSelectEvent #define glXGetSelectedEvent mglXGetSelectedEvent OK, I checked those in. Then I find that the mangled mesa library seems to be trying to reference _glapi_Dispatch, when it does not appear to be defined in the libraries. If you add #include glapi.h in glthread.h does that fix things? -Brian - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
Re: [Mesa3d-dev] glx_mangle.h seems to be missing entries and _glapi_Dispatch not defined
(BTW, I'm using 6.5.1, forgot to mention that in the earlier message) I added glapi.h in glthread.h, but I still find _glapi_Dispatch undefined when I nm -oB the mangled libraries. However the _mglapi_Dispatch is there and defined, so I think the issue is that it _glapi_Dispatch is being referenced elsewhere in Mesa (glapi_x86, when the mangled one should be instead. This is the link error that leads me to believe this. ../../output/tarkits/linux86_32/gcc323/opt/liblgoMesa0651/lib/32bit/libl goMesaGLm.a(glapi_x86.o): In function `mglNewList': glapi_x86.o(.text+0x21): undefined reference to `_glapi_Dispatch' I messed around with this glapi_x86.S assembly module, and changed all occurences in which `_glapi_Dispatch' was referenced to _mglapi_Dispatch, and now I can link. Still need to do more testing to see if it is actually working however. So I am not sure as to whether the issue is that _mglapi_Dispatch is supposed to be the one called when running in mangled mode, or if _glapi_Dispatch is also supposed to be defined, and it isn't ? Heath. -Original Message- From: Brian Paul [mailto:[EMAIL PROTECTED] Sent: Friday, November 03, 2006 10:32 AM To: Heath Feather Cc: mesa3d-dev@lists.sourceforge.net Subject: Re: [Mesa3d-dev] glx_mangle.h seems to be missing entries and _glapi_Dispatch not defined Heath Feather wrote: I am using the -DUSE_MGL_NAMESPACE option to build a name mangled version of Mesa (linux-x86-static). I first ran into some issues with glx_mangle.h requiring these additional entries. #define glXGetCurrentDisplay mglXGetCurrentDisplay #define glXChooseFBConfig mglXChooseFBConfig #define glXGetFBConfigAttrib mglXGetFBConfigAttrib #define glXGetFBConfigs mglXGetFBConfigs #define glXGetVisualFromFBConfig mglXGetVisualFromFBConfig #define glXCreateWindow mglXCreateWindow #define glXDestroyWindow mglXDestroyWindow #define glXCreatePixmap mglXCreatePixmap #define glXDestroyPixmap mglXDestroyPixmap #define glXCreatePbuffer mglXCreatePbuffer #define glXDestroyPbuffer mglXDestroyPbuffer #define glXQueryDrawable mglXQueryDrawable #define glXCreateNewContext mglXCreateNewContext #define glXMakeContextCurrent mglXMakeContextCurrent #define glXGetCurrentReadDrawable mglXGetCurrentReadDrawable #define glXQueryContext mglXQueryContext #define glXSelectEvent mglXSelectEvent #define glXGetSelectedEvent mglXGetSelectedEvent OK, I checked those in. Then I find that the mangled mesa library seems to be trying to reference _glapi_Dispatch, when it does not appear to be defined in the libraries. If you add #include glapi.h in glthread.h does that fix things? -Brian - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
Re: [Mesa3d-dev] glx_mangle.h seems to be missing entries and _glapi_Dispatch not defined
Heath Feather wrote: glapi_x86.S is the trouble maker, it explicity generates calls to _glapi_Dispatch. A little snippet from the output from the preprocessor for this file looks like this .balign 16; .globl mglNewList ; .type mglNewList, function; mglNewList: movl _glapi_Dispatch,%eax ; testl %eax,%eax ; je 1f ; jmp *4 * 0(%eax) ; 1: call _x86_get_dispatch ; jmp *4 * 0(%eax) You'll note the mention of _glapi_Dispatch, It is glapi_x86.S that I modified to make it output _mglapi_Dispatch instead. I think the proper fix is to insert: #ifdef USE_MGL_NAMESPACE #define _glapi_Dispatch _mglapi_Dispatch #endif near the top of the generated .S files. I'll check in that change. Let me know if it works. -Brian - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev