diff options
author | Alon Zakai <alonzakai@gmail.com> | 2015-12-25 10:04:50 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2015-12-25 18:41:00 -0500 |
commit | 49eff55076f009630c859424df932ad1e78bf33f (patch) | |
tree | bb64d23a1847fb11e12e85e5e8007ccd31004bc3 /src | |
parent | b300e9bafb4d4085e7cc2fc5c3d37630d0cc61d0 (diff) | |
download | binaryen-49eff55076f009630c859424df932ad1e78bf33f.tar.gz binaryen-49eff55076f009630c859424df932ad1e78bf33f.tar.bz2 binaryen-49eff55076f009630c859424df932ad1e78bf33f.zip |
fix const literals in s2wasm on 64-bit
Diffstat (limited to 'src')
-rw-r--r-- | src/s2wasm.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/s2wasm.h b/src/s2wasm.h index c216d3713..3e96c12ac 100644 --- a/src/s2wasm.h +++ b/src/s2wasm.h @@ -989,7 +989,7 @@ private: size_t offset = triple.offset; const auto &symbolAddress = staticAddresses.find(name); if (symbolAddress != staticAddresses.end()) { - curr->value = Literal(symbolAddress->second + offset); + curr->value = Literal(int32_t(symbolAddress->second + offset)); } else { // must be a function address if (wasm.functionsMap.count(name) == 0) { @@ -1000,7 +1000,7 @@ private: functionIndexes[name] = functionIndexes.size(); wasm.table.names.push_back(name); } - curr->value = Literal(functionIndexes[name] + offset); + curr->value = Literal(int32_t(functionIndexes[name] + offset)); } assert(curr->value.i32 > 0); curr->type = i32; @@ -1026,6 +1026,10 @@ public: // extra emscripten processing void emscriptenGlue(std::ostream& o) { + if (debug) { + std::cerr << wasm << '\n'; + } + wasm.removeImport(EMSCRIPTEN_ASM_CONST); // we create _sig versions o << ";; METADATA: { "; |