From 49eff55076f009630c859424df932ad1e78bf33f Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Fri, 25 Dec 2015 10:04:50 -0800 Subject: fix const literals in s2wasm on 64-bit --- src/s2wasm.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') 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: { "; -- cgit v1.2.3