(command.CommandList children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} {<-lt>} {<2>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {(DQ ($ Id.VSub_Number '$0') <' [path to objdump] [path to vmlinux]'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '1>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [35 48] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objdump) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [72] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vmlinux) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$2'))} spids: [77] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bad_relocs) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {(DQ ($ Id.VSub_DollarName '$objdump'))} {<-R>} {(DQ ($ Id.VSub_DollarName '$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 ) ) } spids: [83] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName '$bad_relocs'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})] spids: [180 193] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:num_bad) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$bad_relocs'))}) (C {<wc>} {<-l>}) ] negated: F ) ) } spids: [203] ) ] ) (C {<echo>} {(DQ <'WARNING: '> ($ Id.VSub_DollarName '$num_bad') <' bad relocations'>)}) (C {<echo>} {(DQ ($ Id.VSub_DollarName '$bad_relocs'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$bad_relocs'))}) (C {<grep>} {<-q>} {<-F>} {<-w>} {<R_PPC64_UADDR64>}) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ < 'WARNING: You need at least binutils >= 2.19 to build a CONFIG_RELOCATABLE kernel' > ) } ) ] spids: [239 260] ) ] ) ] )