(command.CommandList
  children: [
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {(${ Id.VSub_Name srcdir) <'/emulparams/plt_unwind.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {(${ Id.VSub_Name srcdir) <'/emulparams/extern_protected_data.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {(${ Id.VSub_Name srcdir) <'/emulparams/call_nop.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'SCRIPT_NAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'SCRIPT_NAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SCRIPT_NAME='> name:SCRIPT_NAME)
          op: assign_op.Equal
          rhs: {<elf>}
        )
      ]
      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 <elf32-i386>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NO_RELA_RELOCS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NO_RELA_RELOCS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NO_RELA_RELOCS='> name:NO_RELA_RELOCS)
          op: assign_op.Equal
          rhs: {<yes>}
        )
      ]
      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: {<0x08048000>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MAXPAGESIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MAXPAGESIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAXPAGESIZE='> name:MAXPAGESIZE)
          op: assign_op.Equal
          rhs: {(DQ <'CONSTANT (MAXPAGESIZE)'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'COMMONPAGESIZE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'COMMONPAGESIZE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMMONPAGESIZE='> name:COMMONPAGESIZE)
          op: assign_op.Equal
          rhs: {(DQ <'CONSTANT (COMMONPAGESIZE)'>)}
        )
      ]
      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: {<i386>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'MACHINE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'MACHINE='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MACHINE='> name:MACHINE)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEMPLATE_NAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEMPLATE_NAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEMPLATE_NAME='> name:TEMPLATE_NAME)
          op: assign_op.Equal
          rhs: {<elf32>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'GENERATE_SHLIB_SCRIPT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'GENERATE_SHLIB_SCRIPT='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'GENERATE_SHLIB_SCRIPT='>
              name: GENERATE_SHLIB_SCRIPT
            )
          op: assign_op.Equal
          rhs: {<yes>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'GENERATE_PIE_SCRIPT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'GENERATE_PIE_SCRIPT='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'GENERATE_PIE_SCRIPT='>
              name: GENERATE_PIE_SCRIPT
            )
          op: assign_op.Equal
          rhs: {<yes>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NO_SMALL_DATA='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NO_SMALL_DATA='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NO_SMALL_DATA='> name:NO_SMALL_DATA)
          op: assign_op.Equal
          rhs: {<yes>}
        )
      ]
      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: {(DQ <'SIZEOF (.got.plt) >= 12 ? 12 : 0'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'IREL_IN_PLT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'IREL_IN_PLT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IREL_IN_PLT='> name:IREL_IN_PLT)
          op: assign_op.Equal
          rhs: (rhs_word__Empty)
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TINY_READONLY_SECTION='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TINY_READONLY_SECTION='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'TINY_READONLY_SECTION='>
              name: TINY_READONLY_SECTION
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'\n'> <'.plt.got      '> 
                (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 '}'>
                ) <' : { *(.plt.got) }\n'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName target))})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <x86_64>
          pattern: 
            (pat.Words
              words: [
                {<x86_64> <Id.Lit_Star '*'> <-linux> <Id.Lit_Star '*'>}
                {<Id.Lit_ArrayLhsOpen 'i['> <3-7> <Id.Lit_RBracket ']'> <86> <Id.Lit_Star '*'> <-linux> 
                  <Id.Lit_Star '*'>
                }
              ]
            )
          middle: <Id.Right_CasePat _>
          action: [
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName EMULATION_NAME))})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <Id.Lit_Star '*'>
                  pattern: (pat.Words words:[{<Id.Lit_Star '*'> <i386> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'LIBPATH_SUFFIX='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'LIBPATH_SUFFIX='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'LIBPATH_SUFFIX='>
                              name: LIBPATH_SUFFIX
                            )
                          op: assign_op.Equal
                          rhs: {<32>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'LIBPATH_SUFFIX_SKIP='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'LIBPATH_SUFFIX_SKIP='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'LIBPATH_SUFFIX_SKIP='>
                              name: LIBPATH_SUFFIX_SKIP
                            )
                          op: assign_op.Equal
                          rhs: {<64>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
  ]
)