1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| # RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -filetype=asm | \
# RUN: FileCheck %s -check-prefix=ASMOUT
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -filetype=obj -o - | \
# RUN: llvm-readobj -S --section-data -r | \
# RUN: FileCheck %s -check-prefix=OBJOUT
# ASMOUT: .text
# ASMOUT: .type _local_foo,@function
# ASMOUT: .ent _local_foo
# ASMOUT:_local_foo:
# ASMOUT: .frame $fp,16,$ra
# ASMOUT: .mask 0x10101010,-4
# ASMOUT: .fmask 0x01010101,-8
# ASMOUT: .end _local_foo
# ASMOUT: .size local_foo,
# OBJOUT: Section {
# OBJOUT: Name: .pdr
# OBJOUT: Type: SHT_PROGBITS (0x1)
# OBJOUT: Flags [ (0x0)
# OBJOUT-NOT: SHF_ALLOC (0x2)
# OBJOUT-NOT: SHF_WRITE (0x1)
# OBJOUT: ]
# OBJOUT: Size: 64
# OBJOUT: SectionData (
# OBJOUT: 0000: 00000000 10101010 FFFFFFFC 01010101
# OBJOUT: 0010: FFFFFFF8 00000010 0000001E 0000001F
# OBJOUT: 0020: 00000000 10101010 FFFFFFFC 01010101
# OBJOUT: 0030: FFFFFFF8 00000010 0000001E 0000001F
# OBJOUT: )
# OBJOUT: }
# We should also check if relocation information was correctly generated.
# OBJOUT: Relocations [
# OBJOUT-NEXT: Section ({{.*}}) .rel.pdr {
# OBJOUT-NEXT: 0x0 R_MIPS_32 .text 0x0
# OBJOUT-NEXT: 0x20 R_MIPS_32 _global_foo 0x0
# OBJOUT-NEXT: }
# OBJOUT-NEXT: ]
.text
.type _local_foo,@function
.ent _local_foo
_local_foo:
.frame $fp,16,$ra
.mask 0x10101010,-4
.fmask 0x01010101,-8
.end _local_foo
.size local_foo,.-_local_foo
.globl _global_foo
.type _global_foo,@function
.ent _global_foo
_global_foo:
.frame $fp,16,$ra
.mask 0x10101010,-4
.fmask 0x01010101,-8
.end _global_foo
.size global_foo,.-_global_foo
|