Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0x8b (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/msgbuf_t.c
    <16>   DW_AT_stmt_list   : 0x0
    <1a>   DW_AT_comp_dir    : (indirect string, offset: 0x11c): /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: 0x157): 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): msgbuf_t
    <3a>   DW_AT_decl_file   : 3
    <3b>   DW_AT_decl_line   : 38
 <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type)
    <3d>   DW_AT_name        : (indirect string, offset: 0x19b): msgbuf
    <41>   DW_AT_byte_size   : 8
    <42>   DW_AT_decl_file   : 2
    <43>   DW_AT_decl_line   : 43
 <2><44>: Abbrev Number: 5 (DW_TAG_member)
    <45>   DW_AT_name        : (indirect string, offset: 0x168): mtype
    <49>   DW_AT_type        : <0x61>
    <4d>   DW_AT_decl_file   : 2
    <4e>   DW_AT_decl_line   : 44
    <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: 0x187): mtext
    <57>   DW_AT_type        : <0x73>
    <5b>   DW_AT_decl_file   : 2
    <5c>   DW_AT_decl_line   : 45
    <5d>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
 <2><60>: Abbrev Number: 0
 <1><61>: Abbrev Number: 3 (DW_TAG_typedef)
    <62>   DW_AT_type        : <0x6c>
    <66>   DW_AT_name        : (indirect string, offset: 0x177): __kernel_long_t
    <6a>   DW_AT_decl_file   : 1
    <6b>   DW_AT_decl_line   : 23
 <1><6c>: Abbrev Number: 6 (DW_TAG_base_type)
    <6d>   DW_AT_name        : (indirect string, offset: 0x16e): long int
    <71>   DW_AT_encoding    : 5	(signed)
    <72>   DW_AT_byte_size   : 4
 <1><73>: Abbrev Number: 7 (DW_TAG_array_type)
    <74>   DW_AT_type        : <0x80>
 <2><78>: Abbrev Number: 8 (DW_TAG_subrange_type)
    <79>   DW_AT_type        : <0x87>
    <7d>   DW_AT_lower_bound : 0
    <7e>   DW_AT_count       : 1
 <2><7f>: Abbrev Number: 0
 <1><80>: Abbrev Number: 6 (DW_TAG_base_type)
    <81>   DW_AT_name        : (indirect string, offset: 0x18d): char
    <85>   DW_AT_encoding    : 8	(unsigned char)
    <86>   DW_AT_byte_size   : 1
 <1><87>: Abbrev Number: 9 (DW_TAG_base_type)
    <88>   DW_AT_name        : (indirect string, offset: 0x192): sizetype
    <8c>   DW_AT_byte_size   : 8
    <8d>   DW_AT_encoding    : 7	(unsigned)
 <1><8e>: Abbrev Number: 0

