Files
clang-p2996/llvm/test/MC/Mips/elf-debug-section.s
Simon Atanasyan 990e8025b5 [MC][ELF] Do not error on parsing .debug_* section directive for MIPS
MIPS .debug_* sections should have SHT_MIPS_DWARF section type to
distinguish among sections contain DWARF and ECOFF debug formats, but in
assembly files these sections have SHT_PROGBITS (@progbits) type. Now
assembler shows 'changed section type for ...' error when parsing
`.section .debug_*,"",@progbits` directive for MIPS targets.

The same problem exists for x86-64 target and this patch extends
workaround implemented in D76151. The patch adds one more case
when assembler ignores section types mismatch after `SwitchSection()`
call.

Differential Revision: https://reviews.llvm.org/D107707
2021-08-09 08:54:56 +03:00

43 lines
1.6 KiB
ArmAsm

# RUN: llvm-mc -filetype=obj -triple=mips-linux-gnu -g %s -o - \
# RUN: | llvm-readobj -S - | FileCheck %s
# MIPS .debug_* sections should have SHT_MIPS_DWARF section type
# to distinguish among sections contain DWARF and ECOFF debug formats,
# but in assembly files these sections have SHT_PROGBITS type.
.section .debug_abbrev,"",@progbits
.section .debug_addr,"",@progbits
.section .debug_aranges,"",@progbits
.section .debug_info,"",@progbits
.section .debug_line,"",@progbits
.section .debug_loclists,"",@progbits
.section .debug_pubnames,"",@progbits
.section .debug_pubtypes,"",@progbits
.section .debug_ranges,"",@progbits
.section .debug_rnglists,"",@progbits
.section .debug_str,"MS",@progbits,1
# CHECK: Section {
# CHECK: Name: .debug_abbrev
# CHECK-NEXT: Type: SHT_MIPS_DWARF
# CHECK: Name: .debug_addr
# CHECK-NEXT: Type: SHT_MIPS_DWARF
# CHECK: Name: .debug_aranges
# CHECK-NEXT: Type: SHT_MIPS_DWARF
# CHECK: Name: .debug_info
# CHECK-NEXT: Type: SHT_MIPS_DWARF
# CHECK: Name: .debug_line
# CHECK-NEXT: Type: SHT_MIPS_DWARF
# CHECK: Name: .debug_loclists
# CHECK-NEXT: Type: SHT_MIPS_DWARF
# CHECK: Name: .debug_pubnames
# CHECK-NEXT: Type: SHT_MIPS_DWARF
# CHECK: Name: .debug_pubtypes
# CHECK-NEXT: Type: SHT_MIPS_DWARF
# CHECK: Name: .debug_ranges
# CHECK-NEXT: Type: SHT_MIPS_DWARF
# CHECK: Name: .debug_rnglists
# CHECK-NEXT: Type: SHT_MIPS_DWARF
# CHECK: Name: .debug_str
# CHECK-NEXT: Type: SHT_MIPS_DWARF