llvm-project/lld/test/core/sectiongroup-deadstrip.objtxt

89 lines
2.6 KiB
Plaintext

# Test for section group members be preserved even if there is a
# reference to only one functions in the group.
# RUN: lld -core --dead-strip %s | FileCheck %s
#
# Test that section groups are parsed properly when there is a reference to a
# group atom from outside a group.
#
---
defined-atoms:
- name: entry
dead-strip: never
references:
- offset: 1
kind: pcrel32
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
- name: g1
scope: global
type: group-comdat
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
references:
- kind: layout-before
target: f1
---
undefined-atoms:
- name: f1
can-be-null: never
...
#CHECK: defined-atoms:
#CHECK: - name: g1
#CHECK: ref-name: [[PARENT:[a-zA-Z\.0-9_]+]]
#CHECK: scope: global
#CHECK: type: group-comdat
#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: - 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
#CHECK: references:
#CHECK: - kind: layout-before
#CHECK: offset: 0
#CHECK: target: f1