(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'INIT_START='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'INIT_START='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INIT_START='> name:INIT_START)
          op: assign_op.Equal
          rhs: 
            {
              (SQ <'_init = .;\n'> <'            KEEP (*(.init$00));\n'> 
                <'            KEEP (*(.init$0[1-9]));\n'> <'            KEEP (*(.init$[1-8][0-9]));\n'> <'            KEEP (*(.init$9[0-8]));'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'INIT_END='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'INIT_END='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INIT_END='> name:INIT_END)
          op: assign_op.Equal
          rhs: {(SQ <'KEEP (*(.init$99));'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'FINI_START='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'FINI_START='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FINI_START='> name:FINI_START)
          op: assign_op.Equal
          rhs: 
            {
              (SQ <'_fini = .;\n'> <'            KEEP (*(.fini$00));\n'> 
                <'            KEEP (*(.fini$0[1-9]));\n'> <'            KEEP (*(.fini$[1-8][0-9]));\n'> <'            KEEP (*(.fini$9[0-8]));'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'FINI_END='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'FINI_END='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FINI_END='> name:FINI_END)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'KEEP (*(.fini'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') 
                <'99));\n'> <'          PROVIDE ('> (${ Id.VSub_Name SYMPREFIX) <'_etext = .);'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'OTHER_READWRITE_SECTIONS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'OTHER_READWRITE_SECTIONS='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'OTHER_READWRITE_SECTIONS='>
              name: OTHER_READWRITE_SECTIONS
            )
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'.tls_data '> 
                (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: 
                        {<'\n'> <'    __wrs_rtp_tls_data_start = .;\n'> 
                          <'    ___wrs_rtp_tls_data_start = .;'>
                        }
                    )
                  right: <Id.Right_DollarBrace '}'>
                ) <'\n'> <'    *(.tls_data'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<' .tls_data.*'>})
                  right: <Id.Right_DollarBrace '}'>
                ) <')\n'> <'  }'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: 
                    (suffix_op.Unary
                      op: <Id.VTest_Plus _>
                      arg_word: 
                        {<'\n'> <'  __wrs_rtp_tls_data_size = . - __wrs_rtp_tls_data_start;\n'> 
                          <'  ___wrs_rtp_tls_data_size = . - __wrs_rtp_tls_data_start;\n'> <'  __wrs_rtp_tls_data_align = ALIGNOF(.tls_data);\n'> 
                          <'  ___wrs_rtp_tls_data_align = ALIGNOF(.tls_data);'>
                        }
                    )
                  right: <Id.Right_DollarBrace '}'>
                ) <'\n'> <'  .tls_vars '> 
                (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: 
                        {<'\n'> <'    __wrs_rtp_tls_vars_start = .;\n'> 
                          <'    ___wrs_rtp_tls_vars_start = .;'>
                        }
                    )
                  right: <Id.Right_DollarBrace '}'>
                ) <'\n'> <'    *(.tls_vars'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<' .tls_vars.*'>})
                  right: <Id.Right_DollarBrace '}'>
                ) <')\n'> <'  }'> 
                (BracedVarSub
                  left: <Id.Left_DollarBrace '${'>
                  token: <Id.VSub_Name RELOCATING>
                  var_name: RELOCATING
                  suffix_op: 
                    (suffix_op.Unary
                      op: <Id.VTest_Plus _>
                      arg_word: 
                        {<'\n'> <'  __wrs_rtp_tls_vars_size = SIZEOF(.tls_vars);\n'> 
                          <'  ___wrs_rtp_tls_vars_size = SIZEOF(.tls_vars);'>
                        }
                    )
                  right: <Id.Right_DollarBrace '}'>
                )
              )
            }
        )
      ]
      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: {(DQ <'(DEFINED (__wrs_rtp_base) ? __wrs_rtp_base : 0)'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ETEXT_NAME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ETEXT_NAME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ETEXT_NAME='> name:ETEXT_NAME)
          op: assign_op.Equal
          rhs: {<etext_unrelocated>}
        )
      ]
      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: 
            {
              (DQ <'PROVIDE ('> (${ Id.VSub_Name SYMPREFIX) <'_ehdr = '> 
                (${ Id.VSub_Name TEXT_START_ADDR) <');'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'DATA_END_SYMBOLS='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'DATA_END_SYMBOLS='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DATA_END_SYMBOLS='> name:DATA_END_SYMBOLS)
          op: assign_op.Equal
          rhs: {(DQ <'.edata : { PROVIDE ('> (${ Id.VSub_Name SYMPREFIX) <'_edata = .); }'>)}
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'VXWORKS_BASE_EM_FILE='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'VXWORKS_BASE_EM_FILE='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'VXWORKS_BASE_EM_FILE='>
              name: VXWORKS_BASE_EM_FILE
            )
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName EXTRA_EM_FILE)}
        )
      ]
      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: {<vxworks>}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <unset>
      more_env: []
      words: [{<unset>} {<EMBEDDED>}]
      redirects: []
      do_fork: T
    )
  ]
)