// RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi %s -o %t
// RUN: ld.lld %t -o %t2 2>&1
// RUN: llvm-objdump -d -triple=armv7a-none-linux-gnueabi %t2 | FileCheck %s
// REQUIRES: arm

// Test the R_ARM_SBREL32 relocation which calculates the offset of the Symbol
// from the static base. We define the static base to be the address of the
// segment containing the symbol
 .text
 .syntax unified

 .globl _start
 .p2align       2
 .type  _start,%function
_start:
        .fnstart
        bx lr

        .long   foo(sbrel)
        .long   foo2(sbrel)
        .long   foo3(sbrel)
        .long   foo4(sbrel)
// RW segment starts here
        .data
        .p2align 4
foo:    .word 10
foo2:   .word 20

        .bss
foo3:   .space 4
foo4:   .space 4

// CHECK: Disassembly of section .text:
// CHECK-NEXT: _start:
// CHECK-NEXT:    11000:        1e ff 2f e1     bx      lr
// CHECK:         11004:        00 00 00 00     .word   0x00000000
// CHECK-NEXT:    11008:        04 00 00 00     .word   0x00000004
// CHECK-NEXT:    1100c:        08 00 00 00     .word   0x00000008
// CHECK-NEXT:    11010:        0c 00 00 00     .word   0x0000000c
