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.
