Skip to content
This repository was archived by the owner on Oct 24, 2019. It is now read-only.

Commit 5486b10

Browse files
sbc100zhuowei
authored andcommitted
[WebAssembly] Store section alignment as a power of 2
This change bumps for version number of the wasm object file metadata. See WebAssembly/tool-conventions#92 Differential Revision: https://reviews.llvm.org/D56758 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351285 91177308-0d34-0410-b5e6-96231b3b80d8 (cherry picked from commit 29aeb33)
1 parent 0a6b8cf commit 5486b10

26 files changed

+39
-39
lines changed

include/llvm/BinaryFormat/Wasm.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const char WasmMagic[] = {'\0', 'a', 's', 'm'};
2626
// Wasm binary format version
2727
const uint32_t WasmVersion = 0x1;
2828
// Wasm linking metadata version
29-
const uint32_t WasmMetadataVersion = 0x1;
29+
const uint32_t WasmMetadataVersion = 0x2;
3030
// Wasm uses a 64k page size
3131
const uint32_t WasmPageSize = 65536;
3232

lib/MC/WasmObjectWriter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1276,7 +1276,7 @@ uint64_t WasmObjectWriter::writeObject(MCAssembler &Asm,
12761276
Segment.Offset = DataSize;
12771277
Segment.Section = &Section;
12781278
addData(Segment.Data, Section);
1279-
Segment.Alignment = Section.getAlignment();
1279+
Segment.Alignment = Log2_32(Section.getAlignment());
12801280
Segment.Flags = 0;
12811281
DataSize += Segment.Data.size();
12821282
Section.setSegmentIndex(SegmentIndex);

test/MC/WebAssembly/array-fill.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ target triple = "wasm32-unknown-unknown"
2222
; CHECK-NEXT: SegmentInfo:
2323
; CHECK-NEXT: - Index: 0
2424
; CHECK-NEXT: Name: .data
25-
; CHECK-NEXT: Alignment: 1
25+
; CHECK-NEXT: Alignment: 0
2626
; CHECK-NEXT: Flags: [ ]
2727
; CHECK-NEXT: ...

test/MC/WebAssembly/assembler-binary.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ entry:
7777
; CHECK-NEXT: Body: 1080808080000B
7878
; CHECK-NEXT: - Type: CUSTOM
7979
; CHECK-NEXT: Name: linking
80-
; CHECK-NEXT: Version: 1
80+
; CHECK-NEXT: Version: 2
8181
; CHECK-NEXT: SymbolTable:
8282
; CHECK-NEXT: - Index: 0
8383
; CHECK-NEXT: Kind: FUNCTION

test/MC/WebAssembly/bss.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,18 @@ target triple = "wasm32-unknown-unknown"
6464
; CHECK-NEXT: SegmentInfo:
6565
; CHECK-NEXT: - Index: 0
6666
; CHECK-NEXT: Name: .bss.g0
67-
; CHECK-NEXT: Alignment: 4
67+
; CHECK-NEXT: Alignment: 2
6868
; CHECK-NEXT: Flags: [ ]
6969
; CHECK-NEXT: - Index: 1
7070
; CHECK-NEXT: Name: .bss.g1
71-
; CHECK-NEXT: Alignment: 4
71+
; CHECK-NEXT: Alignment: 2
7272
; CHECK-NEXT: Flags: [ ]
7373
; CHECK-NEXT: - Index: 2
7474
; CHECK-NEXT: Name: .bss.foo
75-
; CHECK-NEXT: Alignment: 1
75+
; CHECK-NEXT: Alignment: 0
7676
; CHECK-NEXT: Flags: [ ]
7777
; CHECK-NEXT: - Index: 3
7878
; CHECK-NEXT: Name: .bss.bar
79-
; CHECK-NEXT: Alignment: 1
79+
; CHECK-NEXT: Alignment: 0
8080
; CHECK-NEXT: Flags: [ ]
8181
; CHECK-NEXT: ...

test/MC/WebAssembly/comdat.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ define linkonce_odr i32 @sharedFn() #1 comdat($sharedComdat) {
7575
; CHECK-NEXT: Content: '616263'
7676
; CHECK-NEXT: - Type: CUSTOM
7777
; CHECK-NEXT: Name: linking
78-
; CHECK-NEXT: Version: 1
78+
; CHECK-NEXT: Version: 2
7979
; CHECK-NEXT: SymbolTable:
8080
; CHECK-NEXT: - Index: 0
8181
; CHECK-NEXT: Kind: FUNCTION
@@ -106,7 +106,7 @@ define linkonce_odr i32 @sharedFn() #1 comdat($sharedComdat) {
106106
; CHECK-NEXT: SegmentInfo:
107107
; CHECK-NEXT: - Index: 0
108108
; CHECK-NEXT: Name: .rodata.constantData
109-
; CHECK-NEXT: Alignment: 1
109+
; CHECK-NEXT: Alignment: 0
110110
; CHECK-NEXT: Flags: [ ]
111111
; CHECK-NEXT: Comdats:
112112
; CHECK-NEXT: Name: basicInlineFn

test/MC/WebAssembly/event-section.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ define i32 @test_throw1(i8* %p) {
4444

4545
; CHECK: - Type: CUSTOM
4646
; CHECK-NEXT: Name: linking
47-
; CHECK-NEXT: Version: 1
47+
; CHECK-NEXT: Version: 2
4848
; CHECK-NEXT: SymbolTable:
4949

5050
; CHECK: - Index: 1

test/MC/WebAssembly/explicit-sections.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@ target triple = "wasm32-unknown-unknown"
6060
; CHECK-NEXT: SegmentInfo:
6161
; CHECK-NEXT: - Index: 0
6262
; CHECK-NEXT: Name: .data.global0
63-
; CHECK-NEXT: Alignment: 8
63+
; CHECK-NEXT: Alignment: 3
6464
; CHECK-NEXT: Flags: [ ]
6565
; CHECK-NEXT: - Index: 1
6666
; CHECK-NEXT: Name: .sec1
67-
; CHECK-NEXT: Alignment: 8
67+
; CHECK-NEXT: Alignment: 3
6868
; CHECK-NEXT: Flags: [ ]
6969
; CHECK-NEXT: - Index: 2
7070
; CHECK-NEXT: Name: .sec2
71-
; CHECK-NEXT: Alignment: 8
71+
; CHECK-NEXT: Alignment: 3
7272
; CHECK-NEXT: Flags: [ ]
7373
; CHECK-NEXT: ...

test/MC/WebAssembly/function-sections.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ entry:
1414

1515
; CHECK: - Type: CUSTOM
1616
; CHECK-NEXT: Name: linking
17-
; CHECK-NEXT: Version: 1
17+
; CHECK-NEXT: Version: 2
1818
; CHECK-NEXT: SymbolTable:
1919
; CHECK-NEXT: - Index: 0
2020
; CHECK-NEXT: Kind: FUNCTION

test/MC/WebAssembly/global-ctor-dtor.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ declare void @func3()
110110
; CHECK-NEXT: Content: '01040000'
111111
; CHECK-NEXT: - Type: CUSTOM
112112
; CHECK-NEXT: Name: linking
113-
; CHECK-NEXT: Version: 1
113+
; CHECK-NEXT: Version: 2
114114
; CHECK-NEXT: SymbolTable:
115115
; CHECK-NEXT: - Index: 0
116116
; CHECK-NEXT: Kind: FUNCTION
@@ -170,7 +170,7 @@ declare void @func3()
170170
; CHECK-NEXT: SegmentInfo:
171171
; CHECK-NEXT: - Index: 0
172172
; CHECK-NEXT: Name: .data.global1
173-
; CHECK-NEXT: Alignment: 8
173+
; CHECK-NEXT: Alignment: 3
174174
; CHECK-NEXT: Flags: [ ]
175175
; CHECK-NEXT: InitFunctions:
176176
; CHECK-NEXT: - Priority: 42

0 commit comments

Comments
 (0)