llvm/llvm/test/tools/llvm-objcopy/ELF/prefix-alloc-sections.test

# RUN: yaml2obj %s -o %t
# RUN: llvm-objcopy --prefix-alloc-sections=.prefix %t %t2
# RUN: llvm-readobj --sections %t2 | FileCheck %s

## Show that an empty string is permitted as the argument to
## --prefix-alloc-sections.
# RUN: llvm-objcopy --prefix-alloc-sections= %t2 %t3
# RUN: cmp %t2 %t3

## Show that only the last prefix is applied.
# RUN: llvm-objcopy --prefix-alloc-sections=.bar --prefix-alloc-sections=.prefix %t %t4
# RUN: cmp %t2 %t4

!ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_X86_64
Sections:
  - Name:            .foo
    Type:            SHT_PROGBITS
    Flags:           [  ]
  - Name:            .prefix.already_prefixed
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC ]
  - Name:            .text
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC ]
  - Name:            .rel.text
    Type:            SHT_REL
    Info:            .text
  - Name:            .rela.data
    Type:            SHT_RELA
    Info:            .data
  - Name:            .data
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC ]

# CHECK: Name: .foo
# CHECK: Name: .prefix.prefix.already_prefixed
# CHECK: Name: .prefix.text
# CHECK: Name: .rel.prefix.text
# CHECK: Name: .rela.prefix.data
# CHECK: Name: .prefix.data