Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0x97 (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/tms_t.c
    <16>   DW_AT_stmt_list   : 0x0
    <1a>   DW_AT_comp_dir    : (indirect string, offset: 0x119): /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: 0x154): mpers_target_var
    <24>   DW_AT_type        : <0x31>
    <28>   DW_AT_external    : 1
    <29>   DW_AT_decl_file   : 3
    <2a>   DW_AT_decl_line   : 38
    <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: 0x1bd): tms_t
    <3a>   DW_AT_decl_file   : 3
    <3b>   DW_AT_decl_line   : 37
 <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type)
    <3d>   DW_AT_name        : (indirect string, offset: 0x1b9): tms
    <41>   DW_AT_byte_size   : 16
    <42>   DW_AT_decl_file   : 2
    <43>   DW_AT_decl_line   : 22
 <2><44>: Abbrev Number: 5 (DW_TAG_member)
    <45>   DW_AT_name        : (indirect string, offset: 0x165): tms_utime
    <49>   DW_AT_type        : <0x7d>
    <4d>   DW_AT_decl_file   : 2
    <4e>   DW_AT_decl_line   : 23
    <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): tms_stime
    <57>   DW_AT_type        : <0x7d>
    <5b>   DW_AT_decl_file   : 2
    <5c>   DW_AT_decl_line   : 24
    <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: 0x1a3): tms_cutime
    <65>   DW_AT_type        : <0x7d>
    <69>   DW_AT_decl_file   : 2
    <6a>   DW_AT_decl_line   : 25
    <6b>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
 <2><6e>: Abbrev Number: 5 (DW_TAG_member)
    <6f>   DW_AT_name        : (indirect string, offset: 0x1ae): tms_cstime
    <73>   DW_AT_type        : <0x7d>
    <77>   DW_AT_decl_file   : 2
    <78>   DW_AT_decl_line   : 26
    <79>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
 <2><7c>: Abbrev Number: 0
 <1><7d>: Abbrev Number: 3 (DW_TAG_typedef)
    <7e>   DW_AT_type        : <0x88>
    <82>   DW_AT_name        : (indirect string, offset: 0x188): __kernel_clock_t
    <86>   DW_AT_decl_file   : 1
    <87>   DW_AT_decl_line   : 78
 <1><88>: Abbrev Number: 3 (DW_TAG_typedef)
    <89>   DW_AT_type        : <0x93>
    <8d>   DW_AT_name        : (indirect string, offset: 0x178): __kernel_long_t
    <91>   DW_AT_decl_file   : 1
    <92>   DW_AT_decl_line   : 23
 <1><93>: Abbrev Number: 6 (DW_TAG_base_type)
    <94>   DW_AT_name        : (indirect string, offset: 0x16f): long int
    <98>   DW_AT_encoding    : 5	(signed)
    <99>   DW_AT_byte_size   : 4
 <1><9a>: Abbrev Number: 0

