diff options
author | Sam Clegg <sbc@chromium.org> | 2017-06-27 20:27:59 +0000 |
---|---|---|
committer | Sam Clegg <sbc@chromium.org> | 2017-06-27 20:27:59 +0000 |
commit | 9e1ade93a83635da90ff93586a1b9f503be8b8e8 (patch) | |
tree | 8a86cabda57202d4c2b23d83c210a54ad02fcec9 /llvm/test | |
parent | 25173e4cbab59cb1256ca42c7133e6a973ce358a (diff) | |
download | bcm5719-llvm-9e1ade93a83635da90ff93586a1b9f503be8b8e8.tar.gz bcm5719-llvm-9e1ade93a83635da90ff93586a1b9f503be8b8e8.zip |
[WebAssembly] Add data size and alignement to linking section
The overal size of the data section (including BSS)
is otherwise not included in the wasm binary.
Differential Revision: https://reviews.llvm.org/D34657
llvm-svn: 306459
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/MC/WebAssembly/unnamed-data.ll | 94 | ||||
-rw-r--r-- | llvm/test/MC/WebAssembly/weak-alias.ll | 2 | ||||
-rw-r--r-- | llvm/test/MC/WebAssembly/weak.ll | 2 | ||||
-rw-r--r-- | llvm/test/ObjectYAML/wasm/weak_symbols.yaml | 21 | ||||
-rw-r--r-- | llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml | 2 |
5 files changed, 75 insertions, 46 deletions
diff --git a/llvm/test/MC/WebAssembly/unnamed-data.ll b/llvm/test/MC/WebAssembly/unnamed-data.ll index 77a7c08f659..fd985088c1d 100644 --- a/llvm/test/MC/WebAssembly/unnamed-data.ll +++ b/llvm/test/MC/WebAssembly/unnamed-data.ll @@ -7,47 +7,53 @@ @b = global i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str2, i32 0, i32 0), align 8 -; CHECK: - Type: GLOBAL -; CHECK: Globals: -; CHECK: - Type: I32 -; CHECK: Mutable: false -; CHECK: InitExpr: -; CHECK: Opcode: I32_CONST -; CHECK: Value: 0 -; CHECK: - Type: I32 -; CHECK: Mutable: false -; CHECK: InitExpr: -; CHECK: Opcode: I32_CONST -; CHECK: Value: 6 -; CHECK: - Type: I32 -; CHECK: Mutable: false -; CHECK: InitExpr: -; CHECK: Opcode: I32_CONST -; CHECK: Value: 16 -; CHECK: - Type: I32 -; CHECK: Mutable: false -; CHECK: InitExpr: -; CHECK: Opcode: I32_CONST -; CHECK: Value: 24 -; CHECK: - Type: EXPORT -; CHECK: Exports: -; CHECK: - Name: a -; CHECK: Kind: GLOBAL -; CHECK: Index: 2 -; CHECK: - Name: b -; CHECK: Kind: GLOBAL -; CHECK: Index: 3 -; CHECK: - Type: DATA -; CHECK: Relocations: -; CHECK: - Type: R_WEBASSEMBLY_GLOBAL_ADDR_I32 -; CHECK: Index: 0 -; CHECK: Offset: 0x00000016 -; CHECK: - Type: R_WEBASSEMBLY_GLOBAL_ADDR_I32 -; CHECK: Index: 1 -; CHECK: Offset: 0x0000001E -; CHECK: Segments: -; CHECK: - Index: 0 -; CHECK: Offset: -; CHECK: Opcode: I32_CONST -; CHECK: Value: 0 -; CHECK: Content: 68656C6C6F00776F726C640000000000000000000000000006000000 +; CHECK: - Type: GLOBAL +; CHECK-NEXT: Globals: +; CHECK-NEXT: - Type: I32 +; CHECK-NEXT: Mutable: false +; CHECK-NEXT: InitExpr: +; CHECK-NEXT: Opcode: I32_CONST +; CHECK-NEXT: Value: 0 +; CHECK-NEXT: - Type: I32 +; CHECK-NEXT: Mutable: false +; CHECK-NEXT: InitExpr: +; CHECK-NEXT: Opcode: I32_CONST +; CHECK-NEXT: Value: 6 +; CHECK-NEXT: - Type: I32 +; CHECK-NEXT: Mutable: false +; CHECK-NEXT: InitExpr: +; CHECK-NEXT: Opcode: I32_CONST +; CHECK-NEXT: Value: 16 +; CHECK-NEXT: - Type: I32 +; CHECK-NEXT: Mutable: false +; CHECK-NEXT: InitExpr: +; CHECK-NEXT: Opcode: I32_CONST +; CHECK-NEXT: Value: 24 +; CHECK-NEXT: - Type: EXPORT +; CHECK-NEXT: Exports: +; CHECK-NEXT: - Name: a +; CHECK-NEXT: Kind: GLOBAL +; CHECK-NEXT: Index: 2 +; CHECK-NEXT: - Name: b +; CHECK-NEXT: Kind: GLOBAL +; CHECK-NEXT: Index: 3 +; CHECK-NEXT: - Type: DATA +; CHECK-NEXT: Relocations: +; CHECK-NEXT: - Type: R_WEBASSEMBLY_GLOBAL_ADDR_I32 +; CHECK-NEXT: Index: 0 +; CHECK-NEXT: Offset: 0x00000016 +; CHECK-NEXT: - Type: R_WEBASSEMBLY_GLOBAL_ADDR_I32 +; CHECK-NEXT: Index: 1 +; CHECK-NEXT: Offset: 0x0000001E +; CHECK-NEXT: Segments: +; CHECK-NEXT: - Index: 0 +; CHECK-NEXT: Offset: +; CHECK-NEXT: Opcode: I32_CONST +; CHECK-NEXT: Value: 0 +; CHECK-NEXT: Content: 68656C6C6F00776F726C640000000000000000000000000006000000 +; CHECK-NEXT: - Type: CUSTOM +; CHECK-NEXT: Name: linking +; CHECK-NEXT: DataSize: 28 +; CHECK-NEXT: DataAlignment: 8 +; CHECK-NEXT: SymbolInfo: +; CHECK-NEXT: ... diff --git a/llvm/test/MC/WebAssembly/weak-alias.ll b/llvm/test/MC/WebAssembly/weak-alias.ll index 9e4cc4e587d..6e2b8631d2b 100644 --- a/llvm/test/MC/WebAssembly/weak-alias.ll +++ b/llvm/test/MC/WebAssembly/weak-alias.ll @@ -27,6 +27,8 @@ entry: ; CHECK-NEXT: Name: foo ; CHECK-NEXT: - Type: CUSTOM ; CHECK-NEXT: Name: linking +; CHECK-NEXT: DataSize: 0 +; CHECK-NEXT: DataAlignment: 0 ; CHECK-NEXT: SymbolInfo: ; CHECK-NEXT: - Name: foo_alias ; CHECK-NEXT: Flags: 1 diff --git a/llvm/test/MC/WebAssembly/weak.ll b/llvm/test/MC/WebAssembly/weak.ll index 73d40afbd98..1bc06fec591 100644 --- a/llvm/test/MC/WebAssembly/weak.ll +++ b/llvm/test/MC/WebAssembly/weak.ll @@ -26,6 +26,8 @@ entry: ; CHECK-NEXT: Name: weak_function ; CHECK-NEXT: - Type: CUSTOM ; CHECK-NEXT: Name: linking +; CHECK-NEXT: DataSize: 0 +; CHECK-NEXT: DataAlignment: 0 ; CHECK-NEXT: SymbolInfo: ; CHECK-NEXT: - Name: weak_external_data ; CHECK-NEXT: Flags: 1 diff --git a/llvm/test/ObjectYAML/wasm/weak_symbols.yaml b/llvm/test/ObjectYAML/wasm/weak_symbols.yaml index 0ae8c9bec2a..ab80c1e5029 100644 --- a/llvm/test/ObjectYAML/wasm/weak_symbols.yaml +++ b/llvm/test/ObjectYAML/wasm/weak_symbols.yaml @@ -3,6 +3,19 @@ FileHeader: Version: 0x00000001 Sections: + - Type: TYPE + Signatures: + - ReturnType: I32 + ParamTypes: + - Type: FUNCTION + FunctionTypes: [ 0, 0 ] + - Type: GLOBAL + Globals: + - Type: I32 + Mutable: false + InitExpr: + Opcode: I32_CONST + Value: 1 - Type: EXPORT Exports: - Name: function_export @@ -10,9 +23,11 @@ Sections: Index: 1 - Name: global_export Kind: GLOBAL - Index: 2 + Index: 0 - Type: CUSTOM Name: linking + DataSize: 10 + DataAlignment: 2 SymbolInfo: - Name: function_export Flags: 1 @@ -30,9 +45,11 @@ Sections: # CHECK: Index: 1 # CHECK: - Name: global_export # CHECK: Kind: GLOBAL -# CHECK: Index: 2 +# CHECK: Index: 0 # CHECK: - Type: CUSTOM # CHECK: Name: linking +# CHECK: DataSize: 10 +# CHECK: DataAlignment: 2 # CHECK: SymbolInfo: # CHECK: - Name: function_export # CHECK: Flags: 1 diff --git a/llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml b/llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml index 682a874ea59..d46ca1afe8e 100644 --- a/llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml +++ b/llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml @@ -33,6 +33,8 @@ Sections: Index: 0x00000002 - Type: CUSTOM Name: linking + DataSize: 0 + DataAlignment: 2 SymbolInfo: - Name: weak_global_func Flags: 1 |