68 lines · yaml
1# RUN: yaml2obj %s -o %t2# RUN: llvm-objdump %t -d --symbolize-operands --no-show-raw-insn --no-leading-addr | \3# RUN: FileCheck %s --match-full-lines -DABS_ADRP_VAL=0x60004# RUN: llvm-objdump %t -d --symbolize-operands --no-show-raw-insn --no-leading-addr --adjust-vma=0x2000 | \5# RUN: FileCheck %s --match-full-lines -DABS_ADRP_VAL=0x80006 7## Expect to find the branch labels and global variable name.8# CHECK: <_start>:9# CHECK-NEXT: ldr x0, <symbol>10# CHECK-NEXT: <L0>:11# CHECK-NEXT: adrp x1, [[ABS_ADRP_VAL]] <symbol+0xff4>12# CHECK-NEXT: adr x2, <symbol>13# CHECK-NEXT: cmp x1, x214# CHECK-NEXT: b.eq <L1>15# CHECK-NEXT: b <L0>16# CHECK-NEXT: <L1>:17# CHECK-NEXT: cbz x2, <L0>18# CHECK-NEXT: ret19 20## Machine code generated with:21# llvm-mc --arch=aarch64 --filetype=obj -o tmp.o <<EOF22# .text23# .p2align 1424# .globl .start25# _start:26# ldr x0, symbol27# 1:28# adrp x1, symbol + 0x100029# adr x2, symbol30# cmp x1, x231# b.eq 2f32# b 1b33# 2:34# cbz x2, 1b35# ret36#37# .data38# .p2align 1239# .skip 1240# symbol:41# EOF42# ld.lld -shared --nmagic -o tmp.so tmp.o43# llvm-objdump -s tmp.so --section=.text44 45--- !ELF46FileHeader:47 Class: ELFCLASS6448 Data: ELFDATA2LSB49 Type: ET_EXEC50 Machine: EM_AARCH6451Sections:52 - Name: .text53 Type: SHT_PROGBITS54 Address: 0x400055 Flags: [SHF_ALLOC, SHF_EXECINSTR]56 Content: '60800058010000d0228000103f0002eb40000054fcffff1762ffffb4c0035fd6'57 - Name: .data58 Type: SHT_PROGBITS59 Flags: [SHF_ALLOC, SHF_WRITE]60 Address: 0x500061Symbols:62 - Name: _start63 Section: .text64 Value: 0x400065 - Name: symbol66 Section: .data67 Value: 0x500c68