| ## In this test we check that short command line options can be merged. |
| |
| ## Check merged args produce identical output to when not merged. |
| # RUN: yaml2obj %s -o %t.o |
| # RUN: llvm-readelf -aeWhSrnudlVgIs %t.o > %t.merged |
| # RUN: llvm-readelf -a -e -W -h -S -r -n -u -d -l -V -g -I -s %t.o > %t.not-merged |
| # RUN: cmp %t.merged %t.not-merged |
| # RUN: FileCheck %s --input-file %t.merged |
| |
| ## Check that the output without -a (--all) option is the same. We do it |
| ## to verify that each of the options is handled, and not just the first |
| ## one nor just -a, which triggers all other options. |
| # RUN: llvm-readelf -eWhSrnudlVgIs %t.o > %t.merged.no.a |
| # RUN: cmp %t.merged %t.merged.no.a |
| |
| ## -e (--headers) is equivalent to setting --file-headers (-h), |
| ## --program-headers (-l) and --section-headers (-S). |
| ## Check that the output without -e is equal to the output with it. |
| ## We do not use -a in this test either. |
| # RUN: llvm-readelf -WhSrnudlVgIs %t.o > %t.merged.no.ae |
| # RUN: cmp %t.merged %t.merged.no.ae |
| |
| ## An arbitrary YAML description that triggers an output for each of |
| ## the short option from the test sequence. |
| |
| --- !ELF |
| FileHeader: |
| Class: ELFCLASS64 |
| Data: ELFDATA2LSB |
| Type: ET_EXEC |
| Machine: EM_X86_64 |
| Sections: |
| - Name: .note.ABI-tag |
| Type: SHT_NOTE |
| ## An arbitrary valid note content. |
| Content: 040000001000000001000000474E550000000000020000000600000020000000 |
| - Name: .eh_frame |
| Type: SHT_PROGBITS |
| - Name: .dynamic |
| Type: SHT_DYNAMIC |
| Entries: |
| - Tag: DT_NULL |
| Value: 0 |
| - Name: .gnu.version |
| Type: SHT_GNU_versym |
| Flags: [ SHF_ALLOC ] |
| Entries: [ 0, 1 ] |
| DynamicSymbols: |
| - Name: foo |
| Binding: STB_GLOBAL |
| |
| ## llvm-readobj does not support merged args, because it also supports some old |
| ## flags (-st, -sd, etc.), and it would be confusing if only some merged args |
| ## were supported. |
| # RUN: not llvm-readobj -aeWhSrnudlVgIs %t.o 2>&1 | FileCheck %s --check-prefix=UNKNOWN |
| |
| # CHECK-NOT: Unknown command line argument |
| # UNKNOWN: for the --section-headers option: may only occur zero or one times! |