## Check how yaml2obj produces .stack_sizes sections.

## Test the following cases when the .stack_sizes Content field is specified:
## 1) We can produce a .stack_sizes section from a description with
##    a valid section content.
## 2) We can produce an incorrect .stack_sizes section from a description with
##    a broken (truncated) section content.
## 3) We can produce an empty .stack_sizes section from a description with
##    empty section content.

# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: llvm-readobj --sections --section-data %t1 | FileCheck %s

## Case 1: valid content.
# CHECK:      Section {
# CHECK:        Index: 1
# CHECK-NEXT:   Name: .stack_sizes (1)
# CHECK-NEXT:   Type: SHT_PROGBITS (0x1)
# CHECK-NEXT:   Flags [ (0x0)
# CHECK-NEXT:   ]
# CHECK-NEXT:   Address: 0x0
# CHECK-NEXT:   Offset: 0x40
# CHECK-NEXT:   Size: 9
# CHECK-NEXT:   Link: 0
# CHECK-NEXT:   Info: 0
# CHECK-NEXT:   AddressAlignment: 0
# CHECK-NEXT:   EntrySize: 0
# CHECK-NEXT:   SectionData (
# CHECK-NEXT:     0000: 10000000 00000000 20
# CHECK-NEXT:   )
# CHECK-NEXT: }

## Case 2: truncated content.
# CHECK:      Name: .stack_sizes
# CHECK:      Size:
# CHECK-SAME: 8
# CHECK:      SectionData (
# CHECK-NEXT:  0000: 10000000 00000000

## Case 3: empty content.
# CHECK:      Name: .stack_sizes
# CHECK:      Size:
# CHECK-SAME: 0

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
## Valid.
  - Name:    '.stack_sizes [1]'
    Type:    SHT_PROGBITS
    Content: "100000000000000020"
## Truncated.
  - Name:    '.stack_sizes [2]'
    Type:    SHT_PROGBITS
    Content: "1000000000000000"
## Empty.
  - Name:    '.stack_sizes [3]'
    Type:    SHT_PROGBITS
    Content: ""

## Check we can describe .stack_sizes section using <address, size> pairs.

# RUN: yaml2obj --docnum=2 %s -o %t2
# RUN: llvm-readobj --sections --section-data %t2 | FileCheck %s --check-prefix=ENTRIES-LE64-BOTH
# RUN: yaml2obj --docnum=3 %s -o %t3
# RUN: llvm-readobj --sections --section-data %t3 | FileCheck %s --check-prefix=ENTRIES-BE64-BOTH
# RUN: yaml2obj --docnum=4 %s -o %t4
# RUN: llvm-readobj --sections --section-data %t4 | FileCheck %s --check-prefix=ENTRIES-LE32-BOTH
# RUN: yaml2obj --docnum=5 %s -o %t5
# RUN: llvm-readobj --sections --section-data %t5 | FileCheck %s --check-prefix=ENTRIES-BE32-BOTH

# ENTRIES-LE64-BOTH:      Name: .stack_sizes
# ENTRIES-LE64-BOTH:      SectionData (
# ENTRIES-LE64-BOTH-NEXT:  0000: 10000000 00000000 20300000 00000000 |
# ENTRIES-LE64-BOTH-NEXT:  0010: 0040                                |

# ENTRIES-BE64-BOTH:      Name: .stack_sizes
# ENTRIES-BE64-BOTH:      SectionData (
# ENTRIES-BE64-BOTH-NEXT:  0000: 00000000 00000010 20000000 00000000 |
# ENTRIES-BE64-BOTH-NEXT:  0010: 3040

# ENTRIES-LE32-BOTH:      Name: .stack_sizes
# ENTRIES-LE32-BOTH:      SectionData (
# ENTRIES-LE32-BOTH-NEXT:  0000: 10000000 20300000 0040 |

# ENTRIES-BE32-BOTH:      Name: .stack_sizes
# ENTRIES-BE32-BOTH:      SectionData (
# ENTRIES-BE32-BOTH-NEXT:  0000: 00000010 20000000 3040 |

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name:    .stack_sizes
    Type:    SHT_PROGBITS
    Entries:
      - Address: 0x10
        Size:    0x20
      - Address: 0x30
        Size:    0x40

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2MSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name:    .stack_sizes
    Type:    SHT_PROGBITS
    Entries:
      - Address: 0x10
        Size:    0x20
      - Address: 0x30
        Size:    0x40

--- !ELF
FileHeader:
  Class:   ELFCLASS32
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_386
Sections:
  - Name:    .stack_sizes
    Type:    SHT_PROGBITS
    Entries:
      - Address: 0x10
        Size:    0x20
      - Address: 0x30
        Size:    0x40

--- !ELF
FileHeader:
  Class:   ELFCLASS32
  Data:    ELFDATA2MSB
  Type:    ET_EXEC
  Machine: EM_386
Sections:
  - Name:    .stack_sizes
    Type:    SHT_PROGBITS
    Entries:
      - Address: 0x10
        Size:    0x20
      - Address: 0x30
        Size:    0x40

## Check we can omit the "Address" tag. In this case the address will be zero.

# RUN: yaml2obj --docnum=6 %s -o %t6
# RUN: llvm-readobj --sections --section-data %t6 | FileCheck %s --check-prefix=ENTRIES-NOADDR

# ENTRIES-NOADDR:      Name: .stack_sizes
# ENTRIES-NOADDR:      SectionData (
# ENTRIES-NOADDR-NEXT:  0000: 00000000 00000000 10000000 00000000 |
# ENTRIES-NOADDR-NEXT:  0010: 0020                                |

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name:    .stack_sizes
    Type:    SHT_PROGBITS
    Entries:
       - Size: 0x10
       - Size: 0x20

## Check that "Size" tag is mandatory when we describe .stack_sizes using "Entries".

# RUN: not yaml2obj --docnum=7 %s 2>&1 | FileCheck %s --check-prefix=ENTRIES-NOSIZE

# ENTRIES-NOSIZE: error: missing required key 'Size'

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name:    .stack_sizes
    Type:    SHT_PROGBITS
    Entries:
       - Address: 0x10

## Check we can't use both "Content" and "Entries" tags at the same time.

# RUN: not yaml2obj --docnum=8 %s 2>&1 | FileCheck %s --check-prefix=ENTRIES-AND-CONTENT

# ENTRIES-AND-CONTENT: error: .stack_sizes: Content and Entries cannot be used together

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name:    .stack_sizes
    Type:    SHT_PROGBITS
    Content: "00"
    Entries:
      - Address: 0x10
        Size:    0x20

## Check we must specify either "Content", "Entries" or "Size" tag when describing .stack_sizes.

# RUN: not yaml2obj --docnum=9 %s 2>&1 | FileCheck %s --check-prefix=NO-TAGS

# NO-TAGS: .stack_sizes: one of Content, Entries and Size must be specified

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name: .stack_sizes
    Type: SHT_PROGBITS

## Check we can't use both "Size" and "Entries" tags at the same time.

# RUN: not yaml2obj --docnum=10 %s 2>&1 | FileCheck %s --check-prefix=ENTRIES-AND-SIZE

# ENTRIES-AND-SIZE: .stack_sizes: Size and Entries cannot be used together

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name: .stack_sizes
    Type: SHT_PROGBITS
    Size: 0x1
    Entries:
      - Address: 0x10
        Size:    0x20

## Check we can use only "Size" to create .stack_sizes section.

# RUN: yaml2obj --docnum=11 %s -o %t11
# RUN: llvm-readobj --sections --section-data %t11 | FileCheck %s --check-prefix=SIZE

# SIZE:      Name: .stack_sizes
# SIZE:      Size:
# SIZE-SAME: 17
# SIZE:      SectionData (
# SIZE-NEXT:  0000: 00000000 00000000 00000000 00000000  |
# SIZE-NEXT:  0010: 00                                   |
# SIZE-NEXT: )

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name: .stack_sizes
    Type: SHT_PROGBITS
    Size: 0x11

## Check we can use "Size" and "Content" together to create .stack_sizes section.

# RUN: yaml2obj --docnum=12 %s -o %t12
# RUN: llvm-readobj --sections --section-data %t12 | FileCheck %s --check-prefix=SIZE-CONTENT

# SIZE-CONTENT:      Name: .stack_sizes
# SIZE-CONTENT:      Size:
# SIZE-CONTENT-SAME: 5
# SIZE-CONTENT:      SectionData (
# SIZE-CONTENT-NEXT:  0000: 11223300 00 |
# SIZE-CONTENT-NEXT: )

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name: .stack_sizes
    Type: SHT_PROGBITS
    Size: 0x5
    Content: "112233"

# RUN: not yaml2obj --docnum=13 %s 2>&1 | FileCheck %s --check-prefix=SIZE-CONTENT-ERR

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

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name: .stack_sizes
    Type: SHT_PROGBITS
    Size: 0x1
    Content: "1122"

## Check we can describe multiple .stack_sizes sections using unique suffixes.

# RUN: yaml2obj --docnum=14 %s -o %t11
# RUN: llvm-readobj --sections --section-data %t11 | FileCheck %s --check-prefix=UNIQUE

# UNIQUE:      Name: .stack_sizes
# UNIQUE:      SectionData (
# UNIQUE-NEXT:   0000: 10000000 00000000 20 |

# UNIQUE:      Name: .stack_sizes
# UNIQUE:      SectionData (
# UNIQUE-NEXT:   0000: 30000000 00000000 40 |

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name:    '.stack_sizes [1]'
    Type:    SHT_PROGBITS
    Entries:
      - Address: 0x10
        Size:    0x20
  - Name:    '.stack_sizes [2]'
    Type:    SHT_PROGBITS
    Entries:
      - Address: 0x30
        Size:    0x40
