]> git.proxmox.com Git - wasi-libc.git/commitdiff
When checking undefined symbol list, ignore certain llvm buildins
authorSam Clegg <sbc@chromium.org>
Fri, 30 Aug 2019 01:05:38 +0000 (18:05 -0700)
committerDan Gohman <sunfish@mozilla.com>
Fri, 30 Aug 2019 03:39:11 +0000 (20:39 -0700)
These can vary between llvm version.  For example a recent upstream
change recently added __multi3 to the list:
https://reviews.llvm.org/D65143

Fixes #98

Makefile
expected/wasm32-wasi/undefined-symbols.txt

index 83c863229cc1a909a2380043fb2b9a96b79ec0e4..02f3e7f0f3ffcc752f41da891032ea46421e88e5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -451,12 +451,14 @@ finish: startup_files libc
        # Collect symbol information.
        # TODO: Use llvm-nm --extern-only instead of grep. This is blocked on
        # LLVM PR40497, which is fixed in 9.0, but not in 8.0.
+       # Ignore certain llvm builtin symbols such as those starting with __mul
+       # since these dependencies can vary between llvm versions.
        "$(WASM_NM)" --defined-only "$(SYSROOT_LIB)"/libc.a "$(SYSROOT_LIB)"/*.o \
            |grep ' [[:upper:]] ' |sed 's/.* [[:upper:]] //' |LC_ALL=C sort > "$(SYSROOT_SHARE)/defined-symbols.txt"
        for undef_sym in $$("$(WASM_NM)" --undefined-only "$(SYSROOT_LIB)"/*.a "$(SYSROOT_LIB)"/*.o \
            |grep ' U ' |sed 's/.* U //' |LC_ALL=C sort |uniq); do \
            grep -q '\<'$$undef_sym'\>' "$(SYSROOT_SHARE)/defined-symbols.txt" || echo $$undef_sym; \
-       done > "$(SYSROOT_SHARE)/undefined-symbols.txt"
+       done | grep -v "^__mul" > "$(SYSROOT_SHARE)/undefined-symbols.txt"
        grep '^_*wasi_' "$(SYSROOT_SHARE)/undefined-symbols.txt" \
            > "$(SYSROOT_LIB)/libc.imports"
 
index 75bee0304f1b6b8ed5f6ac507fe744254ee54c8d..8715e541d86ffb5467eafa66e2f73d736c56961d 100644 (file)
@@ -12,11 +12,6 @@ __getf2
 __gttf2
 __letf2
 __lttf2
-__muldc3
-__muloti4
-__mulsc3
-__multc3
-__multf3
 __netf2
 __stack_pointer
 __subtf3