Hi With the latest fastcomp code base, I added fprintf in lib/Target/JSBackend/JSBackend.cpp : around line 829
Here is what I got: raw c_str double 0x7FEFFFFFFFFFFFFF raw length 16 raw 7FEFFFFFFFFFFFFF raw c_str double 0x370000000000000 raw length 15 raw 370000000000000 Linking then fails because the length is an odd number assert((len&1) I am not sure how to make sense of this and relate to my code. What else should I do to get the actual c++ code that triggers the error? I thought sending you our bitcode but it's a lot of files scattered in a bunch of folders in CMAKE build folder.... Thanks --Xiang On Thu, Jan 30, 2014 at 9:13 AM, Xiang Li <[email protected]> wrote: > I got the permission so I will send the bitcode to you later. I am on Mac. > Do I need to generate the bitcode on Linux for you to investigate? I am not > sure if the bitcode from different platforms will be exactly same... > > Now for the static linking, I wonder if you can determine what went wrong > by just looking at the bitcode? If so that would be great and I then can > also send the bitcode generated using LLVM_3.2... > > Best regards > > --Xiang > > > On Tue, Jan 28, 2014 at 5:59 PM, Alon Zakai <[email protected]> wrote: > >> If you can attach the bitcode file that would be easiest to reproduce the >> problem with. Otherwise you can see where it happens by adding some debug >> printouts in the code and rebuilding fastcomp. In this case, puts(raw) >> right before that assert should help. >> >> - Alon >> >> >> >> On Tue, Jan 28, 2014 at 9:37 AM, Xiang Li <[email protected]> wrote: >> >>> I tried using fastcomp to compile my project, I got the following error. >>> >>> I used emcc 'incoming' branch and the last llvm backend. How do I know >>> which part of my code triggers the error? >>> >>> >>> >>> Warning: Variable __init_array_start not referenced >>> Warning: Variable __init_array_end not referenced >>> Warning: Variable __fini_array_start not referenced >>> Warning: Variable __fini_array_end not referenced >>> (len&1) == 0 >>> /Users/xiangl/Build_cmake_assignment/fastcomp/emscripten-fastcomp/lib/Target/JSBackend/JSBackend.cpp >>> : 769 >>> LLVM ERROR: fail >>> Traceback (most recent call last): >>> File "/opt/emscripten-incoming/emscripten.py", line 1352, in <module> >>> _main(environ=os.environ) >>> File "/opt/emscripten-incoming/emscripten.py", line 1340, in _main >>> temp_files.run_and_clean(lambda: main( >>> File "/opt/emscripten-incoming/tools/tempfiles.py", line 39, in >>> run_and_clean >>> return func() >>> File "/opt/emscripten-incoming/emscripten.py", line 1348, in <lambda> >>> DEBUG_CACHE=DEBUG_CACHE, >>> File "/opt/emscripten-incoming/emscripten.py", line 1235, in main >>> jcache=jcache, temp_files=temp_files, DEBUG=DEBUG, >>> DEBUG_CACHE=DEBUG_CACHE) >>> File "/opt/emscripten-incoming/emscripten.py", line 749, in >>> emscript_fast >>> backend_output = open(temp_js).read() >>> IOError: [Errno 2] No such file or directory: '/tmp/tmpcZyQuB.4.js' >>> Traceback (most recent call last): >>> File "/opt/emscripten-incoming/emcc", line 1863, in <module> >>> final = shared.Building.emscripten(final, append_ext=False, >>> extra_args=extra_args) >>> File "/opt/emscripten-incoming/tools/shared.py", line 1276, in >>> emscripten >>> assert os.path.exists(filename + '.o.js') and len(open(filename + >>> '.o.js', 'r').read()) > 0, 'Emscripten failed to generate .js: ' + >>> str(compiler_output) >>> AssertionError: Emscripten failed to generate .js: >>> make[2]: *** [MCore/test/MCoreTest.html] Error 1 >>> make[1]: *** [MCore/test/CMakeFiles/MCoreTest.dir/all] Error 2 >>> make: *** [all] Error 2 >>> >>> >>> >>> -Xiang Li >>> >>> -- >>> 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/groups/opt_out. >>> >> >> -- >> 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/groups/opt_out. >> > > -- 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/groups/opt_out.
