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