Procházet zdrojové kódy

samples/spawn-thread: Tweak to expose a bug (#2888)

this would expose the deadlock bug, which has been fixed by
https://github.com/bytecodealliance/wasm-micro-runtime/pull/2882
YAMAMOTO Takashi před 2 roky
rodič
revize
1dbae404b4

+ 1 - 0
samples/spawn-thread/wasm-apps/CMakeLists.txt

@@ -29,6 +29,7 @@ set (DEFINED_SYMBOLS
 set (CMAKE_EXE_LINKER_FLAGS
 set (CMAKE_EXE_LINKER_FLAGS
     "-Wl,--shared-memory,--max-memory=131072,       \
     "-Wl,--shared-memory,--max-memory=131072,       \
     -Wl,--no-entry,--strip-all,--export=sum,        \
     -Wl,--no-entry,--strip-all,--export=sum,        \
+    -Wl,--export=return_bss,        \
     -Wl,--export=__heap_base,--export=__data_end    \
     -Wl,--export=__heap_base,--export=__data_end    \
     -Wl,--export=__wasm_call_ctors  \
     -Wl,--export=__wasm_call_ctors  \
     -Wl,--allow-undefined-file=${DEFINED_SYMBOLS}"
     -Wl,--allow-undefined-file=${DEFINED_SYMBOLS}"

+ 12 - 1
samples/spawn-thread/wasm-apps/sum.c

@@ -3,6 +3,17 @@
  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  */
  */
 
 
+/*
+ * have something in bss so that llvm synthesizes
+ * wasm start function for this module.
+ */
+char *
+return_bss()
+{
+    static char bss[4096];
+    return bss;
+}
+
 int
 int
 sum(int start, int length)
 sum(int start, int length)
 {
 {
@@ -13,4 +24,4 @@ sum(int start, int length)
     }
     }
 
 
     return sum;
     return sum;
-}
+}