aboutsummaryrefslogtreecommitdiff
path: root/test/DebugInfo/Inputs
diff options
context:
space:
mode:
Diffstat (limited to 'test/DebugInfo/Inputs')
-rw-r--r--test/DebugInfo/Inputs/dwarfdump-str-offsets-dwp.x86_64.obin0 -> 3328 bytes
-rw-r--r--test/DebugInfo/Inputs/dwarfdump-str-offsets.s250
-rw-r--r--test/DebugInfo/Inputs/dwarfdump-test-zlib.cc3
-rw-r--r--test/DebugInfo/Inputs/dwarfdump-test-zlib.o.elf-x86-64bin0 -> 4688 bytes
4 files changed, 2 insertions, 251 deletions
diff --git a/test/DebugInfo/Inputs/dwarfdump-str-offsets-dwp.x86_64.o b/test/DebugInfo/Inputs/dwarfdump-str-offsets-dwp.x86_64.o
new file mode 100644
index 000000000000..b3c73f72d246
--- /dev/null
+++ b/test/DebugInfo/Inputs/dwarfdump-str-offsets-dwp.x86_64.o
Binary files differ
diff --git a/test/DebugInfo/Inputs/dwarfdump-str-offsets.s b/test/DebugInfo/Inputs/dwarfdump-str-offsets.s
index e0a634c7c4a2..f395f4b872c1 100644
--- a/test/DebugInfo/Inputs/dwarfdump-str-offsets.s
+++ b/test/DebugInfo/Inputs/dwarfdump-str-offsets.s
@@ -248,253 +248,3 @@ TU_split_5_type:
.byte 0 # NULL
.byte 0 # NULL
TU_split_5_end:
-# Test object to verify dwarfdump handles v5 string offset tables.
-# We have 2 v5 CUs, a v5 TU, and a split v5 CU and TU.
-#
-# To generate the test object:
-# llvm-mc -triple x86_64-unknown-linux dwarfdump-str-offsets.s -filetype=obj \
-# -o dwarfdump-str-offsets.elf-x86-64
-
- .section .debug_str,"MS",@progbits,1
-str_producer:
- .asciz "Handmade DWARF producer"
-str_CU1:
- .asciz "Compile_Unit_1"
-str_CU1_dir:
- .asciz "/home/test/CU1"
-str_CU2:
- .asciz "Compile_Unit_2"
-str_CU2_dir:
- .asciz "/home/test/CU2"
-str_TU:
- .asciz "Type_Unit"
-str_TU_type:
- .asciz "MyStruct"
-
-# Every unit contributes to the string_offsets table.
- .section .debug_str_offsets,"",@progbits
-# CU1's contribution
- .long .debug_str_offsets_segment0_end-.debug_str_offsets_base0
- .short 5 # DWARF version
- .short 0 # Padding
-.debug_str_offsets_base0:
- .long str_producer
- .long str_CU1
- .long str_CU1_dir
-.debug_str_offsets_segment0_end:
-# CU2's contribution
- .long .debug_str_offsets_segment1_end-.debug_str_offsets_base1
- .short 5 # DWARF version
- .short 0 # Padding
-.debug_str_offsets_base1:
- .long str_producer
- .long str_CU2
- .long str_CU2_dir
-.debug_str_offsets_segment1_end:
-# The TU's contribution
- .long .debug_str_offsets_segment2_end-.debug_str_offsets_base2
- .short 5 # DWARF version
- .short 0 # Padding
-.debug_str_offsets_base2:
- .long str_TU
- .long str_TU_type
-.debug_str_offsets_segment2_end:
-
- .section .debug_str.dwo,"MS",@progbits,1
-dwo_str_CU_5_producer:
- .asciz "Handmade split DWARF producer"
-dwo_str_CU_5_name:
- .asciz "V5_split_compile_unit"
-dwo_str_CU_5_comp_dir:
- .asciz "/home/test/splitCU"
-dwo_str_TU_5:
- .asciz "V5_split_type_unit"
-dwo_str_TU_5_type:
- .asciz "V5_split_Mystruct"
-
- .section .debug_str_offsets.dwo,"",@progbits
-# The split CU's contribution
- .long .debug_dwo_str_offsets_segment0_end-.debug_dwo_str_offsets_base0
- .short 5 # DWARF version
- .short 0 # Padding
-.debug_dwo_str_offsets_base0:
- .long dwo_str_CU_5_producer-.debug_str.dwo
- .long dwo_str_CU_5_name-.debug_str.dwo
- .long dwo_str_CU_5_comp_dir-.debug_str.dwo
-.debug_dwo_str_offsets_segment0_end:
-# The split TU's contribution
- .long .debug_dwo_str_offsets_segment1_end-.debug_dwo_str_offsets_base1
- .short 5 # DWARF version
- .short 0 # Padding
-.debug_dwo_str_offsets_base1:
- .long dwo_str_TU_5-.debug_str.dwo
- .long dwo_str_TU_5_type-.debug_str.dwo
-.debug_dwo_str_offsets_segment1_end:
-
-# All CUs/TUs use the same abbrev section for simplicity.
- .section .debug_abbrev,"",@progbits
- .byte 0x01 # Abbrev code
- .byte 0x11 # DW_TAG_compile_unit
- .byte 0x00 # DW_CHILDREN_no
- .byte 0x25 # DW_AT_producer
- .byte 0x1a # DW_FORM_strx
- .byte 0x03 # DW_AT_name
- .byte 0x1a # DW_FORM_strx
- .byte 0x72 # DW_AT_str_offsets_base
- .byte 0x17 # DW_FORM_sec_offset
- .byte 0x1b # DW_AT_comp_dir
- .byte 0x1a # DW_FORM_strx
- .byte 0x00 # EOM(1)
- .byte 0x00 # EOM(2)
- .byte 0x02 # Abbrev code
- .byte 0x41 # DW_TAG_type_unit
- .byte 0x01 # DW_CHILDREN_yes
- .byte 0x03 # DW_AT_name
- .byte 0x1a # DW_FORM_strx
- .byte 0x72 # DW_AT_str_offsets_base
- .byte 0x17 # DW_FORM_sec_offset
- .byte 0x00 # EOM(1)
- .byte 0x00 # EOM(2)
- .byte 0x03 # Abbrev code
- .byte 0x13 # DW_TAG_structure_type
- .byte 0x00 # DW_CHILDREN_no (no members)
- .byte 0x03 # DW_AT_name
- .byte 0x1a # DW_FORM_strx
- .byte 0x00 # EOM(1)
- .byte 0x00 # EOM(2)
- .byte 0x00 # EOM(3)
-
-# And a .dwo copy for the .dwo sections.
- .section .debug_abbrev.dwo,"",@progbits
- .byte 0x01 # Abbrev code
- .byte 0x11 # DW_TAG_compile_unit
- .byte 0x00 # DW_CHILDREN_no
- .byte 0x25 # DW_AT_producer
- .byte 0x1a # DW_FORM_strx
- .byte 0x03 # DW_AT_name
- .byte 0x1a # DW_FORM_strx
- .byte 0x72 # DW_AT_str_offsets_base
- .byte 0x17 # DW_FORM_sec_offset
- .byte 0x1b # DW_AT_comp_dir
- .byte 0x1a # DW_FORM_strx
- .byte 0x00 # EOM(1)
- .byte 0x00 # EOM(2)
- .byte 0x02 # Abbrev code
- .byte 0x41 # DW_TAG_type_unit
- .byte 0x01 # DW_CHILDREN_yes
- .byte 0x03 # DW_AT_name
- .byte 0x1a # DW_FORM_strx
- .byte 0x72 # DW_AT_str_offsets_base
- .byte 0x17 # DW_FORM_sec_offset
- .byte 0x00 # EOM(1)
- .byte 0x00 # EOM(2)
- .byte 0x03 # Abbrev code
- .byte 0x13 # DW_TAG_structure_type
- .byte 0x00 # DW_CHILDREN_no (no members)
- .byte 0x03 # DW_AT_name
- .byte 0x1a # DW_FORM_strx
- .byte 0x00 # EOM(1)
- .byte 0x00 # EOM(2)
- .byte 0x00 # EOM(3)
-
- .section .debug_info,"",@progbits
-
-# DWARF v5 CU header.
- .long CU1_5_end-CU1_5_version # Length of Unit
-CU1_5_version:
- .short 5 # DWARF version number
- .byte 1 # DWARF Unit Type
- .byte 8 # Address Size (in bytes)
- .long .debug_abbrev # Offset Into Abbrev. Section
-# The compile-unit DIE, which has a DW_AT_producer, DW_AT_name,
-# DW_AT_str_offsets and DW_AT_compdir.
- .byte 1 # Abbreviation code
- .byte 0 # The index of the producer string
- .byte 1 # The index of the CU name string
- .long .debug_str_offsets_base0
- .byte 2 # The index of the comp dir string
- .byte 0 # NULL
-CU1_5_end:
-
-# DWARF v5 CU header
- .long CU2_5_end-CU2_5_version # Length of Unit
-CU2_5_version:
- .short 5 # DWARF version number
- .byte 1 # DWARF Unit Type
- .byte 8 # Address Size (in bytes)
- .long .debug_abbrev # Offset Into Abbrev. Section
-# The compile-unit DIE, which has a DW_AT_producer, DW_AT_name,
-# DW_AT_str_offsets and DW_AT_compdir.
- .byte 1 # Abbreviation code
- .byte 0 # The index of the producer string
- .byte 1 # The index of the CU name string
- .long .debug_str_offsets_base1
- .byte 2 # The index of the comp dir string
- .byte 0 # NULL
-CU2_5_end:
-
- .section .debug_types,"",@progbits
-# DWARF v5 Type unit header.
-TU_5_start:
- .long TU_5_end-TU_5_version # Length of Unit
-TU_5_version:
- .short 5 # DWARF version number
- .byte 2 # DWARF Unit Type
- .byte 8 # Address Size (in bytes)
- .long .debug_abbrev # Offset Into Abbrev. Section
- .quad 0x0011223344556677 # Type Signature
- .long TU_5_type-TU_5_start # Type offset
-# The type-unit DIE, which has a name.
- .byte 2 # Abbreviation code
- .byte 0 # Index of the unit type name string
- .long .debug_str_offsets_base2 # offset into the str_offsets section
-# The type DIE, which has a name.
-TU_5_type:
- .byte 3 # Abbreviation code
- .byte 1 # Index of the type name string
- .byte 0 # NULL
- .byte 0 # NULL
-TU_5_end:
-
- .section .debug_info.dwo,"",@progbits
-
-# 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 1 # DWARF Unit Type
- .byte 8 # Address Size (in bytes)
- .long .debug_abbrev.dwo # Offset Into Abbrev Section
-# The compile-unit DIE, which has a DW_AT_producer, DW_AT_name,
-# DW_AT_str_offsets and DW_AT_compdir.
- .byte 1 # Abbreviation code
- .byte 0 # The index of the producer string
- .byte 1 # The index of the CU name string
- .long .debug_dwo_str_offsets_base0-.debug_str_offsets.dwo
- .byte 2 # The index of the comp dir string
- .byte 0 # NULL
-CU_split_5_end:
-
- .section .debug_types.dwo,"",@progbits
-
-# DWARF v5 split type unit header.
-TU_split_5_start:
- .long TU_split_5_end-TU_split_5_version # Length of Unit
-TU_split_5_version:
- .short 5 # DWARF version number
- .byte 6 # DWARF Unit Type
- .byte 8 # Address Size (in bytes)
- .long .debug_abbrev.dwo # Offset Into Abbrev Section
- .quad 0x8899aabbccddeeff # Type Signature
- .long TU_split_5_type-TU_split_5_start # Type offset
-# The type-unit DIE, which has a name.
- .byte 2 # Abbreviation code
- .byte 0 # The index of the type unit name string
- .long .debug_dwo_str_offsets_base1-.debug_str_offsets.dwo
-# The type DIE, which has a name.
-TU_split_5_type:
- .byte 3 # Abbreviation code
- .byte 1 # The index of the type name string
- .byte 0 # NULL
- .byte 0 # NULL
-TU_split_5_end:
diff --git a/test/DebugInfo/Inputs/dwarfdump-test-zlib.cc b/test/DebugInfo/Inputs/dwarfdump-test-zlib.cc
index 966a465f9046..6c506381aa5d 100644
--- a/test/DebugInfo/Inputs/dwarfdump-test-zlib.cc
+++ b/test/DebugInfo/Inputs/dwarfdump-test-zlib.cc
@@ -22,6 +22,7 @@ int main() {
// $ cp dwarfdump-test-zlib.cc /tmp/dbginfo
// $ cd /tmp/dbginfo
// $ clang++ -g dwarfdump-test-zlib.cc -Wl,--compress-debug-sections=zlib -o dwarfdump-test-zlib.elf-x86-64
+// $ clang++ -g dwarfdump-test-zlib.cc -Wa,--compress-debug-sections=zlib -c -o dwarfdump-test-zlib.o.elf-x86-64
// $ clang++ -g dwarfdump-test-zlib.cc -Wl,--compress-debug-sections=zlib-gnu -o dwarfdump-test-zlibgnu.elf-x86-64
// llvm-readobj -sections can be used to see that outputs really contain the compressed sections, also output in both
-// cases is slightly smaller, that is because of compression. \ No newline at end of file
+// cases is slightly smaller, that is because of compression.
diff --git a/test/DebugInfo/Inputs/dwarfdump-test-zlib.o.elf-x86-64 b/test/DebugInfo/Inputs/dwarfdump-test-zlib.o.elf-x86-64
new file mode 100644
index 000000000000..55f5cb0d157c
--- /dev/null
+++ b/test/DebugInfo/Inputs/dwarfdump-test-zlib.o.elf-x86-64
Binary files differ