# REQUIRES: ppc

# RUN: llvm-mc -filetype=obj -triple=powerpc64-pc-freebsd13.0 %s -o %t.o
# RUN: ld.lld %t.o -o %t
# RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s

## .init consists of sections from several object files. Sections other than the
## last one do not have a terminator. Check we do not create a long branch stub
## in the middle.
## We currently use thunk section spacing to ensure the stub is in the end. This
## is not foolproof but good enough to not break in practice.

# CHECK: Disassembly of section .init:
# CHECK-EMPTY:
# CHECK-LABEL: <_init>:
# CHECK:         blr
# CHECK-NEXT:    trap
# CHECK-NEXT:    trap
# CHECK-EMPTY:
# CHECK-LABEL: <__long_branch_foo>:

.globl foo
foo:
  .space 0x2000000
  blr

.section .init,"ax",@progbits,unique,0
.globl _init
_init:
  stdu 1, -48(1)
  mflr 0
  std 0, 64(1)

.section .init,"ax",@progbits,unique,1
  bl foo
  nop

.section .init,"ax",@progbits,unique,2
  bl foo
  nop

.section .init,"ax",@progbits,unique,3
  ld 1, 0(1)
  ld 0, 16(1)
  mtlr 0
  blr
