77 lines · plain
1// REQUIRES: aarch642// RUN: llvm-mc -filetype=obj -triple=aarch64-pc-freebsd %s -o %t.o3// RUN: llvm-mc -filetype=obj -triple=aarch64-pc-freebsd %p/Inputs/relocation-copy.s -o %t2.o4// RUN: ld.lld -shared %t2.o -soname fixed-length-string.so -o %t2.so5// RUN: ld.lld --no-relax %t.o %t2.so -o %t6// RUN: llvm-readobj -S -r --symbols %t | FileCheck %s7// RUN: llvm-objdump --no-print-imm-hex -d --no-show-raw-insn %t | FileCheck --check-prefix=CODE %s8// RUN: llvm-objdump -s --section=.rodata %t | FileCheck --check-prefix=RODATA %s9 10.text11.globl _start12_start:13 adr x1, x14 adrp x2, y15 add x2, x2, :lo12:y16.rodata17 .word z18 19// CHECK: Name: .bss20// CHECK-NEXT: Type: SHT_NOBITS21// CHECK-NEXT: Flags [22// CHECK-NEXT: SHF_ALLOC23// CHECK-NEXT: SHF_WRITE24// CHECK-NEXT: ]25// CHECK-NEXT: Address: 0x2303F026// CHECK-NEXT: Offset:27// CHECK-NEXT: Size: 2428// CHECK-NEXT: Link:29// CHECK-NEXT: Info:30// CHECK-NEXT: AddressAlignment: 1631 32// CHECK: Relocations [33// CHECK-NEXT: Section ({{.*}}) .rela.dyn {34// CHECK-NEXT: 0x2303F0 R_AARCH64_COPY x 0x035// CHECK-NEXT: 0x230400 R_AARCH64_COPY y 0x036// CHECK-NEXT: 0x230404 R_AARCH64_COPY z 0x037// CHECK-NEXT: }38// CHECK-NEXT: ]39 40// CHECK: Symbols [41// CHECK: Name: x42// CHECK-NEXT: Value: 0x2303F043// CHECK-NEXT: Size: 444// CHECK-NEXT: Binding: Global45// CHECK-NEXT: Type: Object46// CHECK-NEXT: Other:47// CHECK-NEXT: Section: .bss48// CHECK: Name: y49// CHECK-NEXT: Value: 0x23040050// CHECK-NEXT: Size: 451// CHECK-NEXT: Binding: Global52// CHECK-NEXT: Type: Object53// CHECK-NEXT: Other:54// CHECK-NEXT: Section: .bss55// CHECK: Name: z56// CHECK-NEXT: Value: 0x23040457// CHECK-NEXT: Size: 458// CHECK-NEXT: Binding: Global59// CHECK-NEXT: Type: Object60// CHECK-NEXT: Other:61// CHECK-NEXT: Section: .bss62// CHECK: ]63 64// CODE: Disassembly of section .text:65// CODE-EMPTY:66// CODE-NEXT: <_start>:67// S + A - P = 0x2303f0 + 0 - 0x21031c = 13128468// CODE-NEXT: 21031c: adr x1, 0x2303f069// Page(S + A) - Page(P) = Page(0x230400) - Page(0x210320) = 13107270// CODE-NEXT: 210320: adrp x2, 0x23000071// (S + A) & 0xFFF = (0x230400 + 0) & 0xFFF = 102472// CODE-NEXT: 210324: add x2, x2, #102473 74// RODATA: Contents of section .rodata:75// S(z) = 0x23040476// RODATA-NEXT: 200318 0404230077