(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(false)} spids:[3])]
      spids: [3]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (-v))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:verbose) op:Equal rhs:{(true)} spids:[26])]
              spids: [26]
            )
            (C {(shift)})
          ]
          spids: [16777215 23]
        )
      ]
      spids: [16777215 32]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:build_plat) op:Equal rhs:{(x86)} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:plat) op:Equal rhs:{(x86)} spids:[38])]
      spids: [38]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:os) op:Equal rhs:{(linux-gnu)} spids:[41])]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:num_errors) op:Equal rhs:{(0)} spids:[44])]
      spids: [44]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LIBUNWIND)
          op: Equal
          rhs: {(../src/.libs/libunwind.so)}
          spids: [48]
        )
      ]
      spids: [48]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LIBUNWIND_GENERIC)
          op: Equal
          rhs: {(../src/.libs/libunwind-) (${ VSub_Name plat) (.so)}
          spids: [51]
        )
      ]
      spids: [51]
    )
    (FuncDef
      name: fetch_symtab
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:filename)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [67]
                )
              ]
              spids: [67]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(KW_Bang '!')} {(-r)} {($ VSub_Name '$filename')} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Return return>)]
                  spids: [16777215 85]
                )
              ]
              spids: [16777215 91]
            )
            (If
              arms: [
                (if_arm
                  cond: [(Sentence child:(C {($ VSub_Name '$verbose')}) terminator:<Op_Semi ';'>)]
                  action: [(C {(echo)} {(DQ ('Checking ') ($ VSub_Name '$filename') (...))})]
                  spids: [16777215 100]
                )
              ]
              spids: [16777215 112]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:symtab)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(nm)} {(-g)} {($ VSub_Name '$filename')})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [133 139]
                      )
                    }
                  spids: [132]
                )
              ]
              spids: [132]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:saved_IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$IFS'))}
                  spids: [142]
                )
              ]
              spids: [142]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ )} spids:[148])]
              spids: [148]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:undef)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(nm)} {(-g)} {(-u)} {($ VSub_Name '$filename')})]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [154 162]
                      )
                    }
                  spids: [153]
                )
              ]
              spids: [153]
            )
            (Sentence
              child: 
                (ForEach
                  iter_name: line
                  iter_words: [{($ VSub_Name '$undef')}]
                  do_arg_iter: F
                  body: 
                    (DoGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:symtab)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(echo)} {(DQ ($ VSub_Name '$symtab'))})
                                              (C {(grep)} {(-v)} 
                                                {(DQ ('^') (${ VSub_Name line)) 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar '\\$'>
                                                  )
                                                }
                                              )
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_Backtick '`'>
                                    spids: [178 198]
                                  )
                                }
                              spids: [177]
                            )
                          ]
                          spids: [177]
                        )
                      ]
                      spids: [174 201]
                    )
                  spids: [170 172]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$saved_IFS'))}
                  spids: [205]
                )
              ]
              spids: [205]
            )
          ]
          spids: [64]
        )
      spids: [59 63]
    )
    (FuncDef
      name: ignore
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sym)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [221]
                )
              ]
              spids: [221]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:symtab)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {(DQ ($ VSub_Name '$symtab'))})
                                  (C {(grep)} {(-v)} 
                                    {
                                      (DQ (' ') (${ VSub_Name sym) 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\$'>
                                        )
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [226 246]
                      )
                    }
                  spids: [225]
                )
              ]
              spids: [225]
            )
          ]
          spids: [218]
        )
      spids: [213 217]
    )
    (FuncDef
      name: match
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sym)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [259]
                )
              ]
              spids: [259]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (Pipeline
                                      children: [
                                        (C {(echo)} {(DQ ($ VSub_Name '$symtab'))})
                                        (C {(grep)} {(-q)} 
                                          {
                                            (DQ (' ') (${ VSub_Name sym) 
                                              (EscapedLiteralPart
                                                token: <Lit_EscapedChar '\\$'>
                                              )
                                            )
                                          }
                                        )
                                      ]
                                      negated: F
                                    )
                                  ]
                                )
                              left_token: <Left_Backtick '`'>
                              spids: [265 285]
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:symtab)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {(DQ ($ VSub_Name '$symtab'))})
                                          (C {(grep)} {(-v)} 
                                            {
                                              (DQ (' ') (${ VSub_Name sym) 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar '\\$'>
                                                )
                                              )
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [292 312]
                              )
                            }
                          spids: [291]
                        )
                      ]
                      spids: [291]
                    )
                  ]
                  spids: [16777215 288]
                )
              ]
              else_action: [
                (C {(echo)} 
                  {
                    (DQ ('  ERROR: Symbol ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                      ($ VSub_Name '$sym') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' missing.')
                    )
                  }
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:num_errors)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(expr)} {($ VSub_Name '$num_errors')} {(Lit_Other '+')} {(1)})
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [330 338]
                          )
                        }
                      spids: [329]
                    )
                  ]
                  spids: [329]
                )
              ]
              spids: [315 341]
            )
          ]
          spids: [256]
        )
      spids: [251 255]
    )
    (FuncDef
      name: filter_misc
      body: 
        (BraceGroup
          children: [
            (C {(ignore)} {(_DYNAMIC)})
            (C {(ignore)} {(_GLOBAL_OFFSET_TABLE_)})
            (C {(ignore)} {(__bss_start)})
            (C {(ignore)} {(_edata)})
            (C {(ignore)} {(_end)})
            (C {(ignore)} {(_Uelf32_get_proc_name)})
            (C {(ignore)} {(_Uelf32_valid_object)})
            (C {(ignore)} {(_Uelf64_get_proc_name)})
            (C {(ignore)} {(_Uelf64_valid_object)})
            (C {(ignore)} {(_U.) (Lit_Other '*') (debug_level)})
            (C {(ignore)} {(ICRT.INTERNAL)})
          ]
          spids: [363]
        )
      spids: [358 362]
    )
    (FuncDef
      name: check_local_unw_abi
      body: 
        (BraceGroup
          children: [
            (C {(match)} {(_UL) (${ VSub_Name plat) (_create_addr_space)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_destroy_addr_space)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_get_fpreg)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_get_proc_info)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_get_proc_info_by_ip)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_get_proc_name)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_get_reg)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_get_save_loc)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_init_local)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_init_remote)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_is_signal_frame)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_handle_signal_frame)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_local_addr_space)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_resume)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_set_caching_policy)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_set_reg)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_set_fpreg)})
            (C {(match)} {(_UL) (${ VSub_Name plat) (_step)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_flush_cache)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_get_accessors)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_getcontext)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_regname)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_strerror)})
            (C {(match)} {(_U_dyn_cancel)})
            (C {(match)} {(_U_dyn_info_list_addr)})
            (C {(match)} {(_U_dyn_register)})
            (C {(match)} {(unw_backtrace)})
            (C {(match)} {(backtrace)})
            (Case
              to_match: {(${ VSub_Name plat)}
              arms: [
                (case_arm
                  pat_list: [{(hppa)}]
                  action: [
                    (C {(match)} {(_UL) (${ VSub_Name plat) (_dwarf_search_unwind_table)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_get_elf_image)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_setcontext)})
                  ]
                  spids: [681 682 712 16777215]
                )
                (case_arm
                  pat_list: [{(ia64)}]
                  action: [
                    (C {(match)} {(_UL) (${ VSub_Name plat) (_search_unwind_table)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_get_elf_image)})
                  ]
                  spids: [715 716 737 16777215]
                )
                (case_arm
                  pat_list: [{(x86)}]
                  action: [
                    (C {(match)} {(_U) (${ VSub_Name plat) (_get_elf_image)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_is_fpreg)})
                    (C {(match)} {(_UL) (${ VSub_Name plat) (_dwarf_search_unwind_table)})
                  ]
                  spids: [740 741 771 16777215]
                )
                (case_arm
                  pat_list: [{(x86_64)}]
                  action: [
                    (C {(match)} {(_U) (${ VSub_Name plat) (_get_elf_image)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_is_fpreg)})
                    (C {(match)} {(_UL) (${ VSub_Name plat) (_dwarf_search_unwind_table)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_setcontext)})
                  ]
                  spids: [774 775 814 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(match)} {(_U) (${ VSub_Name plat) (_is_fpreg)})
                    (C {(match)} {(_UL) (${ VSub_Name plat) (_dwarf_search_unwind_table)})
                  ]
                  spids: [817 818 839 16777215]
                )
              ]
              spids: [672 678 842]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {(xno)} {(Lit_Other '=')} {(xyes)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(match)} {(_UL) (${ VSub_Name plat) (_dwarf_find_debug_frame)})]
                  spids: [16777215 859]
                )
              ]
              spids: [16777215 871]
            )
          ]
          spids: [433]
        )
      spids: [428 432]
    )
    (FuncDef
      name: check_generic_unw_abi
      body: 
        (BraceGroup
          children: [
            (C {(match)} {(_U) (${ VSub_Name plat) (_create_addr_space)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_destroy_addr_space)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_flush_cache)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_get_accessors)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_get_fpreg)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_get_proc_info)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_get_proc_info_by_ip)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_get_proc_name)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_get_reg)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_get_save_loc)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_init_local)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_init_remote)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_is_signal_frame)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_handle_signal_frame)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_local_addr_space)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_regname)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_resume)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_set_caching_policy)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_set_fpreg)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_set_reg)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_step)})
            (C {(match)} {(_U) (${ VSub_Name plat) (_strerror)})
            (Case
              to_match: {(${ VSub_Name plat)}
              arms: [
                (case_arm
                  pat_list: [{(hppa)}]
                  action: [
                    (C {(match)} {(_U) (${ VSub_Name plat) (_dwarf_search_unwind_table)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_get_elf_image)})
                  ]
                  spids: [1093 1094 1115 16777215]
                )
                (case_arm
                  pat_list: [{(ia64)}]
                  action: [
                    (C {(match)} {(_U) (${ VSub_Name plat) (_search_unwind_table)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_find_dyn_list)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {($ VSub_Name '$plat')} {(Lit_Other '=')} 
                                  {($ VSub_Name '$build_plat')} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(match)} {(_U) (${ VSub_Name plat) (_get_elf_image)})
                            (Case
                              to_match: {($ VSub_Name '$os')}
                              arms: [
                                (case_arm
                                  pat_list: [{(linux) (Lit_Other '*')}]
                                  action: [(C {(match)} {(_U) (${ VSub_Name plat) (_get_kernel_table)})]
                                  spids: [1172 1174 1186 16777215]
                                )
                              ]
                              spids: [1165 1169 1189]
                            )
                          ]
                          spids: [16777215 1153]
                        )
                      ]
                      spids: [16777215 1192]
                    )
                  ]
                  spids: [1118 1119 1195 16777215]
                )
                (case_arm
                  pat_list: [{(x86)}]
                  action: [
                    (C {(match)} {(_U) (${ VSub_Name plat) (_get_elf_image)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_is_fpreg)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_dwarf_search_unwind_table)})
                  ]
                  spids: [1198 1199 1229 16777215]
                )
                (case_arm
                  pat_list: [{(x86_64)}]
                  action: [
                    (C {(match)} {(_U) (${ VSub_Name plat) (_get_elf_image)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_is_fpreg)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_dwarf_search_unwind_table)})
                  ]
                  spids: [1232 1233 1263 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(match)} {(_U) (${ VSub_Name plat) (_is_fpreg)})
                    (C {(match)} {(_U) (${ VSub_Name plat) (_dwarf_search_unwind_table)})
                  ]
                  spids: [1266 1267 1288 16777215]
                )
              ]
              spids: [1084 1090 1291]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {(xno)} {(Lit_Other '=')} {(xyes)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(match)} {(_U) (${ VSub_Name plat) (_dwarf_find_debug_frame)})]
                  spids: [16777215 1308]
                )
              ]
              spids: [16777215 1320]
            )
          ]
          spids: [882]
        )
      spids: [877 881]
    )
    (FuncDef
      name: check_cxx_abi
      body: 
        (BraceGroup
          children: [
            (C {(match)} {(_Unwind_Backtrace)})
            (C {(match)} {(_Unwind_DeleteException)})
            (C {(match)} {(_Unwind_FindEnclosingFunction)})
            (C {(match)} {(_Unwind_ForcedUnwind)})
            (C {(match)} {(_Unwind_GetBSP)})
            (C {(match)} {(_Unwind_GetCFA)})
            (C {(match)} {(_Unwind_GetDataRelBase)})
            (C {(match)} {(_Unwind_GetGR)})
            (C {(match)} {(_Unwind_GetIP)})
            (C {(match)} {(_Unwind_GetIPInfo)})
            (C {(match)} {(_Unwind_GetLanguageSpecificData)})
            (C {(match)} {(_Unwind_GetRegionStart)})
            (C {(match)} {(_Unwind_GetTextRelBase)})
            (C {(match)} {(_Unwind_RaiseException)})
            (C {(match)} {(_Unwind_Resume)})
            (C {(match)} {(_Unwind_Resume_or_Rethrow)})
            (C {(match)} {(_Unwind_SetGR)})
            (C {(match)} {(_Unwind_SetIP)})
            (C {(match)} {(__libunwind_Unwind_Backtrace)})
            (C {(match)} {(__libunwind_Unwind_DeleteException)})
            (C {(match)} {(__libunwind_Unwind_FindEnclosingFunction)})
            (C {(match)} {(__libunwind_Unwind_ForcedUnwind)})
            (C {(match)} {(__libunwind_Unwind_GetBSP)})
            (C {(match)} {(__libunwind_Unwind_GetCFA)})
            (C {(match)} {(__libunwind_Unwind_GetDataRelBase)})
            (C {(match)} {(__libunwind_Unwind_GetGR)})
            (C {(match)} {(__libunwind_Unwind_GetIP)})
            (C {(match)} {(__libunwind_Unwind_GetIPInfo)})
            (C {(match)} {(__libunwind_Unwind_GetLanguageSpecificData)})
            (C {(match)} {(__libunwind_Unwind_GetRegionStart)})
            (C {(match)} {(__libunwind_Unwind_GetTextRelBase)})
            (C {(match)} {(__libunwind_Unwind_RaiseException)})
            (C {(match)} {(__libunwind_Unwind_Resume)})
            (C {(match)} {(__libunwind_Unwind_Resume_or_Rethrow)})
            (C {(match)} {(__libunwind_Unwind_SetGR)})
            (C {(match)} {(__libunwind_Unwind_SetIP)})
            (Case
              to_match: {($ VSub_Name '$os')}
              arms: [
                (case_arm
                  pat_list: [{(linux) (Lit_Other '*')}]
                  action: [(C {(match)} {(_ReadSLEB)}) (C {(match)} {(_ReadULEB)})]
                  spids: [1520 1522 1539 16777215]
                )
              ]
              spids: [1513 1517 1542]
            )
          ]
          spids: [1330]
        )
      spids: [1325 1329]
    )
    (FuncDef
      name: check_empty
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$symtab'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ('  ERROR: Extraneous symbols:') (Lit_Other '\\') (n) 
                          ($ VSub_Name '$symtab')
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:num_errors)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(expr)} {($ VSub_Name '$num_errors')} {(Lit_Other '+')} {(1)})
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1584 1592]
                              )
                            }
                          spids: [1583]
                        )
                      ]
                      spids: [1583]
                    )
                  ]
                  spids: [16777215 1568]
                )
              ]
              spids: [16777215 1595]
            )
          ]
          spids: [1552]
        )
      spids: [1547 1551]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {($ VSub_Name '$plat')} {(Lit_Other '=')} 
                  {($ VSub_Name '$build_plat')} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(fetch_symtab)} {($ VSub_Name '$LIBUNWIND')})
            (C {(filter_misc)})
            (C {(check_local_unw_abi)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {(xno)} {(Lit_Other '=')} {(xyes)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(check_cxx_abi)})]
                  spids: [16777215 1640]
                )
              ]
              spids: [16777215 1646]
            )
            (C {(check_empty)})
          ]
          spids: [16777215 1613]
        )
      ]
      spids: [16777215 1651]
    )
    (C {(fetch_symtab)} {($ VSub_Name '$LIBUNWIND_GENERIC')})
    (C {(filter_misc)})
    (C {(check_generic_unw_abi)})
    (C {(check_empty)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {($ VSub_Name '$num_errors')} {(-gt)} {(0)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('FAILURE: Detected ') ($ VSub_Name '$num_errors') (' errors'))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 1678]
        )
      ]
      spids: [16777215 1694]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {($ VSub_Name '$verbose')}) terminator:<Op_Semi ';'>)]
          action: [(C {(echo)} {(DQ ('  SUCCESS: all checks passed'))})]
          spids: [16777215 1702]
        )
      ]
      spids: [16777215 1711]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)