## This is a generic test for SHT_REL/SHT_RELA sections.

## Check that we do not print excessive default
## fields for SHT_REL[A] sections.
# RUN: yaml2obj %s -o %t1
# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=YAML

## Note: it is important to have at least two sections with sh_info == 0.
##       Previously we printed a broken Info field in this case.
# YAML:      - Name:    .rela.dyn
# YAML-NEXT:   Type:    SHT_RELA
# YAML-NEXT: - Name:    .rel.dyn
# YAML-NEXT:   Type:    SHT_REL
# YAML-NEXT: - Name

--- !ELF
FileHeader:
  Class: ELFCLASS64
  Data:  ELFDATA2LSB
  Type:  ET_DYN
Sections:
  - Name: .rela.dyn
    Type: SHT_RELA
  - Name: .rel.dyn
    Type: SHT_REL
## Trigger the .dynsym emission.
DynamicSymbols: []

## Test the behavior when the sh_entsize field is broken.
## Here we use the 0xFE value instead of expected 0x18/0x10.

# RUN: yaml2obj -DTYPE=SHT_RELA --docnum=2 %s -o %t2.rela
# RUN: not obj2yaml %t2.rela 2>&1 | FileCheck %s --check-prefix=ERR1
# RUN: yaml2obj -DTYPE=SHT_REL  --docnum=2 %s -o %t2.rel
# RUN: not obj2yaml %t2.rel 2>&1 | FileCheck %s --check-prefix=ERR2

# ERR1: section [index 1] has invalid sh_entsize: expected 24, but got 254
# ERR2: section [index 1] has invalid sh_entsize: expected 16, but got 254

--- !ELF
FileHeader:
  Class: ELFCLASS64
  Data:  ELFDATA2LSB
  Type:  ET_DYN
Sections:
  - Name:    .foo
    Type:    [[TYPE]]
    EntSize: 0xFE
