(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(2)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (SimpleCommand
              words: [{(echo)} {(DQ ($ VSub_Number '$0') (' [path to objdump] [path to vmlinux]'))}]
              redirects: [(Redir op:<Redir_GreatAnd '1>&'> fd:1 arg_word:{(2)})]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 48]
        )
      ]
      spids: [16777215 66]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:objdump)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$1'))}
          spids: [72]
        )
      ]
      spids: [72]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:vmlinux)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$2'))}
          spids: [77]
        )
      ]
      spids: [77]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:bad_relocs)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(DQ ($ VSub_Name '$objdump'))} {(-R)} {(DQ ($ VSub_Name '$vmlinux'))})
                          (C {(grep)} {(-E)} {(SQ <'\\<R_'>)})
                          (C {(grep)} {(-F)} {(-w)} {(-v)} 
                            {
                              (SQ <'R_PPC64_RELATIVE\n'> <'R_PPC64_NONE\n'> <'R_PPC_ADDR16_LO\n'> 
                                <'R_PPC_ADDR16_HI\n'> <'R_PPC_ADDR16_HA\n'> <'R_PPC_RELATIVE\n'> <R_PPC_NONE>
                              )
                            }
                          )
                          (C {(grep)} {(-E)} {(-v)} {(SQ <'\\<R_PPC64_ADDR64[[:space:]]+mach_'>)})
                        ]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [84 177]
              )
            }
          spids: [83]
        )
      ]
      spids: [83]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$bad_relocs'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})]
          spids: [16777215 193]
        )
      ]
      spids: [16777215 200]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:num_bad)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [(C {(echo)} {(DQ ($ VSub_Name '$bad_relocs'))}) (C {(wc)} {(-l)})]
                        negated: F
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [204 216]
              )
            }
          spids: [203]
        )
      ]
      spids: [203]
    )
    (C {(echo)} {(DQ ('WARNING: ') ($ VSub_Name '$num_bad') (' bad relocations'))})
    (C {(echo)} {(DQ ($ VSub_Name '$bad_relocs'))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (Pipeline
                  children: [
                    (C {(echo)} {(DQ ($ VSub_Name '$bad_relocs'))})
                    (C {(grep)} {(-q)} {(-F)} {(-w)} {(R_PPC64_UADDR64)})
                  ]
                  negated: F
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ 
                  (
'WARNING: You need at least binutils >= 2.19 to build a CONFIG_RELOCATABLE kernel'
                  )
                )
              }
            )
          ]
          spids: [16777215 260]
        )
      ]
      spids: [16777215 269]
    )
  ]
)