## Check that we can use the --elf-linker-options option
## to dump SHT_LLVM_LINKER_OPTIONS sections.

# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: llvm-readobj --elf-linker-options %t1 2>&1 | FileCheck %s -DFILE=%t1

# CHECK:      LinkerOptions [
# CHECK:        option 0: value 0
# CHECK:        option 1: value 1
# CHECK-NEXT:   warning: '[[FILE]]': SHT_LLVM_LINKER_OPTIONS section at index 2 is broken: an incomplete key-value pair was found. The last possible key was: "c"
# CHECK-NEXT:   warning: '[[FILE]]': SHT_LLVM_LINKER_OPTIONS section at index 4 is broken: the content is not null-terminated
# CHECK-NEXT:   warning: '[[FILE]]': unable to read the content of the SHT_LLVM_LINKER_OPTIONS section: section [index 5] has a sh_offset (0xffffffff) + sh_size (0x8) that is greater than the file size (0x370)
# CHECK-NEXT:   option 3: value 3
# CHECK-NEXT: ]

--- !ELF
FileHeader:
  Class: ELFCLASS64
  Data:  ELFDATA2LSB
  Type:  ET_REL
Sections:
## Case 1: a correct case.
  - Name: .linker-options.valid1
    Type: SHT_LLVM_LINKER_OPTIONS
    Options:
      - Name:  option 0
        Value: value 0
      - Name:  option 1
        Value: value 1
## Case 2: check we do not attempt to dump data from outside the SHT_LLVM_LINKER_OPTIONS section
##         when it contains an incomplete key-value pair.
  - Name:    .linker-options.incomplete
    Type:    SHT_LLVM_LINKER_OPTIONS
    Content: "610062006300" ## 'a', '\0', 'b', '\0', 'c', '\0'
  - Type:    Fill
    Pattern: "FF"
    Size:    "1"
## Case 3: in case of an empty section we dump nothing.
  - Name:    .linker-options.empty
    Type:    SHT_LLVM_LINKER_OPTIONS
    Content: ""
## Case 4: check we do not attempt to dump data from outside the SHT_LLVM_LINKER_OPTIONS section
##         when it is not null-terminated.
  - Name:    .linker-options.nonul
    Type:    SHT_LLVM_LINKER_OPTIONS
    Content: "61"
## Case 5: check we report a warning when it is not possible to read
##         the content of the SHT_LLVM_LINKER_OPTIONS section.
  - Name:     .linker-options.broken.content
    Type:     SHT_LLVM_LINKER_OPTIONS
    ShOffset: 0xffffffff
    Options:
      - Name:  foo
        Value: bar
## Case 6: another correct case to show we do not stop dumping after reporting a warning.
  - Name: .linker-options.valid2
    Type: SHT_LLVM_LINKER_OPTIONS
    Options:
      - Name:  option 3
        Value: value 3

## llvm-readelf doesn't support --elf-linker-options yet.
# RUN: llvm-readelf --elf-linker-options %t1 2>&1 | FileCheck %s --check-prefix=READELF

# READELF: printELFLinkerOptions not implemented!
