brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · bc8e815 Raw
78 lines · plain
1// REQUIRES: arm2// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t.o3// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %p/Inputs/relocation-copy-arm.s -o %t2.o4// RUN: ld.lld -shared %t2.o -soname fixed-length-string.so -o %t2.so5// RUN: ld.lld --hash-style=sysv %t.o %t2.so -o %t36// RUN: llvm-readobj -S -r --expand-relocs --symbols %t3 | FileCheck %s7// RUN: llvm-objdump --no-print-imm-hex -d --triple=armv7a-none-linux-gnueabi --no-show-raw-insn %t3 | FileCheck --check-prefix=CODE %s8// RUN: llvm-objdump -s --triple=armv7a-none-linux-gnueabi --section=.rodata %t3 | FileCheck --check-prefix=RODATA %s9 10// Copy relocations R_ARM_COPY are required for y and z11 .syntax unified12 .text13 .globl _start14_start:15 movw r2,:lower16: y16 movt r2,:upper16: y17 ldr r3,[pc,#4]18 ldr r3,[r3,#0]19 .rodata20 .word z21 22// CHECK:     Name: .bss23// CHECK-NEXT:     Type: SHT_NOBITS24// CHECK-NEXT:     Flags [25// CHECK-NEXT:       SHF_ALLOC26// CHECK-NEXT:       SHF_WRITE27// CHECK-NEXT:     ]28// CHECK-NEXT:     Address: 0x4022029// CHECK-NEXT:     Offset:30// CHECK-NEXT:     Size: 831// CHECK-NEXT:     Link:32// CHECK-NEXT:     Info:33// CHECK-NEXT:     AddressAlignment: 1634 35// CHECK: Relocations [36// CHECK-NEXT:  Section {{.*}} .rel.dyn {37// CHECK-NEXT:    Relocation {38// CHECK-NEXT:      Offset: 0x4022039// CHECK-NEXT:      Type: R_ARM_COPY40// CHECK-NEXT:      Symbol: y41// CHECK-NEXT:    }42// CHECK-NEXT:    Relocation {43// CHECK-NEXT:      Offset: 0x4022444// CHECK-NEXT:      Type: R_ARM_COPY45// CHECK-NEXT:      Symbol: z46// CHECK-NEXT:    }47// CHECK-NEXT:  }48 49// CHECK: Symbols [50// CHECK:     Name: y51// CHECK-NEXT:    Value: 0x4022052// CHECK-NEXT:    Size: 453// CHECK-NEXT:    Binding: Global54// CHECK-NEXT:    Type: Object55// CHECK-NEXT:    Other:56// CHECK-NEXT:    Section: .bss57// CHECK:    Name: z58// CHECK-NEXT:    Value: 0x4022459// CHECK-NEXT:    Size: 460// CHECK-NEXT:    Binding: Global61// CHECK-NEXT:    Type: Object62// CHECK-NEXT:    Other: 063// CHECK-NEXT:    Section: .bss64 65// CODE: Disassembly of section .text:66// CODE-EMPTY:67// CODE-NEXT: <_start>:68/// S + A = 0x40220 + 0 = 65536 * 1 + 54469// CODE-NEXT:   201b4:       movw    r2, #54470// CODE-NEXT:   201b8:       movt    r2, #471// CODE-NEXT:   201bc:       ldr     r3, [pc, #4]72// CODE-NEXT:   201c0:       ldr     r3, [r3]73 74 75// RODATA: Contents of section .rodata:76/// S(z) = 0x4000477// RODATA-NEXT: 101b0 2402040078