[Mesa-dev] Name mangling in win32 build of EGL and GLESv2
jfonseca at vmware.com
Wed May 4 07:35:26 PDT 2011
----- Original Message -----
> Looking at the Symbol table of a recent
> (66b66295d0bc856c69fdcccc22575580c7ecee16 ) libEGL.dll. I get the
> following mangled names:
> _eglBindWaylandDisplayWL at 8
> That is stdcall and cdecl calling convention mixed?
> and in libGLESv2.dll all functions are with stdcall conventions
> _glActiveTexture at 4
> _glAttachShader at 8
> _glBindAttribLocation at 12
> _glBindBuffer at 8
> _glBindFramebuffer at 8
> Then in libOpenVL.dll there is no mangling at all:
> Is this happening by accident or on purspose?
A bit of both.
Mesa in someplaces uses __declspec(export) attribute, other places .DEF files, and other both. Which is why you get this mixed.
IMO, we should stop using __declspec(export) attributes, and use .DEF files, which provide fine control over which symbols are public or not, and how are the names mangled.
More information about the mesa-dev