[Mesa-dev] Name mangling in win32 build of EGL and GLESv2
Jose Fonseca
jfonseca at vmware.com
Wed May 4 07:35:26 PDT 2011
----- Original Message -----
> Hi,
>
> Looking at the Symbol table of a recent
> (66b66295d0bc856c69fdcccc22575580c7ecee16 ) libEGL.dll. I get the
> following mangled names:
>
> eglBindAPI
> _eglBindContext
> _eglBindTexImage
> eglBindTexImage
> _eglBindWaylandDisplayWL at 8
> _eglCheckResource
> eglChooseConfig
>
> 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:
> vgSetf
> vgSetfv
> vgSeti
> vgSetiv
> vgShear
> vgTransformPath
>
> 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.
Jose
More information about the mesa-dev
mailing list