(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SCRIPT_NAME)
          op: assign_op.Equal
          rhs: {<elf>}
          spids: [0]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ELFSIZE)
          op: assign_op.Equal
          rhs: {<64>}
          spids: [3]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEMPLATE_NAME)
          op: assign_op.Equal
          rhs: {<elf32>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OUTPUT_FORMAT)
          op: assign_op.Equal
          rhs: {(DQ <elf64-sparc>)}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:NO_REL_RELOCS)
          op: assign_op.Equal
          rhs: {<yes>}
          spids: [14]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MAXPAGESIZE)
          op: assign_op.Equal
          rhs: {(DQ <'CONSTANT (MAXPAGESIZE)'>)}
          spids: [17]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:COMMONPAGESIZE)
          op: assign_op.Equal
          rhs: {(DQ <'CONSTANT (COMMONPAGESIZE)'>)}
          spids: [22]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ARCH)
          op: assign_op.Equal
          rhs: {(DQ <'sparc:v9'>)}
          spids: [27]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:MACHINE)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [32]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:DATA_PLT)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [34]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GENERATE_SHLIB_SCRIPT)
          op: assign_op.Equal
          rhs: {<yes>}
          spids: [36]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GENERATE_PIE_SCRIPT)
          op: assign_op.Equal
          rhs: {<yes>}
          spids: [39]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:NOP)
          op: assign_op.Equal
          rhs: {<0x01000000>}
          spids: [42]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:NO_SMALL_DATA)
          op: assign_op.Equal
          rhs: {<yes>}
          spids: [45]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName '$target'))}
      arms: [
        (case_arm
          pat_list: [{<sparc> <Id.Lit_Star '*'> <-solaris> <Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:TEXT_START_ADDR)
                  op: assign_op.Equal
                  rhs: {<0x100000000>}
                  spids: [65]
                )
              ]
            )
          ]
          spids: [58 62 69 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:TEXT_START_ADDR)
                  op: assign_op.Equal
                  rhs: {<0x100000>}
                  spids: [76]
                )
              ]
            )
          ]
          spids: [72 73 80 -1]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<test>} 
                      {
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<echo>} {(DQ ($ Id.VSub_DollarName '$host'))})
                                (C {<sed>} {<-e>} {(SQ <'s/64//;s/v[789]//'>)})
                              ]
                              negated: F
                            )
                        )
                      } {<Id.Lit_Equals '='>} 
                      {
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<echo>} {(DQ ($ Id.VSub_DollarName '$target'))})
                                (C {<sed>} {<-e>} {(SQ <'s/64//;s/v[789]//'>)})
                              ]
                              negated: F
                            )
                        )
                      }
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.Case
              to_match: {(DQ <' '> ($ Id.VSub_DollarName '$EMULATION_LIBPATH') <' '>)}
              arms: [
                (case_arm
                  pat_list: [
                    {<Id.Lit_Star '*'> (DQ <' '> (${ Id.VSub_Name EMULATION_NAME) <' '>) 
                      <Id.Lit_Star '*'>
                    }
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:NATIVE)
                          op: assign_op.Equal
                          rhs: {<yes>}
                          spids: [166]
                        )
                      ]
                    )
                  ]
                  spids: [154 163 170 -1]
                )
              ]
            )
          ]
          spids: [91 140]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName '$EMULATION_NAME'))}
      arms: [
        (case_arm
          pat_list: [{<Id.Lit_Star '*'> <64> <Id.Lit_Star '*'>}]
          action: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$target'))}
              arms: [
                (case_arm
                  pat_list: [{<sparc> <Id.Lit_Star '*'> <-linux> <Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:LIBPATH_SUFFIX)
                          op: assign_op.Equal
                          rhs: {<64>}
                          spids: [224]
                        )
                      ]
                    )
                  ]
                  spids: [217 221 227 -1]
                )
                (case_arm
                  pat_list: [{<sparc> <Id.Lit_Star '*'> <-solaris> <Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:LIBPATH_SUFFIX)
                          op: assign_op.Equal
                          rhs: {<'/sparcv9'>}
                          spids: [237]
                        )
                      ]
                    )
                  ]
                  spids: [230 234 240 -1]
                )
              ]
            )
          ]
          spids: [202 205 246 -1]
        )
      ]
    )
  ]
)