# Test objective to verify warning is printed if DWO secton has relocations. # # RUN: llvm-mc -triple x86_64-unknown-linux %s -filetype=obj -o %t.o # RUN: llvm-dwarfdump --debug-info %t.o | FileCheck %s # RUN: llvm-dwarfdump --debug-info %t.o 2> %t.txt # RUN: FileCheck --input-file=%t.txt %s --check-prefix=PART2 --implicit-check-not=warning: .section .debug_str.dwo,"MSe",@progbits,1 .dwo_producer: .asciz "Handmade DWO producer" .dwo_CU_5: .asciz "V5_dwo_compile_unit" .section .debug_str_offsets.dwo,"e",@progbits .long Lstr_offsets_end-Lstr_offsets_start # Length of String Offsets Set Lstr_offsets_start: .short 5 .short 0 .long .dwo_producer-.debug_str.dwo .long .dwo_CU_5-.debug_str.dwo Lstr_offsets_end: # And a .dwo copy for the .dwo sections. .section .debug_abbrev.dwo,"e",@progbits .byte 0x01 # Abbrev code .byte 0x11 # DW_TAG_compile_unit .byte 0x00 # DW_CHILDREN_no .byte 0x25 # DW_AT_producer .byte 0x0e # DW_FORM_strp .byte 0x03 # DW_AT_name .byte 0x25 # DW_FORM_strx1 .byte 0x00 # EOM(1) .byte 0x00 # EOM(2) .byte 0x00 # EOM(3) # PART2: warning: unexpected relocations for dwo section '.debug_abbrev.dwo' .reloc ., R_X86_64_NONE, 0 .section .debug_info.dwo,"e",@progbits # CHECK-LABEL: .debug_info.dwo # DWARF v5 split CU header. .long CU_split_5_end-CU_split_5_version # Length of Unit CU_split_5_version: .short 5 # DWARF version number .byte 5 # DWARF Unit Type .byte 8 # Address Size (in bytes) .long 0 # Offset Into Abbrev. Section .quad 0x5a # DWO ID # The split compile-unit DIE, with DW_AT_producer, DW_AT_name, DW_AT_stmt_list. .byte 1 .long .dwo_producer .byte 1 .byte 0 # NULL CU_split_5_end: # CHECK: 0x00000000: Compile Unit: length = 0x00000017, format = DWARF32, version = 0x0005, unit_type = DW_UT_split_compile, abbr_offset = 0x0000, addr_size = 0x08, DWO_id = 0x000000000000005a (next unit at 0x0000001b) # CHECK: 0x00000014: DW_TAG_compile_unit # CHECK-NEXT: DW_AT_producer ("Handmade DWO producer") # CHECK-NEXT: DW_AT_name ("V5_dwo_compile_unit") # PART2: warning: unexpected relocations for dwo section '.debug_info.dwo' ## No warning, even if their names end with ".dwo". .section .rodata.dwo,"a" .long ext .section .foo.dwo,"" .long .dwo_producer