#PROG: objcopy
#source: compressed-1.s
#as: --64 --compress-debug-sections
#objcopy:
#readelf: -w
#name: objcopy on compressed debug sections

Contents of the .[z]?debug_abbrev section:

  Number TAG \(0x0\)
   1      DW_TAG_compile_unit    \[has children\]
    DW_AT_producer     DW_FORM_strp
    DW_AT_language     DW_FORM_data1
    DW_AT_name         DW_FORM_strp
    DW_AT_comp_dir     DW_FORM_strp
    DW_AT_low_pc       DW_FORM_addr
    DW_AT_high_pc      DW_FORM_addr
    DW_AT_stmt_list    DW_FORM_data4
    DW_AT value: 0     DW_FORM value: 0
   2      DW_TAG_subprogram    \[no children\]
    DW_AT_external     DW_FORM_flag
    DW_AT_name         DW_FORM_strp
    DW_AT_decl_file    DW_FORM_data1
    DW_AT_decl_line    DW_FORM_data1
    DW_AT_low_pc       DW_FORM_addr
    DW_AT_high_pc      DW_FORM_addr
    DW_AT_frame_base   DW_FORM_block1
    DW_AT value: 0     DW_FORM value: 0

Contents of the .[z]?debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0x5e \(32-bit\)
   Version:       3
   Abbrev Offset: 0x0
   Pointer Size:  8
 <0><b>: Abbrev Number: 1 \(DW_TAG_compile_unit\)
    <c>   DW_AT_producer    : \(indirect string, offset: 0x0\): GNU C 4.4.4
    <10>   DW_AT_language    : 1	\(ANSI C\)
    <11>   DW_AT_name        : \(indirect string, offset: 0x18\): compressed-1.c
    <15>   DW_AT_comp_dir    : \(indirect string, offset: 0x16\): .
    <19>   DW_AT_low_pc      : 0x0
    <21>   DW_AT_high_pc     : 0x15
    <29>   DW_AT_stmt_list   : 0x0
 <1><2d>: Abbrev Number: 2 \(DW_TAG_subprogram\)
    <2e>   DW_AT_external    : 1
    <2f>   DW_AT_name        : \(indirect string, offset: 0xc\): foo2
    <33>   DW_AT_decl_file   : 1
    <34>   DW_AT_decl_line   : 10
    <35>   DW_AT_low_pc      : 0x0
    <3d>   DW_AT_high_pc     : 0x2
    <45>   DW_AT_frame_base  : 1 byte block: 9c 	\(DW_OP_call_frame_cfa\)
 <1><47>: Abbrev Number: 2 \(DW_TAG_subprogram\)
    <48>   DW_AT_external    : 1
    <49>   DW_AT_name        : \(indirect string, offset: 0x11\): foo1
    <4d>   DW_AT_decl_file   : 1
    <4e>   DW_AT_decl_line   : 4
    <4f>   DW_AT_low_pc      : 0x10
    <57>   DW_AT_high_pc     : 0x15
    <5f>   DW_AT_frame_base  : 1 byte block: 9c 	\(DW_OP_call_frame_cfa\)
 <1><61>: Abbrev Number: 0

Raw dump of debug contents of section .[z]?debug_line:

  Offset:                      0x0
  Length:                      67
  DWARF Version:               2
  Prologue Length:             37
  Minimum Instruction Length:  1
  Initial value of 'is_stmt':  1
  Line Base:                   -5
  Line Range:                  14
  Opcode Base:                 13

 Opcodes:
  Opcode 1 has 0 args
  Opcode 2 has 1 args
  Opcode 3 has 1 args
  Opcode 4 has 1 args
  Opcode 5 has 1 args
  Opcode 6 has 0 args
  Opcode 7 has 0 args
  Opcode 8 has 0 args
  Opcode 9 has 1 args
  Opcode 10 has 0 args
  Opcode 11 has 0 args
  Opcode 12 has 1 args

 The Directory Table is empty.

 The File Name Table \(offset 0x.*\):
  Entry	Dir	Time	Size	Name
  1	0	0	0	compressed-1.c

 Line Number Statements:
  \[0x.*\]  Extended opcode 2: set Address to 0x0
  \[0x.*\]  Advance Line by 10 to 11
  \[0x.*\]  Copy
  \[0x.*\]  Special opcode 6: advance Address by 0 to 0x0 and Line by 1 to 12
  \[0x.*\]  Advance Line by -7 to 5
  \[0x.*\]  Special opcode 229: advance Address by 16 to 0x10 and Line by 0 to 5
  \[0x.*\]  Special opcode 6: advance Address by 0 to 0x10 and Line by 1 to 6
  \[0x.*\]  Advance PC by 5 to 0x15
  \[0x.*\]  Extended opcode 1: End of Sequence


Contents of the .[z]?debug_pubnames section:

  Length:                              32
  Version:                             2
  Offset into .[z]?debug_info section:     0x0
  Size of area in .[z]?debug_info section: 98

    Offset	Name
    2d    	foo2
    47    	foo1

Contents of the .[z]?debug_aranges section:

  Length:                   44
  Version:                  2
  Offset into .[z]?debug_info:  0x0
  Pointer Size:             8
  Segment Size:             0

    Address            Length
    0000000000000000 0000000000000015 
    0000000000000000 0000000000000000 

Contents of the .[z]?debug_str section:

  0x00000000 474e5520 4320342e 342e3400 666f6f32 GNU C 4.4.4.foo2
  0x00000010 00666f6f 31002e00 636f6d70 72657373 .foo1...compress
  0x00000020 65642d31 2e6300                     ed-1.c.

Contents of the .[z]?debug_frame section:

0+ 0+14 0*ffffffff CIE
  Version:               1
  Augmentation:          ""
  Code alignment factor: 1
  Data alignment factor: -8
  Return address column: 16

  DW_CFA_def_cfa: r7 \(rsp\) ofs 8
  DW_CFA_offset: r16 \(rip\) at cfa-8
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop

0+18 0+14 0+ FDE cie=0+ pc=0+..0+2

0+30 0+14 0+ FDE cie=0+ pc=0+10..0+15

