I think it's there, https://reviews.llvm.org/D59625 . The backend seems to 
disallow linking with objects that use atomics features and are not tagged 
as such. That's how I have understood it. I fixed it in my build by adding 
pthread to my CFLAGS. 
You don't seem to have CFLAGS so prepending cmake with CFLAGS="-pthread" 
should do the trick.
Let us know if it works :)

On Wednesday, July 24, 2019 at 11:04:29 PM UTC+2, Dylan Staley wrote:
>
> Hello! I recently heard about the new WebAssembly backend, and wanted to 
> give it a try to compare against the fastcomp backend. I've successfully 
> compiled this project using `latest`, but when I switch to 
> `latest-upstream` I get the following issue during linking:
>
> ```
> wasm-ld: error: 'atomics' feature is used by d1_lib.o, so --shared-memory 
> must be used
> wasm-ld: error: Target feature 'atomics' used in d1_lib.o is disallowed by 
> ConcurrentScheduler.cpp.o. Use --no-check-features to suppress.
> ```
>
> The actual command that failed was:
> ```
> shared:ERROR: '/home/staley_dylan/emsdk/upstream/bin/wasm-ld -o 
> /tmp/emscripten_temp_DthpaW/td_wasm.wasm --allow-undefined --import-memory 
> --import-table --lto-O0 
> CMakeFiles/td_wasm.dir/td/telegram/td_emscripten.cpp.o libtdjson_static.a 
> tdactor/libtdactor.a libtdjson_private.a libtdclient.a libtdcore.a 
> tdnet/libtdnet.a ../crypto/lib/libssl.a tddb/libtddb.a tdactor/libtdactor.a 
> tdutils/libtdutils.a sqlite/libtdsqlite.a ../crypto/lib/libcrypto.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libz.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libc.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libcompiler_rt.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libc-wasm.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libc++-noexcept.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libc++abi.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libc-extras.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libdlmalloc.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libpthreads_stub.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libcompiler_rt_wasm.a 
> /home/staley_dylan/.emscripten_cache/wasm-obj/libc_rt_wasm.a -mllvm 
> -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm 
> -disable-lsr --export __wasm_call_ctors --export __data_end --export main 
> --export malloc --export free --export setThrew --export __errno_location 
> --export htonl --export htons --export ntohs --export 
> emscripten_builtin_memalign --export memalign --export _get_environ 
> --export strlen --export _get_tzname --export _get_daylight --export 
> _get_timezone --export emscripten_builtin_free -z stack-size=5242880 
> --initial-memory=16777216 --no-entry --global-base=1024' failed (1)
> ```
>
> I assume this is something to do with shared memory support in WASM, but I 
> haven't changed the configuration between a successful compile on `latest` 
> and this failing one on `latest-upstream`. Does anyone have any idea? For 
> reference, I'm trying to compile TdLib (https://github.com/tdlib/td 
> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Ftdlib%2Ftd&sa=D&sntz=1&usg=AFQjCNGFEkTIBqppIVw0j_ZPWBcfUNRVsw>
> ).
>

-- 
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/977d6ddf-d05b-40c5-a27d-37094d096252%40googlegroups.com.

Reply via email to