Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0xbe (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/struct_flock64.c
    <16>   DW_AT_stmt_list   : 0x0
    <1a>   DW_AT_comp_dir    : (indirect string, offset: 0x122): /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: 0x15d): mpers_target_var
    <24>   DW_AT_type        : <0x31>
    <28>   DW_AT_external    : 1
    <29>   DW_AT_decl_file   : 4
    <2a>   DW_AT_decl_line   : 36
    <2b>   DW_AT_location    : 5 byte block: 3 8 0 0 0 	(DW_OP_addr: 8)
 <1><31>: Abbrev Number: 3 (DW_TAG_typedef)
    <32>   DW_AT_type        : <0x3c>
    <36>   DW_AT_name        : (indirect string, offset: 0x1e7): struct_flock64
    <3a>   DW_AT_decl_file   : 4
    <3b>   DW_AT_decl_line   : 34
 <1><3c>: Abbrev Number: 3 (DW_TAG_typedef)
    <3d>   DW_AT_type        : <0x47>
    <41>   DW_AT_name        : (indirect string, offset: 0x1d1): struct_kernel_flock64
    <45>   DW_AT_decl_file   : 3
    <46>   DW_AT_decl_line   : 43
 <1><47>: Abbrev Number: 4 (DW_TAG_structure_type)
    <48>   DW_AT_name        : (indirect string, offset: 0x1c9): flock64
    <4c>   DW_AT_byte_size   : 32
    <4d>   DW_AT_decl_file   : 1
    <4e>   DW_AT_decl_line   : 161
 <2><4f>: Abbrev Number: 5 (DW_TAG_member)
    <50>   DW_AT_name        : (indirect string, offset: 0x16e): l_type
    <54>   DW_AT_type        : <0x96>
    <58>   DW_AT_decl_file   : 1
    <59>   DW_AT_decl_line   : 162
    <5a>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
 <2><5d>: Abbrev Number: 5 (DW_TAG_member)
    <5e>   DW_AT_name        : (indirect string, offset: 0x17b): l_whence
    <62>   DW_AT_type        : <0x96>
    <66>   DW_AT_decl_file   : 1
    <67>   DW_AT_decl_line   : 163
    <68>   DW_AT_data_member_location: 2 byte block: 23 2 	(DW_OP_plus_uconst: 2)
 <2><6b>: Abbrev Number: 5 (DW_TAG_member)
    <6c>   DW_AT_name        : (indirect string, offset: 0x184): l_start
    <70>   DW_AT_type        : <0x9d>
    <74>   DW_AT_decl_file   : 1
    <75>   DW_AT_decl_line   : 164
    <76>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
 <2><79>: Abbrev Number: 5 (DW_TAG_member)
    <7a>   DW_AT_name        : (indirect string, offset: 0x1aa): l_len
    <7e>   DW_AT_type        : <0x9d>
    <82>   DW_AT_decl_file   : 1
    <83>   DW_AT_decl_line   : 165
    <84>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
 <2><87>: Abbrev Number: 5 (DW_TAG_member)
    <88>   DW_AT_name        : (indirect string, offset: 0x1b0): l_pid
    <8c>   DW_AT_type        : <0xaf>
    <90>   DW_AT_decl_file   : 1
    <91>   DW_AT_decl_line   : 166
    <92>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
 <2><95>: Abbrev Number: 0
 <1><96>: Abbrev Number: 6 (DW_TAG_base_type)
    <97>   DW_AT_name        : (indirect string, offset: 0x175): short
    <9b>   DW_AT_encoding    : 5	(signed)
    <9c>   DW_AT_byte_size   : 2
 <1><9d>: Abbrev Number: 3 (DW_TAG_typedef)
    <9e>   DW_AT_type        : <0xa8>
    <a2>   DW_AT_name        : (indirect string, offset: 0x19a): __kernel_loff_t
    <a6>   DW_AT_decl_file   : 2
    <a7>   DW_AT_decl_line   : 76
 <1><a8>: Abbrev Number: 6 (DW_TAG_base_type)
    <a9>   DW_AT_name        : (indirect string, offset: 0x18c): long long int
    <ad>   DW_AT_encoding    : 5	(signed)
    <ae>   DW_AT_byte_size   : 8
 <1><af>: Abbrev Number: 3 (DW_TAG_typedef)
    <b0>   DW_AT_type        : <0xba>
    <b4>   DW_AT_name        : (indirect string, offset: 0x1ba): __kernel_pid_t
    <b8>   DW_AT_decl_file   : 2
    <b9>   DW_AT_decl_line   : 33
 <1><ba>: Abbrev Number: 6 (DW_TAG_base_type)
    <bb>   DW_AT_name        : (indirect string, offset: 0x1b6): int
    <bf>   DW_AT_encoding    : 5	(signed)
    <c0>   DW_AT_byte_size   : 4
 <1><c1>: Abbrev Number: 0

