]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/core/shared-library-coalesce.objtxt
Vendor import of lld trunk r233088:
[FreeBSD/FreeBSD.git] / test / core / shared-library-coalesce.objtxt
1 # RUN: lld -core %s | FileCheck %s
2
3 #
4 # Test that shared library symbols preserve their attributes and merge properly
5 #
6
7 ---
8 shared-library-atoms:
9     - name:              foo1
10       load-name:         libc.so
11
12     - name:              foo2
13       load-name:         libc.so
14
15     - name:              bar1
16       load-name:         libc.so
17       can-be-null:       at-runtime
18
19     - name:              bar2
20       load-name:         libc.so
21       can-be-null:       at-runtime
22
23     - name:              mismatchNull1
24       load-name:         libc.so
25       can-be-null:       at-runtime
26
27     - name:              mismatchNull2
28       load-name:         libc.so
29
30     - name:              mismatchload1
31       load-name:         liba.so
32
33     - name:              mismatchload2
34       load-name:         libb.so
35
36 ---
37 shared-library-atoms:
38     - name:              foo2
39       load-name:         libc.so
40
41     - name:              foo3
42       load-name:         libc.so
43
44     - name:              bar2
45       load-name:         libc.so
46       can-be-null:       at-runtime
47
48     - name:              bar3
49       load-name:         libc.so
50       can-be-null:       at-runtime
51
52     - name:              mismatchNull1
53       load-name:         libc.so
54
55     - name:              mismatchNull2
56       load-name:         libc.so
57       can-be-null:       at-runtime
58
59     - name:              mismatchload1
60       load-name:         libb.so
61
62     - name:              mismatchload2
63       load-name:         liba.so
64
65 ...
66
67 # CHECK:       name:       foo1
68 # CHECK:       name:       foo2
69 # CHECK:       name:       bar1
70 # CHECK:     can-be-null:  at-runtime
71 # CHECK:       name:       bar2
72 # CHECK:     can-be-null:  at-runtime
73 # CHECK:       name:       mismatchNull1
74 # CHECK:     can-be-null:  at-runtime
75 # CHECK:       name:       mismatchNull2
76 # CHECK-NOT: can-be-null:  at-runtime
77 # CHECK:       name:       mismatchload1
78 # CHECK:     load-name:    liba.so
79 # CHECK:       name:       mismatchload2
80 # CHECK:     load-name:    libb.so
81 # CHECK:       name:       foo3
82 # CHECK:       name:       bar3
83 # CHECK:     can-be-null:  at-runtime
84 # CHECK:       ...