[libc] Switch to using the generic `<gpuintrin.h>` implementations (#121810)
[llvm-project.git] / bolt / test / AArch64 / spurious-marker-symbol.test
blob901db08774a7442dc7d8ce8e4d1e984223549e7f
1 // Check that marker symbols ($d, $x) denoting data embedded in code are ignored
2 // if they fall outside their respective sections.
4 // RUN: yaml2obj %S/Inputs/spurious-marker-symbol.yaml -o %t.exe
5 // RUN: llvm-bolt %t.exe -o %t.bolt 2>&1 | FileCheck %s
6 // CHECK: 1 out of 1 functions were overwritten
7 // RUN: llvm-objdump -j .text -d %t.bolt | FileCheck %s -check-prefix=CHECK-DISASM
8 // CHECK-DISASM: func
9 // CHECK-DISASM: 2a0000: d2800540   mov
10 // CHECK-DISASM: 2a0004: d65f03c0   ret
12 // The YAML encodes the following assembly and debug information:
14   .text
15   .globl func
16   .type func, %function
17 func:
18   mov    x0, #42
19 // $d.42:    (symbol in .ignored, with an address in .text)
20   ret
22 // .eh_frame contains minimal DWARF with a CFA operation on the `ret`. BOLT
23 // should ignore the spurious `$d.42`. If it doesn't, then it will stop
24 // disassembling after the `mov` and will fail to process the second
25 // DW_CFA_def_cfa_offset.
27 // CIE
28 //    length:                       00000010
29 //    CIE_id:                       00000000
30 //    version:                            01
31 //    augmentation:
32 //      "zR"                        7a 52 00
33 //      - read augmentation data
34 //      - read FDE pointer encoding
35 //    code_alignment_factor:              04
36 //    data_alignment_factor:              78  (-8)
37 //    return_address_register:            1e  (r30 / lr)
39 //    augmentation data:
40 //      length:                           01
41 //      FDE pointers are absptr+sdata4    0b
43 //    initial_instructions:
44 //      DW_CFA_def_cfa (31, 0):     0c 1f 00
46 // Encoding: 10000000'00000000'01'7a5200'04'78'1e'10'0b'0c1f00
48 // FDE
49 //    length:                       00000014
50 //    CIE_pointer:                  00000018  (backwards offset from here to CIE)
51 //    initial_location:             002a0000  (`func` as absptr+sdata4)
52 //    address_range:                00000008
53 //    augmentation data:
54 //      length:                           00
55 //    instructions:
56 //      DW_CFA_def_cfa_offset (1)      0e 01
57 //      DW_CFA_advance_loc (1)            41  (`ret` at 0x2a0004)
58 //      DW_CFA_def_cfa_offset (1)      0e 01  Fails unless $d.42 is ignored.
59 //      DW_CFA_nop                     00 00
61 // Encoding: 14000000'18000000'00002a00'08000000'000e0141'0e010000