(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:OUTPUT_FORMAT)
          op: assign_op.Equal
          rhs: {(DQ <elf64-s390>)}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:NO_REL_RELOCS)
          op: assign_op.Equal
          rhs: {<yes>}
          spids: [11]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEXT_START_ADDR)
          op: assign_op.Equal
          rhs: {<0x80000000>}
          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 <'s390:64-bit'>)}
          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:NOP)
          op: assign_op.Equal
          rhs: {<0x07070707>}
          spids: [34]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TEMPLATE_NAME)
          op: assign_op.Equal
          rhs: {<elf32>}
          spids: [37]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GENERATE_SHLIB_SCRIPT)
          op: assign_op.Equal
          rhs: {<yes>}
          spids: [40]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GENERATE_PIE_SCRIPT)
          op: assign_op.Equal
          rhs: {<yes>}
          spids: [43]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:NO_SMALL_DATA)
          op: assign_op.Equal
          rhs: {<yes>}
          spids: [46]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:IREL_IN_PLT)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [49]
        )
      ]
    )
    (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>} {<'s/390x/390/'>})
                              ]
                              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>} {<'s/390x/390/'>})
                              ]
                              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: [129]
                        )
                      ]
                    )
                  ]
                  spids: [117 126 -1 133]
                )
              ]
            )
          ]
          spids: [58 103]
        )
      ]
    )
    (command.Case
      to_match: {(DQ ($ Id.VSub_DollarName '$target'))}
      arms: [
        (case_arm
          pat_list: [{<s390> <Id.Lit_Star '*'> <-linux> <Id.Lit_Star '*'>}]
          action: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$EMULATION_NAME'))}
              arms: [
                (case_arm
                  pat_list: [{<Id.Lit_Star '*'> <64> <Id.Lit_Star '*'>}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:LIBPATH_SUFFIX)
                          op: assign_op.Equal
                          rhs: {<64>}
                          spids: [175]
                        )
                      ]
                    )
                  ]
                  spids: [169 172 178 -1]
                )
              ]
            )
          ]
          spids: [153 157 184 -1]
        )
      ]
    )
  ]
)