Thanks for pointing out that it's supposed to be __EMSCRIPTEN__, not 
EMSCRIPTEN. Will change that in our code base.

Other than that, I did use the "latest-upstream" emsdk version. The only 
oddity is that I am not using the Emscripten version from emsdk, but a 
recent fork of Emscripten's incoming branch with some patches on top. None 
of these patches should affect the compiler backend though, most of them 
are in preamble.js. 

Is there anything else I could try to get the LLVM backend to work? Are 
some settings that I use (PRECISE_F32, DOUBLE_MODE, etc.) not available 
outside of fastcomp?

Soeren

On Wednesday, May 22, 2019 at 3:15:26 AM UTC+10, Alon Zakai wrote:
>
> This may be due to an out of date LLVM. You say you got LLVM from the 
> emsdk - did you get "latest-upstream"? The upstream version in the fastcomp 
> build is not new enough, in particular, only very recent LLVM from upstream 
> master will work (with emscripten incoming).
>
> Regarding that symbol, I think __EMSCRIPTEN__ is defined automatically. 
> It's possible fastcomp also defined it without underscores - if so, we 
> should probably either support both, or document this better.
>
>
> On Mon, May 20, 2019 at 4:16 PM Soeren Balko <[email protected] 
> <javascript:>> wrote:
>
>> I have some trouble getting the LLVM backend to work. My FFmpeg build 
>> links a couple of libraries, which works fine with the "fastcomp" backend. 
>> However, for some of the linked-in libraries (eg., libvpx, libopus), 
>> llvm-nm fails with:
>>
>>  llvm-nm failed on file libvpx.bc: return code 1, error: 
>> emsdk/upstream/6308/bin/llvm-nm: error: libvpx.bc Relocations not in offset 
>> order
>>
>> This causes wasm-ld to fail subsequently when linking the entire build. 
>> Other libraries (eg., libavfilter from the FFmpeg build) do not seem to 
>> exhibit this problem. 
>>
>> My build settings are this:
>>
>> -s USE_OGG=1 \
>>     -s USE_VORBIS=1 \
>>     -s USE_ZLIB=1 \
>>     -s PRECISE_F32=2 \
>>     -s DOUBLE_MODE=0 \
>>     -s ASSERTIONS=0 \
>>     -s INVOKE_RUN=0 \
>>     -s NODEJS_CATCH_EXIT=0 \
>>     --memory-init-file 0
>>
>> Not sure what causes this and how to fix it. As a side note, I've used 
>> Emscripten from its incoming branch (commit id is 
>> 3a9424299cdda8157e0ccf38ebef951a1b7b5fe4), whereas LLVM is retrieved by 
>> means of emsdk. I normally build the "fastcomp" backend myself, cloning the 
>> emscripten-fastcomp and emscripten-fastcomp-clang repos and keeping them in 
>> lockstep with emscripten. However, I could not find the instructions on how 
>> to compile emscripten-fastcomp to include the LLVM backend (I tried adding 
>> "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly") to the cmake command, 
>> but that does not seem to generate the "wasm-ld" command (I get this: emcc: 
>> WASM_BACKEND selected but could not find lld (wasm-ld): 
>> /home/balko/dev/libav.js/emscripten-fastcomp/build/bin/wasm-ld).
>>
>> Other than that, I had to manually add a "-DEMSCRIPTEN=1" compiler define 
>> in order to make the "EMSCRIPTEN" symbol known throughout the code, which I 
>> found surprising.
>>
>> Any clues on how to get this to work from anyone who has successfully 
>> used the LLVM backend in a similar setting would be greatly appreciated.
>>
>> Thanks,
>> Soeren
>>
>>
>> -- 
>> 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] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/emscripten-discuss/f3247662-0409-4d67-bdfc-d187fd659fbb%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/emscripten-discuss/f3247662-0409-4d67-bdfc-d187fd659fbb%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> 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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/0271178d-d75d-4b40-b3e2-85a897e2227b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to