xref: /llvm-project/llvm/test/DebugInfo/Symbolize/ELF/arm-mapping-symbol.s (revision 298a9223a57c50cb0d24b82687ad1bc2f7a022e6)
1a7ceef92SFangrui Song# REQUIRES: arm-registered-target
2a7ceef92SFangrui Song## Ignore ARM mapping symbols (with a prefix of $a, $d or $t).
3a7ceef92SFangrui Song
4a7ceef92SFangrui Song# RUN: llvm-mc -filetype=obj -triple=armv7-none-linux %s -o %t
5a7ceef92SFangrui Song
6241032a2SYvan Roux## Verify that mapping symbols are actually present in the object at expected
7241032a2SYvan Roux## addresses.
8*298a9223SFangrui Song# RUN: llvm-nm --special-syms %t | FileCheck %s --check-prefix=MAPPING_A --match-full-lines
9241032a2SYvan Roux
10*298a9223SFangrui Song# MAPPING_A:      00000004 t $a
11*298a9223SFangrui Song# MAPPING_A-NEXT: 00000000 t $d
12*298a9223SFangrui Song# MAPPING_A-NEXT: 00000008 t $d
13241032a2SYvan Roux# MAPPING_A-NEXT: 00000000 T foo
14241032a2SYvan Roux
15241032a2SYvan Roux# RUN: llvm-mc -filetype=obj -triple=thumbv7-none-linux %s -o %tthumb
16*298a9223SFangrui Song# RUN: llvm-nm --special-syms %tthumb | FileCheck %s --check-prefix=MAPPING_T --match-full-lines
17241032a2SYvan Roux
18*298a9223SFangrui Song# MAPPING_T:      00000000 t $d
19*298a9223SFangrui Song# MAPPING_T-NEXT: 00000006 t $d
20*298a9223SFangrui Song# MAPPING_T-NEXT: 00000004 t $t
21241032a2SYvan Roux# MAPPING_T-NEXT: 00000000 T foo
22241032a2SYvan Roux
23241032a2SYvan Roux# RUN: llvm-symbolizer --obj=%t 4 8 | FileCheck %s -check-prefix SYMBOL
24241032a2SYvan Roux# RUN: llvm-symbolizer --obj=%tthumb 4 8 | FileCheck %s -check-prefix SYMBOL
25241032a2SYvan Roux
26241032a2SYvan Roux# SYMBOL:       foo
27241032a2SYvan Roux# SYMBOL-NEXT:  ??:0:0
28241032a2SYvan Roux# SYMBOL-EMPTY:
29241032a2SYvan Roux# SYMBOL-NEXT:  foo
30241032a2SYvan Roux# SYMBOL-NEXT:  ??:0:0
31a7ceef92SFangrui Song
32a7ceef92SFangrui Song.globl foo
33a7ceef92SFangrui Songfoo:
34a7ceef92SFangrui Song  .word 32
35a7ceef92SFangrui Song  nop
36a7ceef92SFangrui Song  .word 32
37