1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

[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/D56758

llvm-svn: 351285
This commit is contained in:
Sam Clegg 2019-01-16 01:34:48 +00:00
parent c969a48f8c
commit 7bc608206a
26 changed files with 39 additions and 39 deletions

View File

@ -26,7 +26,7 @@ const char WasmMagic[] = {'\0', 'a', 's', 'm'};
// Wasm binary format version
const uint32_t WasmVersion = 0x1;
// Wasm linking metadata version
const uint32_t WasmMetadataVersion = 0x1;
const uint32_t WasmMetadataVersion = 0x2;
// Wasm uses a 64k page size
const uint32_t WasmPageSize = 65536;

View File

@ -1256,7 +1256,7 @@ uint64_t WasmObjectWriter::writeObject(MCAssembler &Asm,
Segment.Offset = DataSize;
Segment.Section = &Section;
addData(Segment.Data, Section);
Segment.Alignment = Section.getAlignment();
Segment.Alignment = Log2_32(Section.getAlignment());
Segment.Flags = 0;
DataSize += Segment.Data.size();
Section.setSegmentIndex(SegmentIndex);

View File

@ -22,6 +22,6 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .data
; CHECK-NEXT: Alignment: 1
; CHECK-NEXT: Alignment: 0
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: ...

View File

@ -77,7 +77,7 @@ entry:
; CHECK-NEXT: Body: 1080808080000B
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: Version: 1
; CHECK-NEXT: Version: 2
; CHECK-NEXT: SymbolTable:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Kind: FUNCTION

View File

@ -64,18 +64,18 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .bss.g0
; CHECK-NEXT: Alignment: 4
; CHECK-NEXT: Alignment: 2
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: - Index: 1
; CHECK-NEXT: Name: .bss.g1
; CHECK-NEXT: Alignment: 4
; CHECK-NEXT: Alignment: 2
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: - Index: 2
; CHECK-NEXT: Name: .bss.foo
; CHECK-NEXT: Alignment: 1
; CHECK-NEXT: Alignment: 0
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: - Index: 3
; CHECK-NEXT: Name: .bss.bar
; CHECK-NEXT: Alignment: 1
; CHECK-NEXT: Alignment: 0
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: ...

View File

@ -75,7 +75,7 @@ define linkonce_odr i32 @sharedFn() #1 comdat($sharedComdat) {
; CHECK-NEXT: Content: '616263'
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: Version: 1
; CHECK-NEXT: Version: 2
; CHECK-NEXT: SymbolTable:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Kind: FUNCTION
@ -106,7 +106,7 @@ define linkonce_odr i32 @sharedFn() #1 comdat($sharedComdat) {
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .rodata.constantData
; CHECK-NEXT: Alignment: 1
; CHECK-NEXT: Alignment: 0
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: Comdats:
; CHECK-NEXT: Name: basicInlineFn

View File

@ -44,7 +44,7 @@ define i32 @test_throw1(i8* %p) {
; CHECK: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: Version: 1
; CHECK-NEXT: Version: 2
; CHECK-NEXT: SymbolTable:
; CHECK: - Index: 1

View File

@ -60,14 +60,14 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .data.global0
; CHECK-NEXT: Alignment: 8
; CHECK-NEXT: Alignment: 3
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: - Index: 1
; CHECK-NEXT: Name: .sec1
; CHECK-NEXT: Alignment: 8
; CHECK-NEXT: Alignment: 3
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: - Index: 2
; CHECK-NEXT: Name: .sec2
; CHECK-NEXT: Alignment: 8
; CHECK-NEXT: Alignment: 3
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: ...

View File

@ -14,7 +14,7 @@ entry:
; CHECK: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: Version: 1
; CHECK-NEXT: Version: 2
; CHECK-NEXT: SymbolTable:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Kind: FUNCTION

View File

@ -110,7 +110,7 @@ declare void @func3()
; CHECK-NEXT: Content: '01040000'
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: Version: 1
; CHECK-NEXT: Version: 2
; CHECK-NEXT: SymbolTable:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Kind: FUNCTION
@ -170,7 +170,7 @@ declare void @func3()
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .data.global1
; CHECK-NEXT: Alignment: 8
; CHECK-NEXT: Alignment: 3
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: InitFunctions:
; CHECK-NEXT: - Priority: 42

View File

@ -44,7 +44,7 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: Content: '06000000'
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: Version: 1
; CHECK-NEXT: Version: 2
; CHECK-NEXT: SymbolTable:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Kind: DATA
@ -73,18 +73,18 @@ target triple = "wasm32-unknown-unknown"
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .rodata..L.str1
; CHECK-NEXT: Alignment: 1
; CHECK-NEXT: Alignment: 0
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: - Index: 1
; CHECK-NEXT: Name: .rodata..L.str2
; CHECK-NEXT: Alignment: 1
; CHECK-NEXT: Alignment: 0
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: - Index: 2
; CHECK-NEXT: Name: .data.a
; CHECK-NEXT: Alignment: 8
; CHECK-NEXT: Alignment: 3
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: - Index: 3
; CHECK-NEXT: Name: .data.b
; CHECK-NEXT: Alignment: 8
; CHECK-NEXT: Alignment: 3
; CHECK-NEXT: Flags: [ ]
; CHECK_NEXT: ...

View File

@ -138,7 +138,7 @@ entry:
; CHECK-NEXT: Content: '01000000'
; CHECK-NEXT: - Type: CUSTOM
; CHECK-NEXT: Name: linking
; CHECK-NEXT: Version: 1
; CHECK-NEXT: Version: 2
; CHECK-NEXT: SymbolTable:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Kind: FUNCTION
@ -197,15 +197,15 @@ entry:
; CHECK-NEXT: SegmentInfo:
; CHECK-NEXT: - Index: 0
; CHECK-NEXT: Name: .data.bar
; CHECK-NEXT: Alignment: 8
; CHECK-NEXT: Alignment: 3
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: - Index: 1
; CHECK-NEXT: Name: .data.direct_address
; CHECK-NEXT: Alignment: 8
; CHECK-NEXT: Alignment: 3
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: - Index: 2
; CHECK-NEXT: Name: .data.alias_address
; CHECK-NEXT: Alignment: 8
; CHECK-NEXT: Alignment: 3
; CHECK-NEXT: Flags: [ ]
; CHECK-NEXT: ...

View File

@ -651,7 +651,7 @@ WASM-NEXT: FileHeader:
WASM-NEXT: Version: 0x00000001
WASM: - Type: CUSTOM
WASM-NEXT: Name: linking
WASM-NEXT: Version: 1
WASM-NEXT: Version: 2
WASM-NEXT: SymbolTable:
WASM-NEXT: - Index: 0
WASM-NEXT: Kind: FUNCTION
@ -675,7 +675,7 @@ WASM: Name: var
WASM: SegmentInfo:
WASM-NEXT: - Index: 0
WASM-NEXT: Name: .rodata..L.str
WASM-NEXT: Alignment: 1
WASM-NEXT: Alignment: 0
WASM-NEXT: Flags: [ ]
WASM-NEXT: - Index: 1
WASM: ...

View File

@ -8,4 +8,4 @@ Sections:
Name: linking
Version: 0
# CHECK: {{.*}}: Unexpected metadata version: 0 (Expected: 1)
# CHECK: {{.*}}: Unexpected metadata version: 0 (Expected: 2)

View File

@ -39,7 +39,7 @@ Sections:
Body: 108180808000210020000F0B
- Type: CUSTOM
Name: linking
Version: 1
Version: 2
SymbolTable:
- Index: 0
Kind: FUNCTION

View File

@ -24,7 +24,7 @@ Sections:
Addend: -6
- Type: CUSTOM
Name: linking
Version: 1
Version: 2
SymbolTable:
- Index: 0
Kind: DATA

View File

@ -32,7 +32,7 @@ Sections:
Body: 200008808080800041000B
- Type: CUSTOM
Name: linking
Version: 1
Version: 2
SymbolTable:
- Index: 0
Kind: FUNCTION
@ -78,7 +78,7 @@ Sections:
# CHECK-NEXT: Body: 200008808080800041000B
# CHECK-NEXT: - Type: CUSTOM
# CHECK-NEXT: Name: linking
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Version: 2
# CHECK-NEXT: SymbolTable:
# CHECK-NEXT: - Index: 0
# CHECK-NEXT: Kind: FUNCTION

View File

@ -13,7 +13,7 @@ Sections:
GlobalMutable: false
- Type: CUSTOM
Name: linking
Version: 1
Version: 2
SymbolTable:
- Index: 0
Kind: GLOBAL

View File

@ -29,7 +29,7 @@ Sections:
Content: '11110000'
- Type: CUSTOM
Name: linking
Version: 1
Version: 2
SymbolTable:
- Index: 0
Kind: FUNCTION

View File

@ -36,7 +36,7 @@ Sections:
Body: 00
- Type: CUSTOM
Name: linking
Version: 1
Version: 2
SymbolTable:
- Index: 0
Kind: FUNCTION

View File

@ -37,7 +37,7 @@ Sections:
Content: '616263'
- Type: CUSTOM
Name: linking
Version: 1
Version: 2
SymbolTable:
- Index: 0
Kind: FUNCTION

View File

@ -25,7 +25,7 @@ Sections:
GlobalMutable: false
- Type: CUSTOM
Name: linking
Version: 1
Version: 2
SymbolTable:
- Index: 0
Kind: FUNCTION

View File

@ -43,7 +43,7 @@ Sections:
Content: '616263'
- Type: CUSTOM
Name: linking
Version: 1
Version: 2
SymbolTable:
- Index: 0
Kind: DATA