## Test that --section works correctly for -h.
## We test the LMA here too, because the code at the time of writing uses the 
## value of --section when looking up section LMAs.
# RUN: yaml2obj %s --docnum=1 -o %t.h.elf
# RUN: llvm-objdump -h %t.h.elf -j.text --section=.bss \
# RUN:   | FileCheck %s --check-prefix=SHDRS --implicit-check-not=.data --implicit-check-not=.text2

# SHDRS: Name  Size     VMA              LMA
# SHDRS: .text 00000001 0000000000000400 0000000000001000
# SHDRS: .bss  00000001 0000000000000420 0000000000003000

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name:         .text
    Type:         SHT_PROGBITS
    Flags:        [SHF_ALLOC, SHF_EXECINSTR]
    Address:      0x400
    AddressAlign: 0x10
    Content:      'c3'
  - Name:         .text2
    Type:         SHT_PROGBITS
    Flags:        [SHF_ALLOC, SHF_EXECINSTR]
    Address:      0x401
    Content:      '90'
  - Name:         .data
    Type:         SHT_PROGBITS
    Flags:        [SHF_ALLOC, SHF_WRITE]
    Address:      0x410
    AddressAlign: 0x10
    Content:      '42'
  - Name:         .bss
    Type:         SHT_NOBITS
    Flags:        [SHF_ALLOC, SHF_WRITE]
    Address:      0x420
    AddressAlign: 0x10
    Size:         1
ProgramHeaders:
  - Type:     PT_LOAD
    VAddr:    0x400
    PAddr:    0x1000
    FirstSec: .text
    LastSec:  .text2
  - Type:     PT_LOAD
    VAddr:    0x410
    PAddr:    0x2000
    FirstSec: .data
    LastSec:  .data
  - Type:     PT_LOAD
    VAddr:    0x420
    PAddr:    0x3000
    FirstSec: .bss
    LastSec:  .bss

## Test that --section works with --fault-map-section.
# RUN: yaml2obj %s --docnum=2 -o %t.o
# RUN: llvm-objdump %t.o --fault-map-section -j __clangast \
# RUN:   | FileCheck %s --check-prefixes=FAULTMAP,NO-FAULTMAP
# RUN: llvm-objdump %t.o --fault-map-section -j .llvm_faultmaps \
# RUN:   | FileCheck %s --check-prefixes=FAULTMAP,WITH-FAULTMAP

# FAULTMAP:           FaultMap table:
# NO-FAULTMAP-NEXT:   <not found>
# WITH-FAULTMAP-NEXT: Version: 0x1
# WITH-FAULTMAP-NEXT: NumFunctions: 0

## Test that --section works with --raw-clang-ast.
# RUN: llvm-objdump %t.o --raw-clang-ast -j .llvm_faultmaps \
# RUN:   | FileCheck %s --check-prefix=NO-AST --allow-empty
# RUN: llvm-objdump %t.o --raw-clang-ast -j __clangast \
# RUN:   | FileCheck %s --check-prefix=CLANG-AST

# NO-AST-NOT: {{.}}
# CLANG-AST: foobar

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name:    .llvm_faultmaps
    Type:    SHT_PROGBITS
    Content: '0100000000000000'
  - Name:    __clangast
    Type:    SHT_PROGBITS
    Content: '666f6f626172' # "foobar"

## Test that the -j alias can be used flexibly. Create a baseline and ensure
## all other combinations compatible with POSIX are identical.
# RUN: llvm-objdump %t.h.elf -h -s --section .symtab > %t.full
# RUN: llvm-objdump %t.h.elf -h -s -j .symtab > %t.1
# RUN: llvm-objdump %t.h.elf -h -s -j.symtab > %t.2
# RUN: llvm-objdump %t.h.elf -hsj .symtab > %t.3
# RUN: llvm-objdump %t.h.elf -hsj.symtab > %t.4

# RUN: cmp %t.full %t.1
# RUN: cmp %t.full %t.2
# RUN: cmp %t.full %t.3
# RUN: cmp %t.full %t.4

## Test that an unknown section name causes all section output to be suppressed.
# RUN: llvm-objdump %t.h.elf -h --section foobar \
# RUN:   | FileCheck %s --check-prefix=NO-SECTION

# NO-SECTION:      Sections:
# NO-SECTION-NEXT: Idx Name Size VMA Type
# NO-SECTION-NOT:  {{.}}
