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/timeval_t.c
    <16>   DW_AT_stmt_list   : 0x0
    <1a>   DW_AT_comp_dir    : (indirect string, offset: 0x11d): /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: 0x158): mpers_target_var
    <24>   DW_AT_type        : <0x31>
    <28>   DW_AT_external    : 1
    <29>   DW_AT_decl_file   : 3
    <2a>   DW_AT_decl_line   : 34
    <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: 0x1be): timeval_t
    <3a>   DW_AT_decl_file   : 3
    <3b>   DW_AT_decl_line   : 32
 <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type)
    <3d>   DW_AT_name        : (indirect string, offset: 0x1b6): timeval
    <41>   DW_AT_byte_size   : 8
    <42>   DW_AT_decl_file   : 2
    <43>   DW_AT_decl_line   : 29
 <2><44>: Abbrev Number: 5 (DW_TAG_member)
    <45>   DW_AT_name        : (indirect string, offset: 0x169): tv_sec
    <49>   DW_AT_type        : <0x61>
    <4d>   DW_AT_decl_file   : 2
    <4e>   DW_AT_decl_line   : 30
    <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: 0x199): tv_usec
    <57>   DW_AT_type        : <0x7e>
    <5b>   DW_AT_decl_file   : 2
    <5c>   DW_AT_decl_line   : 31
    <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: 0x189): __kernel_time_t
    <6a>   DW_AT_decl_file   : 1
    <6b>   DW_AT_decl_line   : 77
 <1><6c>: Abbrev Number: 3 (DW_TAG_typedef)
    <6d>   DW_AT_type        : <0x77>
    <71>   DW_AT_name        : (indirect string, offset: 0x179): __kernel_long_t
    <75>   DW_AT_decl_file   : 1
    <76>   DW_AT_decl_line   : 23
 <1><77>: Abbrev Number: 6 (DW_TAG_base_type)
    <78>   DW_AT_name        : (indirect string, offset: 0x170): long int
    <7c>   DW_AT_encoding    : 5	(signed)
    <7d>   DW_AT_byte_size   : 4
 <1><7e>: Abbrev Number: 3 (DW_TAG_typedef)
    <7f>   DW_AT_type        : <0x6c>
    <83>   DW_AT_name        : (indirect string, offset: 0x1a1): __kernel_suseconds_t
    <87>   DW_AT_decl_file   : 1
    <88>   DW_AT_decl_line   : 43
 <1><89>: Abbrev Number: 0

