Mercurial > hg > CbC > CbC_llvm
diff test/MC/ARM/eh-directive-cantunwind.s @ 3:9ad51c7bc036
1st commit. remove git dir and add all files.
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 15 May 2013 06:43:32 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/MC/ARM/eh-directive-cantunwind.s Wed May 15 06:43:32 2013 +0900 @@ -0,0 +1,51 @@ +@ RUN: llvm-mc %s -triple=armv7-unknown-linux-gnueabi -filetype=obj -o - \ +@ RUN: | llvm-readobj -s -sd -sr | FileCheck %s + +@ Check the .cantunwind directive + +@ When a function contains a .cantunwind directive, we should create an entry +@ in corresponding .ARM.exidx, and its second word should be EXIDX_CANTUNWIND. + + .syntax unified + + .text + .globl func1 + .align 2 + .type func1,%function + .fnstart +func1: + bx lr + .cantunwind + .fnend + + + +@------------------------------------------------------------------------------- +@ Check .text section +@------------------------------------------------------------------------------- +@ CHECK: Sections [ +@ CHECK: Section { +@ CHECK: Name: .text +@ CHECK: SectionData ( +@ CHECK: 0000: 1EFF2FE1 |../.| +@ CHECK: ) +@ CHECK: } + + +@------------------------------------------------------------------------------- +@ Check .ARM.exidx section +@------------------------------------------------------------------------------- +@ CHECK: Section { +@ CHECK: Name: .ARM.exidx +@ CHECK: Relocations [ +@ CHECK: 0x0 R_ARM_PREL31 .text 0x0 +@ CHECK: ] +@------------------------------------------------------------------------------- +@ The first word should be the offset to .text. +@ The second word should be EXIDX_CANTUNWIND (01000000). +@------------------------------------------------------------------------------- +@ CHECK: SectionData ( +@ CHECK: 0000: 00000000 01000000 |........| +@ CHECK: ) +@ CHECK: } +@ CHECK: ]