(command.CommandList
  children: [
    (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: {<aarch64>}
        )
      ]
      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 '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: {<0>}
        )
      ]
      redirects: []
    )
    (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 '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-littleaarch64>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'BIG_OUTPUT_FORMAT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'BIG_OUTPUT_FORMAT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BIG_OUTPUT_FORMAT='> name:BIG_OUTPUT_FORMAT)
          op: assign_op.Equal
          rhs: {(DQ <elf64-bigaarch64>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'LITTLE_OUTPUT_FORMAT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'LITTLE_OUTPUT_FORMAT='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'LITTLE_OUTPUT_FORMAT='>
              name: LITTLE_OUTPUT_FORMAT
            )
          op: assign_op.Equal
          rhs: {(DQ <elf64-littleaarch64>)}
        )
      ]
      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 '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 '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: {<aarch64elf>}
        )
      ]
      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 '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 '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: {<24>}
        )
      ]
      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 '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.Sentence
      child: 
        (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_start = .);'>)}
            )
          ]
          redirects: []
        )
      terminator: <Id.Op_Semi _>
    )
    (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 'OTHER_BSS_SYMBOLS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_BSS_SYMBOLS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OTHER_BSS_SYMBOLS='> name:OTHER_BSS_SYMBOLS)
          op: assign_op.Equal
          rhs: {(SQ <'__bss_start__ = .;'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OTHER_BSS_END_SYMBOLS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_BSS_END_SYMBOLS='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'OTHER_BSS_END_SYMBOLS='>
              name: OTHER_BSS_END_SYMBOLS
            )
          op: assign_op.Equal
          rhs: {(SQ <'_bss_end__ = . ; __bss_end__ = . ;'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OTHER_END_SYMBOLS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_END_SYMBOLS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OTHER_END_SYMBOLS='> name:OTHER_END_SYMBOLS)
          op: assign_op.Equal
          rhs: {(SQ <'__end__ = . ;'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OTHER_SECTIONS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_SECTIONS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OTHER_SECTIONS='> name:OTHER_SECTIONS)
          op: assign_op.Equal
          rhs: {(SQ <'.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ATTRS_SECTIONS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ATTRS_SECTIONS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ATTRS_SECTIONS='> name:ATTRS_SECTIONS)
          op: assign_op.Equal
          rhs: {(SQ <'.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'PLT='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'PLT='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PLT='> name:PLT)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'.plt          '> 
                (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 '}'>
                ) <' : ALIGN(16) { *(.plt)'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name IREL_IN_PLT>
                  var_name: IREL_IN_PLT
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<' *(.iplt)'>})
                  right: <Id.Right_DollarBrace '}'>
                ) <' }'>
              )
            }
        )
      ]
      redirects: []
    )
  ]
)