summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-05-06 08:03:46 +0000
committerFangrui Song <maskray@google.com>2019-05-06 08:03:46 +0000
commit7e55672b225640fa19f92e9ae73f53d0718b3ad6 (patch)
treed9c03512d970075f4123b89b10b9fd175c58dee8 /llvm/test
parent2a0cfcce6a272f64432d6eb18fa922e6f4631f77 (diff)
downloadbcm5719-llvm-7e55672b225640fa19f92e9ae73f53d0718b3ad6.tar.gz
bcm5719-llvm-7e55672b225640fa19f92e9ae73f53d0718b3ad6.zip
DWARF v5: fix directory index in the line table
Summary: Prior to DWARF v5, a directory index of 0 represents DW_AT_comp_dir. In DWARF v5, the index starts with 0 and Entry.DirIdx is the index into Prologue.IncludeDirectories. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D61253 llvm-svn: 360015
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/DebugInfo/symbolize-directory.s62
1 files changed, 62 insertions, 0 deletions
diff --git a/llvm/test/DebugInfo/symbolize-directory.s b/llvm/test/DebugInfo/symbolize-directory.s
new file mode 100644
index 00000000000..5dbd0b57ca6
--- /dev/null
+++ b/llvm/test/DebugInfo/symbolize-directory.s
@@ -0,0 +1,62 @@
+# REQUIRES: x86-registered-target
+
+# RUN: llvm-mc -filetype=obj -triple=x86_64 -dwarf-version=5 %s -o %t.o
+# RUN: llvm-symbolizer --obj=%t.o --functions=none 0 1 | FileCheck %s
+
+# CHECK: /home/0.cc:1:0
+# CHECK: /tmp/1.cc:2:1
+
+.Lfunc_begin0:
+ .file 0 "/home" "0.cc"
+ .file 1 "/tmp" "1.cc"
+ .loc 0 1 0 # 0.cc:1:0
+ nop
+ .loc 1 2 1 # 1.cc:2:1
+ nop
+ .loc 0 1 1 prologue_end # 0.cc:1:1
+.Lfunc_end0:
+
+.section .debug_abbrev,"",@progbits
+ .byte 1 # Abbreviation Code
+ .byte 17 # DW_TAG_compile_unit
+ .byte 1 # DW_children_yes
+ .byte 16 # DW_AT_stmt_list
+ .byte 23 # DW_FROM_sec_offset
+ .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 3 # DW_AT_name
+ .byte 8 # DW_FORM_string
+ .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 0 # EOM(3)
+
+.section .debug_info,"",@progbits
+.Lcu_begin0:
+ .long .Lcu_end0-.Lcu_begin0-4 # Length of Unit
+ .short 5 # DWARF version number
+ .byte 1 # DWARF Unit Type
+ .byte 8 # Address Size (in bytes)
+ .long .debug_abbrev # Offset Into Abbrev.
+ .byte 1 # Abbrev [1]
+ .long 0 # DW_AT_stmt_list
+ .quad 0 # DW_AT_low_pc
+ .long 2 # DW_AT_high_pc
+ .byte 2 # Abbrev [2] DW_TAG_subprogram
+ .asciz "0.c" # DW_AT_name
+ .quad 0 # DW_AT_low_pc
+ .long 2 # DW_AT_high_pc
+ .byte 0
+.Lcu_end0:
OpenPOWER on IntegriCloud