(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WHITELIST)
          op: Equal
          rhs: 
            {
              (DQ ("add_reloc_offset __bss_start __bss_stop copy_and_flush\n") 
                ("_end enter_prom memcpy memset reloc_offset __secondary_hold\n") ("__secondary_hold_acknowledge __secondary_hold_spinloop __start\n") 
                ("strcmp strcpy strlcpy strlen strncmp strstr logo_linux_clut224\n") ("reloc_got2 kernstart_addr memstart_addr linux_banner _stext\n") 
                ("__prom_init_toc_start __prom_init_toc_end btext_setup_display TOC.")
              )
            }
          spids: [48]
        )
      ]
      spids: [48]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:NM) op:Equal rhs:{(DQ ($ VSub_Number "$1"))} spids:[59])]
      spids: [59]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:OBJ)
          op: Equal
          rhs: {(DQ ($ VSub_Number "$2"))}
          spids: [64]
        )
      ]
      spids: [64]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ERROR) op:Equal rhs:{(0)} spids:[70])]
      spids: [70]
    )
    (ForEach
      iter_name: UNDEF
      iter_words: [
        {
          (CommandSubPart
            command_list: 
              (CommandList
                children: [
                  (Pipeline
                    children: [
                      (C {($ VSub_Name "$NM")} {(-u)} {($ VSub_Name "$OBJ")})
                      (C {(awk)} {(SQ <"{print $2}">)})
                    ]
                    negated: False
                  )
                ]
              )
            left_token: <Left_CommandSub "$(">
            spids: [80 94]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:UNDEF)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name UNDEF>
                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(.)})
                          spids: [109 113]
                        )
                      )
                    }
                  spids: [107]
                )
              ]
              spids: [107]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other "[")} {($ VSub_Name "$KBUILD_VERBOSE")} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {($ VSub_Name "$KBUILD_VERBOSE")} {(-ne)} {(0)} 
                                  {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(echo)} 
                              {(DQ ("Checking prom_init.o symbol '") ($ VSub_Name "$UNDEF") ("'"))}
                            )
                          ]
                          spids: [-1 143]
                        )
                      ]
                      spids: [-1 155]
                    )
                  ]
                  spids: [-1 127]
                )
              ]
              spids: [-1 158]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:OK) op:Equal rhs:{(0)} spids:[162])]
              spids: [162]
            )
            (ForEach
              iter_name: WHITE
              iter_words: [{($ VSub_Name "$WHITELIST")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$UNDEF"))} {(Lit_Other "=")} 
                                  {(DQ ($ VSub_Name "$WHITE"))} {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OK)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [198]
                                )
                              ]
                              spids: [198]
                            )
                            (ControlFlow token:<ControlFlow_Break break>)
                          ]
                          spids: [-1 195]
                        )
                      ]
                      spids: [-1 205]
                    )
                  ]
                  spids: [175 208]
                )
              spids: [171 -1]
            )
            (Case
              to_match: {($ VSub_Name "$UNDEF")}
              arms: [
                (case_arm
                  pat_list: [
                    {(_restgpr_) (Lit_Other "*")}
                    {(_restgpr0_) (Lit_Other "*")}
                    {(_rest32gpr_) (Lit_Other "*")}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:OK) op:Equal rhs:{(1)} spids:[234])]
                      spids: [234]
                    )
                  ]
                  spids: [223 231 238 -1]
                )
                (case_arm
                  pat_list: [
                    {(_savegpr_) (Lit_Other "*")}
                    {(_savegpr0_) (Lit_Other "*")}
                    {(_save32gpr_) (Lit_Other "*")}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:OK) op:Equal rhs:{(1)} spids:[252])]
                      spids: [252]
                    )
                  ]
                  spids: [241 249 256 -1]
                )
              ]
              spids: [216 220 259]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {($ VSub_Name "$OK")} {(-eq)} {(0)} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:ERROR) op:Equal rhs:{(1)} spids:[279])]
                      spids: [279]
                    )
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(DQ ("Error: External symbol '") ($ VSub_Name "$UNDEF") ("' referenced"))}
                        {(DQ ("from prom_init.c"))}
                      ]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[297])]
                    )
                  ]
                  spids: [-1 276]
                )
              ]
              spids: [-1 301]
            )
          ]
          spids: [96 303]
        )
      spids: [79 -1]
    )
    (C {(exit)} {($ VSub_Name "$ERROR")})
  ]
)