Contents of the .debug_info section:

  Compilation Unit @ offset 0x0:
   Length:        0xb1 (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 clang version 5.0.300080  (based on LLVM 5.0.300080)
    <10>   DW_AT_language    : 12	(ANSI C99)
    <12>   DW_AT_name        : (indirect string, offset: 0x3d): mpers-m32/struct_rtc_pll_info.c
    <16>   DW_AT_stmt_list   : 0x0
    <1a>   DW_AT_comp_dir    : (indirect string, offset: 0x5d): /usr/local/google/ndkports/.out/strace/package/strace-4.22
 <1><1e>: Abbrev Number: 2 (DW_TAG_variable)
    <1f>   DW_AT_name        : (indirect string, offset: 0x98): mpers_target_var
    <23>   DW_AT_type        : <0x30>
    <27>   DW_AT_external    : 1
    <28>   DW_AT_decl_file   : 2
    <29>   DW_AT_decl_line   : 38
    <2a>   DW_AT_location    : 5 byte block: 3 4 0 0 0 	(DW_OP_addr: 4)
 <1><30>: Abbrev Number: 3 (DW_TAG_typedef)
    <31>   DW_AT_type        : <0x3b>
    <35>   DW_AT_name        : (indirect string, offset: 0x108): struct_rtc_pll_info
    <39>   DW_AT_decl_file   : 2
    <3a>   DW_AT_decl_line   : 36
 <1><3b>: Abbrev Number: 4 (DW_TAG_structure_type)
    <3c>   DW_AT_name        : (indirect string, offset: 0xfb): rtc_pll_info
    <40>   DW_AT_byte_size   : 28
    <41>   DW_AT_decl_file   : 1
    <42>   DW_AT_decl_line   : 37
 <2><43>: Abbrev Number: 5 (DW_TAG_member)
    <44>   DW_AT_name        : (indirect string, offset: 0xa9): pll_ctrl
    <48>   DW_AT_type        : <0xa6>
    <4c>   DW_AT_decl_file   : 1
    <4d>   DW_AT_decl_line   : 38
    <4e>   DW_AT_data_member_location: 2 byte block: 23 0 	(DW_OP_plus_uconst: 0)
 <2><51>: Abbrev Number: 5 (DW_TAG_member)
    <52>   DW_AT_name        : (indirect string, offset: 0xb6): pll_value
    <56>   DW_AT_type        : <0xa6>
    <5a>   DW_AT_decl_file   : 1
    <5b>   DW_AT_decl_line   : 39
    <5c>   DW_AT_data_member_location: 2 byte block: 23 4 	(DW_OP_plus_uconst: 4)
 <2><5f>: Abbrev Number: 5 (DW_TAG_member)
    <60>   DW_AT_name        : (indirect string, offset: 0xc0): pll_max
    <64>   DW_AT_type        : <0xa6>
    <68>   DW_AT_decl_file   : 1
    <69>   DW_AT_decl_line   : 40
    <6a>   DW_AT_data_member_location: 2 byte block: 23 8 	(DW_OP_plus_uconst: 8)
 <2><6d>: Abbrev Number: 5 (DW_TAG_member)
    <6e>   DW_AT_name        : (indirect string, offset: 0xc8): pll_min
    <72>   DW_AT_type        : <0xa6>
    <76>   DW_AT_decl_file   : 1
    <77>   DW_AT_decl_line   : 41
    <78>   DW_AT_data_member_location: 2 byte block: 23 c 	(DW_OP_plus_uconst: 12)
 <2><7b>: Abbrev Number: 5 (DW_TAG_member)
    <7c>   DW_AT_name        : (indirect string, offset: 0xd0): pll_posmult
    <80>   DW_AT_type        : <0xa6>
    <84>   DW_AT_decl_file   : 1
    <85>   DW_AT_decl_line   : 42
    <86>   DW_AT_data_member_location: 2 byte block: 23 10 	(DW_OP_plus_uconst: 16)
 <2><89>: Abbrev Number: 5 (DW_TAG_member)
    <8a>   DW_AT_name        : (indirect string, offset: 0xdc): pll_negmult
    <8e>   DW_AT_type        : <0xa6>
    <92>   DW_AT_decl_file   : 1
    <93>   DW_AT_decl_line   : 43
    <94>   DW_AT_data_member_location: 2 byte block: 23 14 	(DW_OP_plus_uconst: 20)
 <2><97>: Abbrev Number: 5 (DW_TAG_member)
    <98>   DW_AT_name        : (indirect string, offset: 0xe8): pll_clock
    <9c>   DW_AT_type        : <0xad>
    <a0>   DW_AT_decl_file   : 1
    <a1>   DW_AT_decl_line   : 44
    <a2>   DW_AT_data_member_location: 2 byte block: 23 18 	(DW_OP_plus_uconst: 24)
 <2><a5>: Abbrev Number: 0
 <1><a6>: Abbrev Number: 6 (DW_TAG_base_type)
    <a7>   DW_AT_name        : (indirect string, offset: 0xb2): int
    <ab>   DW_AT_encoding    : 5	(signed)
    <ac>   DW_AT_byte_size   : 4
 <1><ad>: Abbrev Number: 6 (DW_TAG_base_type)
    <ae>   DW_AT_name        : (indirect string, offset: 0xf2): long int
    <b2>   DW_AT_encoding    : 5	(signed)
    <b3>   DW_AT_byte_size   : 4
 <1><b4>: Abbrev Number: 0

