## Check how "Content", "Size" and "Entries" keys can be used to
## describe a content for relocations sections.

## Check we can use the "Content" key alone.

# RUN: yaml2obj -DCONTENT="01234567" %s -o %t1.content
# RUN: llvm-readobj --sections --section-data %t1.content | \
# RUN:   FileCheck %s --check-prefix=RAW -DDATA="01234567"

# RAW:      Name: .dynamic
# RAW:      EntrySize:
# RAW-SAME:            255{{$}}
# RAW:      SectionData (
# RAW-NEXT:   0000: [[DATA]] |
# RAW-NEXT: )

--- !ELF
FileHeader:
  Class: ELFCLASS64
  Data:  ELFDATA2LSB
  Type:  ET_EXEC
Sections:
  - Name:    .dynamic
    Type:    SHT_DYNAMIC
    EntSize: 0xff
    Content: [[CONTENT=<none>]]
    Size:    [[SIZE=<none>]]
    Entries: [[ENTRIES=<none>]]

## Check we can use the "Size" key alone.

# RUN: yaml2obj -DSIZE=3 %s -o %t1.size
# RUN: llvm-readobj --sections --section-data %t1.size | \
# RUN:   FileCheck %s --check-prefix=RAW -DDATA="000000"

## Check we can use the "Content" key with the "Size" key when the size is greater
## than or equal to the content size.

# RUN: not yaml2obj -DSIZE=1 -DCONTENT="'0011'" %s 2>&1 | \
# RUN:   FileCheck %s --check-prefix=CONTENT-SIZE-ERR

# CONTENT-SIZE-ERR: error: Section size must be greater than or equal to the content size

# RUN: yaml2obj -DSIZE=2 -DCONTENT="'0011'" %s -o %t.cont.size.eq.o
# RUN: llvm-readobj --sections --section-data %t.cont.size.eq.o | \
# RUN:   FileCheck %s --check-prefix=RAW -DDATA="0011"

# RUN: yaml2obj -DSIZE=3 -DCONTENT="'0011'" %s -o %t.cont.size.gr.o
# RUN: llvm-readobj --sections --section-data %t.cont.size.gr.o | \
# RUN:   FileCheck %s --check-prefix=RAW -DDATA="001100"

## Check we can't use the "Entries" key together with the "Content" or "Size" keys.

# RUN: not yaml2obj -DSIZE=0 -DENTRIES="[]" %s 2>&1 | \
# RUN:   FileCheck %s --check-prefix=ENT-ERR
# RUN: not yaml2obj -DCONTENT="'00'" -DENTRIES="[]" %s 2>&1 | \
# RUN:   FileCheck %s --check-prefix=ENT-ERR

# ENT-ERR: error: "Entries" cannot be used with "Content" or "Size"

## Check we create an empty section when none of "Size", "Content" or "Entries" are specified.

# RUN: yaml2obj %s -o %t.empty.o
# RUN: llvm-readelf --sections --section-data %t.empty.o | \
# RUN:   FileCheck %s --check-prefix=EMPTY-SEC

# EMPTY-SEC: [Nr] Name     Type    Address          Off    Size
# EMPTY-SEC: [ 1] .dynamic DYNAMIC 0000000000000000 000040 000000
