| # RUN: lld -core %s %p/Inputs/gnulinkonce-simple.objtxt | FileCheck %s |
| |
| # |
| # Test that gnu linkonce sections are parsed properly when there is a reference to a |
| # atom from outside the gnu linkonce section. |
| # |
| |
| --- |
| defined-atoms: |
| - name: f1 |
| scope: global |
| type: code |
| references: |
| - kind: layout-after |
| target: anotherfunction |
| - name: f2 |
| scope: global |
| type: code |
| - name: g1 |
| scope: global |
| type: code |
| - name: d1 |
| scope: global |
| type: data |
| - name: g1 |
| scope: global |
| type: gnu-linkonce |
| references: |
| - kind: group-child |
| target: f1 |
| - kind: group-child |
| target: f2 |
| - kind: group-child |
| target: d1 |
| - kind: group-child |
| target: g1 |
| - name: anotherfunction |
| scope: global |
| type: data |
| ... |
| |
| #CHECK: defined-atoms: |
| #CHECK: - name: g1 |
| #CHECK: ref-name: [[PARENT:[a-zA-Z\.0-9_]+]] |
| #CHECK: scope: global |
| #CHECK: type: gnu-linkonce |
| #CHECK: references: |
| #CHECK: - kind: group-child |
| #CHECK: offset: 0 |
| #CHECK: target: f1 |
| #CHECK: - kind: group-child |
| #CHECK: offset: 0 |
| #CHECK: target: f2 |
| #CHECK: - kind: group-child |
| #CHECK: offset: 0 |
| #CHECK: target: d1 |
| #CHECK: - kind: group-child |
| #CHECK: offset: 0 |
| #CHECK: target: [[GCHILD:[a-zA-Z\.0-9_]+]] |
| #CHECK: - name: f1 |
| #CHECK: scope: global |
| #CHECK: references: |
| #CHECK: - kind: layout-after |
| #CHECK: offset: 0 |
| #CHECK: target: anotherfunction |
| #CHECK: - name: f2 |
| #CHECK: scope: global |
| #CHECK: - name: d1 |
| #CHECK: scope: global |
| #CHECK: type: data |
| #CHECK: - name: g1 |
| #CHECK: ref-name: [[GCHILD]] |
| #CHECK: scope: global |
| #CHECK: - name: anotherfunction |
| #CHECK: scope: global |
| #CHECK: type: data |