|
| 1 | +# RUN: llvm-ifs -action write-ifs -o - %s %S/object.ifs | \ |
| 2 | +# RUN: FileCheck %s --check-prefixes=CHECK-IFS |
| 3 | + |
| 4 | +# RUN: llvm-ifs -action write-bin -o - %s %S/object.ifs | \ |
| 5 | +# RUN: llvm-readelf --all | FileCheck %s --check-prefixes=CHECK-ELF |
| 6 | + |
| 7 | +# RUN: llvm-ifs -action write-bin -force-format TBD -o - %s %S/object.ifs | \ |
| 8 | +# RUN: FileCheck %s --check-prefixes=CHECK-DARWIN-TBD3 |
| 9 | + |
| 10 | +# RUN: llvm-ifs -action write-ifs -o - %s %s | \ |
| 11 | +# RUN: FileCheck %s --check-prefixes=CHECK-MERGE-IFS |
| 12 | + |
| 13 | +# CHECK-IFS: --- !experimental-ifs-v1 |
| 14 | +# CHECK-IFS-NEXT: IfsVersion: 1.0 |
| 15 | +# CHECK-IFS-NEXT: Triple: x86_64-unknown-linux-gnu |
| 16 | +# CHECK-IFS-NEXT: ObjectFileFormat: ELF |
| 17 | +# CHECK-IFS-NEXT: Symbols: |
| 18 | +# CHECK-IFS-DAG: a: { Type: Func } |
| 19 | +# CHECK-IFS-DAG: b: { Type: Object, Size: 4 } |
| 20 | +# CHECK-IFS: ... |
| 21 | + |
| 22 | +# CHECK-ELF: ELF Header: |
| 23 | +# CHECK-ELF: Class: ELF64 |
| 24 | +# CHECK-ELF: Type: DYN (Shared object file) |
| 25 | +# CHECK-ELF: FUNC GLOBAL DEFAULT 1 a |
| 26 | +# CHECK-ELF: OBJECT GLOBAL DEFAULT 1 b |
| 27 | + |
| 28 | +# CHECK-DARWIN-TBD3: --- !tapi-tbd-v3 |
| 29 | +# CHECK-DARWIN-TBD3-NEXT: archs: [ x86_64 ] |
| 30 | +# CHECK-DARWIN-TBD3-NEXT: platform: macosx |
| 31 | +# CHECK-DARWIN-TBD3-NEXT: flags: [ flat_namespace, not_app_extension_safe ] |
| 32 | +# CHECK-DARWIN-TBD3-NEXT: install-name: '' |
| 33 | +# CHECK-DARWIN-TBD3-NEXT: current-version: 0 |
| 34 | +# CHECK-DARWIN-TBD3-NEXT: compatibility-version: 0 |
| 35 | +# CHECK-DARWIN-TBD3-NEXT: objc-constraint: none |
| 36 | +# CHECK-DARWIN-TBD3-NEXT: exports: |
| 37 | +# CHECK-DARWIN-TBD3-NEXT: - archs: [ x86_64 ] |
| 38 | +# CHECK-DARWIN-TBD3-NEXT: symbols: [ a, b ] |
| 39 | +# CHECK-DARWIN-TBD3-NEXT: ... |
| 40 | + |
| 41 | +# Here we are testing to see if two identical symbols will merge. |
| 42 | +# CHECK-MERGE-IFS: --- !experimental-ifs-v1 |
| 43 | +# CHECK-MERGE-IFS-NEXT: IfsVersion: 1.0 |
| 44 | +# CHECK-MERGE-IFS-NEXT: Triple: x86_64-unknown-linux-gnu |
| 45 | +# CHECK-MERGE-IFS-NEXT: ObjectFileFormat: ELF |
| 46 | +# CHECK-MERGE-IFS-NEXT: Symbols: |
| 47 | +# CHECK-MERGE-IFS-NEXT: a: { Type: Func } |
| 48 | +# CHECK-MERGE-IFS-NEXT: ... |
| 49 | + |
| 50 | +--- !experimental-ifs-v1 |
| 51 | +IfsVersion: 1.0 |
| 52 | +Triple: x86_64-unknown-linux-gnu |
| 53 | +ObjectFileFormat: ELF |
| 54 | +Symbols: |
| 55 | + a: { Type: Func } |
| 56 | +... |
0 commit comments