2012-02-23 05:56:59 +08:00
|
|
|
# RUN: lld-core %s | FileCheck %s
|
|
|
|
|
|
|
|
#
|
|
|
|
# Test that shared library symbols preserve their attributes and merge properly
|
|
|
|
#
|
|
|
|
|
|
|
|
---
|
2013-01-05 10:22:35 +08:00
|
|
|
shared-library-atoms:
|
2012-02-23 05:56:59 +08:00
|
|
|
- name: foo1
|
|
|
|
load-name: libc.so
|
|
|
|
|
|
|
|
- name: foo2
|
|
|
|
load-name: libc.so
|
|
|
|
|
|
|
|
- name: bar1
|
|
|
|
load-name: libc.so
|
|
|
|
can-be-null: at-runtime
|
|
|
|
|
|
|
|
- name: bar2
|
|
|
|
load-name: libc.so
|
|
|
|
can-be-null: at-runtime
|
|
|
|
|
|
|
|
- name: mismatchNull1
|
|
|
|
load-name: libc.so
|
|
|
|
can-be-null: at-runtime
|
|
|
|
|
|
|
|
- name: mismatchNull2
|
|
|
|
load-name: libc.so
|
|
|
|
|
|
|
|
- name: mismatchload1
|
|
|
|
load-name: liba.so
|
|
|
|
|
|
|
|
- name: mismatchload2
|
|
|
|
load-name: libb.so
|
|
|
|
|
|
|
|
---
|
2013-01-05 10:22:35 +08:00
|
|
|
shared-library-atoms:
|
2012-02-23 05:56:59 +08:00
|
|
|
- name: foo2
|
|
|
|
load-name: libc.so
|
|
|
|
|
|
|
|
- name: foo3
|
|
|
|
load-name: libc.so
|
|
|
|
|
|
|
|
- name: bar2
|
|
|
|
load-name: libc.so
|
|
|
|
can-be-null: at-runtime
|
|
|
|
|
|
|
|
- name: bar3
|
|
|
|
load-name: libc.so
|
|
|
|
can-be-null: at-runtime
|
|
|
|
|
|
|
|
- name: mismatchNull1
|
|
|
|
load-name: libc.so
|
|
|
|
|
|
|
|
- name: mismatchNull2
|
|
|
|
load-name: libc.so
|
|
|
|
can-be-null: at-runtime
|
|
|
|
|
|
|
|
- name: mismatchload1
|
|
|
|
load-name: libb.so
|
|
|
|
|
|
|
|
- name: mismatchload2
|
|
|
|
load-name: liba.so
|
|
|
|
|
|
|
|
...
|
|
|
|
|
|
|
|
# CHECK: name: foo1
|
|
|
|
# CHECK: name: foo2
|
|
|
|
# CHECK: name: bar1
|
|
|
|
# CHECK: can-be-null: at-runtime
|
|
|
|
# CHECK: name: bar2
|
|
|
|
# CHECK: can-be-null: at-runtime
|
|
|
|
# CHECK: name: mismatchNull1
|
|
|
|
# CHECK: can-be-null: at-runtime
|
|
|
|
# CHECK: name: mismatchNull2
|
|
|
|
# CHECK-NOT: can-be-null: at-runtime
|
|
|
|
# CHECK: name: mismatchload1
|
|
|
|
# CHECK: load-name: liba.so
|
|
|
|
# CHECK: name: mismatchload2
|
|
|
|
# CHECK: load-name: libb.so
|
|
|
|
# CHECK: name: foo3
|
|
|
|
# CHECK: name: bar3
|
|
|
|
# CHECK: can-be-null: at-runtime
|
|
|
|
# CHECK: ...
|