xref: /llvm-project/llvm/test/tools/llvm-objcopy/ELF/prefix-alloc-sections.test (revision 1562e4552cd1b3d2eadd956c966f8a60e928b8ca)
155c81d42SFangrui Song# RUN: yaml2obj %s -o %t
2fa11fb33SJames Henderson# RUN: llvm-objcopy --prefix-alloc-sections=.prefix %t %t2
3fa11fb33SJames Henderson# RUN: llvm-readobj --sections %t2 | FileCheck %s
4fa11fb33SJames Henderson
5*1562e455SJames Henderson## Show that an empty string is permitted as the argument to
6*1562e455SJames Henderson## --prefix-alloc-sections.
7*1562e455SJames Henderson# RUN: llvm-objcopy --prefix-alloc-sections= %t2 %t3
8*1562e455SJames Henderson# RUN: cmp %t2 %t3
9*1562e455SJames Henderson
10*1562e455SJames Henderson## Show that only the last prefix is applied.
11*1562e455SJames Henderson# RUN: llvm-objcopy --prefix-alloc-sections=.bar --prefix-alloc-sections=.prefix %t %t4
12*1562e455SJames Henderson# RUN: cmp %t2 %t4
13*1562e455SJames Henderson
14fa11fb33SJames Henderson!ELF
15fa11fb33SJames HendersonFileHeader:
16fa11fb33SJames Henderson  Class:           ELFCLASS64
17fa11fb33SJames Henderson  Data:            ELFDATA2LSB
18fa11fb33SJames Henderson  Type:            ET_REL
19fa11fb33SJames Henderson  Machine:         EM_X86_64
20fa11fb33SJames HendersonSections:
21fa11fb33SJames Henderson  - Name:            .foo
22fa11fb33SJames Henderson    Type:            SHT_PROGBITS
23fa11fb33SJames Henderson    Flags:           [  ]
24fa11fb33SJames Henderson  - Name:            .prefix.already_prefixed
25fa11fb33SJames Henderson    Type:            SHT_PROGBITS
26fa11fb33SJames Henderson    Flags:           [ SHF_ALLOC ]
27fa11fb33SJames Henderson  - Name:            .text
28fa11fb33SJames Henderson    Type:            SHT_PROGBITS
29fa11fb33SJames Henderson    Flags:           [ SHF_ALLOC ]
30fa11fb33SJames Henderson  - Name:            .rel.text
31fa11fb33SJames Henderson    Type:            SHT_REL
32fa11fb33SJames Henderson    Info:            .text
33fa11fb33SJames Henderson  - Name:            .rela.data
34fa11fb33SJames Henderson    Type:            SHT_RELA
35fa11fb33SJames Henderson    Info:            .data
36fa11fb33SJames Henderson  - Name:            .data
37fa11fb33SJames Henderson    Type:            SHT_PROGBITS
38fa11fb33SJames Henderson    Flags:           [ SHF_ALLOC ]
39fa11fb33SJames Henderson
40fa11fb33SJames Henderson# CHECK: Name: .foo
41fa11fb33SJames Henderson# CHECK: Name: .prefix.prefix.already_prefixed
42fa11fb33SJames Henderson# CHECK: Name: .prefix.text
43fa11fb33SJames Henderson# CHECK: Name: .rel.prefix.text
44fa11fb33SJames Henderson# CHECK: Name: .rela.prefix.data
45fa11fb33SJames Henderson# CHECK: Name: .prefix.data
46