llvm-mirror/test/MC/Mips/mips-pdr.s
Scott Egerton 36020388d8 [mips] Removed the SHF_ALLOC flag and the SHT_REL flag from the .pdr section.
This section is used for debug information and has no need to be
in memory at runtime. This patch also fixes an error when compiling
the Linux kernel. The error is that there are relocations within the
.pdr section in a VDSO. SHT_REL was removed as it is a section type
and not a section flag, therefore it does not make sense for it to
be there. With this patch, LLVM now emits the same flags as
the GNU assembler.

llvm-svn: 261083
2016-02-17 11:15:16 +00:00

61 lines
1.8 KiB
ArmAsm

# 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