(CommandList
  children: [
    (C {(set)} {(-e)})
    (FuncDef
      name: info
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ (${ VSub_Name quiet))} {(KW_Bang '!') (Lit_Other '=')} 
                          {(DQ (silent_))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(printf)} {(DQ ('  %-7s %s') (Lit_Other '\\') (n))} {(${ VSub_Number 1)} 
                      {(${ VSub_Number 2)}
                    )
                  ]
                  spids: [16777215 120]
                )
              ]
              spids: [16777215 140]
            )
          ]
          spids: [97]
        )
      spids: [93 96]
    )
    (FuncDef
      name: modpost_link
      body: 
        (BraceGroup
          children: [
            (C {(${ VSub_Name LD)} {(${ VSub_Name LDFLAGS)} {(-r)} {(-o)} {(${ VSub_Number 1)} 
              {(${ VSub_Name KBUILD_VMLINUX_INIT)} {(--start-group)} {(${ VSub_Name KBUILD_VMLINUX_MAIN)} {(--end-group)}
            )
          ]
          spids: [155]
        )
      spids: [151 154]
    )
    (FuncDef
      name: vmlinux_link
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lds)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name objtree) (/) (${ VSub_Name KBUILD_LDS))}
                  spids: [209]
                )
              ]
              spids: [207]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ (${ VSub_Name SRCARCH))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ (um))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(${ VSub_Name LD)} {(${ VSub_Name LDFLAGS)} {(${ VSub_Name LDFLAGS_vmlinux)} 
                      {(-o)} {(${ VSub_Number 2)} {(-T)} {(${ VSub_Name lds)} {(${ VSub_Name KBUILD_VMLINUX_INIT)} {(--start-group)} 
                      {(${ VSub_Name KBUILD_VMLINUX_MAIN)} {(--end-group)} {(${ VSub_Number 1)}
                    )
                  ]
                  spids: [16777215 242]
                )
              ]
              else_action: [
                (C {(${ VSub_Name CC)} {(${ VSub_Name CFLAGS_vmlinux)} {(-o)} {(${ VSub_Number 2)} 
                  {(-Wl) (Lit_Comma ',') (-T) (Lit_Comma ',') (${ VSub_Name lds)} {(${ VSub_Name KBUILD_VMLINUX_INIT)} {(-Wl) (Lit_Comma ',') (--start-group)} 
                  {(${ VSub_Name KBUILD_VMLINUX_MAIN)} {(-Wl) (Lit_Comma ',') (--end-group)} {(-lutil)} {(-lrt)} {(-lpthread)} {(${ VSub_Number 1)}
                )
                (C {(rm)} {(-f)} {(linux)})
              ]
              spids: [290 359]
            )
          ]
          spids: [204]
        )
      spids: [200 203]
    )
    (FuncDef
      name: kallsyms
      body: 
        (BraceGroup
          children: [
            (C {(info)} {(KSYM)} {(${ VSub_Number 2)})
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:kallsymopt) op:Equal spids:[386])]
                  spids: [384]
                )
              terminator: <Op_Semi ';'>
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {(DQ (${ VSub_Name CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kallsymopt)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name kallsymopt) (' --symbol-prefix=_'))}
                          spids: [409]
                        )
                      ]
                      spids: [409]
                    )
                  ]
                  spids: [16777215 406]
                )
              ]
              spids: [16777215 418]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name CONFIG_KALLSYMS_ALL))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kallsymopt)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name kallsymopt) (' --all-symbols'))}
                          spids: [440]
                        )
                      ]
                      spids: [440]
                    )
                  ]
                  spids: [16777215 437]
                )
              ]
              spids: [16777215 449]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name CONFIG_KALLSYMS_ABSOLUTE_PERCPU))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kallsymopt)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name kallsymopt) (' --absolute-percpu'))}
                          spids: [471]
                        )
                      ]
                      spids: [471]
                    )
                  ]
                  spids: [16777215 468]
                )
              ]
              spids: [16777215 480]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name CONFIG_KALLSYMS_BASE_RELATIVE))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kallsymopt)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name kallsymopt) (' --base-relative'))}
                          spids: [502]
                        )
                      ]
                      spids: [502]
                    )
                  ]
                  spids: [16777215 499]
                )
              ]
              spids: [16777215 511]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aflags)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KBUILD_AFLAGS) (' ') (${ VSub_Name KBUILD_AFLAGS_KERNEL) 
                        ('               ') ('\t\t      ') (${ VSub_Name NOSTDINC_FLAGS) (' ') (${ VSub_Name LINUXINCLUDE) (' ') 
                        (${ VSub_Name KBUILD_CPPFLAGS)
                      )
                    }
                  spids: [517]
                )
              ]
              spids: [515]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:afile)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(basename)} {(${ VSub_Number 2)} {(.o)})]
                            )
                          left_token: <Left_Backtick '`'>
                          spids: [548 556]
                        ) (.S)
                      )
                    }
                  spids: [546]
                )
              ]
              spids: [544]
            )
            (Pipeline
              children: [
                (C {(${ VSub_Name NM)} {(-n)} {(${ VSub_Number 1)})
                (SimpleCommand
                  words: [{(scripts/kallsyms)} {(${ VSub_Name kallsymopt)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(${ VSub_Name afile)}
                      spids: [580]
                    )
                  ]
                )
              ]
              negated: F
            )
            (C {(${ VSub_Name CC)} {(${ VSub_Name aflags)} {(-c)} {(-o)} {(${ VSub_Number 2)} 
              {(${ VSub_Name afile)}
            )
          ]
          spids: [372]
        )
      spids: [368 371]
    )
    (FuncDef
      name: mksysmap
      body: 
        (BraceGroup
          children: [
            (C {(${ VSub_Name CONFIG_SHELL)} {(DQ (${ VSub_Name srctree) (/scripts/mksysmap))} 
              {(${ VSub_Number 1)} {(${ VSub_Number 2)}
            )
          ]
          spids: [620]
        )
      spids: [616 619]
    )
    (FuncDef
      name: sortextable
      body: 
        (BraceGroup
          children: [(C {(${ VSub_Name objtree) (/scripts/sortextable)} {(${ VSub_Number 1)})]
          spids: [649]
        )
      spids: [645 648]
    )
    (FuncDef
      name: cleanup
      body: 
        (BraceGroup
          children: [
            (C {(rm)} {(-f)} {(.old_version)})
            (C {(rm)} {(-f)} {(.tmp_System.map)})
            (C {(rm)} {(-f)} {(.tmp_kallsyms) (Lit_Other '*')})
            (C {(rm)} {(-f)} {(.tmp_version)})
            (C {(rm)} {(-f)} {(.tmp_vmlinux) (Lit_Other '*')})
            (C {(rm)} {(-f)} {(System.map)})
            (C {(rm)} {(-f)} {(vmlinux)})
            (C {(rm)} {(-f)} {(vmlinux.o)})
          ]
          spids: [671]
        )
      spids: [667 670]
    )
    (FuncDef
      name: on_exit
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(cleanup)})]
                  spids: [16777215 754]
                )
              ]
              spids: [16777215 760]
            )
          ]
          spids: [738]
        )
      spids: [734 737]
    )
    (C {(trap)} {(on_exit)} {(EXIT)})
    (FuncDef
      name: on_signals
      body: 
        (BraceGroup
          children: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})]
          spids: [775]
        )
      spids: [771 774]
    )
    (C {(trap)} {(on_signals)} {(HUP)} {(INT)} {(QUIT)} {(TERM)})
    (Case
      to_match: {(DQ (${ VSub_Name KBUILD_VERBOSE))}
      arms: [
        (case_arm
          pat_list: [{(Lit_Other '*') (1) (Lit_Other '*')}]
          action: [(C {(set)} {(-x)})]
          spids: [816 819 827 16777215]
        )
      ]
      spids: [806 814 829]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (clean))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(cleanup)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})]
          spids: [16777215 849]
        )
      ]
      spids: [16777215 859]
    )
    (Case
      to_match: {(DQ (${ VSub_Name KCONFIG_CONFIG))}
      arms: [
        (case_arm
          pat_list: [{(Lit_Other '*') (/) (Lit_Other '*')}]
          action: [(C {(.)} {(DQ (${ VSub_Name KCONFIG_CONFIG))})]
          spids: [875 878 890 16777215]
        )
        (case_arm
          pat_list: [{(Lit_Other '*')}]
          action: [(C {(.)} {(DQ (./) (${ VSub_Name KCONFIG_CONFIG))})]
          spids: [892 893 16777215 909]
        )
      ]
      spids: [865 873 909]
    )
    (C {(info)} {(LD)} {(vmlinux.o)})
    (C {(modpost_link)} {(vmlinux.o)})
    (C {(${ VSub_Name MAKE)} {(-f)} {(DQ (${ VSub_Name srctree) (/scripts/Makefile.modpost))} 
      {(vmlinux.o)}
    )
    (C {(info)} {(GEN)} {(.version)})
    (Sentence
      child: 
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-r)} {(.version)} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Sentence
                  child: (C {(rm)} {(-f)} {(.version)})
                  terminator: <Op_Semi ';'>
                )
                (Sentence
                  child: 
                    (SimpleCommand
                      words: [{(echo)} {(1)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(.version)}
                          spids: [982]
                        )
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              spids: [16777215 967]
            )
          ]
          else_action: [
            (Sentence
              child: (C {(mv)} {(.version)} {(.old_version)})
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (SimpleCommand
                  words: [
                    {(expr)}
                    {(0) 
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(cat)} {(.old_version)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [1000 1004]
                      )
                    }
                    {(Lit_Other '+')}
                    {(1)}
                  ]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(.version)}
                      spids: [1010]
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [986 1014]
        )
      terminator: <Op_Semi ';'>
    )
    (C {(${ VSub_Name MAKE)} {(-f)} {(DQ (${ VSub_Name srctree) (/scripts/Makefile.build))} 
      {(Lit_VarLike 'obj=') (init)} {(Lit_VarLike 'GCC_PLUGINS_CFLAGS=') (DQ (${ VSub_Name GCC_PLUGINS_CFLAGS))}
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:kallsymso) op:Equal rhs:{(DQ )} spids:[1045])]
      spids: [1045]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:kallsyms_vmlinux) op:Equal rhs:{(DQ )} spids:[1049])]
      spids: [1049]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name CONFIG_KALLSYMS))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kallsymso)
                  op: Equal
                  rhs: {(.tmp_kallsyms2.o)}
                  spids: [1145]
                )
              ]
              spids: [1145]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kallsyms_vmlinux)
                  op: Equal
                  rhs: {(.tmp_vmlinux2)}
                  spids: [1149]
                )
              ]
              spids: [1149]
            )
            (C {(vmlinux_link)} {(DQ )} {(.tmp_vmlinux1)})
            (C {(kallsyms)} {(.tmp_vmlinux1)} {(.tmp_kallsyms1.o)})
            (C {(vmlinux_link)} {(.tmp_kallsyms1.o)} {(.tmp_vmlinux2)})
            (C {(kallsyms)} {(.tmp_vmlinux2)} {(.tmp_kallsyms2.o)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name KALLSYMS_EXTRA_PASS))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kallsymso)
                          op: Equal
                          rhs: {(.tmp_kallsyms3.o)}
                          spids: [1215]
                        )
                      ]
                      spids: [1215]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kallsyms_vmlinux)
                          op: Equal
                          rhs: {(.tmp_vmlinux3)}
                          spids: [1219]
                        )
                      ]
                      spids: [1219]
                    )
                    (C {(vmlinux_link)} {(.tmp_kallsyms2.o)} {(.tmp_vmlinux3)})
                    (C {(kallsyms)} {(.tmp_vmlinux3)} {(.tmp_kallsyms3.o)})
                  ]
                  spids: [16777215 1212]
                )
              ]
              spids: [16777215 1239]
            )
          ]
          spids: [16777215 1068]
        )
      ]
      spids: [16777215 1241]
    )
    (C {(info)} {(LD)} {(vmlinux)})
    (C {(vmlinux_link)} {(DQ (${ VSub_Name kallsymso))} {(vmlinux)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name CONFIG_BUILDTIME_EXTABLE_SORT))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(info)} {(SORTEX)} {(vmlinux)}) (C {(sortextable)} {(vmlinux)})]
          spids: [16777215 1276]
        )
      ]
      spids: [16777215 1290]
    )
    (C {(info)} {(SYSMAP)} {(System.map)})
    (C {(mksysmap)} {(vmlinux)} {(System.map)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name CONFIG_KALLSYMS))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(mksysmap)} {(${ VSub_Name kallsyms_vmlinux)} {(.tmp_System.map)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [(C {(cmp)} {(-s)} {(System.map)} {(.tmp_System.map)})]
                          negated: T
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(Inconsistent)} {(kallsyms)} {(data)}]
                      redirects: [
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 16777215
                          arg_word: {(2)}
                          spids: [1355]
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(Try)}
                        {(DQ ('make KALLSYMS_EXTRA_PASS=1'))}
                        {(as)}
                        {(a)}
                        {(workaround)}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 16777215
                          arg_word: {(2)}
                          spids: [1367]
                        )
                      ]
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 1350]
                )
              ]
              spids: [16777215 1388]
            )
          ]
          spids: [16777215 1324]
        )
      ]
      spids: [16777215 1390]
    )
    (C {(rm)} {(-f)} {(.old_version)})
  ]
)