## An empty dynamic section is invalid. Test we report a warning instead of an
## error, so that dumping can continue with other objects.
# RUN: yaml2obj %s --docnum=1 -o %t.empty
# RUN: llvm-objdump -p %t.empty 2>&1 | FileCheck %s -DFILE=%t.empty --check-prefix=EMPTY

# EMPTY:       Program Header:
# EMPTY-NEXT:  warning: '[[FILE]]': invalid empty dynamic section
# EMPTY-EMPTY:

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
Sections:
  - Name: .dynamic
    Type: SHT_DYNAMIC

# RUN: yaml2obj %s --docnum=2 -o %t.nonull
# RUN: llvm-objdump -p %t.nonull 2>&1 | FileCheck %s -DFILE=%t.nonull --check-prefix=NONULL

# NONULL:       Program Header:
# NONULL-NEXT:  warning: '[[FILE]]': dynamic sections must be DT_NULL terminated
# NONULL-EMPTY:

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
Sections:
  - Name: .dynamic
    Type: SHT_DYNAMIC
    Entries:
      - Tag:   DT_SONAME
        Value: 1

# RUN: yaml2obj %s --docnum=3 -o %t.invalidaddr
# RUN: llvm-objdump -p %t.invalidaddr 2>&1 | \
# RUN:   FileCheck %s -DFILE=%t.invalidaddr --implicit-check-not=warning: --check-prefix=ADDR

# ADDR:       Dynamic Section:
# ADDR-NEXT:  warning: '[[FILE]]': virtual address is not in any segment: 0x474
# ADDR-NEXT:    NEEDED       0xffffffffbe5a0b5f
# ADDR-NEXT:    STRTAB       0x0000000000000474

---
!ELF
FileHeader:
  Class: ELFCLASS64
  Data: ELFDATA2LSB
  Type: ET_DYN
Sections:
  - Name: .dynamic
    Type: SHT_DYNAMIC
    Entries:
      - Tag: DT_NEEDED
        Value: 0xFFFFFFFFBE5A0B5F
      - Tag: DT_STRTAB
        Value: 0x474
      - Tag: DT_NULL
        Value: 0x0
