Skip to content
This repository was archived by the owner on Mar 28, 2020. It is now read-only.

Commit d42ee36

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 781b467 commit d42ee36

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

test/MC/WebAssembly/unnamed-data.ll

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ target triple = "wasm32-unknown-unknown"
4444
; CHECK-NEXT: Content: '06000000'
4545
; CHECK-NEXT: - Type: CUSTOM
4646
; CHECK-NEXT: Name: linking
47-
; CHECK-NEXT: Version: 1
47+
; CHECK-NEXT: Version: 2
4848
; CHECK-NEXT: SymbolTable:
4949
; CHECK-NEXT: - Index: 0
5050
; CHECK-NEXT: Kind: DATA
@@ -73,18 +73,18 @@ target triple = "wasm32-unknown-unknown"
7373
; CHECK-NEXT: SegmentInfo:
7474
; CHECK-NEXT: - Index: 0
7575
; CHECK-NEXT: Name: .rodata..L.str1
76-
; CHECK-NEXT: Alignment: 1
76+
; CHECK-NEXT: Alignment: 0
7777
; CHECK-NEXT: Flags: [ ]
7878
; CHECK-NEXT: - Index: 1
7979
; CHECK-NEXT: Name: .rodata..L.str2
80-
; CHECK-NEXT: Alignment: 1
80+
; CHECK-NEXT: Alignment: 0
8181
; CHECK-NEXT: Flags: [ ]
8282
; CHECK-NEXT: - Index: 2
8383
; CHECK-NEXT: Name: .data.a
84-
; CHECK-NEXT: Alignment: 8
84+
; CHECK-NEXT: Alignment: 3
8585
; CHECK-NEXT: Flags: [ ]
8686
; CHECK-NEXT: - Index: 3
8787
; CHECK-NEXT: Name: .data.b
88-
; CHECK-NEXT: Alignment: 8
88+
; CHECK-NEXT: Alignment: 3
8989
; CHECK-NEXT: Flags: [ ]
9090
; CHECK_NEXT: ...

test/MC/WebAssembly/weak-alias.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ entry:
138138
; CHECK-NEXT: Content: '01000000'
139139
; CHECK-NEXT: - Type: CUSTOM
140140
; CHECK-NEXT: Name: linking
141-
; CHECK-NEXT: Version: 1
141+
; CHECK-NEXT: Version: 2
142142
; CHECK-NEXT: SymbolTable:
143143
; CHECK-NEXT: - Index: 0
144144
; CHECK-NEXT: Kind: FUNCTION
@@ -197,15 +197,15 @@ entry:
197197
; CHECK-NEXT: SegmentInfo:
198198
; CHECK-NEXT: - Index: 0
199199
; CHECK-NEXT: Name: .data.bar
200-
; CHECK-NEXT: Alignment: 8
200+
; CHECK-NEXT: Alignment: 3
201201
; CHECK-NEXT: Flags: [ ]
202202
; CHECK-NEXT: - Index: 1
203203
; CHECK-NEXT: Name: .data.direct_address
204-
; CHECK-NEXT: Alignment: 8
204+
; CHECK-NEXT: Alignment: 3
205205
; CHECK-NEXT: Flags: [ ]
206206
; CHECK-NEXT: - Index: 2
207207
; CHECK-NEXT: Name: .data.alias_address
208-
; CHECK-NEXT: Alignment: 8
208+
; CHECK-NEXT: Alignment: 3
209209
; CHECK-NEXT: Flags: [ ]
210210
; CHECK-NEXT: ...
211211

0 Bytes
Binary file not shown.

test/Object/obj2yaml.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -651,7 +651,7 @@ WASM-NEXT: FileHeader:
651651
WASM-NEXT: Version: 0x00000001
652652
WASM: - Type: CUSTOM
653653
WASM-NEXT: Name: linking
654-
WASM-NEXT: Version: 1
654+
WASM-NEXT: Version: 2
655655
WASM-NEXT: SymbolTable:
656656
WASM-NEXT: - Index: 0
657657
WASM-NEXT: Kind: FUNCTION
@@ -675,7 +675,7 @@ WASM: Name: var
675675
WASM: SegmentInfo:
676676
WASM-NEXT: - Index: 0
677677
WASM-NEXT: Name: .rodata..L.str
678-
WASM-NEXT: Alignment: 1
678+
WASM-NEXT: Alignment: 0
679679
WASM-NEXT: Flags: [ ]
680680
WASM-NEXT: - Index: 1
681681
WASM: ...

test/Object/wasm-bad-metadata-version.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ Sections:
88
Name: linking
99
Version: 0
1010

11-
# CHECK: {{.*}}: Unexpected metadata version: 0 (Expected: 1)
11+
# CHECK: {{.*}}: Unexpected metadata version: 0 (Expected: 2)

test/ObjectYAML/wasm/code_section.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Sections:
3939
Body: 108180808000210020000F0B
4040
- Type: CUSTOM
4141
Name: linking
42-
Version: 1
42+
Version: 2
4343
SymbolTable:
4444
- Index: 0
4545
Kind: FUNCTION

test/ObjectYAML/wasm/data_section.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Sections:
2424
Addend: -6
2525
- Type: CUSTOM
2626
Name: linking
27-
Version: 1
27+
Version: 2
2828
SymbolTable:
2929
- Index: 0
3030
Kind: DATA

test/ObjectYAML/wasm/event_section.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Sections:
3232
Body: 200008808080800041000B
3333
- Type: CUSTOM
3434
Name: linking
35-
Version: 1
35+
Version: 2
3636
SymbolTable:
3737
- Index: 0
3838
Kind: FUNCTION
@@ -78,7 +78,7 @@ Sections:
7878
# CHECK-NEXT: Body: 200008808080800041000B
7979
# CHECK-NEXT: - Type: CUSTOM
8080
# CHECK-NEXT: Name: linking
81-
# CHECK-NEXT: Version: 1
81+
# CHECK-NEXT: Version: 2
8282
# CHECK-NEXT: SymbolTable:
8383
# CHECK-NEXT: - Index: 0
8484
# CHECK-NEXT: Kind: FUNCTION

test/ObjectYAML/wasm/invalid_global_weak.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Sections:
1313
GlobalMutable: false
1414
- Type: CUSTOM
1515
Name: linking
16-
Version: 1
16+
Version: 2
1717
SymbolTable:
1818
- Index: 0
1919
Kind: GLOBAL

test/ObjectYAML/wasm/linking_section.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Sections:
2929
Content: '11110000'
3030
- Type: CUSTOM
3131
Name: linking
32-
Version: 1
32+
Version: 2
3333
SymbolTable:
3434
- Index: 0
3535
Kind: FUNCTION

test/ObjectYAML/wasm/weak_symbols.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Sections:
3636
Body: 00
3737
- Type: CUSTOM
3838
Name: linking
39-
Version: 1
39+
Version: 2
4040
SymbolTable:
4141
- Index: 0
4242
Kind: FUNCTION

test/tools/llvm-nm/wasm/exports.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Sections:
3737
Content: '616263'
3838
- Type: CUSTOM
3939
Name: linking
40-
Version: 1
40+
Version: 2
4141
SymbolTable:
4242
- Index: 0
4343
Kind: FUNCTION

test/tools/llvm-nm/wasm/imports.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Sections:
2525
GlobalMutable: false
2626
- Type: CUSTOM
2727
Name: linking
28-
Version: 1
28+
Version: 2
2929
SymbolTable:
3030
- Index: 0
3131
Kind: FUNCTION

test/tools/llvm-nm/wasm/weak-symbols.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Sections:
4343
Content: '616263'
4444
- Type: CUSTOM
4545
Name: linking
46-
Version: 1
46+
Version: 2
4747
SymbolTable:
4848
- Index: 0
4949
Kind: DATA
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)