(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_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[58])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 48]
        )
      ]
      spids: [-1 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: False
                      )
                    ]
                  )
                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: [(C {(exit)} {(0)})]
          spids: [-1 193]
        )
      ]
      spids: [-1 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: False
                      )
                    ]
                  )
                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: False
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ 
                  (
"WARNING: You need at least binutils >= 2.19 to build a CONFIG_RELOCATABLE kernel"
                  )
                )
              }
            )
          ]
          spids: [-1 260]
        )
      ]
      spids: [-1 269]
    )
  ]
)