You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.167
Former-commit-id: 289509151e0fee68a1b591a20c9f109c3c789d3a
This commit is contained in:
parent
e19d552987
commit
b084638f15
Binary file not shown.
@ -1,49 +0,0 @@
|
||||
# Test object with an artifically constructed type unit header to verify
|
||||
# that the length field is correctly used to verify the validity of the
|
||||
# type_offset field.
|
||||
#
|
||||
# To generate the test object:
|
||||
# llvm-mc -triple x86_64-unknown-linux typeunit-header.s -filetype=obj \
|
||||
# -o typeunit-header.elf-x86-64
|
||||
#
|
||||
# We only have an abbreviation for the type unit die which is all we need.
|
||||
# Real type unit dies have quite different attributes of course, but we
|
||||
# just need to demonstrate an issue with validating length, so we just give it
|
||||
# a single visibility attribute.
|
||||
.section .debug_abbrev,"",@progbits
|
||||
.byte 0x01 # Abbrev code
|
||||
.byte 0x41 # DW_TAG_type_unit
|
||||
.byte 0x01 # DW_CHILDREN_yes
|
||||
.byte 0x17 # DW_AT_visibility
|
||||
.byte 0x0b # DW_FORM_data1
|
||||
.byte 0x00 # EOM(1)
|
||||
.byte 0x00 # EOM(2)
|
||||
.byte 0x02 # Abbrev code
|
||||
.byte 0x13 # DW_TAG_structure_type
|
||||
.byte 0x00 # DW_CHILDREN_no (no members)
|
||||
.byte 0x17 # DW_AT_visibility
|
||||
.byte 0x0b # DW_FORM_data1
|
||||
.byte 0x00 # EOM(1)
|
||||
.byte 0x00 # EOM(2)
|
||||
.byte 0x00 # EOM(3)
|
||||
|
||||
.section .debug_types,"",@progbits
|
||||
# DWARF v4 Type unit header - DWARF32 format.
|
||||
TU_4_32_start:
|
||||
.long TU_4_32_end-TU_4_32_version # Length of Unit
|
||||
TU_4_32_version:
|
||||
.short 4 # DWARF version number
|
||||
.long .debug_abbrev # Offset Into Abbrev. Section
|
||||
.byte 8 # Address Size (in bytes)
|
||||
.quad 0x0011223344556677 # Type Signature
|
||||
.long TU_4_32_type-TU_4_32_start # Type offset
|
||||
# The type-unit DIE, which has just a visibility attribute.
|
||||
.byte 1 # Abbreviation code
|
||||
.byte 1 # DW_VIS_local
|
||||
# The type DIE, which also just has a one-byte visibility attribute.
|
||||
TU_4_32_type:
|
||||
.byte 2 # Abbreviation code
|
||||
.byte 1 # DW_VIS_local
|
||||
.byte 0 # NULL
|
||||
.byte 0 # NULL
|
||||
TU_4_32_end:
|
@ -1,64 +0,0 @@
|
||||
# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
# RUN: | not llvm-dwarfdump -verify - \
|
||||
# RUN: | FileCheck %s
|
||||
|
||||
# CHECK: Verifying .apple_names...
|
||||
# CHECK-NEXT: error: Bucket[0] has invalid hash index: 4294967294.
|
||||
# CHECK-NEXT: error: Hash[0] has invalid HashData offset: 0x000000b4.
|
||||
# CHECK-NEXT: error: .apple_names Bucket[1] Hash[1] = 0x0002b60f Str[0] = 0x0000005a DIE[0] = 0x00000001 is not a valid DIE offset for "j".
|
||||
|
||||
# This test is meant to verify that the -verify option
|
||||
# in llvm-dwarfdump, correctly identifies
|
||||
# an invalid hash index for bucket[0] in the .apple_names section,
|
||||
# an invalid HashData offset for Hash[0], as well as
|
||||
# an invalid DIE offset in the .debug_info section.
|
||||
# We're reading an invalid DIE due to the incorrect interpretation of DW_FORM for the DIE.
|
||||
# Instead of DW_FORM_data4 the Atom[0].form is: DW_FORM_flag_present.
|
||||
|
||||
.section __TEXT,__text,regular,pure_instructions
|
||||
.file 1 "basic.c"
|
||||
.comm _i,4,2 ## @i
|
||||
.comm _j,4,2 ## @j
|
||||
.section __DWARF,__debug_str,regular,debug
|
||||
Linfo_string:
|
||||
.asciz "Apple LLVM version 8.1.0 (clang-802.0.35)" ## string offset=0
|
||||
.asciz "basic.c" ## string offset=42
|
||||
.asciz "/Users/sgravani/Development/tests" ## string offset=50
|
||||
.asciz "i" ## string offset=84
|
||||
.asciz "int" ## string offset=86
|
||||
.asciz "j" ## string offset=90
|
||||
.section __DWARF,__debug_info,regular,debug
|
||||
Lsection_info:
|
||||
.section __DWARF,__apple_names,regular,debug
|
||||
Lnames_begin:
|
||||
.long 1212240712 ## Header Magic
|
||||
.short 1 ## Header Version
|
||||
.short 0 ## Header Hash Function
|
||||
.long 2 ## Header Bucket Count
|
||||
.long 2 ## Header Hash Count
|
||||
.long 12 ## Header Data Length
|
||||
.long 0 ## HeaderData Die Offset Base
|
||||
.long 1 ## HeaderData Atom Count
|
||||
.short 1 ## DW_ATOM_die_offset
|
||||
.short 25 ## DW_FORM_data4 -- error: .apple_names Bucket[1] Hash[1] = 0x0002b60f Str[0] = 0x0000005a DIE[0] = 0x00000001 is not a valid DIE offset for "j".
|
||||
.long -2 ## Bucket 0 -- error: Bucket[0] has invalid hash index: 4294967294.
|
||||
.long 1 ## Bucket 1
|
||||
.long 177678 ## Hash in Bucket 0
|
||||
.long 177679 ## Hash in Bucket 1
|
||||
.long Lsection_line ## Offset in Bucket 0 -- error: Hash[0] has invalid HashData offset: 0x000000b4.
|
||||
.long LNames1-Lnames_begin ## Offset in Bucket 1
|
||||
LNames0:
|
||||
.long 84 ## i
|
||||
.long 1 ## Num DIEs
|
||||
.long 30
|
||||
.long 0
|
||||
LNames1:
|
||||
.long 90 ## j
|
||||
.long 1 ## Num DIEs
|
||||
.long 58
|
||||
.long 0
|
||||
|
||||
.subsections_via_symbols
|
||||
.section __DWARF,__debug_line,regular,debug
|
||||
Lsection_line:
|
||||
Lline_table_start0:
|
@ -1,58 +0,0 @@
|
||||
# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
# RUN: | not llvm-dwarfdump -verify - \
|
||||
# RUN: | FileCheck %s
|
||||
|
||||
# CHECK: Verifying .apple_names...
|
||||
# CHECK-NEXT: error: Unsupported form: failed to read HashData.
|
||||
|
||||
# This test is meant to verify that the -verify option
|
||||
# in llvm-dwarfdump, correctly identifies that Atom[0].form is unsupported.
|
||||
# As a result, the hashdata cannot be read.
|
||||
|
||||
.section __TEXT,__text,regular,pure_instructions
|
||||
.file 1 "basic.c"
|
||||
.comm _i,4,2 ## @i
|
||||
.comm _j,4,2 ## @j
|
||||
.section __DWARF,__debug_str,regular,debug
|
||||
Linfo_string:
|
||||
.asciz "Apple LLVM version 8.1.0 (clang-802.0.35)" ## string offset=0
|
||||
.asciz "basic.c" ## string offset=42
|
||||
.asciz "/Users/sgravani/Development/tests" ## string offset=50
|
||||
.asciz "i" ## string offset=84
|
||||
.asciz "int" ## string offset=86
|
||||
.asciz "j" ## string offset=90
|
||||
.section __DWARF,__debug_info,regular,debug
|
||||
Lsection_info:
|
||||
.section __DWARF,__apple_names,regular,debug
|
||||
Lnames_begin:
|
||||
.long 1212240712 ## Header Magic
|
||||
.short 1 ## Header Version
|
||||
.short 0 ## Header Hash Function
|
||||
.long 2 ## Header Bucket Count
|
||||
.long 2 ## Header Hash Count
|
||||
.long 12 ## Header Data Length
|
||||
.long 0 ## HeaderData Die Offset Base
|
||||
.long 1 ## HeaderData Atom Count
|
||||
.short 1 ## DW_ATOM_die_offset
|
||||
.short 400 ## DW_FORM_data4 -- error: unsupported form; failed to read HashData.
|
||||
.long 0 ## Bucket 0
|
||||
.long 1 ## Bucket 1
|
||||
.long 177678 ## Hash in Bucket 0
|
||||
.long 177679 ## Hash in Bucket 1
|
||||
.long LNames0-Lnames_begin ## Offset in Bucket 0
|
||||
.long LNames1-Lnames_begin ## Offset in Bucket 1
|
||||
LNames0:
|
||||
.long 84 ## i
|
||||
.long 1 ## Num DIEs
|
||||
.long 30
|
||||
.long 0
|
||||
LNames1:
|
||||
.long 90 ## j
|
||||
.long 1 ## Num DIEs
|
||||
.long 58
|
||||
.long 0
|
||||
|
||||
.subsections_via_symbols
|
||||
.section __DWARF,__debug_line,regular,debug
|
||||
Lsection_line:
|
||||
Lline_table_start0:
|
@ -1,59 +0,0 @@
|
||||
# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
# RUN: | not llvm-dwarfdump -verify - \
|
||||
# RUN: | FileCheck %s
|
||||
|
||||
# CHECK: Verifying .apple_names...
|
||||
# CHECK-NEXT: error: No atoms: failed to read HashData.
|
||||
|
||||
# This test is meant to verify that the -verify option
|
||||
# in llvm-dwarfdump, correctly identifies that there is not Atom.
|
||||
# As a result, the hashdata cannot be read.
|
||||
|
||||
.section __TEXT,__text,regular,pure_instructions
|
||||
.file 1 "basic.c"
|
||||
.comm _i,4,2 ## @i
|
||||
.comm _j,4,2 ## @j
|
||||
.section __DWARF,__debug_str,regular,debug
|
||||
Linfo_string:
|
||||
.asciz "Apple LLVM version 8.1.0 (clang-802.0.35)" ## string offset=0
|
||||
.asciz "basic.c" ## string offset=42
|
||||
.asciz "/Users/sgravani/Development/tests" ## string offset=50
|
||||
.asciz "i" ## string offset=84
|
||||
.asciz "int" ## string offset=86
|
||||
.asciz "j" ## string offset=90
|
||||
|
||||
.section __DWARF,__debug_info,regular,debug
|
||||
Lsection_info:
|
||||
.section __DWARF,__apple_names,regular,debug
|
||||
Lnames_begin:
|
||||
.long 1212240712 ## Header Magic
|
||||
.short 1 ## Header Version
|
||||
.short 0 ## Header Hash Function
|
||||
.long 2 ## Header Bucket Count
|
||||
.long 2 ## Header Hash Count
|
||||
.long 12 ## Header Data Length
|
||||
.long 0 ## HeaderData Die Offset Base
|
||||
.long 0 ## HeaderData Atom Count -- error: no atoms; failed to read HashData.
|
||||
.short 1 ## DW_ATOM_die_offset
|
||||
.short 6 ## DW_FORM_data4
|
||||
.long 0 ## Bucket 0
|
||||
.long 1 ## Bucket 1
|
||||
.long 177678 ## Hash in Bucket 0
|
||||
.long 177679 ## Hash in Bucket 1
|
||||
.long LNames0-Lnames_begin ## Offset in Bucket 0
|
||||
.long LNames1-Lnames_begin ## Offset in Bucket 1
|
||||
LNames0:
|
||||
.long 84 ## i
|
||||
.long 1 ## Num DIEs
|
||||
.long 30
|
||||
.long 0
|
||||
LNames1:
|
||||
.long 90 ## j
|
||||
.long 1 ## Num DIEs
|
||||
.long 58
|
||||
.long 0
|
||||
|
||||
.subsections_via_symbols
|
||||
.section __DWARF,__debug_line,regular,debug
|
||||
Lsection_line:
|
||||
Lline_table_start0:
|
@ -1,128 +0,0 @@
|
||||
# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
# RUN: | not llvm-dwarfdump -verify - \
|
||||
# RUN: | FileCheck %s
|
||||
|
||||
# CHECK: Verifying .apple_types...
|
||||
# CHECK-NEXT: error: Tag DW_TAG_ptr_to_member_type in accelerator table does not match Tag DW_TAG_base_type of DIE[0].
|
||||
|
||||
# This test is meant to verify that the -verify option
|
||||
# in llvm-dwarfdump, correctly identifies an invalid DIE tag in .apple_types.
|
||||
|
||||
.section __TEXT,__text,regular,pure_instructions
|
||||
.macosx_version_min 10, 12
|
||||
.file 1 "basic.c"
|
||||
.comm _i,4,2 ## @i
|
||||
.section __DWARF,__debug_str,regular,debug
|
||||
Linfo_string:
|
||||
.asciz "clang version 6.0.0 (trunk 309427) (llvm/trunk 309432)" ## string offset=0
|
||||
.asciz "basic.c" ## string offset=55
|
||||
.asciz "/Users/sgravani/Development/tests" ## string offset=63
|
||||
.asciz "i" ## string offset=97
|
||||
.asciz "int" ## string offset=99
|
||||
.section __DWARF,__debug_abbrev,regular,debug
|
||||
Lsection_abbrev:
|
||||
.byte 1 ## Abbreviation Code
|
||||
.byte 17 ## DW_TAG_compile_unit
|
||||
.byte 1 ## DW_CHILDREN_yes
|
||||
.byte 37 ## DW_AT_producer
|
||||
.byte 14 ## DW_FORM_strp
|
||||
.byte 19 ## DW_AT_language
|
||||
.byte 5 ## DW_FORM_data2
|
||||
.byte 3 ## DW_AT_name
|
||||
.byte 14 ## DW_FORM_strp
|
||||
.byte 16 ## DW_AT_stmt_list
|
||||
.byte 23 ## DW_FORM_sec_offset
|
||||
.byte 27 ## DW_AT_comp_dir
|
||||
.byte 14 ## DW_FORM_strp
|
||||
.byte 0 ## EOM(1)
|
||||
.byte 0 ## EOM(2)
|
||||
.byte 2 ## Abbreviation Code
|
||||
.byte 52 ## DW_TAG_variable
|
||||
.byte 0 ## DW_CHILDREN_no
|
||||
.byte 3 ## DW_AT_name
|
||||
.byte 14 ## DW_FORM_strp
|
||||
.byte 73 ## DW_AT_type
|
||||
.byte 19 ## DW_FORM_ref4
|
||||
.byte 63 ## DW_AT_external
|
||||
.byte 25 ## DW_FORM_flag_present
|
||||
.byte 58 ## DW_AT_decl_file
|
||||
.byte 11 ## DW_FORM_data1
|
||||
.byte 59 ## DW_AT_decl_line
|
||||
.byte 11 ## DW_FORM_data1
|
||||
.byte 2 ## DW_AT_location
|
||||
.byte 24 ## DW_FORM_exprloc
|
||||
.byte 0 ## EOM(1)
|
||||
.byte 0 ## EOM(2)
|
||||
.byte 3 ## Abbreviation Code
|
||||
.byte 36 ## DW_TAG_base_type
|
||||
.byte 0 ## DW_CHILDREN_no
|
||||
.byte 3 ## DW_AT_name
|
||||
.byte 14 ## DW_FORM_strp
|
||||
.byte 62 ## DW_AT_encoding
|
||||
.byte 11 ## DW_FORM_data1
|
||||
.byte 11 ## DW_AT_byte_size
|
||||
.byte 11 ## DW_FORM_data1
|
||||
.byte 0 ## EOM(1)
|
||||
.byte 0 ## EOM(2)
|
||||
.byte 0 ## EOM(3)
|
||||
.section __DWARF,__debug_info,regular,debug
|
||||
Lsection_info:
|
||||
Lcu_begin0:
|
||||
.long 56 ## Length of Unit
|
||||
.short 5 ## DWARF version number
|
||||
.byte 1 ## DWARF Unit Type
|
||||
.byte 8 ## Address Size (in bytes)
|
||||
Lset0 = Lsection_abbrev-Lsection_abbrev ## Offset Into Abbrev. Section
|
||||
.long Lset0
|
||||
.byte 1 ## Abbrev [1] 0xc:0x30 DW_TAG_compile_unit
|
||||
.long 0 ## DW_AT_producer
|
||||
.short 12 ## DW_AT_language
|
||||
.long 55 ## DW_AT_name
|
||||
Lset1 = Lline_table_start0-Lsection_line ## DW_AT_stmt_list
|
||||
.long Lset1
|
||||
.long 63 ## DW_AT_comp_dir
|
||||
.byte 2 ## Abbrev [2] 0x1f:0x15 DW_TAG_variable
|
||||
.long 97 ## DW_AT_name
|
||||
.long 52 ## DW_AT_type
|
||||
## DW_AT_external
|
||||
.byte 1 ## DW_AT_decl_file
|
||||
.byte 1 ## DW_AT_decl_line
|
||||
.byte 9 ## DW_AT_location
|
||||
.byte 3
|
||||
.quad _i
|
||||
.byte 3 ## Abbrev [3] 0x34:0x7 DW_TAG_base_type
|
||||
.long 99 ## DW_AT_name
|
||||
.byte 5 ## DW_AT_encoding
|
||||
.byte 4 ## DW_AT_byte_size
|
||||
.byte 0 ## End Of Children Mark
|
||||
.section __DWARF,__apple_types,regular,debug
|
||||
Ltypes_begin:
|
||||
.long 1212240712 ## Header Magic
|
||||
.short 1 ## Header Version
|
||||
.short 0 ## Header Hash Function
|
||||
.long 1 ## Header Bucket Count
|
||||
.long 1 ## Header Hash Count
|
||||
.long 20 ## Header Data Length
|
||||
.long 0 ## HeaderData Die Offset Base
|
||||
.long 3 ## HeaderData Atom Count
|
||||
.short 1 ## DW_ATOM_die_offset
|
||||
.short 6 ## DW_FORM_data4
|
||||
.short 3 ## DW_ATOM_die_tag
|
||||
.short 5 ## DW_FORM_data2
|
||||
.short 4 ## DW_ATOM_type_flags
|
||||
.short 11 ## DW_FORM_data1
|
||||
.long 0 ## Bucket 0
|
||||
.long 193495088 ## Hash in Bucket 0
|
||||
.long Ltypes0-Ltypes_begin ## Offset in Bucket 0
|
||||
Ltypes0:
|
||||
.long 99 ## int
|
||||
.long 1 ## Num DIEs
|
||||
.long 52
|
||||
.short 31 ## error: Tag DW_TAG_ptr_to_member_type in accelerator table does not match Tag DW_TAG_base_type of DIE[0].
|
||||
.byte 0
|
||||
.long 0
|
||||
|
||||
.subsections_via_symbols
|
||||
.section __DWARF,__debug_line,regular,debug
|
||||
Lsection_line:
|
||||
Lline_table_start0:
|
@ -1,18 +0,0 @@
|
||||
RUN: llvm-dwarfdump --debug-info %S/../../dsymutil/Inputs/libfat-test.a \
|
||||
RUN: | FileCheck %s
|
||||
CHECK: libfat-test.a(x86_64)(fat-test.o): file format Mach-O 64-bit x86-64
|
||||
CHECK: .debug_info contents:
|
||||
CHECK: libfat-test.a(i386)(fat-test.o): file format Mach-O 32-bit i386
|
||||
CHECK: .debug_info contents:
|
||||
|
||||
RUN: llvm-dwarfdump --debug-info %S/../../dsymutil/Inputs/libfat-test.a \
|
||||
RUN: --arch=i386 | FileCheck %s --check-prefix=I386
|
||||
I386-NOT: 64-bit
|
||||
I386: file format Mach-O 32-bit i386
|
||||
I386-NOT: 64-bit
|
||||
|
||||
RUN: llvm-dwarfdump --debug-info %S/../../dsymutil/Inputs/libfat-test.a \
|
||||
RUN: --arch=i386 --arch=x86_64 | FileCheck %s
|
||||
|
||||
RUN: llvm-dwarfdump --debug-info %S/../../dsymutil/Inputs/libfat-test.a \
|
||||
RUN: --arch=7 | FileCheck %s --check-prefix=I386
|
233
external/llvm/test/tools/llvm-dwarfdump/X86/brief.s
vendored
233
external/llvm/test/tools/llvm-dwarfdump/X86/brief.s
vendored
@ -1,233 +0,0 @@
|
||||
# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
# RUN: | llvm-dwarfdump --debug-info --debug-line - \
|
||||
# RUN: | FileCheck %s
|
||||
# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
# RUN: | llvm-dwarfdump --debug-info --debug-line - -o %t
|
||||
# RUN: cat %t | FileCheck %s
|
||||
|
||||
# CHECK-NOT: .debug_abbrev contents:
|
||||
#
|
||||
# CHECK: .debug_info contents:
|
||||
# CHECK: DW_TAG_compile_unit
|
||||
# CHECK-NOT: DW_FORM
|
||||
# CHECK: DW_AT_name ("brief.c")
|
||||
# CHECK: DW_AT_name ("main")
|
||||
# CHECK: DW_AT_name ("int")
|
||||
# CHECK-NOT: debug_str
|
||||
# CHECK-NOT: DW_AT_type {{.*}} =>
|
||||
|
||||
# CHECK: Address Line Column File ISA Discriminator Flags
|
||||
# CHECK-NEXT:------------------ ------ ------ ------ --- ------------- -------------
|
||||
# CHECK-NEXT:0x0000000000000000 1 0 1 0 0 is_stmt
|
||||
# CHECK-NEXT:0x0000000000000006 1 12 1 0 0 is_stmt prologue_end
|
||||
# CHECK-NEXT:0x0000000000000008 1 12 1 0 0 is_stmt end_sequence
|
||||
|
||||
# CHECK-NOT: {{.*}} contents:
|
||||
|
||||
# This test is meant to verify that without specifying -verbose DW_FORMs and
|
||||
# abbreviation codes are hidden from .debug_info section. Furthermore it
|
||||
# verifies that it also hides .debug_str and die reference offsets into the CU
|
||||
# and that the .debug_line table is printed rather than the opcodes.
|
||||
|
||||
.section __TEXT,__text,regular,pure_instructions
|
||||
.macosx_version_min 10, 12
|
||||
.globl _main ## -- Begin function main
|
||||
.p2align 4, 0x90
|
||||
_main: ## @main
|
||||
Lfunc_begin0:
|
||||
.file 1 "brief.c"
|
||||
.loc 1 1 0 ## brief.c:1:0
|
||||
.cfi_startproc
|
||||
## %bb.0: ## %entry
|
||||
pushq %rbp
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset %rbp, -16
|
||||
movq %rsp, %rbp
|
||||
.cfi_def_cfa_register %rbp
|
||||
xorl %eax, %eax
|
||||
Ltmp0:
|
||||
.loc 1 1 12 prologue_end ## brief.c:1:12
|
||||
popq %rbp
|
||||
retq
|
||||
Ltmp1:
|
||||
Lfunc_end0:
|
||||
.cfi_endproc
|
||||
## -- End function
|
||||
.section __DWARF,__debug_str,regular,debug
|
||||
Linfo_string:
|
||||
.asciz "clang version 6.0.0 (trunk 311115) (llvm/trunk 311188)" ## string offset=0
|
||||
.asciz "brief.c" ## string offset=55
|
||||
.asciz "/private/tmp" ## string offset=63
|
||||
.asciz "main" ## string offset=76
|
||||
.asciz "int" ## string offset=81
|
||||
.section __DWARF,__debug_abbrev,regular,debug
|
||||
Lsection_abbrev:
|
||||
.byte 1 ## Abbreviation Code
|
||||
.byte 17 ## DW_TAG_compile_unit
|
||||
.byte 1 ## DW_CHILDREN_yes
|
||||
.byte 37 ## DW_AT_producer
|
||||
.byte 14 ## DW_FORM_strp
|
||||
.byte 19 ## DW_AT_language
|
||||
.byte 5 ## DW_FORM_data2
|
||||
.byte 3 ## DW_AT_name
|
||||
.byte 14 ## DW_FORM_strp
|
||||
.byte 16 ## DW_AT_stmt_list
|
||||
.byte 23 ## DW_FORM_sec_offset
|
||||
.byte 27 ## DW_AT_comp_dir
|
||||
.byte 14 ## DW_FORM_strp
|
||||
.byte 17 ## DW_AT_low_pc
|
||||
.byte 1 ## DW_FORM_addr
|
||||
.byte 18 ## DW_AT_high_pc
|
||||
.byte 6 ## DW_FORM_data4
|
||||
.byte 0 ## EOM(1)
|
||||
.byte 0 ## EOM(2)
|
||||
.byte 2 ## Abbreviation Code
|
||||
.byte 46 ## DW_TAG_subprogram
|
||||
.byte 0 ## DW_CHILDREN_no
|
||||
.byte 17 ## DW_AT_low_pc
|
||||
.byte 1 ## DW_FORM_addr
|
||||
.byte 18 ## DW_AT_high_pc
|
||||
.byte 6 ## DW_FORM_data4
|
||||
.byte 64 ## DW_AT_frame_base
|
||||
.byte 24 ## DW_FORM_exprloc
|
||||
.byte 3 ## DW_AT_name
|
||||
.byte 14 ## DW_FORM_strp
|
||||
.byte 58 ## DW_AT_decl_file
|
||||
.byte 11 ## DW_FORM_data1
|
||||
.byte 59 ## DW_AT_decl_line
|
||||
.byte 11 ## DW_FORM_data1
|
||||
.byte 73 ## DW_AT_type
|
||||
.byte 19 ## DW_FORM_ref4
|
||||
.byte 63 ## DW_AT_external
|
||||
.byte 25 ## DW_FORM_flag_present
|
||||
.byte 0 ## EOM(1)
|
||||
.byte 0 ## EOM(2)
|
||||
.byte 3 ## Abbreviation Code
|
||||
.byte 36 ## DW_TAG_base_type
|
||||
.byte 0 ## DW_CHILDREN_no
|
||||
.byte 3 ## DW_AT_name
|
||||
.byte 14 ## DW_FORM_strp
|
||||
.byte 62 ## DW_AT_encoding
|
||||
.byte 11 ## DW_FORM_data1
|
||||
.byte 11 ## DW_AT_byte_size
|
||||
.byte 11 ## DW_FORM_data1
|
||||
.byte 0 ## EOM(1)
|
||||
.byte 0 ## EOM(2)
|
||||
.byte 0 ## EOM(3)
|
||||
.section __DWARF,__debug_info,regular,debug
|
||||
Lsection_info:
|
||||
Lcu_begin0:
|
||||
.long 71 ## Length of Unit
|
||||
.short 4 ## DWARF version number
|
||||
Lset0 = Lsection_abbrev-Lsection_abbrev ## Offset Into Abbrev. Section
|
||||
.long Lset0
|
||||
.byte 8 ## Address Size (in bytes)
|
||||
.byte 1 ## Abbrev [1] 0xb:0x40 DW_TAG_compile_unit
|
||||
.long 0 ## DW_AT_producer
|
||||
.short 12 ## DW_AT_language
|
||||
.long 55 ## DW_AT_name
|
||||
Lset1 = Lline_table_start0-Lsection_line ## DW_AT_stmt_list
|
||||
.long Lset1
|
||||
.long 63 ## DW_AT_comp_dir
|
||||
.quad Lfunc_begin0 ## DW_AT_low_pc
|
||||
Lset2 = Lfunc_end0-Lfunc_begin0 ## DW_AT_high_pc
|
||||
.long Lset2
|
||||
.byte 2 ## Abbrev [2] 0x2a:0x19 DW_TAG_subprogram
|
||||
.quad Lfunc_begin0 ## DW_AT_low_pc
|
||||
Lset3 = Lfunc_end0-Lfunc_begin0 ## DW_AT_high_pc
|
||||
.long Lset3
|
||||
.byte 1 ## DW_AT_frame_base
|
||||
.byte 86
|
||||
.long 76 ## DW_AT_name
|
||||
.byte 1 ## DW_AT_decl_file
|
||||
.byte 1 ## DW_AT_decl_line
|
||||
.long 67 ## DW_AT_type
|
||||
## DW_AT_external
|
||||
.byte 3 ## Abbrev [3] 0x43:0x7 DW_TAG_base_type
|
||||
.long 81 ## DW_AT_name
|
||||
.byte 5 ## DW_AT_encoding
|
||||
.byte 4 ## DW_AT_byte_size
|
||||
.byte 0 ## End Of Children Mark
|
||||
.section __DWARF,__debug_ranges,regular,debug
|
||||
Ldebug_range:
|
||||
.section __DWARF,__debug_macinfo,regular,debug
|
||||
Ldebug_macinfo:
|
||||
Lcu_macro_begin0:
|
||||
.byte 0 ## End Of Macro List Mark
|
||||
.section __DWARF,__apple_names,regular,debug
|
||||
Lnames_begin:
|
||||
.long 1212240712 ## Header Magic
|
||||
.short 1 ## Header Version
|
||||
.short 0 ## Header Hash Function
|
||||
.long 1 ## Header Bucket Count
|
||||
.long 1 ## Header Hash Count
|
||||
.long 12 ## Header Data Length
|
||||
.long 0 ## HeaderData Die Offset Base
|
||||
.long 1 ## HeaderData Atom Count
|
||||
.short 1 ## DW_ATOM_die_offset
|
||||
.short 6 ## DW_FORM_data4
|
||||
.long 0 ## Bucket 0
|
||||
.long 2090499946 ## Hash in Bucket 0
|
||||
.long LNames0-Lnames_begin ## Offset in Bucket 0
|
||||
LNames0:
|
||||
.long 76 ## main
|
||||
.long 1 ## Num DIEs
|
||||
.long 42
|
||||
.long 0
|
||||
.section __DWARF,__apple_objc,regular,debug
|
||||
Lobjc_begin:
|
||||
.long 1212240712 ## Header Magic
|
||||
.short 1 ## Header Version
|
||||
.short 0 ## Header Hash Function
|
||||
.long 1 ## Header Bucket Count
|
||||
.long 0 ## Header Hash Count
|
||||
.long 12 ## Header Data Length
|
||||
.long 0 ## HeaderData Die Offset Base
|
||||
.long 1 ## HeaderData Atom Count
|
||||
.short 1 ## DW_ATOM_die_offset
|
||||
.short 6 ## DW_FORM_data4
|
||||
.long -1 ## Bucket 0
|
||||
.section __DWARF,__apple_namespac,regular,debug
|
||||
Lnamespac_begin:
|
||||
.long 1212240712 ## Header Magic
|
||||
.short 1 ## Header Version
|
||||
.short 0 ## Header Hash Function
|
||||
.long 1 ## Header Bucket Count
|
||||
.long 0 ## Header Hash Count
|
||||
.long 12 ## Header Data Length
|
||||
.long 0 ## HeaderData Die Offset Base
|
||||
.long 1 ## HeaderData Atom Count
|
||||
.short 1 ## DW_ATOM_die_offset
|
||||
.short 6 ## DW_FORM_data4
|
||||
.long -1 ## Bucket 0
|
||||
.section __DWARF,__apple_types,regular,debug
|
||||
Ltypes_begin:
|
||||
.long 1212240712 ## Header Magic
|
||||
.short 1 ## Header Version
|
||||
.short 0 ## Header Hash Function
|
||||
.long 1 ## Header Bucket Count
|
||||
.long 1 ## Header Hash Count
|
||||
.long 20 ## Header Data Length
|
||||
.long 0 ## HeaderData Die Offset Base
|
||||
.long 3 ## HeaderData Atom Count
|
||||
.short 1 ## DW_ATOM_die_offset
|
||||
.short 6 ## DW_FORM_data4
|
||||
.short 3 ## DW_ATOM_die_tag
|
||||
.short 5 ## DW_FORM_data2
|
||||
.short 4 ## DW_ATOM_type_flags
|
||||
.short 11 ## DW_FORM_data1
|
||||
.long 0 ## Bucket 0
|
||||
.long 193495088 ## Hash in Bucket 0
|
||||
.long Ltypes0-Ltypes_begin ## Offset in Bucket 0
|
||||
Ltypes0:
|
||||
.long 81 ## int
|
||||
.long 1 ## Num DIEs
|
||||
.long 67
|
||||
.short 36
|
||||
.byte 0
|
||||
.long 0
|
||||
|
||||
.subsections_via_symbols
|
||||
.section __DWARF,__debug_line,regular,debug
|
||||
Lsection_line:
|
||||
Lline_table_start0:
|
@ -1,15 +0,0 @@
|
||||
# RUN: llvm-mc %s -filetype=obj -triple=i686-pc-linux -o %t
|
||||
# RUN: llvm-dwarfdump -v %t | FileCheck %s
|
||||
|
||||
# CHECK: .eh_frame contents:
|
||||
# CHECK: 00000018 00000010 0000001c FDE cie=0000001c pc=00000000...00000000
|
||||
# CHECK-NEXT: DW_CFA_GNU_args_size: +16
|
||||
# CHECK-NEXT: DW_CFA_nop:
|
||||
|
||||
.text
|
||||
.globl foo
|
||||
.type foo,@function
|
||||
foo:
|
||||
.cfi_startproc
|
||||
.cfi_escape 0x2e, 0x10
|
||||
.cfi_endproc
|
@ -1,14 +0,0 @@
|
||||
RUN: llc -filetype=obj %p/../../dsymutil/Inputs/frame-dw2.ll -o - \
|
||||
RUN: | llvm-dwarfdump -debug-frame=0x00000014 - | FileCheck %s
|
||||
CHECK: .debug_frame contents:
|
||||
CHECK-NEXT: 00000014 00000014 00000000 FDE cie=00000000 pc=00000000...0000001d
|
||||
CHECK-NEXT: DW_CFA_advance_loc: 1
|
||||
CHECK-NOT: pc
|
||||
|
||||
RUN: llvm-dwarfdump %p/../../dsymutil/Inputs/basic1.macho.x86_64.o \
|
||||
RUN: -eh-frame=0x00000018 | FileCheck %s --check-prefix=EH
|
||||
EH: .eh_frame contents:
|
||||
EH-NEXT: 00000018 00000024 0000001c FDE cie=0000001c pc=fffffd00...fffffd24
|
||||
EH-NEXT: DW_CFA_advance_loc: 1
|
||||
EH-NOT: pc
|
||||
EH-NOT: CIE
|
@ -1,53 +0,0 @@
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -debug-info=0x0000000b - | FileCheck %s
|
||||
CHECK: .debug_info contents:
|
||||
CHECK: 0x0000000b: DW_TAG_compile_unit
|
||||
CHECK: DW_AT_name
|
||||
CHECK-NOT: {{:}}
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -debug-info=0 - \
|
||||
RUN: | FileCheck --allow-empty --check-prefix=EMPTY %s
|
||||
EMPTY-NOT: DW_TAG
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -debug-info=0x0000000b -c - \
|
||||
RUN: | FileCheck %s --check-prefix=CHILDREN
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -debug-info=0x0000000b --show-children - \
|
||||
RUN: | FileCheck %s --check-prefix=CHILDREN
|
||||
CHILDREN: .debug_info contents:
|
||||
CHILDREN: 0x0000000b: DW_TAG_compile_unit
|
||||
CHILDREN: DW_TAG_subprogram
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -debug-info=0x0000000b -c -r 0 - \
|
||||
RUN: | FileCheck %s
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -debug-info=0x0000000b -c -r 1 - \
|
||||
RUN: | FileCheck %s --check-prefix=CHILDREN
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -debug-info=0x0000000b -c -recurse-depth 0 - \
|
||||
RUN: | FileCheck %s
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -debug-info=0x0000000b -c -recurse-depth 1 - \
|
||||
RUN: | FileCheck %s --check-prefix=CHILDREN
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -debug-info=0x00000043 --show-parents - \
|
||||
RUN: | FileCheck %s --check-prefix=PARENTS
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -debug-info=0x00000043 -p - \
|
||||
RUN: | FileCheck %s --check-prefix=PARENTS
|
||||
PARENTS: .debug_info contents:
|
||||
PARENTS: 0x0000000b:{{ }}DW_TAG_compile_unit
|
||||
PARENTS: DW_AT_name
|
||||
PARENTS-NOT: {{:}}
|
||||
PARENTS: 0x00000043:{{ }}DW_TAG_base_type
|
||||
PARENTS: DW_AT_name
|
||||
PARENTS-NOT: {{:}}
|
@ -1,28 +0,0 @@
|
||||
RUN: llvm-dwarfdump %S/../../dsymutil/Inputs/basic-lto-dw4.macho.x86_64.o \
|
||||
RUN: -debug-line=0x0 | FileCheck %s --check-prefix=CHECK-A
|
||||
|
||||
CHECK-A: debug_line[0x00000000]
|
||||
CHECK-A: Address Line Column File ISA Discriminator Flags
|
||||
CHECK-A-NET: ------------------ ------ ------ ------ --- ------------- -------------
|
||||
CHECK-A-NET: 0x0000000000000000 26 0 1 0 0 is_stmt
|
||||
CHECK-A-NET: 0x0000000000000004 27 10 1 0 0 is_stmt prologue_end
|
||||
CHECK-A-NET: 0x0000000000000009 27 3 1 0 0
|
||||
CHECK-A-NET: 0x0000000000000074 27 3 1 0 0 end_sequence
|
||||
CHECK-A-NOT: debug_line[0x0000009a]
|
||||
|
||||
RUN: llvm-dwarfdump %S/../../dsymutil/Inputs/basic-lto-dw4.macho.x86_64.o \
|
||||
RUN: -debug-line=0x9a | FileCheck %s --check-prefix=CHECK-B
|
||||
|
||||
CHECK-B-NOT: debug_line[0x00000000]
|
||||
CHECK-B: debug_line[0x0000009a]
|
||||
CHECK-B: Address Line Column File ISA Discriminator Flags
|
||||
CHECK-B-NEXT: ------------------ ------ ------ ------ --- ------------- -------------
|
||||
CHECK-B-NEXT: 0x0000000000000050 16 0 1 0 0 is_stmt
|
||||
CHECK-B-NEXT: 0x0000000000000054 12 10 1 0 0 is_stmt prologue_end
|
||||
CHECK-B-NEXT: 0x000000000000005a 17 7 1 0 0 is_stmt
|
||||
CHECK-B-NEXT: 0x000000000000005f 12 10 1 0 0 is_stmt
|
||||
CHECK-B-NEXT: 0x0000000000000067 20 1 1 0 0 is_stmt
|
||||
CHECK-B-NEXT: 0x0000000000000069 19 18 1 0 0 is_stmt
|
||||
CHECK-B-NEXT: 0x000000000000006b 19 10 1 0 0
|
||||
CHECK-B-NEXT: 0x0000000000000072 20 1 1 0 0 is_stmt
|
||||
CHECK-B-NEXT: 0x0000000000000074 20 1 1 0 0 is_stmt end_sequence
|
@ -1,17 +0,0 @@
|
||||
RUN: llvm-mc %S/debugloc.s -filetype obj -triple x86_64-linux-elf -o - \
|
||||
RUN: | llvm-dwarfdump --debug-loc=0 - \
|
||||
RUN: | FileCheck %s --check-prefix=CHECK-A
|
||||
|
||||
# CHECK-A: .debug_loc contents:
|
||||
# CHECK-A: 0x00000000:
|
||||
# CHECK-A-NEXT: 0x0000000000000000 - 0x0000000000000003: DW_OP_reg5 RDI
|
||||
# CHECK-A-NEXT: 0x0000000000000003 - 0x0000000000000004: DW_OP_reg0 RAX
|
||||
|
||||
RUN: llvm-mc %S/debugloc.s -filetype obj -triple x86_64-linux-elf -o - \
|
||||
RUN: | llvm-dwarfdump --debug-loc=0x36 - \
|
||||
RUN: | FileCheck %s --check-prefix=CHECK-B
|
||||
|
||||
# CHECK-B: .debug_loc contents:
|
||||
# CHECK-B: 0x00000036:
|
||||
# CHECK-B-NEXT: 0x0000000000000010 - 0x0000000000000013: DW_OP_reg5 RDI
|
||||
# CHECK-B-NEXT: 0x0000000000000013 - 0x0000000000000014: DW_OP_reg0 RAX
|
@ -1,30 +0,0 @@
|
||||
RUN: llvm-mc %p/Inputs/typeunit-header.s -filetype obj \
|
||||
RUN: -triple x86_64-unknown-elf -o - \
|
||||
RUN: | llvm-dwarfdump -debug-types=0x00000019 - | FileCheck %s
|
||||
CHECK: .debug_types contents:
|
||||
:CHECK-NOT: {{:}}
|
||||
CHECK: 0x00000019: DW_TAG_structure_type
|
||||
CHECK: DW_AT_visibility
|
||||
CHECK-NOT: {{:}}
|
||||
|
||||
RUN: llvm-mc %p/Inputs/typeunit-header.s -filetype obj \
|
||||
RUN: -triple x86_64-unknown-elf -o - \
|
||||
RUN: | llvm-dwarfdump -c -debug-types=0x0000017 - \
|
||||
RUN: | FileCheck %s --check-prefix=CHILDREN
|
||||
CHILDREN: .debug_types contents:
|
||||
CHILDREN: 0x00000017: DW_TAG_type_unit
|
||||
CHILDREN: 0x00000019: DW_TAG_structure_type
|
||||
CHECK-NOT: {{:}}
|
||||
|
||||
RUN: llvm-mc %p/Inputs/typeunit-header.s -filetype obj \
|
||||
RUN: -triple x86_64-unknown-elf -o - \
|
||||
RUN: | llvm-dwarfdump -c -r 0 -debug-types=0x0000017 - \
|
||||
RUN: | FileCheck %s --check-prefix=ZERO-CHILDREN
|
||||
ZERO-CHILDREN: .debug_types contents:
|
||||
ZERO-CHILDREN: 0x00000017: DW_TAG_type_unit
|
||||
ZERO-CHILDREN-NOT: DW_TAG_
|
||||
|
||||
RUN: llvm-mc %p/Inputs/typeunit-header.s -filetype obj \
|
||||
RUN: -triple x86_64-unknown-elf -o - \
|
||||
RUN: | llvm-dwarfdump -c -r 1 -debug-types=0x0000017 - \
|
||||
RUN: | FileCheck %s --check-prefix=CHILDREN
|
@ -1,277 +0,0 @@
|
||||
# RUN: llvm-mc %s -filetype obj -triple x86_64-linux-elf -o - \
|
||||
# RUN: | llvm-dwarfdump --debug-loc - \
|
||||
# RUN: | FileCheck %s
|
||||
|
||||
# CHECK: .debug_loc contents:
|
||||
|
||||
# CHECK: 0x00000000:
|
||||
# CHECK-NEXT: 0x0000000000000000 - 0x0000000000000003: DW_OP_reg5 RDI
|
||||
# CHECK-NEXT: 0x0000000000000003 - 0x0000000000000004: DW_OP_reg0 RAX
|
||||
|
||||
# CHECK: 0x00000036:
|
||||
# CHECK-NEXT: 0x0000000000000010 - 0x0000000000000013: DW_OP_reg5 RDI
|
||||
# CHECK-NEXT: 0x0000000000000013 - 0x0000000000000014: DW_OP_reg0 RAX
|
||||
|
||||
# Source:
|
||||
# int* foo(int* i) { return i; }
|
||||
# int* bar(int* i) { return i; }
|
||||
# Compile with:
|
||||
# clang -g -O3 test.c -S -o debugloc.s
|
||||
|
||||
.text
|
||||
.file "test.c"
|
||||
.globl foo
|
||||
.align 16, 0x90
|
||||
.type foo,@function
|
||||
foo: # @foo
|
||||
.Lfunc_begin0:
|
||||
.file 1 "test.c"
|
||||
.loc 1 1 0 # test.c:1:0
|
||||
.cfi_startproc
|
||||
# %bb.0:
|
||||
#DEBUG_VALUE: foo:i <- %RDI
|
||||
.loc 1 2 3 prologue_end # test.c:2:3
|
||||
movq %rdi, %rax
|
||||
.Ltmp0:
|
||||
#DEBUG_VALUE: foo:i <- %RAX
|
||||
retq
|
||||
.Ltmp1:
|
||||
.Lfunc_end0:
|
||||
.size foo, .Lfunc_end0-foo
|
||||
.cfi_endproc
|
||||
|
||||
.globl bar
|
||||
.align 16, 0x90
|
||||
.type bar,@function
|
||||
bar: # @bar
|
||||
.Lfunc_begin1:
|
||||
.loc 1 5 0 # test.c:5:0
|
||||
.cfi_startproc
|
||||
# %bb.0:
|
||||
#DEBUG_VALUE: bar:i <- %RDI
|
||||
.loc 1 6 3 prologue_end # test.c:6:3
|
||||
movq %rdi, %rax
|
||||
.Ltmp2:
|
||||
#DEBUG_VALUE: bar:i <- %RAX
|
||||
retq
|
||||
.Ltmp3:
|
||||
.Lfunc_end1:
|
||||
.size bar, .Lfunc_end1-bar
|
||||
.cfi_endproc
|
||||
|
||||
.section .debug_str,"MS",@progbits,1
|
||||
.Linfo_string0:
|
||||
.asciz "clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)" # string offset=0
|
||||
.Linfo_string1:
|
||||
.asciz "test.c" # string offset=54
|
||||
.Linfo_string2:
|
||||
.asciz "/tmp" # string offset=61
|
||||
.Linfo_string3:
|
||||
.asciz "foo" # string offset=66
|
||||
.Linfo_string4:
|
||||
.asciz "int" # string offset=70
|
||||
.Linfo_string5:
|
||||
.asciz "bar" # string offset=74
|
||||
.Linfo_string6:
|
||||
.asciz "i" # string offset=78
|
||||
.section .debug_loc,"",@progbits
|
||||
.Ldebug_loc0:
|
||||
.quad .Lfunc_begin0-.Lfunc_begin0
|
||||
.quad .Ltmp0-.Lfunc_begin0
|
||||
.short 1 # Loc expr size
|
||||
.byte 85 # DW_OP_reg5
|
||||
.quad .Ltmp0-.Lfunc_begin0
|
||||
.quad .Lfunc_end0-.Lfunc_begin0
|
||||
.short 1 # Loc expr size
|
||||
.byte 80 # DW_OP_reg0
|
||||
.quad 0
|
||||
.quad 0
|
||||
.Ldebug_loc1:
|
||||
.quad .Lfunc_begin1-.Lfunc_begin0
|
||||
.quad .Ltmp2-.Lfunc_begin0
|
||||
.short 1 # Loc expr size
|
||||
.byte 85 # DW_OP_reg5
|
||||
.quad .Ltmp2-.Lfunc_begin0
|
||||
.quad .Lfunc_end1-.Lfunc_begin0
|
||||
.short 1 # Loc expr size
|
||||
.byte 80 # DW_OP_reg0
|
||||
.quad 0
|
||||
.quad 0
|
||||
.section .debug_abbrev,"",@progbits
|
||||
.Lsection_abbrev:
|
||||
.byte 1 # Abbreviation Code
|
||||
.byte 17 # DW_TAG_compile_unit
|
||||
.byte 1 # DW_CHILDREN_yes
|
||||
.byte 37 # DW_AT_producer
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 19 # DW_AT_language
|
||||
.byte 5 # DW_FORM_data2
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 16 # DW_AT_stmt_list
|
||||
.byte 23 # DW_FORM_sec_offset
|
||||
.byte 27 # DW_AT_comp_dir
|
||||
.byte 14 # DW_FORM_strp
|
||||
.ascii "\341\177" # DW_AT_APPLE_optimized
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 17 # DW_AT_low_pc
|
||||
.byte 1 # DW_FORM_addr
|
||||
.byte 18 # DW_AT_high_pc
|
||||
.byte 6 # DW_FORM_data4
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 2 # Abbreviation Code
|
||||
.byte 46 # DW_TAG_subprogram
|
||||
.byte 1 # DW_CHILDREN_yes
|
||||
.byte 17 # DW_AT_low_pc
|
||||
.byte 1 # DW_FORM_addr
|
||||
.byte 18 # DW_AT_high_pc
|
||||
.byte 6 # DW_FORM_data4
|
||||
.ascii "\347\177" # DW_AT_APPLE_omit_frame_ptr
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 64 # DW_AT_frame_base
|
||||
.byte 24 # DW_FORM_exprloc
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 58 # DW_AT_decl_file
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 59 # DW_AT_decl_line
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 39 # DW_AT_prototyped
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 73 # DW_AT_type
|
||||
.byte 19 # DW_FORM_ref4
|
||||
.byte 63 # DW_AT_external
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.ascii "\341\177" # DW_AT_APPLE_optimized
|
||||
.byte 25 # DW_FORM_flag_present
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 3 # Abbreviation Code
|
||||
.byte 5 # DW_TAG_formal_parameter
|
||||
.byte 0 # DW_CHILDREN_no
|
||||
.byte 2 # DW_AT_location
|
||||
.byte 23 # DW_FORM_sec_offset
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 58 # DW_AT_decl_file
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 59 # DW_AT_decl_line
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 73 # DW_AT_type
|
||||
.byte 19 # DW_FORM_ref4
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 4 # Abbreviation Code
|
||||
.byte 15 # DW_TAG_pointer_type
|
||||
.byte 0 # DW_CHILDREN_no
|
||||
.byte 73 # DW_AT_type
|
||||
.byte 19 # DW_FORM_ref4
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 5 # Abbreviation Code
|
||||
.byte 36 # DW_TAG_base_type
|
||||
.byte 0 # DW_CHILDREN_no
|
||||
.byte 3 # DW_AT_name
|
||||
.byte 14 # DW_FORM_strp
|
||||
.byte 62 # DW_AT_encoding
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 11 # DW_AT_byte_size
|
||||
.byte 11 # DW_FORM_data1
|
||||
.byte 0 # EOM(1)
|
||||
.byte 0 # EOM(2)
|
||||
.byte 0 # EOM(3)
|
||||
.section .debug_info,"",@progbits
|
||||
.Lsection_info:
|
||||
.Lcu_begin0:
|
||||
.long 133 # Length of Unit
|
||||
.short 4 # DWARF version number
|
||||
.long .Lsection_abbrev # Offset Into Abbrev. Section
|
||||
.byte 8 # Address Size (in bytes)
|
||||
.byte 1 # Abbrev [1] 0xb:0x7e DW_TAG_compile_unit
|
||||
.long .Linfo_string0 # DW_AT_producer
|
||||
.short 12 # DW_AT_language
|
||||
.long .Linfo_string1 # DW_AT_name
|
||||
.long .Lline_table_start0 # DW_AT_stmt_list
|
||||
.long .Linfo_string2 # DW_AT_comp_dir
|
||||
# DW_AT_APPLE_optimized
|
||||
.quad .Lfunc_begin0 # DW_AT_low_pc
|
||||
.long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc
|
||||
.byte 2 # Abbrev [2] 0x2a:0x29 DW_TAG_subprogram
|
||||
.quad .Lfunc_begin0 # DW_AT_low_pc
|
||||
.long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
|
||||
# DW_AT_APPLE_omit_frame_ptr
|
||||
.byte 1 # DW_AT_frame_base
|
||||
.byte 87
|
||||
.long .Linfo_string3 # DW_AT_name
|
||||
.byte 1 # DW_AT_decl_file
|
||||
.byte 1 # DW_AT_decl_line
|
||||
# DW_AT_prototyped
|
||||
.long 124 # DW_AT_type
|
||||
# DW_AT_external
|
||||
# DW_AT_APPLE_optimized
|
||||
.byte 3 # Abbrev [3] 0x43:0xf DW_TAG_formal_parameter
|
||||
.long .Ldebug_loc0 # DW_AT_location
|
||||
.long .Linfo_string6 # DW_AT_name
|
||||
.byte 1 # DW_AT_decl_file
|
||||
.byte 1 # DW_AT_decl_line
|
||||
.long 124 # DW_AT_type
|
||||
.byte 0 # End Of Children Mark
|
||||
.byte 2 # Abbrev [2] 0x53:0x29 DW_TAG_subprogram
|
||||
.quad .Lfunc_begin1 # DW_AT_low_pc
|
||||
.long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc
|
||||
# DW_AT_APPLE_omit_frame_ptr
|
||||
.byte 1 # DW_AT_frame_base
|
||||
.byte 87
|
||||
.long .Linfo_string5 # DW_AT_name
|
||||
.byte 1 # DW_AT_decl_file
|
||||
.byte 5 # DW_AT_decl_line
|
||||
# DW_AT_prototyped
|
||||
.long 124 # DW_AT_type
|
||||
# DW_AT_external
|
||||
# DW_AT_APPLE_optimized
|
||||
.byte 3 # Abbrev [3] 0x6c:0xf DW_TAG_formal_parameter
|
||||
.long .Ldebug_loc1 # DW_AT_location
|
||||
.long .Linfo_string6 # DW_AT_name
|
||||
.byte 1 # DW_AT_decl_file
|
||||
.byte 5 # DW_AT_decl_line
|
||||
.long 124 # DW_AT_type
|
||||
.byte 0 # End Of Children Mark
|
||||
.byte 4 # Abbrev [4] 0x7c:0x5 DW_TAG_pointer_type
|
||||
.long 129 # DW_AT_type
|
||||
.byte 5 # Abbrev [5] 0x81:0x7 DW_TAG_base_type
|
||||
.long .Linfo_string4 # DW_AT_name
|
||||
.byte 5 # DW_AT_encoding
|
||||
.byte 4 # DW_AT_byte_size
|
||||
.byte 0 # End Of Children Mark
|
||||
.section .debug_ranges,"",@progbits
|
||||
.Ldebug_range:
|
||||
.section .debug_macinfo,"",@progbits
|
||||
.byte 0 # End Of Macro List Mark
|
||||
.section .debug_pubnames,"",@progbits
|
||||
.long .LpubNames_end0-.LpubNames_begin0 # Length of Public Names Info
|
||||
.LpubNames_begin0:
|
||||
.short 2 # DWARF Version
|
||||
.long .Lcu_begin0 # Offset of Compilation Unit Info
|
||||
.long 137 # Compilation Unit Length
|
||||
.long 42 # DIE offset
|
||||
.asciz "foo" # External Name
|
||||
.long 83 # DIE offset
|
||||
.asciz "bar" # External Name
|
||||
.long 0 # End Mark
|
||||
.LpubNames_end0:
|
||||
.section .debug_pubtypes,"",@progbits
|
||||
.long .LpubTypes_end0-.LpubTypes_begin0 # Length of Public Types Info
|
||||
.LpubTypes_begin0:
|
||||
.short 2 # DWARF Version
|
||||
.long .Lcu_begin0 # Offset of Compilation Unit Info
|
||||
.long 137 # Compilation Unit Length
|
||||
.long 129 # DIE offset
|
||||
.asciz "int" # External Name
|
||||
.long 0 # End Mark
|
||||
.LpubTypes_end0:
|
||||
|
||||
.ident "clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)"
|
||||
.section ".note.GNU-stack","",@progbits
|
||||
.section .debug_line,"",@progbits
|
||||
.Lline_table_start0:
|
@ -1,6 +0,0 @@
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -diff - | FileCheck %s
|
||||
CHECK: {{^DW_TAG_compile_unit}}
|
||||
CHECK: DW_AT_stmt_list ()
|
||||
CHECK: DW_AT_low_pc ()
|
||||
CHECK: DW_AT_high_pc ()
|
@ -1,21 +0,0 @@
|
||||
# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
# RUN: | not llvm-dwarfdump --verify --debug-info - \
|
||||
# RUN: | FileCheck %s
|
||||
# CHECK: error: Compilation unit without DIE.
|
||||
|
||||
.section __DWARF,__debug_info,regular,debug
|
||||
.long 8 # CU length
|
||||
.short 3 # Version
|
||||
.long 0 # Abbrev offset
|
||||
.byte 4 # AddrSize
|
||||
.byte 1 # Abbrev 1
|
||||
.long 7 # Unit lengthh...
|
||||
.short 3
|
||||
.long 0
|
||||
.byte 4
|
||||
.section __DWARF,__debug_abbrev,regular,debug
|
||||
.byte 1 # Abbrev code
|
||||
.byte 0x11 # TAG_compile_unit
|
||||
.byte 0 # no children
|
||||
.byte 0 # no attributes
|
||||
.byte 0
|
@ -1,44 +0,0 @@
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -find=not_there_at_all - | \
|
||||
RUN: FileCheck %s --check-prefix=EMPTY --allow-empty
|
||||
EMPTY: {{^$}}
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -find=main - | FileCheck %s
|
||||
CHECK: .debug_info contents:
|
||||
CHECK-NOT: {{:}}
|
||||
CHECK: : DW_TAG_subprogram
|
||||
CHECK-NOT: {{:}}
|
||||
CHECK: DW_AT_name ("main")
|
||||
CHECK-NOT: {{:}}
|
||||
|
||||
RUN: llvm-dwarfdump %S/../../dsymutil/Inputs/libfat-test.a \
|
||||
RUN: -find=x86_64h_var -find=i386_var \
|
||||
RUN: | FileCheck %s --check-prefix=MULTI
|
||||
MULTI: .debug_info contents:
|
||||
MULTI-NOT: {{: DW}}
|
||||
MULTI: : DW_TAG_variable
|
||||
MULTI-NOT: {{: DW}}
|
||||
MULTI: DW_AT_name ("i386_var")
|
||||
MULTI-NOT: {{: DW}}
|
||||
MULTI: .debug_info contents:
|
||||
MULTI: : DW_TAG_variable
|
||||
MULTI-NOT: {{: DW}}
|
||||
MULTI: DW_AT_name ("x86_64h_var")
|
||||
MULTI-NOT: {{: DW}}
|
||||
|
||||
RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
RUN: | llvm-dwarfdump -find=int - | FileCheck %s --check-prefix=TYPES
|
||||
TYPES: .debug_info contents:
|
||||
TYPES-NOT: {{:}}
|
||||
TYPES: : DW_TAG_base_type
|
||||
TYPES-NOT: {{:}}
|
||||
TYPES: DW_AT_name ("int")
|
||||
TYPES-NOT: {{:}}
|
||||
|
||||
RUN: llvm-dwarfdump %S/../../dsymutil/Inputs/odr-anon-namespace/1.o \
|
||||
RUN: -find="(anonymous namespace)" \
|
||||
RUN: | FileCheck %s --check-prefix=NAMESPACE
|
||||
NAMESPACE-NOT: {{: DW}}
|
||||
NAMESPACE: 0x0000005b: DW_TAG_namespace
|
||||
NAMESPACE-NOT: {{: DW}}
|
@ -1,45 +0,0 @@
|
||||
# This test verifies that DWARF form types are printed in verbose mode and when
|
||||
# passing -F but not in brief mode. Additionally we check that the high pc is
|
||||
# not printed as an address in verbose or show-form mode.
|
||||
|
||||
# RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
# RUN: | llvm-dwarfdump -v --debug-info - \
|
||||
# RUN: | FileCheck %s
|
||||
|
||||
# RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
# RUN: | llvm-dwarfdump -F --debug-info - \
|
||||
# RUN: | FileCheck %s
|
||||
|
||||
# RUN: llvm-mc %S/brief.s -filetype obj -triple x86_64-apple-darwin -o - \
|
||||
# RUN: | llvm-dwarfdump --debug-info - \
|
||||
# RUN: | FileCheck %s --check-prefix NO-FORM
|
||||
|
||||
# CHECK: DW_TAG_compile_unit
|
||||
# CHECK: DW_AT_producer [DW_FORM_strp]
|
||||
# CHECK: DW_AT_language [DW_FORM_data2]
|
||||
# CHECK: DW_AT_name [DW_FORM_strp]
|
||||
# CHECK: DW_AT_stmt_list [DW_FORM_sec_offset]
|
||||
# CHECK: DW_AT_comp_dir [DW_FORM_strp]
|
||||
# CHECK: DW_AT_low_pc [DW_FORM_addr]
|
||||
# CHECK: DW_AT_high_pc [DW_FORM_data4] (0x00000008)
|
||||
|
||||
# CHECK: DW_TAG_subprogram
|
||||
# CHECK: DW_AT_low_pc [DW_FORM_addr]
|
||||
# CHECK: DW_AT_high_pc [DW_FORM_data4] (0x00000008)
|
||||
# CHECK: DW_AT_frame_base [DW_FORM_exprloc]
|
||||
# CHECK: DW_AT_name [DW_FORM_strp]
|
||||
# CHECK: DW_AT_decl_file [DW_FORM_data1]
|
||||
# CHECK: DW_AT_decl_line [DW_FORM_data1]
|
||||
# CHECK: DW_AT_type [DW_FORM_ref4]
|
||||
# CHECK: DW_AT_external [DW_FORM_flag_present]
|
||||
|
||||
# CHECK: DW_TAG_base_type
|
||||
# CHECK: DW_AT_name [DW_FORM_strp]
|
||||
# CHECK: DW_AT_encoding [DW_FORM_data1]
|
||||
# CHECK: DW_AT_byte_size [DW_FORM_data1]
|
||||
|
||||
# NO-FORM-NOT: DW_FORM_
|
||||
# NO-FORM: DW_AT_high_pc (0x0000000000000008)
|
||||
# NO-FORM-NOT: DW_FORM_
|
||||
# NO-FORM: DW_AT_high_pc (0x0000000000000008)
|
||||
# NO-FORM-NOT: DW_FORM_
|
@ -1,121 +0,0 @@
|
||||
# RUN: llvm-mc %s -filetype obj -triple i686-pc-linux -o %t
|
||||
# RUN: llvm-dwarfdump %t | FileCheck %s
|
||||
|
||||
# CHECK: DW_TAG_subprogram
|
||||
# CHECK-NEXT: DW_AT_external (true)
|
||||
# CHECK-NEXT: DW_AT_name ("fn4")
|
||||
# CHECK-NEXT: DW_AT_linkage_name ("test")
|
||||
# CHECK-NEXT: DW_AT_low_pc (0x0000000000000000)
|
||||
# CHECK-NEXT: DW_AT_high_pc (0x0000000000000000)
|
||||
# CHECK-NEXT: DW_AT_frame_base (DW_OP_call_frame_cfa)
|
||||
# CHECK-NEXT: DW_AT_GNU_all_call_sites (true)
|
||||
|
||||
# CHECK: DW_TAG_GNU_call_site
|
||||
# CHECK-NEXT: DW_AT_low_pc (0x0000000000000000)
|
||||
# CHECK-NEXT: DW_AT_abstract_origin (cu + 0x0021 "test")
|
||||
|
||||
# CHECK: DW_TAG_GNU_call_site_parameter
|
||||
# CHECK-NEXT: DW_AT_location (DW_OP_reg0 EAX)
|
||||
# CHECK-NEXT: DW_AT_GNU_call_site_value (DW_OP_addr 0x0)
|
||||
|
||||
.section .debug_info,"",@progbits
|
||||
.long 0x47
|
||||
.value 0x4
|
||||
.long 0
|
||||
.byte 0x4
|
||||
|
||||
.uleb128 0x1 # DW_TAG_compile_unit [1]
|
||||
.long 0
|
||||
.byte 0x0
|
||||
.long 0
|
||||
.long 0
|
||||
.long 0
|
||||
.long 0
|
||||
|
||||
.uleb128 0xe # DW_TAG_subprogram [14]
|
||||
.string "fn4"
|
||||
.long 0
|
||||
.long 0
|
||||
.long 0
|
||||
.uleb128 0x1 # DW_AT_GNU_all_call_sites
|
||||
.byte 0x9c
|
||||
|
||||
.uleb128 0x12 # DW_TAG_GNU_call_site [18]
|
||||
.long 0x0
|
||||
.long 0x21
|
||||
|
||||
.uleb128 0x13 # DW_TAG_GNU_call_site_parameter [19]
|
||||
.uleb128 0x1
|
||||
.byte 0x50
|
||||
.uleb128 0x5
|
||||
.byte 0x3
|
||||
.long X
|
||||
.byte 0
|
||||
.byte 0
|
||||
.byte 0
|
||||
|
||||
.byte 0
|
||||
.byte 0
|
||||
|
||||
.section .debug_abbrev,"",@progbits
|
||||
.uleb128 0x1
|
||||
.uleb128 0x11 # DW_TAG_compile_unit, DW_CHILDREN_yes
|
||||
.byte 0x1
|
||||
.uleb128 0x25 # DW_AT_producer, DW_FORM_strp
|
||||
.uleb128 0xe
|
||||
.uleb128 0x13 # DW_AT_language, DW_FORM_data1
|
||||
.uleb128 0xb
|
||||
.uleb128 0x3 # DW_AT_name, DW_FORM_strp
|
||||
.uleb128 0xe
|
||||
.uleb128 0x1b # DW_AT_comp_dir, DW_FORM_strp
|
||||
.uleb128 0xe
|
||||
.uleb128 0x11 # DW_AT_low_pc, DW_FORM_addr
|
||||
.uleb128 0x1
|
||||
.uleb128 0x12 # DW_AT_high_pc, DW_FORM_data4
|
||||
.uleb128 0x6
|
||||
.byte 0
|
||||
.byte 0
|
||||
|
||||
.uleb128 0xe # [14]
|
||||
.uleb128 0x2e # DW_TAG_subprogram, DW_CHILDREN_yes
|
||||
.byte 0x1
|
||||
.uleb128 0x3f # DW_AT_external, DW_FORM_flag_present
|
||||
.uleb128 0x19
|
||||
.uleb128 0x3 # DW_AT_name, DW_FORM_string
|
||||
.uleb128 0x8
|
||||
.uleb128 0x6e # DW_AT_linkage_name, DW_FORM_strp
|
||||
.uleb128 0xe
|
||||
.uleb128 0x11 # DW_AT_low_pc, DW_FORM_addr
|
||||
.uleb128 0x1
|
||||
.uleb128 0x12 # DW_AT_high_pc, DW_FORM_data4
|
||||
.uleb128 0x6
|
||||
.uleb128 0x40 # DW_AT_frame_base, DW_FORM_exprloc
|
||||
.uleb128 0x18
|
||||
.uleb128 0x2117 # DW_AT_GNU_all_call_sites, DW_FORM_flag_present
|
||||
.uleb128 0x19
|
||||
.byte 0
|
||||
.byte 0
|
||||
|
||||
.uleb128 0x12 # [18]
|
||||
.uleb128 0x4109 # DW_TAG_GNU_call_site, DW_CHILDREN_yes
|
||||
.byte 0x1
|
||||
.uleb128 0x11 # DW_AT_low_pc, DW_FORM_addr
|
||||
.uleb128 0x1
|
||||
.uleb128 0x31 # DW_AT_abstract_origin, DW_FORM_ref4
|
||||
.uleb128 0x13
|
||||
.byte 0
|
||||
.byte 0
|
||||
|
||||
.uleb128 0x13 # [19]
|
||||
.uleb128 0x410a # DW_TAG_GNU_call_site_parameter, DW_CHILDREN_no
|
||||
.byte 0
|
||||
.uleb128 0x2 # DW_AT_location, DW_FORM_exprloc
|
||||
.uleb128 0x18
|
||||
.uleb128 0x2111 # DW_AT_GNU_call_site_value, DW_FORM_exprloc
|
||||
.uleb128 0x18
|
||||
.byte 0
|
||||
.byte 0
|
||||
.byte 0
|
||||
|
||||
.section .debug_str,"MS",@progbits,1
|
||||
.string "test"
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user