It looks like that attribute makes llvm add the 'hidden' attribute to the
function. Our backend ignores that - is there something it should be doing?

On Fri, Aug 28, 2015 at 10:44 AM, Robert Goulet <[email protected]>
wrote:

> I would still like to know about this:
>
> Does the compiler flags -fvisibility=hidden -fvisibility-inlines-hidden have
> any effect?
> Does the __attribute__(visibility(...)) have any effect?
>
> Thank you.
>
> On Friday, August 28, 2015 at 10:33:26 AM UTC-4, Robert Goulet wrote:
>>
>> Nevermind! I found my issue. It was just a simple problem of circular
>> dependencies. Using -Wl,--start-group <libraries...> -Wl,--end-group
>> fixed it.
>>
>> If only I remembered that catch before! sigh
>>
>> Sorry for the noise!
>>
>>
>> On Friday, August 28, 2015 at 10:04:33 AM UTC-4, Robert Goulet wrote:
>>>
>>> Before I go, a few questions about symbols visibility...
>>>
>>> Does the compiler flags -fvisibility=hidden -fvisibility-inlines-hidden
>>> have any effect?
>>> Does the __attribute__(visibility(...)) have any effect?
>>>
>>> I am wondering because at link time I get a list of undefined symbols,
>>> and I verified with llvm-nm that the symbols are present in the library,
>>> such as :
>>>
>>> T _ZN5physx26PxSceneLimitsGeneratedInfoC1Ev
>>>
>>> Yet Emscripted complains it can't find it :
>>>
>>> warning: unresolved symbol: _ZN5physx26PxSceneLimitsGeneratedInfoC1Ev
>>>
>>> I also verified I properly link with the library :
>>>
>>> DEBUG    root: linking: ['CMakeFiles/main_webgl.dir/main.cpp.o',
>>> '../lib/libapplication.a', '../lib/libengine.a', '../lib/libfoundation.a',
>>> '../lib/li
>>> bgame.a', '../lib/libphysx_cct.a', '../lib/libgl_render_device.a',
>>> 'D:/dev/project/lib/physx-3.3.3-webgl-r1/Lib/libPhysX3CHECKED.a',
>>> 'D:/dev/project
>>> /lib/physx-3.3.3-webgl-r1/Lib/libPhysX3CommonCHECKED.a',
>>> 'D:/dev/project/lib/physx-3.3.3-webgl-r1/Lib/libPhysX3ExtensionsCHECKED.a',
>>> 'D:/dev/project
>>> /lib/physx-3.3.3-webgl-r1/Lib/libPhysX3VehicleCHECKED.a',
>>> 'D:/dev/project/lib/physx-3.3.3-webgl-r1/Lib/libPhysXVisualDebuggerSDKCHECKED.a',
>>> 'D:/dev/s
>>> tingray/lib/physx-3.3.3-webgl-r1/Lib/libPxTaskCHECKED.a',
>>> 'D:/dev/project/lib/physx-3.3.3-webgl-r1/Lib/libLowLevelCHECKED.a',
>>> 'D:/dev/project/lib/ph
>>> ysx-3.3.3-webgl-r1/Lib/libLowLevelClothCHECKED.a',
>>> 'D:/dev/project/lib/physx-3.3.3-webgl-r1/Lib/libSceneQueryCHECKED.a',
>>> 'D:/dev/project/lib/physx-3
>>> .3.3-webgl-r1/Lib/libSimulationControllerCHECKED.a',
>>> 'D:/dev/project/lib/physx-3.3.3-webgl-r1/Lib/libPvdRuntimeCHECKED.a',
>>> 'D:/dev/project/lib/physx
>>> -3.3.3-webgl-r1/Lib/libPhysXProfileSDKCHECKED.a', '../lib/liblua.a',
>>> 'D:/dev/project/lib/emscripten-1.34.6-r0/.emscripten_cache\\libcxxabi.bc',
>>> 'D:/d
>>> ev/project/lib/emscripten-1.34.6-r0/.emscripten_cache\\gl.bc',
>>> 'D:/dev/project/lib/emscripten-1.34.6-r0/.emscripten_cache\\libc-mt.bc',
>>> 'D:/dev/stin
>>> gray/lib/emscripten-1.34.6-r0/.emscripten_cache\\pthreads.bc',
>>> 'D:/dev/project/lib/emscripten-1.34.6-r0/.emscripten_cache\\dlmalloc_threadsafe.bc',
>>> '
>>>
>>> D:/dev/project/lib/emscripten-1.34.6-r0/.emscripten_cache\\libcxx_noexcept.a']
>>> ...
>>> DEBUG    root: considering archive
>>> D:\dev\project\lib\physx-3.3.3\Lib\libPhysX3CHECKED.a
>>> DEBUG    root: done running loop of archive
>>> D:\dev\project\lib\physx-3.3.3\Lib\libPhysX3CHECKED.a
>>> ...
>>>
>>> I don't see any specific information at link time with EMCC_DEBUG=1
>>> regarding this symbol. Doesn't look like it's getting discarded (or if it
>>> is, there's no message about it).
>>>
>>> What could be wrong? We are using the CMake toolchain file provided with
>>> Emscripten to build everything.
>>> Why is Emscripten not able to find these symbols, even thought we
>>> clearly see them in the library?
>>>
>>> Thank you!
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to