(command.CommandList
  children: [
    (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-sh64-linux>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'NO_REL_RELOCS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'NO_REL_RELOCS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NO_REL_RELOCS='> name:NO_REL_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: {<0x400000>}
        )
      ]
      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: {<sh>}
        )
      ]
      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: {<sh5>}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ALIGNMENT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ALIGNMENT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ALIGNMENT='> name:ALIGNMENT)
          op: assign_op.Equal
          rhs: {<8>}
        )
      ]
      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 'DATA_START_SYMBOLS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DATA_START_SYMBOLS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DATA_START_SYMBOLS='> name:DATA_START_SYMBOLS)
          op: assign_op.Equal
          rhs: {(SQ <'PROVIDE (___data = .);'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OTHER_READONLY_SECTIONS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_READONLY_SECTIONS='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'OTHER_READONLY_SECTIONS='>
              name: OTHER_READONLY_SECTIONS
            )
          op: assign_op.Equal
          rhs: 
            {
              (SQ <'\n'> <'PROVIDE (___rodata = DEFINED (.rodata) ? .rodata : 0);\n'> 
                <'. = ALIGN (8);\n'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OTHER_GOT_SECTIONS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_GOT_SECTIONS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OTHER_GOT_SECTIONS='> name:OTHER_GOT_SECTIONS)
          op: assign_op.Equal
          rhs: {(SQ <'. = ALIGN (8);'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CTOR_START='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CTOR_START='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CTOR_START='> name:CTOR_START)
          op: assign_op.Equal
          rhs: {(SQ <'___ctors = .;'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'CTOR_END='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'CTOR_END='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CTOR_END='> name:CTOR_END)
          op: assign_op.Equal
          rhs: {(SQ <'___ctors_end = .;'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DTOR_START='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DTOR_START='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DTOR_START='> name:DTOR_START)
          op: assign_op.Equal
          rhs: {(SQ <'___dtors = .;'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DTOR_END='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DTOR_END='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DTOR_END='> name:DTOR_END)
          op: assign_op.Equal
          rhs: {(SQ <'___dtors_end = .;'>)}
        )
      ]
      redirects: []
    )
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <test>
          more_env: []
          words: [{<test>} {<-z>} {(DQ ($ Id.VSub_DollarName OTHER_RELOCATING_SECTIONS))}]
          redirects: []
          do_fork: T
        )
        (command.ShAssignment
          left: <Id.Lit_VarLike 'OTHER_RELOCATING_SECTIONS='>
          pairs: [
            (AssignPair
              left: <Id.Lit_VarLike 'OTHER_RELOCATING_SECTIONS='>
              lhs: 
                (sh_lhs_expr.Name
                  left: <Id.Lit_VarLike 'OTHER_RELOCATING_SECTIONS='>
                  name: OTHER_RELOCATING_SECTIONS
                )
              op: assign_op.Equal
              rhs: {(SQ <'\n'> <' .cranges 0 : { *(.cranges) }\n'>)}
            )
          ]
          redirects: []
        )
      ]
      ops: [<Id.Op_DAmp _>]
    )
    (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: 
            {
              (BracedVarSub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name EXTRA_EM_FILE>
                var_name: EXTRA_EM_FILE
                suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<sh64elf>})
                right: <Id.Right_DollarBrace '}'>
              )
            }
        )
      ]
      redirects: []
    )
  ]
)