## Check that llvm-objcopy preserves ARM mapping symbols for relocatable files.
# RUN: yaml2obj %s -o %t.o -DTYPE=REL
# RUN: llvm-objcopy --strip-unneeded %t.o %t1.o
# RUN: llvm-nm -j --special-syms %t1.o | FileCheck %s --match-full-lines
# RUN: llvm-objcopy --discard-all %t.o %t2.o
# RUN: llvm-nm -j --special-syms %t2.o | FileCheck %s --match-full-lines

# CHECK:      $a
# CHECK-NEXT: $a.a
# CHECK-NEXT: $d
# CHECK-NEXT: $d.d
# CHECK-NEXT: $t
# CHECK-NEXT: $t.t
# CHECK-NOT:  $x

## A mapping symbol can be deleted if specified explicitly.
# RUN: llvm-objcopy -w -N '$d*' %t.o %t3.o
# RUN: llvm-nm --special-syms %t3.o | FileCheck /dev/null --implicit-check-not='$d'

## Mapping symbols are not preserved for executable files
# RUN: yaml2obj %s -o %t.exec -DTYPE=EXEC
# RUN: llvm-objcopy --strip-unneeded %t.exec %t1.exec
# RUN: llvm-nm --special-syms %t1.exec | count 0

# RUN: yaml2obj %s -o %t.so -DTYPE=DYN
# RUN: llvm-objcopy --strip-unneeded %t.so %t1.so
# RUN: llvm-nm --special-syms %t1.so | count 0

!ELF
FileHeader:
  Class:    ELFCLASS32
  Data:     ELFDATA2LSB
  Type:     ET_[[TYPE]]
  Machine:  EM_ARM
Sections:
  - Name: .text
    Type: SHT_PROGBITS
Symbols:
  - Name:     $a
    Section:  .text
  - Name:     $aa
    Section:  .text
  - Name:     $a.a
    Section:  .text
  - Name:     $d
    Section:  .text
  - Name:     $dd
    Section:  .text
  - Name:     $d.d
    Section:  .text
  - Name:     $m
    Section:  .text
  - Name:     $t
    Section:  .text
  - Name:     $tt
    Section:  .text
  - Name:     $t.t
    Section:  .text
  - Name:     $x
    Section:  .text
