Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0x86 (32-bit)
   Version:       2
   Abbrev Offset: 0x0
   Pointer Size:  4
 <0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
    <c>   DW_AT_producer    : (indirect string, offset: 0x0): Android (4691093 based on r316199) clang version 6.0.2 (https://android.googlesource.com/toolchain/clang 183abd29fc496f55536e7d904e0abae47888fc7f) (https://android.googlesource.com/toolchain/llvm 34361f192e41ed6e4e8f9aca80a4ea7e9856f327) (based on LLVM 6.0.2svn)
    <10>   DW_AT_language    : 12	(ANSI C99)
    <12>   DW_AT_name        : (indirect string, offset: 0x107): mpers-m32/stack_t.c
    <16>   DW_AT_stmt_list   : 0x0
    <1a>   DW_AT_comp_dir    : (indirect string, offset: 0x11b): /usr/local/google/ndkports/.out/strace/package/strace-4.23
    <1e>   DW_AT_GNU_pubnames: 1
 <1><1f>: Abbrev Number: 2 (DW_TAG_variable)
    <20>   DW_AT_name        : (indirect string, offset: 0x156): mpers_target_var
    <24>   DW_AT_type        : <0x31>
    <28>   DW_AT_external    : 1
    <29>   DW_AT_decl_file   : 3
    <2a>   DW_AT_decl_line   : 39
    <2b>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
 <1><31>: Abbrev Number: 3 (DW_TAG_typedef)
    <32>   DW_AT_type        : <0x3c>
    <36>   DW_AT_name        : (indirect string, offset: 0x1a2): stack_t
    <3a>   DW_AT_decl_file   : 1
    <3b>   DW_AT_decl_line   : 97
 <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type)
    <3d>   DW_AT_name        : (indirect string, offset: 0x196): sigaltstack
    <41>   DW_AT_byte_size   : 12
    <42>   DW_AT_decl_file   : 1
    <43>   DW_AT_decl_line   : 93
 <2><44>: Abbrev Number: 5 (DW_TAG_member)
    <45>   DW_AT_name        : (indirect string, offset: 0x167): ss_sp
    <49>   DW_AT_type        : <0x6f>
    <4d>   DW_AT_decl_file   : 1
    <4e>   DW_AT_decl_line   : 94
    <4f>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
 <2><52>: Abbrev Number: 5 (DW_TAG_member)
    <53>   DW_AT_name        : (indirect string, offset: 0x16d): ss_flags
    <57>   DW_AT_type        : <0x70>
    <5b>   DW_AT_decl_file   : 1
    <5c>   DW_AT_decl_line   : 95
    <5d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
 <2><60>: Abbrev Number: 5 (DW_TAG_member)
    <61>   DW_AT_name        : (indirect string, offset: 0x17a): ss_size
    <65>   DW_AT_type        : <0x77>
    <69>   DW_AT_decl_file   : 1
    <6a>   DW_AT_decl_line   : 96
    <6b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
 <2><6e>: Abbrev Number: 0
 <1><6f>: Abbrev Number: 6 (DW_TAG_pointer_type)
 <1><70>: Abbrev Number: 7 (DW_TAG_base_type)
    <71>   DW_AT_name        : (indirect string, offset: 0x176): int
    <75>   DW_AT_encoding    : 5	(signed)
    <76>   DW_AT_byte_size   : 4
 <1><77>: Abbrev Number: 3 (DW_TAG_typedef)
    <78>   DW_AT_type        : <0x82>
    <7c>   DW_AT_name        : (indirect string, offset: 0x18f): size_t
    <80>   DW_AT_decl_file   : 2
    <81>   DW_AT_decl_line   : 62
 <1><82>: Abbrev Number: 7 (DW_TAG_base_type)
    <83>   DW_AT_name        : (indirect string, offset: 0x182): unsigned int
    <87>   DW_AT_encoding    : 7	(unsigned)
    <88>   DW_AT_byte_size   : 4
 <1><89>: Abbrev Number: 0

