brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · 3efdf1f Raw
116 lines · plain
1@ RUN: llvm-mc %s -triple=armv7-unknown-linux-gnueabi -filetype=obj -o - \2@ RUN:   | llvm-readobj -S --sd --sr - > %t3@ RUN: FileCheck %s < %t4@ RUN: FileCheck --check-prefix=RELOC %s < %t5 6@ Check the .handlerdata directive (without .personality directive)7 8	.syntax unified9 10@-------------------------------------------------------------------------------11@ TEST112@-------------------------------------------------------------------------------13	.section	.TEST114	.globl	func115	.align	216	.type	func1,%function17	.fnstart18func1:19	bx	lr20	.handlerdata21	.fnend22 23 24@ CHECK:Section {25@ CHECK:  Name: .TEST126@ CHECK:  SectionData (27@ CHECK:    0000: 1EFF2FE1                             |../.|28@ CHECK:  )29@ CHECK:}30 31@ CHECK:Section {32@ CHECK:  Name: .ARM.extab.TEST133@ CHECK:  SectionData (34@ CHECK:    0000: B0B0B080                             |....|35@ CHECK:  )36@ CHECK:}37 38@ CHECK:Section {39@ CHECK:  Name: .ARM.exidx.TEST140@ CHECK:  SectionData (41@ CHECK:    0000: 00000000 00000000                    |........|42@ CHECK:  )43@ CHECK:}44@-------------------------------------------------------------------------------45@ We should see a relocation entry to __aeabi_unwind_cpp_pr0, so that the46@ linker can keep __aeabi_unwind_cpp_pr0.47@-------------------------------------------------------------------------------48@ RELOC: Section {49@ RELOC:  Name: .rel.ARM.exidx.TEST150@ RELOC:  Relocations [51@ RELOC:    0x0 R_ARM_NONE __aeabi_unwind_cpp_pr052@ RELOC:    0x0 R_ARM_PREL31 .TEST153@ RELOC:    0x4 R_ARM_PREL31 .ARM.extab.TEST154@ RELOC:  ]55@ RELOC: }56 57 58 59@-------------------------------------------------------------------------------60@ TEST261@-------------------------------------------------------------------------------62	.section	.TEST263	.globl	func264	.align	265	.type	func2,%function66	.fnstart67func2:68@-------------------------------------------------------------------------------69@ Use a lot of unwind opcdes to get __aeabi_unwind_cpp_pr1.70@-------------------------------------------------------------------------------71	.save	{r4, r5, r6, r7, r8, r9, r10, r11, r12}72	push	{r4, r5, r6, r7, r8, r9, r10, r11, r12}73	pop	{r4, r5, r6, r7, r8, r9, r10, r11, r12}74	.pad	#0x24075	sub	sp, sp, #0x24076	add	sp, sp, #0x24077	bx	lr78	.handlerdata79	.fnend80 81 82 83@ CHECK:Section {84@ CHECK:  Name: .TEST285@ CHECK:  SectionData (86@ CHECK:    0000: F01F2DE9 F01FBDE8 09DD4DE2 09DD8DE2  |..-.......M.....|87@ CHECK:    0010: 1EFF2FE1                             |../.|88@ CHECK:  )89@ CHECK:}90 91@ CHECK:Section {92@ CHECK:  Name: .ARM.extab.TEST293@ CHECK:  SectionData (94@ CHECK:    0000: 0FB20181 B0B0FF81                    |........|95@ CHECK:  )96@ CHECK:}97 98@ CHECK:Section {99@ CHECK:  Name: .ARM.exidx.TEST2100@ CHECK:  SectionData (101@ CHECK:    0000: 00000000 00000000                    |........|102@ CHECK:  )103@ CHECK:}104@-------------------------------------------------------------------------------105@ We should see a relocation entry to __aeabi_unwind_cpp_pr0, so that the106@ linker can keep __aeabi_unwind_cpp_pr0.107@-------------------------------------------------------------------------------108@ RELOC: Section {109@ RELOC:  Name: .rel.ARM.exidx.TEST2110@ RELOC:  Relocations [111@ RELOC:    0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1112@ RELOC:    0x0 R_ARM_PREL31 .TEST2113@ RELOC:    0x4 R_ARM_PREL31 .ARM.extab.TEST2114@ RELOC:  ]115@ RELOC: }116