[clang] Propagate -ftime-report to offload lto (#122143)
[llvm-project.git] / llvm / test / tools / llvm-readobj / ELF / file-summary-json.test
blob458b94e0b94f9639d435c13e8c7b241cf3be7fb0
1 ## Test how we output JSON file summaries.
3 # RUN: rm -rf %t.dir
4 # RUN: mkdir -p %t.dir
5 # RUN: yaml2obj %s -o %t.dir/obj
7 ## Test outputting file summary for a single file.
8 # RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.dir/obj | \
9 # RUN:   FileCheck %s --check-prefix=SINGLE \
10 # RUN:     --match-full-lines --strict-whitespace --implicit-check-not={{.}}
12 #      SINGLE:[
13 # SINGLE-NEXT:  {
14 # SINGLE-NEXT:    "FileSummary": {
15 # SINGLE-NEXT:      "File": "{{.*}}/obj",
16 # SINGLE-NEXT:      "Format": "elf64-x86-64",
17 # SINGLE-NEXT:      "Arch": "x86_64",
18 # SINGLE-NEXT:      "AddressSize": "64bit",
19 # SINGLE-NEXT:      "LoadName": "<Not found>"
20 # SINGLE-NEXT:    }
21 # SINGLE-NEXT:  }
22 # SINGLE-NEXT:]
24 ## Test outputting file summary for multiple files.
25 # RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.dir/obj %t.dir/obj | \
26 # RUN:   FileCheck %s --check-prefix=MULTI \
27 # RUN:     --match-full-lines --strict-whitespace --implicit-check-not={{.}}
29 #      MULTI:[
30 # MULTI-NEXT:  {
31 # MULTI-NEXT:    "FileSummary": {
32 # MULTI-NEXT:      "File": "{{.*}}/obj",
33 # MULTI-NEXT:      "Format": "elf64-x86-64",
34 # MULTI-NEXT:      "Arch": "x86_64",
35 # MULTI-NEXT:      "AddressSize": "64bit",
36 # MULTI-NEXT:      "LoadName": "<Not found>"
37 # MULTI-NEXT:    }
38 # MULTI-NEXT:  },
39 # MULTI-NEXT:  {
40 # MULTI-NEXT:    "FileSummary": {
41 # MULTI-NEXT:      "File": "{{.*}}/obj",
42 # MULTI-NEXT:      "Format": "elf64-x86-64",
43 # MULTI-NEXT:      "Arch": "x86_64",
44 # MULTI-NEXT:      "AddressSize": "64bit",
45 # MULTI-NEXT:      "LoadName": "<Not found>"
46 # MULTI-NEXT:    }
47 # MULTI-NEXT:  }
48 # MULTI-NEXT:]
50 ## Test outputting file summary for an archive with a single file.
51 # RUN: rm -f %t.archive-single
52 # RUN: llvm-ar rc %t.archive-single %t.dir/obj
53 # RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.archive-single | \
54 # RUN:   FileCheck %s --check-prefix=ARCH-SINGLE \
55 # RUN:     --match-full-lines --strict-whitespace --implicit-check-not={{.}}
57 #      ARCH-SINGLE:[
58 # ARCH-SINGLE-NEXT:  {
59 # ARCH-SINGLE-NEXT:    "FileSummary": {
60 # ARCH-SINGLE-NEXT:      "File": "{{.*}}.archive-single(obj)",
61 # ARCH-SINGLE-NEXT:      "Format": "elf64-x86-64",
62 # ARCH-SINGLE-NEXT:      "Arch": "x86_64",
63 # ARCH-SINGLE-NEXT:      "AddressSize": "64bit",
64 # ARCH-SINGLE-NEXT:      "LoadName": "<Not found>"
65 # ARCH-SINGLE-NEXT:    }
66 # ARCH-SINGLE-NEXT:  }
67 # ARCH-SINGLE-NEXT:]
69 ## Test outputting file summary for an archive with multiple files.
70 # RUN: rm -f %t.archive-multiple
71 # RUN: llvm-ar rc %t.archive-multiple %t.dir/obj %t.dir/obj
72 # RUN: llvm-readobj --elf-output-style=JSON --pretty-print %t.archive-multiple | \
73 # RUN:   FileCheck %s --check-prefix=ARCH-MULTI \
74 # RUN:     --match-full-lines --strict-whitespace --implicit-check-not={{.}}
76 #      ARCH-MULTI:[
77 # ARCH-MULTI-NEXT:  {
78 # ARCH-MULTI-NEXT:    "FileSummary": {
79 # ARCH-MULTI-NEXT:      "File": "{{.*}}.archive-multiple(obj)",
80 # ARCH-MULTI-NEXT:      "Format": "elf64-x86-64",
81 # ARCH-MULTI-NEXT:      "Arch": "x86_64",
82 # ARCH-MULTI-NEXT:      "AddressSize": "64bit",
83 # ARCH-MULTI-NEXT:      "LoadName": "<Not found>"
84 # ARCH-MULTI-NEXT:    }
85 # ARCH-MULTI-NEXT:  },
86 # ARCH-MULTI-NEXT:  {
87 # ARCH-MULTI-NEXT:    "FileSummary": {
88 # ARCH-MULTI-NEXT:      "File": "{{.*}}.archive-multiple(obj)",
89 # ARCH-MULTI-NEXT:      "Format": "elf64-x86-64",
90 # ARCH-MULTI-NEXT:      "Arch": "x86_64",
91 # ARCH-MULTI-NEXT:      "AddressSize": "64bit",
92 # ARCH-MULTI-NEXT:      "LoadName": "<Not found>"
93 # ARCH-MULTI-NEXT:    }
94 # ARCH-MULTI-NEXT:  }
95 # ARCH-MULTI-NEXT:]
97 --- !ELF
98 FileHeader:
99   Class:   ELFCLASS64
100   Data:    ELFDATA2LSB
101   Type:    ET_REL
102   Machine: EM_X86_64