## Check how obj2yaml produces SHT_HASH section descriptions.

## Check that obj2yaml uses "Bucket" and "Chain" tags to describe
## a SHT_HASH section when it has content of a correct size.
## I.e. data size == 4 * (2 + nbucket + nchain).

# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=CHAIN-BUCKET

# CHAIN-BUCKET:      - Name:  .hash1
# CHAIN-BUCKET-NEXT:  Type:   SHT_HASH
# CHAIN-BUCKET-NEXT:  Bucket: [ 3 ]
# CHAIN-BUCKET-NEXT:  Chain:  [ 4, 5 ]
# CHAIN-BUCKET:      - Name:  .hash2
# CHAIN-BUCKET-NEXT:  Type:   SHT_HASH
# CHAIN-BUCKET-NEXT:  Bucket: [  ]
# CHAIN-BUCKET-NEXT:  Chain:  [  ]

--- !ELF
FileHeader:
  Class:   ELFCLASS32
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_386
Sections:
## Case 1: A non-empty hash table: nbucket == 1, nchain == 2. 
  - Name:    .hash1
    Type:    SHT_HASH
    Content: '0100000002000000030000000400000005000000'
## Case 2: An empty hash table: nbucket == 0, nchain == 0.
  - Name:    .hash2
    Type:    SHT_HASH
    Content: '0000000000000000'

## Check that obj2yaml falls back to using the "Content" tag when
## hash sections are broken.

# RUN: yaml2obj --docnum=2 %s -o %t2
# RUN: obj2yaml %t2 | FileCheck %s --check-prefix=CONTENT

# CONTENT:      - Name:    .empty_hash
# CONTENT-NEXT:   Type:    SHT_HASH
# CONTENT-NEXT:   Content: ''
# CONTENT-NEXT: - Name:    .invalid_header
# CONTENT-NEXT:   Type:    SHT_HASH
# CONTENT-NEXT:   Content: '00'
# CONTENT-NEXT: - Name:    .truncated
# CONTENT-NEXT:   Type:    SHT_HASH
# CONTENT-NEXT:   Content: '01000000020000000300000004000000'
# CONTENT-NEXT: - Name:    .oversized
# CONTENT-NEXT:   Type:    SHT_HASH
# CONTENT-NEXT:   Content: '0100000002000000030000000400000000'

--- !ELF
FileHeader:
  Class:   ELFCLASS32
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_386
Sections:
## Case 1: section has no data.
  - Name:    .empty_hash
    Type:    SHT_HASH
    Content: ''
## Case 2: section size is less than 2 * 4.
  - Name:    .invalid_header
    Type:    SHT_HASH
    Content: '00'
## Case 3: nbucket == 1, nchain == 2.
##         Section size is less than (2 * nbucket + nchain) * 4.
  - Name:    .truncated
    Type:    SHT_HASH
    Content: '01000000020000000300000004000000'
## Case 4: nbucket == 1, nchain == 2.
##         Section size is greater than (2 * nbucket + nchain) * 4.
  - Name:    .oversized
    Type:    SHT_HASH
    Content: '0100000002000000030000000400000000'
