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