41 lines
1.4 KiB
Plaintext
41 lines
1.4 KiB
Plaintext
# RUN: %clang -emit-interface-stubs -o - %s %S/object.ifs -emit-merged-ifs | \
|
|
# RUN: FileCheck %s --check-prefixes=CHECK-IFS
|
|
|
|
# RUN: %clang -emit-interface-stubs -o - %s %S/object.ifs | llvm-readelf --all - | \
|
|
# RUN: FileCheck %s --check-prefixes=CHECK-ELF
|
|
|
|
# RUN: %clang -emit-interface-stubs -o - %s %s -emit-merged-ifs | \
|
|
# RUN: FileCheck %s --check-prefixes=CHECK-MERGE-IFS
|
|
|
|
# CHECK-IFS: --- !experimental-ifs-v2
|
|
# CHECK-IFS-NEXT: IfsVersion: 2.0
|
|
# CHECK-IFS-NEXT: Triple: x86_64-linux-gnu
|
|
# CHECK-IFS-NEXT: ObjectFileFormat: ELF
|
|
# CHECK-IFS-NEXT: Symbols:
|
|
# CHECK-IFS-DAG: - { Name: a, Type: Func }
|
|
# CHECK-IFS-DAG: - { Name: b, Type: Object, Size: 4 }
|
|
# CHECK-IFS: ...
|
|
|
|
# CHECK-ELF: ELF Header:
|
|
# CHECK-ELF: Class: ELF64
|
|
# CHECK-ELF: Type: DYN (Shared object file)
|
|
# CHECK-ELF: FUNC GLOBAL DEFAULT 1 a
|
|
# CHECK-ELF: OBJECT GLOBAL DEFAULT 1 b
|
|
|
|
# Here we are testing to see if two identical symbols will merge.
|
|
# CHECK-MERGE-IFS: --- !experimental-ifs-v2
|
|
# CHECK-MERGE-IFS-NEXT: IfsVersion: 2.0
|
|
# CHECK-MERGE-IFS-NEXT: Triple: x86_64-linux-gnu
|
|
# CHECK-MERGE-IFS-NEXT: ObjectFileFormat: ELF
|
|
# CHECK-MERGE-IFS-NEXT: Symbols:
|
|
# CHECK-MERGE-IFS-NEXT: - { Name: a, Type: Func }
|
|
# CHECK-MERGE-IFS-NEXT: ...
|
|
|
|
--- !experimental-ifs-v2
|
|
IfsVersion: 2.0
|
|
Triple: x86_64-linux-gnu
|
|
ObjectFileFormat: ELF
|
|
Symbols:
|
|
- { Name: a, Type: Func }
|
|
...
|