| # 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 |