summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2017-06-27 20:27:59 +0000
committerSam Clegg <sbc@chromium.org>2017-06-27 20:27:59 +0000
commit9e1ade93a83635da90ff93586a1b9f503be8b8e8 (patch)
tree8a86cabda57202d4c2b23d83c210a54ad02fcec9 /llvm/test
parent25173e4cbab59cb1256ca42c7133e6a973ce358a (diff)
downloadbcm5719-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.ll94
-rw-r--r--llvm/test/MC/WebAssembly/weak-alias.ll2
-rw-r--r--llvm/test/MC/WebAssembly/weak.ll2
-rw-r--r--llvm/test/ObjectYAML/wasm/weak_symbols.yaml21
-rw-r--r--llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml2
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
OpenPOWER on IntegriCloud