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

## 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

--- !ELF
FileHeader:
  Class: ELFCLASS64
  Data:  ELFDATA2LSB
  Type:  ET_DYN
Sections:
  - Name:        .rela
    Type:        SHT_RELA
    Link:        0x1
    Info:        0x2
    EntSize:     0x3
    Size:        [[SIZE=<none>]]
    Content:     [[CONTENT=<none>]]
    Relocations: [[RELS=<none>]]

# 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=CHECK-CONTENT -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=CHECK-CONTENT -DDATA="001100"

# CHECK-CONTENT:      Name: .rela
# CHECK-CONTENT-NEXT: Type: SHT_RELA
# CHECK-CONTENT-NEXT: Flags [
# CHECK-CONTENT-NEXT: ]
# CHECK-CONTENT-NEXT: Address:
# CHECK-CONTENT-NEXT: Offset:
# CHECK-CONTENT-NEXT: Size:
# CHECK-CONTENT-NEXT: Link: 1
# CHECK-CONTENT-NEXT: Info: 2
# CHECK-CONTENT-NEXT: AddressAlignment:
# CHECK-CONTENT-NEXT: EntrySize: 3
# CHECK-CONTENT-NEXT: SectionData (
# CHECK-CONTENT-NEXT:   0000: [[DATA]] |
# CHECK-CONTENT-NEXT: )

## Check we can use the "Size" key alone to create the section.

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

## Check we can use the "Content" key alone to create the section.

# RUN: yaml2obj -DCONTENT="'112233'" %s -o %t.content.o
# RUN: llvm-readobj --sections --section-data %t.content.o | \
# RUN:   FileCheck %s --check-prefix=CHECK-CONTENT -DDATA="112233"

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

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

# REL-ERR: error: "Relocations" cannot be used with "Content" or "Size"

## Check we create an empty section when none of "Size", "Content" or "Relocations" 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] .rela RELA 0000000000000000 000040 000000
