Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0x110 (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_v4l2_framebuffer.c
    <16>   DW_AT_stmt_list   : 0x0
    <1a>   DW_AT_comp_dir    : (indirect string, offset: 0x12b): /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: 0x166): mpers_target_var
    <24>   DW_AT_type        : <0x31>
    <28>   DW_AT_external    : 1
    <29>   DW_AT_decl_file   : 3
    <2a>   DW_AT_decl_line   : 53
    <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: 0x1fb): struct_v4l2_framebuffer
    <3a>   DW_AT_decl_file   : 3
    <3b>   DW_AT_decl_line   : 49
 <1><3c>: Abbrev Number: 4 (DW_TAG_structure_type)
    <3d>   DW_AT_name        : (indirect string, offset: 0x1ea): v4l2_framebuffer
    <41>   DW_AT_byte_size   : 44
    <42>   DW_AT_decl_file   : 2
    <43>   DW_AT_decl_line   : 520
 <2><45>: Abbrev Number: 5 (DW_TAG_member)
    <46>   DW_AT_name        : (indirect string, offset: 0x177): capability
    <4a>   DW_AT_type        : <0x100>
    <4e>   DW_AT_decl_file   : 2
    <4f>   DW_AT_decl_line   : 521
    <51>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
 <2><54>: Abbrev Number: 5 (DW_TAG_member)
    <55>   DW_AT_name        : (indirect string, offset: 0x195): flags
    <59>   DW_AT_type        : <0x100>
    <5d>   DW_AT_decl_file   : 2
    <5e>   DW_AT_decl_line   : 522
    <60>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
 <2><63>: Abbrev Number: 5 (DW_TAG_member)
    <64>   DW_AT_name        : (indirect string, offset: 0x19b): base
    <68>   DW_AT_type        : <0x112>
    <6c>   DW_AT_decl_file   : 2
    <6d>   DW_AT_decl_line   : 523
    <6f>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
 <2><72>: Abbrev Number: 5 (DW_TAG_member)
    <73>   DW_AT_name        : (indirect string, offset: 0x1a0): fmt
    <77>   DW_AT_type        : <0x81>
    <7b>   DW_AT_decl_file   : 2
    <7c>   DW_AT_decl_line   : 533
    <7e>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
 <2><81>: Abbrev Number: 6 (DW_TAG_structure_type)
    <82>   DW_AT_byte_size   : 32
    <83>   DW_AT_decl_file   : 2
    <84>   DW_AT_decl_line   : 524
 <3><86>: Abbrev Number: 5 (DW_TAG_member)
    <87>   DW_AT_name        : (indirect string, offset: 0x1a4): width
    <8b>   DW_AT_type        : <0x100>
    <8f>   DW_AT_decl_file   : 2
    <90>   DW_AT_decl_line   : 525
    <92>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
 <3><95>: Abbrev Number: 5 (DW_TAG_member)
    <96>   DW_AT_name        : (indirect string, offset: 0x1aa): height
    <9a>   DW_AT_type        : <0x100>
    <9e>   DW_AT_decl_file   : 2
    <9f>   DW_AT_decl_line   : 526
    <a1>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
 <3><a4>: Abbrev Number: 5 (DW_TAG_member)
    <a5>   DW_AT_name        : (indirect string, offset: 0x1b1): pixelformat
    <a9>   DW_AT_type        : <0x100>
    <ad>   DW_AT_decl_file   : 2
    <ae>   DW_AT_decl_line   : 527
    <b0>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
 <3><b3>: Abbrev Number: 5 (DW_TAG_member)
    <b4>   DW_AT_name        : (indirect string, offset: 0x1bd): field
    <b8>   DW_AT_type        : <0x100>
    <bc>   DW_AT_decl_file   : 2
    <bd>   DW_AT_decl_line   : 528
    <bf>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
 <3><c2>: Abbrev Number: 5 (DW_TAG_member)
    <c3>   DW_AT_name        : (indirect string, offset: 0x1c3): bytesperline
    <c7>   DW_AT_type        : <0x100>
    <cb>   DW_AT_decl_file   : 2
    <cc>   DW_AT_decl_line   : 529
    <ce>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
 <3><d1>: Abbrev Number: 5 (DW_TAG_member)
    <d2>   DW_AT_name        : (indirect string, offset: 0x1d0): sizeimage
    <d6>   DW_AT_type        : <0x100>
    <da>   DW_AT_decl_file   : 2
    <db>   DW_AT_decl_line   : 530
    <dd>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
 <3><e0>: Abbrev Number: 5 (DW_TAG_member)
    <e1>   DW_AT_name        : (indirect string, offset: 0x1da): colorspace
    <e5>   DW_AT_type        : <0x100>
    <e9>   DW_AT_decl_file   : 2
    <ea>   DW_AT_decl_line   : 531
    <ec>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
 <3><ef>: Abbrev Number: 5 (DW_TAG_member)
    <f0>   DW_AT_name        : (indirect string, offset: 0x1e5): priv
    <f4>   DW_AT_type        : <0x100>
    <f8>   DW_AT_decl_file   : 2
    <f9>   DW_AT_decl_line   : 532
    <fb>   DW_AT_data_member_location: 2 byte block: 23 1c 	(DW_OP_plus_uconst: 28)
 <3><fe>: Abbrev Number: 0
 <2><ff>: Abbrev Number: 0
 <1><100>: Abbrev Number: 3 (DW_TAG_typedef)
    <101>   DW_AT_type        : <0x10b>
    <105>   DW_AT_name        : (indirect string, offset: 0x18f): __u32
    <109>   DW_AT_decl_file   : 1
    <10a>   DW_AT_decl_line   : 28
 <1><10b>: Abbrev Number: 7 (DW_TAG_base_type)
    <10c>   DW_AT_name        : (indirect string, offset: 0x182): unsigned int
    <110>   DW_AT_encoding    : 7	(unsigned)
    <111>   DW_AT_byte_size   : 4
 <1><112>: Abbrev Number: 8 (DW_TAG_pointer_type)
 <1><113>: Abbrev Number: 0

