1 @ RUN
: llvm-mc
%s
-triple
=armv7-unknown-linux-gnueabi
-filetype
=obj
-o
- \
2 @ RUN
: | llvm-readobj
-S
--sd
--sr -r
--symbols | FileCheck
%s
4 @ Check whether the section is switched back
or not.
6 @ The assembler should emit the machine code of
"func2" in
.text section.
7 @ It is incorrect if the machine code is emitted in
.ARM.exidx or .ARM.extab.
8 @ Besides
, there should
be two entries in
.ARM.exidx section.
30 @
-------------------------------------------------------------------------------
31 @ Check the
.text section. There should be two "bx lr" instructions.
32 @
-------------------------------------------------------------------------------
36 @ CHECK
: SectionData
(
37 @ CHECK
: 0000: 1EFF2FE1
1EFF2FE1 |
../.../.|
42 @
-------------------------------------------------------------------------------
43 @ Check the
.ARM.exidx section.
44 @ There should
be two entries
(two words per entry.
)
45 @
-------------------------------------------------------------------------------
47 @ CHECK
: Name
: .ARM.exidx
48 @ CHECK
: SectionData
(
49 @
-------------------------------------------------------------------------------
50 @ The first word should
be the offset to
.text. The second word should be
51 @
0xB0B0B080, which means compact model
0 is used
(0x80) and the rest of the
52 @ word is filled with FINISH opcode
(0xB0).
53 @
-------------------------------------------------------------------------------
54 @ CHECK
: 0000: 00000000 B0B0B080
04000000 B0B0B080 |
................|
59 @
-------------------------------------------------------------------------------
60 @ The first word of each entry should
be relocated to
.text section.
61 @
-------------------------------------------------------------------------------
62 @ CHECK
: Relocations
[
63 @ CHECK
: 0x0 R_ARM_PREL31
.text 0x0
64 @ CHECK
: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0
0x0
65 @ CHECK
: 0x8 R_ARM_PREL31
.text 0x0
69 @
-------------------------------------------------------------------------------
70 @ Check the symbols
"func1" and "func2". They should belong to .text section.
71 @
-------------------------------------------------------------------------------
75 @ CHECK
: Section
: .text
79 @ CHECK
: Section
: .text