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