(command.CommandList
  children: [
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {(${ Id.VSub_Name srcdir) <'/emulparams/elf32ppccommon.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {(${ Id.VSub_Name srcdir) <'/emulparams/plt_unwind.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'EXTRA_EM_FILE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'EXTRA_EM_FILE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'EXTRA_EM_FILE='> name:EXTRA_EM_FILE)
          op: assign_op.Equal
          rhs: {<ppc64elf>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ELFSIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ELFSIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ELFSIZE='> name:ELFSIZE)
          op: assign_op.Equal
          rhs: {<64>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OUTPUT_FORMAT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OUTPUT_FORMAT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OUTPUT_FORMAT='> name:OUTPUT_FORMAT)
          op: assign_op.Equal
          rhs: {(DQ <elf64-powerpc>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEXT_START_ADDR='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEXT_START_ADDR='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEXT_START_ADDR='> name:TEXT_START_ADDR)
          op: assign_op.Equal
          rhs: {<0x10000000>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ARCH='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ARCH='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARCH='> name:ARCH)
          op: assign_op.Equal
          rhs: {<powerpc> <Id.Lit_Colon ':'> <common64>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NOP='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NOP='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NOP='> name:NOP)
          op: assign_op.Equal
          rhs: {<0x60000000>}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <unset>
      more_env: []
      words: [{<unset>} {<EXECUTABLE_SYMBOLS>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <unset>
      more_env: []
      words: [{<unset>} {<SDATA_START_SYMBOLS>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <unset>
      more_env: []
      words: [{<unset>} {<SDATA2_START_SYMBOLS>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <unset>
      more_env: []
      words: [{<unset>} {<SBSS_START_SYMBOLS>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <unset>
      more_env: []
      words: [{<unset>} {<SBSS_END_SYMBOLS>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <unset>
      more_env: []
      words: [{<unset>} {<OTHER_END_SYMBOLS>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <unset>
      more_env: []
      words: [{<unset>} {<OTHER_RELRO_SECTIONS>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OTHER_TEXT_SECTIONS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_TEXT_SECTIONS='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'OTHER_TEXT_SECTIONS='>
              name: OTHER_TEXT_SECTIONS
            )
          op: assign_op.Equal
          rhs: {(DQ <'*(.sfpr .glink)'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OTHER_SDATA_SECTIONS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_SDATA_SECTIONS='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'OTHER_SDATA_SECTIONS='>
              name: OTHER_SDATA_SECTIONS
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'\n'> <'  .tocbss\t'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' :'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<' ALIGN(8)'>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' { *(.tocbss)}'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <test>
                      more_env: []
                      words: [
                        {<test>}
                        {<x> 
                          (BracedVarSub
                            left: <Id.Left_DollarBrace '${'>
                            token: <Id.VSub_Name RELOCATING>
                            var_name: RELOCATING
                            suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<set>})
                            right: <Id.Right_DollarBrace '}'>
                          )
                        }
                        {<Id.Lit_Equals '='>}
                        {<xset>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'GOT='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'GOT='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GOT='> name:GOT)
                  op: assign_op.Equal
                  rhs: {(DQ <'\n'> <'  .got\t\t: ALIGN(256) { *(.got .toc) }'>)}
                )
              ]
              redirects: []
            )
          ]
          spids: [91 107]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.ShAssignment
          left: <Id.Lit_VarLike 'GOT='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'GOT='>
              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GOT='> name:GOT)
              op: assign_op.Equal
              rhs: {(DQ <'\n'> <'  .got\t\t0 : { *(.got) }\n'> <'  .toc\t\t0 : { *(.toc) }'>)}
            )
          ]
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'INITIAL_RELOC_SECTIONS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'INITIAL_RELOC_SECTIONS='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INITIAL_RELOC_SECTIONS='>
              name: INITIAL_RELOC_SECTIONS
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'\n'> <'  .rela.opd\t'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' : { *(.rela.opd) }'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OTHER_GOT_RELOC_SECTIONS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_GOT_RELOC_SECTIONS='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'OTHER_GOT_RELOC_SECTIONS='>
              name: OTHER_GOT_RELOC_SECTIONS
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'\n'> <'  .rela.toc\t'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' : { *(.rela.toc) }\n'> <'  .rela.toc1\t'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' : { *(.rela.toc1) }\n'> <'  .rela.tocbss\t'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' : { *(.rela.tocbss) }\n'> <'  .rela.branch_lt\t'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' : { *(.rela.branch_lt) }'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OTHER_RELRO_SECTIONS_2='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_RELRO_SECTIONS_2='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'OTHER_RELRO_SECTIONS_2='>
              name: OTHER_RELRO_SECTIONS_2
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'\n'> <'  .opd\t\t'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' :'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<' ALIGN(8)'>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' { KEEP (*(.opd)) }\n'> <'  .toc1\t\t'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' :'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<' ALIGN(8)'>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' { *(.toc1) }\n'> <'  .branch_lt\t'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' :'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<' ALIGN(8)'>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' { *(.branch_lt) }'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'INITIAL_READWRITE_SECTIONS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'INITIAL_READWRITE_SECTIONS='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INITIAL_READWRITE_SECTIONS='>
              name: INITIAL_READWRITE_SECTIONS
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'\n'> <'  .toc\t\t'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' :'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<' ALIGN(8)'>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' { *(.toc) }'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DATA_GOT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DATA_GOT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DATA_GOT='> name:DATA_GOT)
          op: assign_op.Equal
          rhs: {(DQ <' '>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'SEPARATE_GOTPLT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'SEPARATE_GOTPLT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SEPARATE_GOTPLT='> name:SEPARATE_GOTPLT)
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DATA_SDATA='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DATA_SDATA='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DATA_SDATA='> name:DATA_SDATA)
          op: assign_op.Equal
          rhs: {(DQ <' '>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DATA_PLT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DATA_PLT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DATA_PLT='> name:DATA_PLT)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'PLT_BEFORE_GOT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'PLT_BEFORE_GOT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PLT_BEFORE_GOT='> name:PLT_BEFORE_GOT)
          op: assign_op.Equal
          rhs: {(DQ <' '>)}
        )
      ]
      redirects: []
    )
  ]
)