For $reasons, I'm going through function declarations and definitions in LLVM-IR and found these discrepancies: ``` Z_wasi_snapshot_preview1Z_fd_fdstat_getZ_iii does not match (2 variants): i32 (i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_fd_fdstat_set_flagsZ_iii does not match (2 variants): i32 (i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_fd_readdirZ_iiiiji does not match (2 variants): i32 (i32, i32, i32, i64, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i64, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_create_directoryZ_iiii does not match (2 variants): i32 (i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_filestat_getZ_iiiiii does not match (2 variants): i32 (i32, i32, i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_filestat_set_timesZ_iiiiijji does not match (2 variants): i32 (i32, i32, i32, i32, i64, i64, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i64, i64, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_linkZ_iiiiiiii does not match (2 variants): i32 (i32, i32, i32, i32, i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_openZ_iiiiiijjii does not match (2 variants): i32 (i32, i32, i32, i32, i32, i64, i64, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32, i64, i64, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_readlinkZ_iiiiiii does not match (2 variants): i32 (i32, i32, i32, i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_remove_directoryZ_iiii does not match (2 variants): i32 (i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_renameZ_iiiiiii does not match (2 variants): i32 (i32, i32, i32, i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_symlinkZ_iiiiii does not match (2 variants): i32 (i32, i32, i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_unlink_fileZ_iiii does not match (2 variants): i32 (i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) ``` (the first type is the return type, the ones in parentheses are the params) This is not an exhaustive list, though. It ignores the functions declarations that are dropped because they aren't used. That doesn't cause actual problems because the functions are stubs, but it's noise for my investigations.
Bug 1793734 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
For $reasons, I'm going through function declarations and definitions in LLVM-IR and found these discrepancies: ``` Z_wasi_snapshot_preview1Z_fd_fdstat_getZ_iii does not match (2 variants): i32 (i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_fd_fdstat_set_flagsZ_iii does not match (2 variants): i32 (i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_fd_readdirZ_iiiiji does not match (2 variants): i32 (i32, i32, i32, i64, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i64, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_create_directoryZ_iiii does not match (2 variants): i32 (i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_filestat_getZ_iiiiii does not match (2 variants): i32 (i32, i32, i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_filestat_set_timesZ_iiiiijji does not match (2 variants): i32 (i32, i32, i32, i32, i64, i64, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i64, i64, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_linkZ_iiiiiiii does not match (2 variants): i32 (i32, i32, i32, i32, i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_openZ_iiiiiijjii does not match (2 variants): i32 (i32, i32, i32, i32, i32, i64, i64, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32, i64, i64, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_readlinkZ_iiiiiii does not match (2 variants): i32 (i32, i32, i32, i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_remove_directoryZ_iiii does not match (2 variants): i32 (i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_renameZ_iiiiiii does not match (2 variants): i32 (i32, i32, i32, i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_symlinkZ_iiiiii does not match (2 variants): i32 (i32, i32, i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) Z_wasi_snapshot_preview1Z_path_unlink_fileZ_iiii does not match (2 variants): i32 (i32, i32, i32) (defined in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/wasm-rt-wasi.o) i32 (ptr, i32, i32, i32) (declared in /tmp/gecko/obj-x86_64-pc-linux-gnu/toolkit/library/build/../../../security/rlbox/rlbox.wasm.o) ``` (the first type is the return type, the ones in parentheses are the params) This is not an exhaustive list, though. It ignores the functions declarations that are dropped because they aren't used. That doesn't cause actual problems because the functions are stubs and don't use the params, but it's noise for my investigations.