Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0xaa (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/strace_aio_sigset.c
    <16>   DW_AT_stmt_list   : 0x0
    <1a>   DW_AT_comp_dir    : (indirect string, offset: 0x125): /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: 0x160): mpers_target_var
    <24>   DW_AT_type        : <0x31>
    <28>   DW_AT_external    : 1
    <29>   DW_AT_decl_file   : 2
    <2a>   DW_AT_decl_line   : 36
    <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: 0x1c0): strace_aio_sigset
    <3a>   DW_AT_decl_file   : 2
    <3b>   DW_AT_decl_line   : 34
 <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type)
    <3d>   DW_AT_byte_size   : 8
    <3e>   DW_AT_decl_file   : 2
    <3f>   DW_AT_decl_line   : 31
 <2><40>: Abbrev Number: 5 (DW_TAG_member)
    <41>   DW_AT_name        : (indirect string, offset: 0x171): sigmask
    <45>   DW_AT_type        : <0x5d>
    <49>   DW_AT_decl_file   : 2
    <4a>   DW_AT_decl_line   : 32
    <4b>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
 <2><4e>: Abbrev Number: 5 (DW_TAG_member)
    <4f>   DW_AT_name        : (indirect string, offset: 0x1a1): sigsetsize
    <53>   DW_AT_type        : <0x9b>
    <57>   DW_AT_decl_file   : 2
    <58>   DW_AT_decl_line   : 33
    <59>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
 <2><5c>: Abbrev Number: 0
 <1><5d>: Abbrev Number: 6 (DW_TAG_pointer_type)
    <5e>   DW_AT_type        : <0x62>
 <1><62>: Abbrev Number: 3 (DW_TAG_typedef)
    <63>   DW_AT_type        : <0x6d>
    <67>   DW_AT_name        : (indirect string, offset: 0x198): sigset_t
    <6b>   DW_AT_decl_file   : 1
    <6c>   DW_AT_decl_line   : 79
 <1><6d>: Abbrev Number: 4 (DW_TAG_structure_type)
    <6e>   DW_AT_byte_size   : 4
    <6f>   DW_AT_decl_file   : 1
    <70>   DW_AT_decl_line   : 77
 <2><71>: Abbrev Number: 5 (DW_TAG_member)
    <72>   DW_AT_name        : (indirect string, offset: 0x179): sig
    <76>   DW_AT_type        : <0x80>
    <7a>   DW_AT_decl_file   : 1
    <7b>   DW_AT_decl_line   : 78
    <7c>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
 <2><7f>: Abbrev Number: 0
 <1><80>: Abbrev Number: 7 (DW_TAG_array_type)
    <81>   DW_AT_type        : <0x8d>
 <2><85>: Abbrev Number: 8 (DW_TAG_subrange_type)
    <86>   DW_AT_type        : <0x94>
    <8a>   DW_AT_lower_bound : 0
    <8b>   DW_AT_count       : 1
 <2><8c>: Abbrev Number: 0
 <1><8d>: Abbrev Number: 9 (DW_TAG_base_type)
    <8e>   DW_AT_name        : (indirect string, offset: 0x17d): long unsigned int
    <92>   DW_AT_encoding    : 7	(unsigned)
    <93>   DW_AT_byte_size   : 4
 <1><94>: Abbrev Number: 10 (DW_TAG_base_type)
    <95>   DW_AT_name        : (indirect string, offset: 0x18f): sizetype
    <99>   DW_AT_byte_size   : 8
    <9a>   DW_AT_encoding    : 7	(unsigned)
 <1><9b>: Abbrev Number: 3 (DW_TAG_typedef)
    <9c>   DW_AT_type        : <0xa6>
    <a0>   DW_AT_name        : (indirect string, offset: 0x1b9): size_t
    <a4>   DW_AT_decl_file   : 3
    <a5>   DW_AT_decl_line   : 62
 <1><a6>: Abbrev Number: 9 (DW_TAG_base_type)
    <a7>   DW_AT_name        : (indirect string, offset: 0x1ac): unsigned int
    <ab>   DW_AT_encoding    : 7	(unsigned)
    <ac>   DW_AT_byte_size   : 4
 <1><ad>: Abbrev Number: 0

