brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 3f7b9c4 Raw
56 lines · plain
1## When spilling reorders input sections, the .ARM.exidx table is rebuilt using2## the new order.3 4# REQUIRES: arm5# RUN: rm -rf %t && split-file %s %t && cd %t6# RUN: llvm-mc -filetype=obj -triple=armv7a-none-linux-gnueabi test.s -o test.o7# RUN: ld.lld -T test.ld test.o -o test --enable-non-contiguous-regions8# RUN: llvm-readobj -x .ARM.exidx test | FileCheck %s9 10# CHECK:      20000000 08849780 1c000000 1084988011# CHECK-NEXT: 1c000000 0100000012 13#--- test.ld14MEMORY {15  exidx : ORIGIN = 0, LENGTH = 3216  a : ORIGIN = 32, LENGTH = 417  b : ORIGIN = 36, LENGTH = 418  c : ORIGIN = 40, LENGTH = 419}20 21SECTIONS {22  .ARM.exidx : { *(.ARM.exidx) } >exidx23  .first_chance : { *(.text .text.f2) } >a24  .text.f1 : { *(.text.f1) } >b25  .last_chance : { *(.text.f2) } >c26}27 28#--- test.s29 .syntax unified30 .section .text, "ax",%progbits31 .globl _start32_start:33 .fnstart34 bx lr35 .save {r7, lr}36 .setfp r7, sp, #037 .fnend38 39 .section .text.f1, "ax", %progbits40 .globl f141f1:42 .fnstart43 bx lr44 .save {r8, lr}45 .setfp r8, sp, #046 .fnend47 48 .section .text.f2, "ax", %progbits49 .globl f250f2:51 .fnstart52 bx lr53 .save {r8, lr}54 .setfp r8, sp, #055 .fnend56