summaryrefslogtreecommitdiff
path: root/test/core/gnulinkonce-rearrange-resolve.objtxt
diff options
context:
space:
mode:
Diffstat (limited to 'test/core/gnulinkonce-rearrange-resolve.objtxt')
-rw-r--r--test/core/gnulinkonce-rearrange-resolve.objtxt79
1 files changed, 79 insertions, 0 deletions
diff --git a/test/core/gnulinkonce-rearrange-resolve.objtxt b/test/core/gnulinkonce-rearrange-resolve.objtxt
new file mode 100644
index 0000000000000..2a6386a6935dd
--- /dev/null
+++ b/test/core/gnulinkonce-rearrange-resolve.objtxt
@@ -0,0 +1,79 @@
+# RUN: lld -core %s | FileCheck %s
+
+#
+# Test that gnu linkonce sections are parsed and the first section selected for symbol
+# resolution
+#
+
+---
+defined-atoms:
+ - name: g1
+ scope: global
+ type: gnu-linkonce
+ references:
+ - kind: group-child
+ target: f1
+ - kind: group-child
+ target: f2
+ - kind: group-child
+ target: g1
+ - kind: group-child
+ target: d1
+ - name: f1
+ scope: global
+ type: code
+ - name: f2
+ scope: global
+ type: code
+ - name: g1
+ scope: global
+ type: code
+ - name: d1
+ scope: global
+ type: data
+---
+defined-atoms:
+ - name: g1
+ scope: global
+ type: gnu-linkonce
+ references:
+ - kind: group-child
+ target: f1
+ - kind: group-child
+ target: f2
+ - kind: group-child
+ target: g1
+ - kind: group-child
+ target: d1
+ - name: f1
+ scope: global
+ type: code
+ - name: f2
+ scope: global
+ type: code
+ - name: g1
+ scope: global
+ type: code
+ - name: d1
+ scope: global
+ type: data
+...
+
+# CHECK: defined-atoms:
+# CHECK: - name: g1
+# CHECK: ref-name: [[PARENT:[a-zA-Z\.0-9_]+]]
+# CHECK: type: gnu-linkonce
+# CHECK: references:
+# CHECK: - kind: group-child
+# CHECK: target: f1
+# CHECK: - kind: group-child
+# CHECK: target: f2
+# CHECK: - kind: group-child
+# CHECK: target: [[CHILD:[a-zA-Z\.0-9_]+]]
+# CHECK: - kind: group-child
+# CHECK: target: d1
+# CHECK: - name: f1
+# CHECK: - name: f2
+# CHECK: - name: g1
+# CHECK: ref-name: [[CHILD]]
+# CHECK: - name: d1