RTEMS-6
Annotated Report
libstringto
Sun Feb 28 22:34:38 2021

40005cb0 <rtems_string_to_double>:                                                        
rtems_status_code rtems_string_to_double (                                                
  const char *s,                                                                          
  double *n,                                                                              
  char **endptr                                                                           
)                                                                                         
{                                                                                         
40005cb0:   9d e3 bf 90     save  %sp, -112, %sp                                          
  double result;                                                                          
  char *end;                                                                              
                                                                                          
  if ( !n )                                                                               
40005cb4:   80 a6 60 00     cmp  %i1, 0                                                   
40005cb8:   02 80 00 44     be  40005dc8 <rtems_string_to_double+0x118>                   
40005cbc:   01 00 00 00     nop                                                           
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
40005cc0:   40 00 27 f3     call  4000fc8c <__errno>                                      
40005cc4:   01 00 00 00     nop                                                           
40005cc8:   c0 22 00 00     clr  [ %o0 ]                                                  
  *n = 0;                                                                                 
                                                                                          
  result = strtod( s, &end );                                                             
40005ccc:   92 07 bf fc     add  %fp, -4, %o1                                             
  *n = 0;                                                                                 
40005cd0:   c0 26 40 00     clr  [ %i1 ]                                                  
  result = strtod( s, &end );                                                             
40005cd4:   90 10 00 18     mov  %i0, %o0                                                 
40005cd8:   40 00 2e f8     call  400118b8 <strtod>                                       
40005cdc:   c0 26 60 04     clr  [ %i1 + 4 ]                                              
                                                                                          
  if ( endptr )                                                                           
40005ce0:   80 a6 a0 00     cmp  %i2, 0                                                   
40005ce4:   02 80 00 03     be  40005cf0 <rtems_string_to_double+0x40>                    
40005ce8:   c2 07 bf fc     ld  [ %fp + -4 ], %g1                                         
    *endptr = end;                                                                        
40005cec:   c2 26 80 00     st  %g1, [ %i2 ]                                              
                                                                                          
  if ( end == s )                                                                         
40005cf0:   80 a6 00 01     cmp  %i0, %g1                                                 
40005cf4:   02 80 00 37     be  40005dd0 <rtems_string_to_double+0x120>                   
40005cf8:   c1 3f bf f0     std  %f0, [ %fp + -16 ]                                       
    return RTEMS_NOT_DEFINED;                                                             
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
40005cfc:   40 00 27 e4     call  4000fc8c <__errno>                                      
40005d00:   01 00 00 00     nop                                                           
40005d04:   c2 02 00 00     ld  [ %o0 ], %g1                                              
40005d08:   80 a0 60 22     cmp  %g1, 0x22                                                
40005d0c:   02 80 00 05     be  40005d20 <rtems_string_to_double+0x70>                    
40005d10:   c1 1f bf f0     ldd  [ %fp + -16 ], %f0                                       
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))               
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
40005d14:   c1 3e 40 00     std  %f0, [ %i1 ]                                             
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
40005d18:   81 c7 e0 08     ret                                                           
40005d1c:   91 e8 20 00     restore  %g0, 0, %o0                                          
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))               
40005d20:   03 10 00 58     sethi  %hi(0x40016000), %g1                                   
40005d24:   d1 18 61 f0     ldd  [ %g1 + 0x1f0 ], %f8   ! 400161f0 <_rodata_start+0x1790> 
40005d28:   81 a8 0a 48     fcmpd  %f0, %f8                                               
40005d2c:   01 00 00 00     nop                                                           
40005d30:   03 80 00 1d     fbne  40005da4 <rtems_string_to_double+0xf4>                  
40005d34:   82 10 20 01     mov  1, %g1 ! 1 <_TLS_Alignment>                              
40005d38:   05 10 00 59     sethi  %hi(0x40016400), %g2                                   <== NOT EXECUTED
40005d3c:   d1 18 a2 a0     ldd  [ %g2 + 0x2a0 ], %f8   ! 400166a0 <IMFS_node_control_sym_link+0x14><== NOT EXECUTED
40005d40:   81 a8 0a 48     fcmpd  %f0, %f8                                               <== NOT EXECUTED
40005d44:   01 00 00 00     nop                                                           <== NOT EXECUTED
40005d48:   03 80 00 11     fbne  40005d8c <rtems_string_to_double+0xdc>                  <== NOT EXECUTED
40005d4c:   84 10 20 01     mov  1, %g2 ! 1 <_TLS_Alignment>                              <== NOT EXECUTED
40005d50:   82 10 40 02     or  %g1, %g2, %g1                                             
40005d54:   80 88 60 01     btst  1, %g1                                                  
40005d58:   12 80 00 0b     bne  40005d84 <rtems_string_to_double+0xd4>                   <== ALWAYS TAKEN
40005d5c:   03 10 00 59     sethi  %hi(0x40016400), %g1                                   
40005d60:   d1 18 62 a8     ldd  [ %g1 + 0x2a8 ], %f8   ! 400166a8 <IMFS_node_control_sym_link+0x1c>
40005d64:   81 a8 0a 48     fcmpd  %f0, %f8                                               
40005d68:   01 00 00 00     nop                                                           
40005d6c:   19 80 00 03     fbuge  40005d78 <rtems_string_to_double+0xc8>                 
40005d70:   82 10 20 01     mov  1, %g1 ! 1 <_TLS_Alignment>                              
40005d74:   82 10 20 00     clr  %g1                                                      
40005d78:   80 88 60 ff     btst  0xff, %g1                                               
40005d7c:   32 bf ff e7     bne,a   40005d18 <rtems_string_to_double+0x68>                <== NEVER TAKEN
40005d80:   c1 3e 40 00     std  %f0, [ %i1 ]                                             <== NOT EXECUTED
}                                                                                         
40005d84:   81 c7 e0 08     ret                                                           
40005d88:   91 e8 20 0a     restore  %g0, 0xa, %o0                                        
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))               
40005d8c:   84 10 20 00     clr  %g2                                                      <== NOT EXECUTED
40005d90:   82 10 40 02     or  %g1, %g2, %g1                                             
40005d94:   80 88 60 01     btst  1, %g1                                                  
40005d98:   02 bf ff f2     be  40005d60 <rtems_string_to_double+0xb0>                    <== ALWAYS TAKEN
40005d9c:   03 10 00 59     sethi  %hi(0x40016400), %g1                                   
40005da0:   30 bf ff f9     b,a   40005d84 <rtems_string_to_double+0xd4>                  <== NOT EXECUTED
40005da4:   05 10 00 59     sethi  %hi(0x40016400), %g2                                   
40005da8:   d1 18 a2 a0     ldd  [ %g2 + 0x2a0 ], %f8   ! 400166a0 <IMFS_node_control_sym_link+0x14>
40005dac:   81 a8 0a 48     fcmpd  %f0, %f8                                               
40005db0:   82 10 20 00     clr  %g1                                                      
40005db4:   01 00 00 00     nop                                                           
40005db8:   13 bf ff e6     fbe  40005d50 <rtems_string_to_double+0xa0>                   
40005dbc:   84 10 20 01     mov  1, %g2 ! 1 <_TLS_Alignment>                              
40005dc0:   10 bf ff f4     b  40005d90 <rtems_string_to_double+0xe0>                     
40005dc4:   84 10 20 00     clr  %g2                                                      
    return RTEMS_INVALID_ADDRESS;                                                         
40005dc8:   81 c7 e0 08     ret                                                           
40005dcc:   91 e8 20 09     restore  %g0, 9, %o0                                          
    return RTEMS_NOT_DEFINED;                                                             
40005dd0:   81 c7 e0 08     ret                                                           
40005dd4:   91 e8 20 0b     restore  %g0, 0xb, %o0                                        
                                                                                          

40005dd8 <rtems_string_to_float>: rtems_status_code rtems_string_to_float ( const char *s, float *n, char **endptr ) {
40005dd8:   9d e3 bf 90     save  %sp, -112, %sp                                          
  float result;                                                                           
  char *end;                                                                              
                                                                                          
  if ( !n )                                                                               
40005ddc:   80 a6 60 00     cmp  %i1, 0                                                   
40005de0:   02 80 00 43     be  40005eec <rtems_string_to_float+0x114>                    
40005de4:   01 00 00 00     nop                                                           
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
40005de8:   40 00 27 a9     call  4000fc8c <__errno>                                      
40005dec:   01 00 00 00     nop                                                           
40005df0:   c0 22 00 00     clr  [ %o0 ]                                                  
  *n = 0;                                                                                 
                                                                                          
  result = strtof( s, &end );                                                             
40005df4:   92 07 bf fc     add  %fp, -4, %o1                                             
  *n = 0;                                                                                 
40005df8:   c0 26 40 00     clr  [ %i1 ]                                                  
  result = strtof( s, &end );                                                             
40005dfc:   40 00 2e b7     call  400118d8 <strtof>                                       
40005e00:   90 10 00 18     mov  %i0, %o0                                                 
                                                                                          
  if ( endptr )                                                                           
40005e04:   80 a6 a0 00     cmp  %i2, 0                                                   
40005e08:   02 80 00 03     be  40005e14 <rtems_string_to_float+0x3c>                     
40005e0c:   c2 07 bf fc     ld  [ %fp + -4 ], %g1                                         
    *endptr = end;                                                                        
40005e10:   c2 26 80 00     st  %g1, [ %i2 ]                                              
                                                                                          
  if ( end == s )                                                                         
40005e14:   80 a6 00 01     cmp  %i0, %g1                                                 
40005e18:   02 80 00 37     be  40005ef4 <rtems_string_to_float+0x11c>                    
40005e1c:   c1 27 bf f4     st  %f0, [ %fp + -12 ]                                        
    return RTEMS_NOT_DEFINED;                                                             
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
40005e20:   40 00 27 9b     call  4000fc8c <__errno>                                      
40005e24:   01 00 00 00     nop                                                           
40005e28:   c2 02 00 00     ld  [ %o0 ], %g1                                              
40005e2c:   80 a0 60 22     cmp  %g1, 0x22                                                
40005e30:   02 80 00 05     be  40005e44 <rtems_string_to_float+0x6c>                     
40005e34:   c1 07 bf f4     ld  [ %fp + -12 ], %f0                                        
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))             
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
40005e38:   c1 26 40 00     st  %f0, [ %i1 ]                                              
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
40005e3c:   81 c7 e0 08     ret                                                           
40005e40:   91 e8 20 00     restore  %g0, 0, %o0                                          
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))             
40005e44:   03 10 00 57     sethi  %hi(0x40015c00), %g1                                   
40005e48:   d1 00 63 d0     ld  [ %g1 + 0x3d0 ], %f8    ! 40015fd0 <_rodata_start+0x1570> 
40005e4c:   81 a8 0a 28     fcmps  %f0, %f8                                               
40005e50:   01 00 00 00     nop                                                           
40005e54:   03 80 00 1d     fbne  40005ec8 <rtems_string_to_float+0xf0>                   
40005e58:   82 10 20 01     mov  1, %g1 ! 1 <_TLS_Alignment>                              
40005e5c:   05 10 00 59     sethi  %hi(0x40016400), %g2                                   <== NOT EXECUTED
40005e60:   d1 00 a2 b0     ld  [ %g2 + 0x2b0 ], %f8    ! 400166b0 <IMFS_node_control_sym_link+0x24><== NOT EXECUTED
40005e64:   81 a8 0a 28     fcmps  %f0, %f8                                               <== NOT EXECUTED
40005e68:   01 00 00 00     nop                                                           <== NOT EXECUTED
40005e6c:   03 80 00 11     fbne  40005eb0 <rtems_string_to_float+0xd8>                   <== NOT EXECUTED
40005e70:   84 10 20 01     mov  1, %g2 ! 1 <_TLS_Alignment>                              <== NOT EXECUTED
40005e74:   82 10 40 02     or  %g1, %g2, %g1                                             
40005e78:   80 88 60 01     btst  1, %g1                                                  
40005e7c:   12 80 00 0b     bne  40005ea8 <rtems_string_to_float+0xd0>                    <== ALWAYS TAKEN
40005e80:   03 10 00 59     sethi  %hi(0x40016400), %g1                                   
40005e84:   d1 00 62 b4     ld  [ %g1 + 0x2b4 ], %f8    ! 400166b4 <IMFS_node_control_sym_link+0x28>
40005e88:   81 a8 0a 28     fcmps  %f0, %f8                                               
40005e8c:   01 00 00 00     nop                                                           
40005e90:   19 80 00 03     fbuge  40005e9c <rtems_string_to_float+0xc4>                  
40005e94:   82 10 20 01     mov  1, %g1 ! 1 <_TLS_Alignment>                              
40005e98:   82 10 20 00     clr  %g1                                                      
40005e9c:   80 88 60 ff     btst  0xff, %g1                                               
40005ea0:   32 bf ff e7     bne,a   40005e3c <rtems_string_to_float+0x64>                 <== NEVER TAKEN
40005ea4:   c1 26 40 00     st  %f0, [ %i1 ]                                              <== NOT EXECUTED
}                                                                                         
40005ea8:   81 c7 e0 08     ret                                                           
40005eac:   91 e8 20 0a     restore  %g0, 0xa, %o0                                        
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))             
40005eb0:   84 10 20 00     clr  %g2                                                      <== NOT EXECUTED
40005eb4:   82 10 40 02     or  %g1, %g2, %g1                                             
40005eb8:   80 88 60 01     btst  1, %g1                                                  
40005ebc:   02 bf ff f2     be  40005e84 <rtems_string_to_float+0xac>                     <== ALWAYS TAKEN
40005ec0:   03 10 00 59     sethi  %hi(0x40016400), %g1                                   
40005ec4:   30 bf ff f9     b,a   40005ea8 <rtems_string_to_float+0xd0>                   <== NOT EXECUTED
40005ec8:   05 10 00 59     sethi  %hi(0x40016400), %g2                                   
40005ecc:   d1 00 a2 b0     ld  [ %g2 + 0x2b0 ], %f8    ! 400166b0 <IMFS_node_control_sym_link+0x24>
40005ed0:   81 a8 0a 28     fcmps  %f0, %f8                                               
40005ed4:   82 10 20 00     clr  %g1                                                      
40005ed8:   01 00 00 00     nop                                                           
40005edc:   13 bf ff e6     fbe  40005e74 <rtems_string_to_float+0x9c>                    
40005ee0:   84 10 20 01     mov  1, %g2 ! 1 <_TLS_Alignment>                              
40005ee4:   10 bf ff f4     b  40005eb4 <rtems_string_to_float+0xdc>                      
40005ee8:   84 10 20 00     clr  %g2                                                      
    return RTEMS_INVALID_ADDRESS;                                                         
40005eec:   81 c7 e0 08     ret                                                           
40005ef0:   91 e8 20 09     restore  %g0, 9, %o0                                          
    return RTEMS_NOT_DEFINED;                                                             
40005ef4:   81 c7 e0 08     ret                                                           
40005ef8:   91 e8 20 0b     restore  %g0, 0xb, %o0                                        
                                                                                          

400113bc <rtems_string_to_int>: const char *s, int *n, char **endptr, int base ) {
400113bc:   9d e3 bf 98     save  %sp, -104, %sp                                          
  long result;                                                                            
  char *end;                                                                              
                                                                                          
  if ( !n )                                                                               
400113c0:   80 a6 60 00     cmp  %i1, 0                                                   
400113c4:   02 80 00 23     be  40011450 <rtems_string_to_int+0x94>                       
400113c8:   01 00 00 00     nop                                                           
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
400113cc:   40 00 eb d2     call  4004c314 <__errno>                                      
400113d0:   01 00 00 00     nop                                                           
400113d4:   c0 22 00 00     clr  [ %o0 ]                                                  
  *n = 0;                                                                                 
                                                                                          
  result = strtol( s, &end, base );                                                       
400113d8:   94 10 00 1b     mov  %i3, %o2                                                 
  *n = 0;                                                                                 
400113dc:   c0 26 40 00     clr  [ %i1 ]                                                  
  result = strtol( s, &end, base );                                                       
400113e0:   92 07 bf fc     add  %fp, -4, %o1                                             
400113e4:   40 01 40 96     call  4006163c <strtol>                                       
400113e8:   90 10 00 18     mov  %i0, %o0                                                 
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
400113ec:   c2 07 bf fc     ld  [ %fp + -4 ], %g1                                         
  if ( endptr )                                                                           
400113f0:   80 a6 a0 00     cmp  %i2, 0                                                   
400113f4:   02 80 00 03     be  40011400 <rtems_string_to_int+0x44>                       
400113f8:   ba 10 00 08     mov  %o0, %i5                                                 
    *endptr = end;                                                                        
400113fc:   c2 26 80 00     st  %g1, [ %i2 ]                                              
                                                                                          
  if ( end == s )                                                                         
40011400:   80 a6 00 01     cmp  %i0, %g1                                                 
40011404:   02 80 00 15     be  40011458 <rtems_string_to_int+0x9c>                       
40011408:   01 00 00 00     nop                                                           
    return RTEMS_NOT_DEFINED;                                                             
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
4001140c:   40 00 eb c2     call  4004c314 <__errno>                                      
40011410:   01 00 00 00     nop                                                           
40011414:   c2 02 00 00     ld  [ %o0 ], %g1                                              
40011418:   80 a0 60 22     cmp  %g1, 0x22                                                
4001141c:   02 80 00 05     be  40011430 <rtems_string_to_int+0x74>                       
40011420:   03 1f ff ff     sethi  %hi(0x7ffffc00), %g1                                   
    errno = ERANGE;                                                                       
    return RTEMS_INVALID_NUMBER;                                                          
  }                                                                                       
#endif                                                                                    
                                                                                          
  *n = result;                                                                            
40011424:   fa 26 40 00     st  %i5, [ %i1 ]                                              
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
40011428:   81 c7 e0 08     ret                                                           
4001142c:   91 e8 20 00     restore  %g0, 0, %o0                                          
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))                
40011430:   82 10 63 ff     or  %g1, 0x3ff, %g1                                           
40011434:   80 8f 40 01     btst  %i5, %g1                                                
40011438:   02 80 00 04     be  40011448 <rtems_string_to_int+0x8c>                       
4001143c:   80 a7 40 01     cmp  %i5, %g1                                                 
40011440:   32 bf ff fa     bne,a   40011428 <rtems_string_to_int+0x6c>                   <== NEVER TAKEN
40011444:   fa 26 40 00     st  %i5, [ %i1 ]                                              <== NOT EXECUTED
}                                                                                         
40011448:   81 c7 e0 08     ret                                                           
4001144c:   91 e8 20 0a     restore  %g0, 0xa, %o0                                        
    return RTEMS_INVALID_ADDRESS;                                                         
40011450:   81 c7 e0 08     ret                                                           
40011454:   91 e8 20 09     restore  %g0, 9, %o0                                          
    return RTEMS_NOT_DEFINED;                                                             
40011458:   81 c7 e0 08     ret                                                           
4001145c:   91 e8 20 0b     restore  %g0, 0xb, %o0                                        
                                                                                          

40005fa0 <rtems_string_to_long>: const char *s, long *n, char **endptr, int base ) {
40005fa0:   9d e3 bf 98     save  %sp, -104, %sp                                          
  long result;                                                                            
  char *end;                                                                              
                                                                                          
  if ( !n )                                                                               
40005fa4:   80 a6 60 00     cmp  %i1, 0                                                   
40005fa8:   02 80 00 23     be  40006034 <rtems_string_to_long+0x94>                      
40005fac:   01 00 00 00     nop                                                           
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
40005fb0:   40 00 27 37     call  4000fc8c <__errno>                                      
40005fb4:   01 00 00 00     nop                                                           
40005fb8:   c0 22 00 00     clr  [ %o0 ]                                                  
  *n = 0;                                                                                 
                                                                                          
  result = strtol( s, &end, base );                                                       
40005fbc:   94 10 00 1b     mov  %i3, %o2                                                 
  *n = 0;                                                                                 
40005fc0:   c0 26 40 00     clr  [ %i1 ]                                                  
  result = strtol( s, &end, base );                                                       
40005fc4:   92 07 bf fc     add  %fp, -4, %o1                                             
40005fc8:   40 00 2e f8     call  40011ba8 <strtol>                                       
40005fcc:   90 10 00 18     mov  %i0, %o0                                                 
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
40005fd0:   c2 07 bf fc     ld  [ %fp + -4 ], %g1                                         
  if ( endptr )                                                                           
40005fd4:   80 a6 a0 00     cmp  %i2, 0                                                   
40005fd8:   02 80 00 03     be  40005fe4 <rtems_string_to_long+0x44>                      
40005fdc:   ba 10 00 08     mov  %o0, %i5                                                 
    *endptr = end;                                                                        
40005fe0:   c2 26 80 00     st  %g1, [ %i2 ]                                              
                                                                                          
  if ( end == s )                                                                         
40005fe4:   80 a6 00 01     cmp  %i0, %g1                                                 
40005fe8:   02 80 00 15     be  4000603c <rtems_string_to_long+0x9c>                      
40005fec:   01 00 00 00     nop                                                           
    return RTEMS_NOT_DEFINED;                                                             
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
40005ff0:   40 00 27 27     call  4000fc8c <__errno>                                      
40005ff4:   01 00 00 00     nop                                                           
40005ff8:   c2 02 00 00     ld  [ %o0 ], %g1                                              
40005ffc:   80 a0 60 22     cmp  %g1, 0x22                                                
40006000:   02 80 00 05     be  40006014 <rtems_string_to_long+0x74>                      
40006004:   03 1f ff ff     sethi  %hi(0x7ffffc00), %g1                                   
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))                
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
40006008:   fa 26 40 00     st  %i5, [ %i1 ]                                              
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
4000600c:   81 c7 e0 08     ret                                                           
40006010:   91 e8 20 00     restore  %g0, 0, %o0                                          
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))                
40006014:   82 10 63 ff     or  %g1, 0x3ff, %g1                                           
40006018:   80 8f 40 01     btst  %i5, %g1                                                
4000601c:   02 80 00 04     be  4000602c <rtems_string_to_long+0x8c>                      
40006020:   80 a7 40 01     cmp  %i5, %g1                                                 
40006024:   32 bf ff fa     bne,a   4000600c <rtems_string_to_long+0x6c>                  <== NEVER TAKEN
40006028:   fa 26 40 00     st  %i5, [ %i1 ]                                              <== NOT EXECUTED
}                                                                                         
4000602c:   81 c7 e0 08     ret                                                           
40006030:   91 e8 20 0a     restore  %g0, 0xa, %o0                                        
    return RTEMS_INVALID_ADDRESS;                                                         
40006034:   81 c7 e0 08     ret                                                           
40006038:   91 e8 20 09     restore  %g0, 9, %o0                                          
    return RTEMS_NOT_DEFINED;                                                             
4000603c:   81 c7 e0 08     ret                                                           
40006040:   91 e8 20 0b     restore  %g0, 0xb, %o0                                        
                                                                                          

40006044 <rtems_string_to_long_long>: const char *s, long long *n, char **endptr, int base ) {
40006044:   9d e3 bf 98     save  %sp, -104, %sp                                          
  long long result;                                                                       
  char *end;                                                                              
                                                                                          
  if ( !n )                                                                               
40006048:   80 a6 60 00     cmp  %i1, 0                                                   
4000604c:   02 80 00 28     be  400060ec <rtems_string_to_long_long+0xa8>                 
40006050:   01 00 00 00     nop                                                           
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
40006054:   40 00 27 0e     call  4000fc8c <__errno>                                      
40006058:   01 00 00 00     nop                                                           
4000605c:   c0 22 00 00     clr  [ %o0 ]                                                  
  *n = 0;                                                                                 
                                                                                          
  result = strtoll( s, &end, base );                                                      
40006060:   94 10 00 1b     mov  %i3, %o2                                                 
  *n = 0;                                                                                 
40006064:   c0 26 40 00     clr  [ %i1 ]                                                  
  result = strtoll( s, &end, base );                                                      
40006068:   92 07 bf fc     add  %fp, -4, %o1                                             
  *n = 0;                                                                                 
4000606c:   c0 26 60 04     clr  [ %i1 + 4 ]                                              
  result = strtoll( s, &end, base );                                                      
40006070:   40 00 2f 8a     call  40011e98 <strtoll>                                      
40006074:   90 10 00 18     mov  %i0, %o0                                                 
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
40006078:   c2 07 bf fc     ld  [ %fp + -4 ], %g1                                         
  result = strtoll( s, &end, base );                                                      
4000607c:   b8 10 00 08     mov  %o0, %i4                                                 
  if ( endptr )                                                                           
40006080:   80 a6 a0 00     cmp  %i2, 0                                                   
40006084:   02 80 00 03     be  40006090 <rtems_string_to_long_long+0x4c>                 
40006088:   ba 10 00 09     mov  %o1, %i5                                                 
    *endptr = end;                                                                        
4000608c:   c2 26 80 00     st  %g1, [ %i2 ]                                              
                                                                                          
  if ( end == s )                                                                         
40006090:   80 a6 00 01     cmp  %i0, %g1                                                 
40006094:   02 80 00 18     be  400060f4 <rtems_string_to_long_long+0xb0>                 
40006098:   01 00 00 00     nop                                                           
    return RTEMS_NOT_DEFINED;                                                             
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
4000609c:   40 00 26 fc     call  4000fc8c <__errno>                                      
400060a0:   01 00 00 00     nop                                                           
400060a4:   c2 02 00 00     ld  [ %o0 ], %g1                                              
400060a8:   80 a0 60 22     cmp  %g1, 0x22                                                
400060ac:   02 80 00 06     be  400060c4 <rtems_string_to_long_long+0x80>                 
400060b0:   03 1f ff ff     sethi  %hi(0x7ffffc00), %g1                                   
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))      
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
400060b4:   f8 26 40 00     st  %i4, [ %i1 ]                                              
400060b8:   fa 26 60 04     st  %i5, [ %i1 + 4 ]                                          
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
400060bc:   81 c7 e0 08     ret                                                           
400060c0:   91 e8 20 00     restore  %g0, 0, %o0                                          
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))      
400060c4:   82 10 63 ff     or  %g1, 0x3ff, %g1                                           
400060c8:   84 0f 00 01     and  %i4, %g1, %g2                                            
400060cc:   80 90 80 1d     orcc  %g2, %i5, %g0                                           
400060d0:   02 80 00 05     be  400060e4 <rtems_string_to_long_long+0xa0>                 
400060d4:   82 1f 00 01     xor  %i4, %g1, %g1                                            
400060d8:   80 b0 40 1d     orncc  %g1, %i5, %g0                                          
400060dc:   32 bf ff f7     bne,a   400060b8 <rtems_string_to_long_long+0x74>             <== NEVER TAKEN
400060e0:   f8 26 40 00     st  %i4, [ %i1 ]                                              <== NOT EXECUTED
}                                                                                         
400060e4:   81 c7 e0 08     ret                                                           
400060e8:   91 e8 20 0a     restore  %g0, 0xa, %o0                                        
    return RTEMS_INVALID_ADDRESS;                                                         
400060ec:   81 c7 e0 08     ret                                                           
400060f0:   91 e8 20 09     restore  %g0, 9, %o0                                          
    return RTEMS_NOT_DEFINED;                                                             
400060f4:   81 c7 e0 08     ret                                                           
400060f8:   91 e8 20 0b     restore  %g0, 0xb, %o0                                        
                                                                                          

40011470 <rtems_string_to_unsigned_char>: const char *s, unsigned char *n, char **endptr, int base ) {
40011470:   9d e3 bf 98     save  %sp, -104, %sp                                          
  unsigned long result;                                                                   
  char *end;                                                                              
                                                                                          
  if ( !n )                                                                               
40011474:   80 a6 60 00     cmp  %i1, 0                                                   
40011478:   02 80 00 23     be  40011504 <rtems_string_to_unsigned_char+0x94>             
4001147c:   01 00 00 00     nop                                                           
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
40011480:   40 00 eb a5     call  4004c314 <__errno>                                      
40011484:   01 00 00 00     nop                                                           
40011488:   c0 22 00 00     clr  [ %o0 ]                                                  
  *n = 0;                                                                                 
                                                                                          
  result = strtoul( s, &end, base );                                                      
4001148c:   94 10 00 1b     mov  %i3, %o2                                                 
  *n = 0;                                                                                 
40011490:   c0 2e 40 00     clrb  [ %i1 ]                                                 
  result = strtoul( s, &end, base );                                                      
40011494:   92 07 bf fc     add  %fp, -4, %o1                                             
40011498:   40 01 41 be     call  40061b90 <strtoul>                                      
4001149c:   90 10 00 18     mov  %i0, %o0                                                 
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
400114a0:   c2 07 bf fc     ld  [ %fp + -4 ], %g1                                         
  if ( endptr )                                                                           
400114a4:   80 a6 a0 00     cmp  %i2, 0                                                   
400114a8:   02 80 00 03     be  400114b4 <rtems_string_to_unsigned_char+0x44>             
400114ac:   ba 10 00 08     mov  %o0, %i5                                                 
    *endptr = end;                                                                        
400114b0:   c2 26 80 00     st  %g1, [ %i2 ]                                              
                                                                                          
  if ( end == s )                                                                         
400114b4:   80 a6 00 01     cmp  %i0, %g1                                                 
400114b8:   02 80 00 15     be  4001150c <rtems_string_to_unsigned_char+0x9c>             
400114bc:   01 00 00 00     nop                                                           
    return RTEMS_NOT_DEFINED;                                                             
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
400114c0:   40 00 eb 95     call  4004c314 <__errno>                                      
400114c4:   01 00 00 00     nop                                                           
400114c8:   c2 02 00 00     ld  [ %o0 ], %g1                                              
400114cc:   80 a0 60 22     cmp  %g1, 0x22                                                
400114d0:   02 80 00 08     be  400114f0 <rtems_string_to_unsigned_char+0x80>             
400114d4:   82 07 7f ff     add  %i5, -1, %g1                                             
    (( result == 0 ) || ( result == ULONG_MAX )))                                         
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
#if (UCHAR_MAX < ULONG_MAX)                                                               
  if ( result > UCHAR_MAX ) {                                                             
400114d8:   80 a7 60 ff     cmp  %i5, 0xff                                                
400114dc:   18 80 00 0e     bgu  40011514 <rtems_string_to_unsigned_char+0xa4>            
400114e0:   01 00 00 00     nop                                                           
    errno = ERANGE;                                                                       
    return RTEMS_INVALID_NUMBER;                                                          
  }                                                                                       
#endif                                                                                    
                                                                                          
  *n = result;                                                                            
400114e4:   fa 2e 40 00     stb  %i5, [ %i1 ]                                             
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
400114e8:   81 c7 e0 08     ret                                                           
400114ec:   91 e8 20 00     restore  %g0, 0, %o0                                          
  if ( ( errno == ERANGE ) &&                                                             
400114f0:   80 a0 7f fd     cmp  %g1, -3                                                  
400114f4:   08 bf ff f9     bleu  400114d8 <rtems_string_to_unsigned_char+0x68>           <== NEVER TAKEN
400114f8:   b0 10 20 0a     mov  0xa, %i0                                                 
}                                                                                         
400114fc:   81 c7 e0 08     ret                                                           
40011500:   81 e8 00 00     restore                                                       
    return RTEMS_INVALID_ADDRESS;                                                         
40011504:   81 c7 e0 08     ret                                                           
40011508:   91 e8 20 09     restore  %g0, 9, %o0                                          
}                                                                                         
4001150c:   81 c7 e0 08     ret                                                           
40011510:   91 e8 20 0b     restore  %g0, 0xb, %o0                                        
    errno = ERANGE;                                                                       
40011514:   40 00 eb 80     call  4004c314 <__errno>                                      
40011518:   b0 10 20 0a     mov  0xa, %i0                                                 
4001151c:   82 10 20 22     mov  0x22, %g1                                                
40011520:   c2 22 00 00     st  %g1, [ %o0 ]                                              
    return RTEMS_INVALID_NUMBER;                                                          
40011524:   81 c7 e0 08     ret                                                           
40011528:   81 e8 00 00     restore                                                       
                                                                                          

400061c8 <rtems_string_to_unsigned_int>: const char *s, unsigned int *n, char **endptr, int base ) {
400061c8:   9d e3 bf 98     save  %sp, -104, %sp                                          
  unsigned long result;                                                                   
  char *end;                                                                              
                                                                                          
  if ( !n )                                                                               
400061cc:   80 a6 60 00     cmp  %i1, 0                                                   
400061d0:   02 80 00 20     be  40006250 <rtems_string_to_unsigned_int+0x88>              
400061d4:   01 00 00 00     nop                                                           
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
400061d8:   40 00 26 ad     call  4000fc8c <__errno>                                      
400061dc:   01 00 00 00     nop                                                           
400061e0:   c0 22 00 00     clr  [ %o0 ]                                                  
  *n = 0;                                                                                 
                                                                                          
  result = strtoul( s, &end, base );                                                      
400061e4:   94 10 00 1b     mov  %i3, %o2                                                 
  *n = 0;                                                                                 
400061e8:   c0 26 40 00     clr  [ %i1 ]                                                  
  result = strtoul( s, &end, base );                                                      
400061ec:   92 07 bf fc     add  %fp, -4, %o1                                             
400061f0:   40 00 2f b6     call  400120c8 <strtoul>                                      
400061f4:   90 10 00 18     mov  %i0, %o0                                                 
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
400061f8:   c2 07 bf fc     ld  [ %fp + -4 ], %g1                                         
  if ( endptr )                                                                           
400061fc:   80 a6 a0 00     cmp  %i2, 0                                                   
40006200:   02 80 00 03     be  4000620c <rtems_string_to_unsigned_int+0x44>              
40006204:   ba 10 00 08     mov  %o0, %i5                                                 
    *endptr = end;                                                                        
40006208:   c2 26 80 00     st  %g1, [ %i2 ]                                              
                                                                                          
  if ( end == s )                                                                         
4000620c:   80 a6 00 01     cmp  %i0, %g1                                                 
40006210:   02 80 00 12     be  40006258 <rtems_string_to_unsigned_int+0x90>              
40006214:   01 00 00 00     nop                                                           
    return RTEMS_NOT_DEFINED;                                                             
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
40006218:   40 00 26 9d     call  4000fc8c <__errno>                                      
4000621c:   01 00 00 00     nop                                                           
40006220:   c2 02 00 00     ld  [ %o0 ], %g1                                              
40006224:   80 a0 60 22     cmp  %g1, 0x22                                                
40006228:   02 80 00 05     be  4000623c <rtems_string_to_unsigned_int+0x74>              
4000622c:   82 07 7f ff     add  %i5, -1, %g1                                             
    errno = ERANGE;                                                                       
    return RTEMS_INVALID_NUMBER;                                                          
  }                                                                                       
#endif                                                                                    
                                                                                          
  *n = result;                                                                            
40006230:   fa 26 40 00     st  %i5, [ %i1 ]                                              
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
40006234:   81 c7 e0 08     ret                                                           
40006238:   91 e8 20 00     restore  %g0, 0, %o0                                          
  if ( ( errno == ERANGE ) &&                                                             
4000623c:   80 a0 7f fd     cmp  %g1, -3                                                  
40006240:   08 bf ff fc     bleu  40006230 <rtems_string_to_unsigned_int+0x68>            <== NEVER TAKEN
40006244:   b0 10 20 0a     mov  0xa, %i0                                                 
}                                                                                         
40006248:   81 c7 e0 08     ret                                                           
4000624c:   81 e8 00 00     restore                                                       
    return RTEMS_INVALID_ADDRESS;                                                         
40006250:   81 c7 e0 08     ret                                                           
40006254:   91 e8 20 09     restore  %g0, 9, %o0                                          
}                                                                                         
40006258:   81 c7 e0 08     ret                                                           
4000625c:   91 e8 20 0b     restore  %g0, 0xb, %o0                                        
                                                                                          

4001152c <rtems_string_to_unsigned_long>: const char *s, unsigned long *n, char **endptr, int base ) {
4001152c:   9d e3 bf 98     save  %sp, -104, %sp                                          
  unsigned long result;                                                                   
  char *end;                                                                              
                                                                                          
  if ( !n )                                                                               
40011530:   80 a6 60 00     cmp  %i1, 0                                                   
40011534:   02 80 00 20     be  400115b4 <rtems_string_to_unsigned_long+0x88>             
40011538:   01 00 00 00     nop                                                           
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
4001153c:   40 00 eb 76     call  4004c314 <__errno>                                      
40011540:   01 00 00 00     nop                                                           
40011544:   c0 22 00 00     clr  [ %o0 ]                                                  
  *n = 0;                                                                                 
                                                                                          
  result = strtoul( s, &end, base );                                                      
40011548:   94 10 00 1b     mov  %i3, %o2                                                 
  *n = 0;                                                                                 
4001154c:   c0 26 40 00     clr  [ %i1 ]                                                  
  result = strtoul( s, &end, base );                                                      
40011550:   92 07 bf fc     add  %fp, -4, %o1                                             
40011554:   40 01 41 8f     call  40061b90 <strtoul>                                      
40011558:   90 10 00 18     mov  %i0, %o0                                                 
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
4001155c:   c2 07 bf fc     ld  [ %fp + -4 ], %g1                                         
  if ( endptr )                                                                           
40011560:   80 a6 a0 00     cmp  %i2, 0                                                   
40011564:   02 80 00 03     be  40011570 <rtems_string_to_unsigned_long+0x44>             
40011568:   ba 10 00 08     mov  %o0, %i5                                                 
    *endptr = end;                                                                        
4001156c:   c2 26 80 00     st  %g1, [ %i2 ]                                              
                                                                                          
  if ( end == s )                                                                         
40011570:   80 a6 00 01     cmp  %i0, %g1                                                 
40011574:   02 80 00 12     be  400115bc <rtems_string_to_unsigned_long+0x90>             
40011578:   01 00 00 00     nop                                                           
    return RTEMS_NOT_DEFINED;                                                             
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
4001157c:   40 00 eb 66     call  4004c314 <__errno>                                      
40011580:   01 00 00 00     nop                                                           
40011584:   c2 02 00 00     ld  [ %o0 ], %g1                                              
40011588:   80 a0 60 22     cmp  %g1, 0x22                                                
4001158c:   02 80 00 05     be  400115a0 <rtems_string_to_unsigned_long+0x74>             
40011590:   82 07 7f ff     add  %i5, -1, %g1                                             
    (( result == 0 ) || ( result == ULONG_MAX )))                                         
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
40011594:   fa 26 40 00     st  %i5, [ %i1 ]                                              
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
40011598:   81 c7 e0 08     ret                                                           
4001159c:   91 e8 20 00     restore  %g0, 0, %o0                                          
  if ( ( errno == ERANGE ) &&                                                             
400115a0:   80 a0 7f fd     cmp  %g1, -3                                                  
400115a4:   08 bf ff fc     bleu  40011594 <rtems_string_to_unsigned_long+0x68>           <== NEVER TAKEN
400115a8:   b0 10 20 0a     mov  0xa, %i0                                                 
}                                                                                         
400115ac:   81 c7 e0 08     ret                                                           
400115b0:   81 e8 00 00     restore                                                       
    return RTEMS_INVALID_ADDRESS;                                                         
400115b4:   81 c7 e0 08     ret                                                           
400115b8:   91 e8 20 09     restore  %g0, 9, %o0                                          
}                                                                                         
400115bc:   81 c7 e0 08     ret                                                           
400115c0:   91 e8 20 0b     restore  %g0, 0xb, %o0                                        
                                                                                          

400062f8 <rtems_string_to_unsigned_long_long>: const char *s, unsigned long long *n, char **endptr, int base ) {
400062f8:   9d e3 bf 98     save  %sp, -104, %sp                                          
  unsigned long long result;                                                              
  char *end;                                                                              
                                                                                          
  if ( !n )                                                                               
400062fc:   80 a6 60 00     cmp  %i1, 0                                                   
40006300:   02 80 00 26     be  40006398 <rtems_string_to_unsigned_long_long+0xa0>        
40006304:   01 00 00 00     nop                                                           
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
40006308:   40 00 26 61     call  4000fc8c <__errno>                                      
4000630c:   01 00 00 00     nop                                                           
40006310:   c0 22 00 00     clr  [ %o0 ]                                                  
  *n = 0;                                                                                 
                                                                                          
  result = strtoull( s, &end, base );                                                     
40006314:   94 10 00 1b     mov  %i3, %o2                                                 
  *n = 0;                                                                                 
40006318:   c0 26 40 00     clr  [ %i1 ]                                                  
  result = strtoull( s, &end, base );                                                     
4000631c:   92 07 bf fc     add  %fp, -4, %o1                                             
  *n = 0;                                                                                 
40006320:   c0 26 60 04     clr  [ %i1 + 4 ]                                              
  result = strtoull( s, &end, base );                                                     
40006324:   40 00 30 1a     call  4001238c <strtoull>                                     
40006328:   90 10 00 18     mov  %i0, %o0                                                 
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
4000632c:   c2 07 bf fc     ld  [ %fp + -4 ], %g1                                         
  if ( endptr )                                                                           
40006330:   80 a6 a0 00     cmp  %i2, 0                                                   
  result = strtoull( s, &end, base );                                                     
40006334:   b8 10 00 08     mov  %o0, %i4                                                 
  if ( endptr )                                                                           
40006338:   02 80 00 03     be  40006344 <rtems_string_to_unsigned_long_long+0x4c>        
4000633c:   ba 10 00 09     mov  %o1, %i5                                                 
    *endptr = end;                                                                        
40006340:   c2 26 80 00     st  %g1, [ %i2 ]                                              
                                                                                          
  if ( end == s )                                                                         
40006344:   80 a6 00 01     cmp  %i0, %g1                                                 
40006348:   02 80 00 16     be  400063a0 <rtems_string_to_unsigned_long_long+0xa8>        
4000634c:   01 00 00 00     nop                                                           
    return RTEMS_NOT_DEFINED;                                                             
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
40006350:   40 00 26 4f     call  4000fc8c <__errno>                                      
40006354:   01 00 00 00     nop                                                           
40006358:   c2 02 00 00     ld  [ %o0 ], %g1                                              
4000635c:   80 a0 60 22     cmp  %g1, 0x22                                                
40006360:   02 80 00 05     be  40006374 <rtems_string_to_unsigned_long_long+0x7c>        
40006364:   86 87 7f ff     addcc  %i5, -1, %g3                                           
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))                                    
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
40006368:   f8 3e 40 00     std  %i4, [ %i1 ]                                             
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
4000636c:   81 c7 e0 08     ret                                                           
40006370:   91 e8 20 00     restore  %g0, 0, %o0                                          
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))                                    
40006374:   84 47 3f ff     addx  %i4, -1, %g2                                            
  if ( ( errno == ERANGE ) &&                                                             
40006378:   80 a0 bf ff     cmp  %g2, -1                                                  
4000637c:   32 bf ff fc     bne,a   4000636c <rtems_string_to_unsigned_long_long+0x74>    <== NEVER TAKEN
40006380:   f8 3e 40 00     std  %i4, [ %i1 ]                                             <== NOT EXECUTED
40006384:   80 a0 ff fd     cmp  %g3, -3                                                  
40006388:   08 bf ff f8     bleu  40006368 <rtems_string_to_unsigned_long_long+0x70>      <== NEVER TAKEN
4000638c:   b0 10 20 0a     mov  0xa, %i0                                                 
}                                                                                         
40006390:   81 c7 e0 08     ret                                                           
40006394:   81 e8 00 00     restore                                                       
    return RTEMS_INVALID_ADDRESS;                                                         
40006398:   81 c7 e0 08     ret                                                           
4000639c:   91 e8 20 09     restore  %g0, 9, %o0                                          
}                                                                                         
400063a0:   81 c7 e0 08     ret                                                           
400063a4:   91 e8 20 0b     restore  %g0, 0xb, %o0