summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2015-12-25 10:04:50 -0800
committerAlon Zakai <alonzakai@gmail.com>2015-12-25 18:41:00 -0500
commit49eff55076f009630c859424df932ad1e78bf33f (patch)
treebb64d23a1847fb11e12e85e5e8007ccd31004bc3 /src
parentb300e9bafb4d4085e7cc2fc5c3d37630d0cc61d0 (diff)
downloadbinaryen-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.h8
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: { ";