1 ## In this test we check the --needed-libs option.
3 # RUN: yaml2obj %s --docnum=1 -o %t1
4 # RUN: llvm-readobj --needed-libs %t1 2>&1 \
5 # RUN: | FileCheck %s -DFILE=%t1 --implicit-check-not=warning: --strict-whitespace --check-prefix=NEEDED-LIBS
6 # RUN: llvm-readelf --needed-libs %t1 2>&1 \
7 # RUN: | FileCheck %s -DFILE=%t1 --implicit-check-not=warning: --strict-whitespace --check-prefix=NEEDED-LIBS
8 # RUN: llvm-readobj --elf-output-style=JSON --needed-libs --pretty-print %t1 2>&1 \
9 # RUN: | FileCheck %s -DFILE=%t1 --implicit-check-not=warning: --match-full-lines --strict-whitespace --check-prefix=JSON
11 ## Check that library names are sorted when printed.
12 ## Document that we also sort error entries.
14 # NEEDED-LIBS:{{^}}NeededLibraries [{{$}}
15 # NEEDED-LIBS-NEXT: warning: '[[FILE]]': string table at offset 0x78: unable to read the string at 0x9999a11: it goes past the end of the table (0x85){{$}}
16 # NEEDED-LIBS-NEXT: warning: '[[FILE]]': string table at offset 0x78: unable to read the string at 0x1111189: it goes past the end of the table (0x85){{$}}
17 # NEEDED-LIBS-NEXT:{{^}} <?>{{$}}
18 # NEEDED-LIBS-NEXT:{{^}} <?>{{$}}
19 # NEEDED-LIBS-NEXT:{{^}} aaa{{$}}
20 # NEEDED-LIBS-NEXT:{{^}} bbb{{$}}
21 # NEEDED-LIBS-NEXT:{{^}} ccc{{$}}
22 # NEEDED-LIBS-NEXT:{{^}}]{{$}}
24 # JSON: "FileSummary": {
25 # JSON: "NeededLibraries": [{{.*}}warning: '[[FILE]]': string table at offset 0x78: unable to read the string at 0x9999a11: it goes past the end of the table (0x85)
26 # JSON-NEXT:{{.*}}warning: '[[FILE]]': string table at offset 0x78: unable to read the string at 0x1111189: it goes past the end of the table (0x85)
44 Content: '00616161006262620063636300' ## 0,a,a,a,0,b,b,b,0,c,c,c,0
49 Value: 0x0000000000000000
70 ## Check what we print when the dynamic string table is empty.
71 # RUN: yaml2obj %s --docnum=2 -o %t2
72 # RUN: llvm-readobj --needed-libs %t2 2>&1 | \
73 # RUN: FileCheck %s -DFILE=%t2 --implicit-check-not=warning: --check-prefix=EMPTY-DYNSTR
74 # RUN: llvm-readelf --needed-libs %t2 2>&1 | \
75 # RUN: FileCheck %s -DFILE=%t2 --implicit-check-not=warning: --check-prefix=EMPTY-DYNSTR
77 # EMPTY-DYNSTR: NeededLibraries [
78 # EMPTY-DYNSTR-NEXT: warning: '[[FILE]]': string table at offset 0x78: unable to read the string at 0x79: it goes past the end of the table (0x78)
79 # EMPTY-DYNSTR-NEXT: warning: '[[FILE]]': string table at offset 0x78: unable to read the string at 0x7a: it goes past the end of the table (0x78)
80 # EMPTY-DYNSTR-NEXT: <?>
81 # EMPTY-DYNSTR-NEXT: <?>
82 # EMPTY-DYNSTR-NEXT: ]
99 Value: 0x0000000000000000