summaryrefslogtreecommitdiffstats
path: root/lld/wasm/Writer.cpp
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2019-01-16 01:43:21 +0000
committerSam Clegg <sbc@chromium.org>2019-01-16 01:43:21 +0000
commit6320efb4ed3827370811166b6b60e6631ac0ac6e (patch)
treefaa49365aa5c6c3911d9d66dfb3a0369242145eb /lld/wasm/Writer.cpp
parent32784a740a0282dc6f4390b683ed6c6516f4d66c (diff)
downloadbcm5719-llvm-6320efb4ed3827370811166b6b60e6631ac0ac6e.tar.gz
bcm5719-llvm-6320efb4ed3827370811166b6b60e6631ac0ac6e.zip
[WebAssembly] Store section alignment as a power of 2
This change bumps for version number of the wasm object file metadata. See https://github.com/WebAssembly/tool-conventions/pull/92 Differential Revision: https://reviews.llvm.org/D56762 llvm-svn: 351287
Diffstat (limited to 'lld/wasm/Writer.cpp')
-rw-r--r--lld/wasm/Writer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lld/wasm/Writer.cpp b/lld/wasm/Writer.cpp
index 42146c41e9a..819d4298fef 100644
--- a/lld/wasm/Writer.cpp
+++ b/lld/wasm/Writer.cpp
@@ -477,7 +477,7 @@ void Writer::createDylinkSection() {
raw_ostream &OS = Section->getStream();
writeUleb128(OS, MemSize, "MemSize");
- writeUleb128(OS, int(log2(MemAlign)), "MemAlign");
+ writeUleb128(OS, MemAlign, "MemAlign");
writeUleb128(OS, IndirectFunctions.size(), "TableSize");
writeUleb128(OS, 0, "TableAlign");
writeUleb128(OS, 0, "Needed"); // TODO: Support "needed" shared libraries
@@ -691,7 +691,7 @@ void Writer::layoutMemory() {
MemAlign = 0;
for (OutputSegment *Seg : Segments) {
MemAlign = std::max(MemAlign, Seg->Alignment);
- MemoryPtr = alignTo(MemoryPtr, Seg->Alignment);
+ MemoryPtr = alignTo(MemoryPtr, 1 << Seg->Alignment);
Seg->StartVA = MemoryPtr;
log(formatv("mem: {0,-15} offset={1,-8} size={2,-8} align={3}", Seg->Name,
MemoryPtr, Seg->Size, Seg->Alignment));
OpenPOWER on IntegriCloud