brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · ce06093 Raw
66 lines · plain
1# RUN: yaml2obj %s -o %t2# RUN: llvm-objcopy --remove-symbol-prefix __pf_ %t %t23# RUN: llvm-readelf --symbols %t2 | FileCheck %s4 5## Show that an empty string is permitted as the argument to6## --remove-symbol-prefix.7# RUN: llvm-objcopy --remove-symbol-prefix= %t2 %t38# RUN: cmp %t2 %t39 10## When both options are present, llvm-objcopy should remove11## prefixes first, before adding prefixes.12# RUN: llvm-objcopy --prefix-symbols=__1_ %t %t413# RUN: llvm-objcopy --prefix-symbols=__2_ %t %t514# RUN: llvm-objcopy --remove-symbol-prefix=__1_ --prefix-symbols=__2_ %t4 %t615# RUN: cmp %t5 %t616 17## Show that the last --remove-symbol-prefix option wins.18# RUN: llvm-objcopy --remove-symbol-prefix=__pf_ --remove-symbol-prefix=__ %t %t719# RUN: llvm-objcopy --remove-symbol-prefix=__ %t %t820# RUN: cmp %t7 %t821 22!ELF23FileHeader:24  Class:           ELFCLASS6425  Data:            ELFDATA2LSB26  Type:            ET_REL27  Machine:         EM_X86_6428Sections:29  - Name:            .text30    Type:            SHT_PROGBITS31    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]32    Address:         0x100033    AddressAlign:    0x000000000000001034    Size:            6435Symbols:36  - Name:     __pf_foo37    Type:     STT_SECTION38    Section:  .text39  - Name:     __pf_bar40    Type:     STT_FILE41    Section:  .text42  - Name:     foobar43    Type:     STT_FUNC44    Section:  .text45    Binding:  STB_GLOBAL46  - Name:     foo__pf_bar147    Type:     STT_FUNC48    Section:  .text49    Binding:  STB_GLOBAL50  - Name:     __pf_foo__pf_bar251    Type:     STT_FUNC52    Section:  .text53    Binding:  STB_GLOBAL54  - Name:     undef55    Binding:  STB_GLOBAL56 57# CHECK:      Symbol table '.symtab' contains 7 entries:58# CHECK-NEXT: Name59# CHECK-NEXT: {{ $}}60# CHECK-NEXT: __pf_foo61# CHECK-NEXT: bar62# CHECK-NEXT: foobar63# CHECK-NEXT: foo__pf_bar164# CHECK-NEXT: foo__pf_bar265# CHECK-NEXT: undef66