RTEMS-5
Annotated Report
Fri Aug 10 14:18:44 2018

4000c804 <rtems_string_to_double>:
                                   
rtems_status_code rtems_string_to_double (
                           
  const char *s,
                                                     
  double *n,
                                                         
  char **endptr
                                                      
)
                                                                    
{
                                                                    
4000c804:	9d e3 bf 90 	save  %sp, -112, %sp
                          
  double result;
                                                     
  char *end;
                                                         

                                                                     
  if ( !n )
                                                          
4000c808:	80 a6 60 00 	cmp  %i1, 0
                                   
4000c80c:	02 80 00 1a 	be  4000c874 <rtems_string_to_double+0x70>
    
4000c810:	82 10 20 09 	mov  9, %g1
                                   
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
4000c814:	40 00 0b 22 	call  4000f49c <__errno>
                      
4000c818:	01 00 00 00 	nop 
                                          
4000c81c:	c0 22 00 00 	clr  [ %o0 ]
                                  
  *n = 0;
                                                            

                                                                     
  result = strtod( s, &end );
                                        
4000c820:	92 07 bf fc 	add  %fp, -4, %o1
                             
  *n = 0;
                                                            
4000c824:	c0 26 40 00 	clr  [ %i1 ]
                                  
  result = strtod( s, &end );
                                        
4000c828:	90 10 00 18 	mov  %i0, %o0
                                 
4000c82c:	40 00 12 33 	call  400110f8 <strtod>
                       
4000c830:	c0 26 60 04 	clr  [ %i1 + 4 ]
                              

                                                                     
  if ( endptr )
                                                      
4000c834:	80 a6 a0 00 	cmp  %i2, 0
                                   
4000c838:	02 80 00 03 	be  4000c844 <rtems_string_to_double+0x40>
    
4000c83c:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         
    *endptr = end;
                                                   
4000c840:	c4 26 80 00 	st  %g2, [ %i2 ]
                              
4000c844:	c1 3f bf f0 	std  %f0, [ %fp + -16 ]
                       

                                                                     
  if ( end == s )
                                                    
4000c848:	80 a6 00 02 	cmp  %i0, %g2
                                 
4000c84c:	02 80 00 0a 	be  4000c874 <rtems_string_to_double+0x70>
    
4000c850:	82 10 20 0b 	mov  0xb, %g1
                                 
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
4000c854:	40 00 0b 12 	call  4000f49c <__errno>
                      
4000c858:	01 00 00 00 	nop 
                                          
4000c85c:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
4000c860:	80 a0 60 22 	cmp  %g1, 0x22
                                
4000c864:	02 80 00 06 	be  4000c87c <rtems_string_to_double+0x78>
    
4000c868:	c1 1f bf f0 	ldd  [ %fp + -16 ], %f0
                       
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))

      return RTEMS_INVALID_NUMBER;
                                   

                                                                     
  *n = result;
                                                       
4000c86c:	c1 3e 40 00 	std  %f0, [ %i1 ]
                             

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
4000c870:	82 10 20 00 	clr  %g1
                                      
}
                                                                    
4000c874:	81 c7 e0 08 	ret 
                                          
4000c878:	91 e8 00 01 	restore  %g0, %g1, %o0
                        
  if ( ( errno == ERANGE ) &&
                                        
4000c87c:	03 10 00 58 	sethi  %hi(0x40016000), %g1
                   
4000c880:	d1 18 62 70 	ldd  [ %g1 + 0x270 ], %f8	! 40016270 <_rodata_start+0x17c0>

4000c884:	81 a8 0a 48 	fcmpd  %f0, %f8
                               
4000c888:	01 00 00 00 	nop 
                                          
4000c88c:	13 bf ff fa 	fbe  4000c874 <rtems_string_to_double+0x70>
   
4000c890:	82 10 20 0a 	mov  0xa, %g1	! a <_TLS_Alignment+0x9>
        
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))

4000c894:	05 10 00 5a 	sethi  %hi(0x40016800), %g2
                   
4000c898:	d1 18 a3 a8 	ldd  [ %g2 + 0x3a8 ], %f8	! 40016ba8 <_Thread_queue_Operations_default+0x18>

4000c89c:	81 a8 0a c8 	fcmped  %f0, %f8
                              
4000c8a0:	01 00 00 00 	nop 
                                          
4000c8a4:	0d bf ff f4 	fbg  4000c874 <rtems_string_to_double+0x70>
   
4000c8a8:	05 10 00 5a 	sethi  %hi(0x40016800), %g2
                   
4000c8ac:	d1 18 a3 b0 	ldd  [ %g2 + 0x3b0 ], %f8	! 40016bb0 <_Thread_queue_Operations_default+0x20>

4000c8b0:	81 a8 0a c8 	fcmped  %f0, %f8
                              
4000c8b4:	01 00 00 00 	nop 
                                          
4000c8b8:	09 bf ff ef 	fbl  4000c874 <rtems_string_to_double+0x70>
   
4000c8bc:	01 00 00 00 	nop 
                                          
  *n = result;
                                                       
4000c8c0:	c1 3e 40 00 	std  %f0, [ %i1 ]
                             <== NOT EXECUTED
  return RTEMS_SUCCESSFUL;
                                           
4000c8c4:	10 bf ff ec 	b  4000c874 <rtems_string_to_double+0x70>
     <== NOT EXECUTED
4000c8c8:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED

                                                                     

4000c8cc <rtems_string_to_float>: rtems_status_code rtems_string_to_float ( const char *s, float *n, char **endptr ) {
4000c8cc:	9d e3 bf 90 	save  %sp, -112, %sp
                          
  float result;
                                                      
  char *end;
                                                         

                                                                     
  if ( !n )
                                                          
4000c8d0:	80 a6 60 00 	cmp  %i1, 0
                                   
4000c8d4:	02 80 00 19 	be  4000c938 <rtems_string_to_float+0x6c>
     
4000c8d8:	82 10 20 09 	mov  9, %g1
                                   
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
4000c8dc:	40 00 0a f0 	call  4000f49c <__errno>
                      
4000c8e0:	01 00 00 00 	nop 
                                          
4000c8e4:	c0 22 00 00 	clr  [ %o0 ]
                                  
  *n = 0;
                                                            

                                                                     
  result = strtof( s, &end );
                                        
4000c8e8:	92 07 bf fc 	add  %fp, -4, %o1
                             
  *n = 0;
                                                            
4000c8ec:	c0 26 40 00 	clr  [ %i1 ]
                                  
  result = strtof( s, &end );
                                        
4000c8f0:	40 00 12 34 	call  400111c0 <strtof>
                       
4000c8f4:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
  if ( endptr )
                                                      
4000c8f8:	80 a6 a0 00 	cmp  %i2, 0
                                   
4000c8fc:	02 80 00 03 	be  4000c908 <rtems_string_to_float+0x3c>
     
4000c900:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         
    *endptr = end;
                                                   
4000c904:	c4 26 80 00 	st  %g2, [ %i2 ]
                              
4000c908:	c1 27 bf f4 	st  %f0, [ %fp + -12 ]
                        

                                                                     
  if ( end == s )
                                                    
4000c90c:	80 a6 00 02 	cmp  %i0, %g2
                                 
4000c910:	02 80 00 0a 	be  4000c938 <rtems_string_to_float+0x6c>
     
4000c914:	82 10 20 0b 	mov  0xb, %g1
                                 
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
4000c918:	40 00 0a e1 	call  4000f49c <__errno>
                      
4000c91c:	01 00 00 00 	nop 
                                          
4000c920:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
4000c924:	80 a0 60 22 	cmp  %g1, 0x22
                                
4000c928:	02 80 00 06 	be  4000c940 <rtems_string_to_float+0x74>
     
4000c92c:	c1 07 bf f4 	ld  [ %fp + -12 ], %f0
                        
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))

      return RTEMS_INVALID_NUMBER;
                                   

                                                                     
  *n = result;
                                                       
4000c930:	c1 26 40 00 	st  %f0, [ %i1 ]
                              

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
4000c934:	82 10 20 00 	clr  %g1
                                      
}
                                                                    
4000c938:	81 c7 e0 08 	ret 
                                          
4000c93c:	91 e8 00 01 	restore  %g0, %g1, %o0
                        
  if ( ( errno == ERANGE ) &&
                                        
4000c940:	03 10 00 58 	sethi  %hi(0x40016000), %g1
                   
4000c944:	d1 00 60 50 	ld  [ %g1 + 0x50 ], %f8	! 40016050 <_rodata_start+0x15a0>

4000c948:	81 a8 0a 28 	fcmps  %f0, %f8
                               
4000c94c:	01 00 00 00 	nop 
                                          
4000c950:	13 bf ff fa 	fbe  4000c938 <rtems_string_to_float+0x6c>
    
4000c954:	82 10 20 0a 	mov  0xa, %g1	! a <_TLS_Alignment+0x9>
        
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))

4000c958:	05 10 00 5a 	sethi  %hi(0x40016800), %g2
                   
4000c95c:	d1 00 a3 b8 	ld  [ %g2 + 0x3b8 ], %f8	! 40016bb8 <_Thread_queue_Operations_default+0x28>

4000c960:	81 a8 0a a8 	fcmpes  %f0, %f8
                              
4000c964:	01 00 00 00 	nop 
                                          
4000c968:	0d bf ff f4 	fbg  4000c938 <rtems_string_to_float+0x6c>
    
4000c96c:	05 10 00 5a 	sethi  %hi(0x40016800), %g2
                   
4000c970:	d1 00 a3 bc 	ld  [ %g2 + 0x3bc ], %f8	! 40016bbc <_Thread_queue_Operations_default+0x2c>

4000c974:	81 a8 0a a8 	fcmpes  %f0, %f8
                              
4000c978:	01 00 00 00 	nop 
                                          
4000c97c:	09 bf ff ef 	fbl  4000c938 <rtems_string_to_float+0x6c>
    
4000c980:	01 00 00 00 	nop 
                                          
  *n = result;
                                                       
4000c984:	c1 26 40 00 	st  %f0, [ %i1 ]
                              <== NOT EXECUTED
  return RTEMS_SUCCESSFUL;
                                           
4000c988:	10 bf ff ec 	b  4000c938 <rtems_string_to_float+0x6c>
      <== NOT EXECUTED
4000c98c:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED

                                                                     

4000c990 <rtems_string_to_int>: const char *s, int *n, char **endptr, int base ) {
4000c990:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  long result;
                                                       
  char *end;
                                                         

                                                                     
  if ( !n )
                                                          
4000c994:	80 a6 60 00 	cmp  %i1, 0
                                   
4000c998:	02 80 00 1a 	be  4000ca00 <rtems_string_to_int+0x70>
       
4000c99c:	82 10 20 09 	mov  9, %g1
                                   
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
4000c9a0:	40 00 0a bf 	call  4000f49c <__errno>
                      
4000c9a4:	01 00 00 00 	nop 
                                          
4000c9a8:	c0 22 00 00 	clr  [ %o0 ]
                                  
  *n = 0;
                                                            

                                                                     
  result = strtol( s, &end, base );
                                  
4000c9ac:	94 10 00 1b 	mov  %i3, %o2
                                 
  *n = 0;
                                                            
4000c9b0:	c0 26 40 00 	clr  [ %i1 ]
                                  
  result = strtol( s, &end, base );
                                  
4000c9b4:	92 07 bf fc 	add  %fp, -4, %o1
                             
4000c9b8:	40 00 12 de 	call  40011530 <strtol>
                       
4000c9bc:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
  if ( endptr )
                                                      
    *endptr = end;
                                                   
4000c9c0:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         
  if ( endptr )
                                                      
4000c9c4:	80 a6 a0 00 	cmp  %i2, 0
                                   
4000c9c8:	02 80 00 03 	be  4000c9d4 <rtems_string_to_int+0x44>
       
4000c9cc:	ba 10 00 08 	mov  %o0, %i5
                                 
    *endptr = end;
                                                   
4000c9d0:	c4 26 80 00 	st  %g2, [ %i2 ]
                              

                                                                     
  if ( end == s )
                                                    
4000c9d4:	80 a6 00 02 	cmp  %i0, %g2
                                 
4000c9d8:	02 80 00 0a 	be  4000ca00 <rtems_string_to_int+0x70>
       
4000c9dc:	82 10 20 0b 	mov  0xb, %g1
                                 
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
4000c9e0:	40 00 0a af 	call  4000f49c <__errno>
                      
4000c9e4:	01 00 00 00 	nop 
                                          
4000c9e8:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
4000c9ec:	80 a0 60 22 	cmp  %g1, 0x22
                                
4000c9f0:	02 80 00 06 	be  4000ca08 <rtems_string_to_int+0x78>
       
4000c9f4:	03 1f ff ff 	sethi  %hi(0x7ffffc00), %g1
                   
    errno = ERANGE;
                                                  
    return RTEMS_INVALID_NUMBER;
                                     
  }
                                                                  
#endif
                                                               

                                                                     
  *n = result;
                                                       
4000c9f8:	fa 26 40 00 	st  %i5, [ %i1 ]
                              

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
4000c9fc:	82 10 20 00 	clr  %g1
                                      
}
                                                                    
4000ca00:	81 c7 e0 08 	ret 
                                          
4000ca04:	91 e8 00 01 	restore  %g0, %g1, %o0
                        
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))

4000ca08:	82 10 63 ff 	or  %g1, 0x3ff, %g1
                           
4000ca0c:	80 8f 40 01 	btst  %i5, %g1
                                
4000ca10:	02 80 00 04 	be  4000ca20 <rtems_string_to_int+0x90>
       
4000ca14:	80 a7 40 01 	cmp  %i5, %g1
                                 
4000ca18:	32 bf ff f9 	bne,a   4000c9fc <rtems_string_to_int+0x6c>
   <== NEVER TAKEN
4000ca1c:	fa 26 40 00 	st  %i5, [ %i1 ]
                              <== NOT EXECUTED
      return RTEMS_INVALID_NUMBER;
                                   
4000ca20:	10 bf ff f8 	b  4000ca00 <rtems_string_to_int+0x70>
        
4000ca24:	82 10 20 0a 	mov  0xa, %g1
                                 

                                                                     

4000cad8 <rtems_string_to_long>: const char *s, long *n, char **endptr, int base ) {
4000cad8:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  long result;
                                                       
  char *end;
                                                         

                                                                     
  if ( !n )
                                                          
4000cadc:	80 a6 60 00 	cmp  %i1, 0
                                   
4000cae0:	02 80 00 1a 	be  4000cb48 <rtems_string_to_long+0x70>
      
4000cae4:	82 10 20 09 	mov  9, %g1
                                   
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
4000cae8:	40 00 0a 6d 	call  4000f49c <__errno>
                      
4000caec:	01 00 00 00 	nop 
                                          
4000caf0:	c0 22 00 00 	clr  [ %o0 ]
                                  
  *n = 0;
                                                            

                                                                     
  result = strtol( s, &end, base );
                                  
4000caf4:	94 10 00 1b 	mov  %i3, %o2
                                 
  *n = 0;
                                                            
4000caf8:	c0 26 40 00 	clr  [ %i1 ]
                                  
  result = strtol( s, &end, base );
                                  
4000cafc:	92 07 bf fc 	add  %fp, -4, %o1
                             
4000cb00:	40 00 12 8c 	call  40011530 <strtol>
                       
4000cb04:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
  if ( endptr )
                                                      
    *endptr = end;
                                                   
4000cb08:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         
  if ( endptr )
                                                      
4000cb0c:	80 a6 a0 00 	cmp  %i2, 0
                                   
4000cb10:	02 80 00 03 	be  4000cb1c <rtems_string_to_long+0x44>
      
4000cb14:	ba 10 00 08 	mov  %o0, %i5
                                 
    *endptr = end;
                                                   
4000cb18:	c4 26 80 00 	st  %g2, [ %i2 ]
                              

                                                                     
  if ( end == s )
                                                    
4000cb1c:	80 a6 00 02 	cmp  %i0, %g2
                                 
4000cb20:	02 80 00 0a 	be  4000cb48 <rtems_string_to_long+0x70>
      
4000cb24:	82 10 20 0b 	mov  0xb, %g1
                                 
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
4000cb28:	40 00 0a 5d 	call  4000f49c <__errno>
                      
4000cb2c:	01 00 00 00 	nop 
                                          
4000cb30:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
4000cb34:	80 a0 60 22 	cmp  %g1, 0x22
                                
4000cb38:	02 80 00 06 	be  4000cb50 <rtems_string_to_long+0x78>
      
4000cb3c:	03 1f ff ff 	sethi  %hi(0x7ffffc00), %g1
                   
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))

      return RTEMS_INVALID_NUMBER;
                                   

                                                                     
  *n = result;
                                                       
4000cb40:	fa 26 40 00 	st  %i5, [ %i1 ]
                              

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
4000cb44:	82 10 20 00 	clr  %g1
                                      
}
                                                                    
4000cb48:	81 c7 e0 08 	ret 
                                          
4000cb4c:	91 e8 00 01 	restore  %g0, %g1, %o0
                        
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))

4000cb50:	82 10 63 ff 	or  %g1, 0x3ff, %g1
                           
4000cb54:	80 8f 40 01 	btst  %i5, %g1
                                
4000cb58:	02 80 00 04 	be  4000cb68 <rtems_string_to_long+0x90>
      
4000cb5c:	80 a7 40 01 	cmp  %i5, %g1
                                 
4000cb60:	32 bf ff f9 	bne,a   4000cb44 <rtems_string_to_long+0x6c>
  <== NEVER TAKEN
4000cb64:	fa 26 40 00 	st  %i5, [ %i1 ]
                              <== NOT EXECUTED
      return RTEMS_INVALID_NUMBER;
                                   
4000cb68:	10 bf ff f8 	b  4000cb48 <rtems_string_to_long+0x70>
       
4000cb6c:	82 10 20 0a 	mov  0xa, %g1
                                 

                                                                     

4000ca28 <rtems_string_to_long_long>: const char *s, long long *n, char **endptr, int base ) {
4000ca28:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  long long result;
                                                  
  char *end;
                                                         

                                                                     
  if ( !n )
                                                          
4000ca2c:	80 a6 60 00 	cmp  %i1, 0
                                   
4000ca30:	02 80 00 1d 	be  4000caa4 <rtems_string_to_long_long+0x7c>
 
4000ca34:	82 10 20 09 	mov  9, %g1
                                   
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
4000ca38:	40 00 0a 99 	call  4000f49c <__errno>
                      
4000ca3c:	01 00 00 00 	nop 
                                          
4000ca40:	c0 22 00 00 	clr  [ %o0 ]
                                  
  *n = 0;
                                                            

                                                                     
  result = strtoll( s, &end, base );
                                 
4000ca44:	94 10 00 1b 	mov  %i3, %o2
                                 
  *n = 0;
                                                            
4000ca48:	c0 26 40 00 	clr  [ %i1 ]
                                  
  result = strtoll( s, &end, base );
                                 
4000ca4c:	92 07 bf fc 	add  %fp, -4, %o1
                             
  *n = 0;
                                                            
4000ca50:	c0 26 60 04 	clr  [ %i1 + 4 ]
                              
  result = strtoll( s, &end, base );
                                 
4000ca54:	40 00 13 83 	call  40011860 <strtoll>
                      
4000ca58:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
  if ( endptr )
                                                      
    *endptr = end;
                                                   
4000ca5c:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         
  result = strtoll( s, &end, base );
                                 
4000ca60:	b8 10 00 08 	mov  %o0, %i4
                                 
  if ( endptr )
                                                      
4000ca64:	80 a6 a0 00 	cmp  %i2, 0
                                   
4000ca68:	02 80 00 03 	be  4000ca74 <rtems_string_to_long_long+0x4c>
 
4000ca6c:	ba 10 00 09 	mov  %o1, %i5
                                 
    *endptr = end;
                                                   
4000ca70:	c4 26 80 00 	st  %g2, [ %i2 ]
                              

                                                                     
  if ( end == s )
                                                    
4000ca74:	80 a6 00 02 	cmp  %i0, %g2
                                 
4000ca78:	02 80 00 0b 	be  4000caa4 <rtems_string_to_long_long+0x7c>
 
4000ca7c:	82 10 20 0b 	mov  0xb, %g1
                                 
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
4000ca80:	40 00 0a 87 	call  4000f49c <__errno>
                      
4000ca84:	01 00 00 00 	nop 
                                          
4000ca88:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
4000ca8c:	80 a0 60 22 	cmp  %g1, 0x22
                                
4000ca90:	02 80 00 07 	be  4000caac <rtems_string_to_long_long+0x84>
 
4000ca94:	03 1f ff ff 	sethi  %hi(0x7ffffc00), %g1
                   
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))

      return RTEMS_INVALID_NUMBER;
                                   

                                                                     
  *n = result;
                                                       
4000ca98:	f8 26 40 00 	st  %i4, [ %i1 ]
                              

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
4000ca9c:	82 10 20 00 	clr  %g1
                                      
  *n = result;
                                                       
4000caa0:	fa 26 60 04 	st  %i5, [ %i1 + 4 ]
                          
}
                                                                    
4000caa4:	81 c7 e0 08 	ret 
                                          
4000caa8:	91 e8 00 01 	restore  %g0, %g1, %o0
                        
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))

4000caac:	82 10 63 ff 	or  %g1, 0x3ff, %g1
                           
4000cab0:	84 0f 00 01 	and  %i4, %g1, %g2
                            
4000cab4:	80 90 80 1d 	orcc  %g2, %i5, %g0
                           
4000cab8:	22 bf ff fb 	be,a   4000caa4 <rtems_string_to_long_long+0x7c>

4000cabc:	82 10 20 0a 	mov  0xa, %g1
                                 
4000cac0:	82 1f 00 01 	xor  %i4, %g1, %g1
                            
4000cac4:	80 b0 40 1d 	orncc  %g1, %i5, %g0
                          
4000cac8:	32 bf ff f5 	bne,a   4000ca9c <rtems_string_to_long_long+0x74>
<== NEVER TAKEN
4000cacc:	f8 26 40 00 	st  %i4, [ %i1 ]
                              <== NOT EXECUTED
      return RTEMS_INVALID_NUMBER;
                                   
4000cad0:	10 bf ff f5 	b  4000caa4 <rtems_string_to_long_long+0x7c>
  
4000cad4:	82 10 20 0a 	mov  0xa, %g1
                                 

                                                                     

4000cb80 <rtems_string_to_unsigned_char>: const char *s, unsigned char *n, char **endptr, int base ) {
4000cb80:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  unsigned long result;
                                              
  char *end;
                                                         

                                                                     
  if ( !n )
                                                          
4000cb84:	80 a6 60 00 	cmp  %i1, 0
                                   
4000cb88:	02 80 00 1d 	be  4000cbfc <rtems_string_to_unsigned_char+0x7c>

4000cb8c:	82 10 20 09 	mov  9, %g1
                                   
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
4000cb90:	40 00 0a 43 	call  4000f49c <__errno>
                      
4000cb94:	01 00 00 00 	nop 
                                          
4000cb98:	c0 22 00 00 	clr  [ %o0 ]
                                  
  *n = 0;
                                                            

                                                                     
  result = strtoul( s, &end, base );
                                 
4000cb9c:	94 10 00 1b 	mov  %i3, %o2
                                 
  *n = 0;
                                                            
4000cba0:	c0 2e 40 00 	clrb  [ %i1 ]
                                 
  result = strtoul( s, &end, base );
                                 
4000cba4:	92 07 bf fc 	add  %fp, -4, %o1
                             
4000cba8:	40 00 13 d6 	call  40011b00 <strtoul>
                      
4000cbac:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
  if ( endptr )
                                                      
    *endptr = end;
                                                   
4000cbb0:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         
  if ( endptr )
                                                      
4000cbb4:	80 a6 a0 00 	cmp  %i2, 0
                                   
4000cbb8:	02 80 00 03 	be  4000cbc4 <rtems_string_to_unsigned_char+0x44>

4000cbbc:	ba 10 00 08 	mov  %o0, %i5
                                 
    *endptr = end;
                                                   
4000cbc0:	c4 26 80 00 	st  %g2, [ %i2 ]
                              

                                                                     
  if ( end == s )
                                                    
4000cbc4:	80 a6 00 02 	cmp  %i0, %g2
                                 
4000cbc8:	02 80 00 0d 	be  4000cbfc <rtems_string_to_unsigned_char+0x7c>

4000cbcc:	82 10 20 0b 	mov  0xb, %g1
                                 
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
4000cbd0:	40 00 0a 33 	call  4000f49c <__errno>
                      
4000cbd4:	01 00 00 00 	nop 
                                          
4000cbd8:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
4000cbdc:	80 a0 60 22 	cmp  %g1, 0x22
                                
4000cbe0:	02 80 00 09 	be  4000cc04 <rtems_string_to_unsigned_char+0x84>

4000cbe4:	84 07 7f ff 	add  %i5, -1, %g2
                             
    (( result == 0 ) || ( result == ULONG_MAX )))
                    
      return RTEMS_INVALID_NUMBER;
                                   

                                                                     
#if (UCHAR_MAX < ULONG_MAX)
                                          
  if ( result > UCHAR_MAX ) {
                                        
4000cbe8:	80 a7 60 ff 	cmp  %i5, 0xff
                                
4000cbec:	18 80 00 0a 	bgu  4000cc14 <rtems_string_to_unsigned_char+0x94>

4000cbf0:	01 00 00 00 	nop 
                                          
    errno = ERANGE;
                                                  
    return RTEMS_INVALID_NUMBER;
                                     
  }
                                                                  
#endif
                                                               

                                                                     
  *n = result;
                                                       
4000cbf4:	fa 2e 40 00 	stb  %i5, [ %i1 ]
                             

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
4000cbf8:	82 10 20 00 	clr  %g1
                                      
}
                                                                    
4000cbfc:	81 c7 e0 08 	ret 
                                          
4000cc00:	91 e8 00 01 	restore  %g0, %g1, %o0
                        
  if ( ( errno == ERANGE ) &&
                                        
4000cc04:	80 a0 bf fd 	cmp  %g2, -3
                                  
4000cc08:	08 bf ff f8 	bleu  4000cbe8 <rtems_string_to_unsigned_char+0x68>
<== NEVER TAKEN
4000cc0c:	82 10 20 0a 	mov  0xa, %g1
                                 
4000cc10:	30 bf ff fb 	b,a   4000cbfc <rtems_string_to_unsigned_char+0x7c>

    errno = ERANGE;
                                                  
4000cc14:	40 00 0a 22 	call  4000f49c <__errno>
                      
4000cc18:	01 00 00 00 	nop 
                                          
4000cc1c:	84 10 20 22 	mov  0x22, %g2	! 22 <_TLS_Alignment+0x21>
     
    return RTEMS_INVALID_NUMBER;
                                     
4000cc20:	82 10 20 0a 	mov  0xa, %g1
                                 
4000cc24:	10 bf ff f6 	b  4000cbfc <rtems_string_to_unsigned_char+0x7c>

4000cc28:	c4 22 00 00 	st  %g2, [ %o0 ]
                              

                                                                     

4000cc2c <rtems_string_to_unsigned_int>: const char *s, unsigned int *n, char **endptr, int base ) {
4000cc2c:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  unsigned long result;
                                              
  char *end;
                                                         

                                                                     
  if ( !n )
                                                          
4000cc30:	80 a6 60 00 	cmp  %i1, 0
                                   
4000cc34:	02 80 00 1a 	be  4000cc9c <rtems_string_to_unsigned_int+0x70>

4000cc38:	82 10 20 09 	mov  9, %g1
                                   
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
4000cc3c:	40 00 0a 18 	call  4000f49c <__errno>
                      
4000cc40:	01 00 00 00 	nop 
                                          
4000cc44:	c0 22 00 00 	clr  [ %o0 ]
                                  
  *n = 0;
                                                            

                                                                     
  result = strtoul( s, &end, base );
                                 
4000cc48:	94 10 00 1b 	mov  %i3, %o2
                                 
  *n = 0;
                                                            
4000cc4c:	c0 26 40 00 	clr  [ %i1 ]
                                  
  result = strtoul( s, &end, base );
                                 
4000cc50:	92 07 bf fc 	add  %fp, -4, %o1
                             
4000cc54:	40 00 13 ab 	call  40011b00 <strtoul>
                      
4000cc58:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
  if ( endptr )
                                                      
    *endptr = end;
                                                   
4000cc5c:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         
  if ( endptr )
                                                      
4000cc60:	80 a6 a0 00 	cmp  %i2, 0
                                   
4000cc64:	02 80 00 03 	be  4000cc70 <rtems_string_to_unsigned_int+0x44>

4000cc68:	ba 10 00 08 	mov  %o0, %i5
                                 
    *endptr = end;
                                                   
4000cc6c:	c4 26 80 00 	st  %g2, [ %i2 ]
                              

                                                                     
  if ( end == s )
                                                    
4000cc70:	80 a6 00 02 	cmp  %i0, %g2
                                 
4000cc74:	02 80 00 0a 	be  4000cc9c <rtems_string_to_unsigned_int+0x70>

4000cc78:	82 10 20 0b 	mov  0xb, %g1
                                 
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
4000cc7c:	40 00 0a 08 	call  4000f49c <__errno>
                      
4000cc80:	01 00 00 00 	nop 
                                          
4000cc84:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
4000cc88:	80 a0 60 22 	cmp  %g1, 0x22
                                
4000cc8c:	02 80 00 06 	be  4000cca4 <rtems_string_to_unsigned_int+0x78>

4000cc90:	84 07 7f ff 	add  %i5, -1, %g2
                             
    errno = ERANGE;
                                                  
    return RTEMS_INVALID_NUMBER;
                                     
  }
                                                                  
#endif
                                                               

                                                                     
  *n = result;
                                                       
4000cc94:	fa 26 40 00 	st  %i5, [ %i1 ]
                              

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
4000cc98:	82 10 20 00 	clr  %g1
                                      
}
                                                                    
4000cc9c:	81 c7 e0 08 	ret 
                                          
4000cca0:	91 e8 00 01 	restore  %g0, %g1, %o0
                        
  if ( ( errno == ERANGE ) &&
                                        
4000cca4:	80 a0 bf fd 	cmp  %g2, -3
                                  
4000cca8:	18 bf ff fd 	bgu  4000cc9c <rtems_string_to_unsigned_int+0x70>
<== ALWAYS TAKEN
4000ccac:	82 10 20 0a 	mov  0xa, %g1
                                 
  *n = result;
                                                       
4000ccb0:	fa 26 40 00 	st  %i5, [ %i1 ]
                              <== NOT EXECUTED
  return RTEMS_SUCCESSFUL;
                                           
4000ccb4:	10 bf ff fa 	b  4000cc9c <rtems_string_to_unsigned_int+0x70>
<== NOT EXECUTED
4000ccb8:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED

                                                                     

4000cd64 <rtems_string_to_unsigned_long>: const char *s, unsigned long *n, char **endptr, int base ) {
4000cd64:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  unsigned long result;
                                              
  char *end;
                                                         

                                                                     
  if ( !n )
                                                          
4000cd68:	80 a6 60 00 	cmp  %i1, 0
                                   
4000cd6c:	02 80 00 1a 	be  4000cdd4 <rtems_string_to_unsigned_long+0x70>

4000cd70:	82 10 20 09 	mov  9, %g1
                                   
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
4000cd74:	40 00 09 ca 	call  4000f49c <__errno>
                      
4000cd78:	01 00 00 00 	nop 
                                          
4000cd7c:	c0 22 00 00 	clr  [ %o0 ]
                                  
  *n = 0;
                                                            

                                                                     
  result = strtoul( s, &end, base );
                                 
4000cd80:	94 10 00 1b 	mov  %i3, %o2
                                 
  *n = 0;
                                                            
4000cd84:	c0 26 40 00 	clr  [ %i1 ]
                                  
  result = strtoul( s, &end, base );
                                 
4000cd88:	92 07 bf fc 	add  %fp, -4, %o1
                             
4000cd8c:	40 00 13 5d 	call  40011b00 <strtoul>
                      
4000cd90:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
  if ( endptr )
                                                      
    *endptr = end;
                                                   
4000cd94:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         
  if ( endptr )
                                                      
4000cd98:	80 a6 a0 00 	cmp  %i2, 0
                                   
4000cd9c:	02 80 00 03 	be  4000cda8 <rtems_string_to_unsigned_long+0x44>

4000cda0:	ba 10 00 08 	mov  %o0, %i5
                                 
    *endptr = end;
                                                   
4000cda4:	c4 26 80 00 	st  %g2, [ %i2 ]
                              

                                                                     
  if ( end == s )
                                                    
4000cda8:	80 a6 00 02 	cmp  %i0, %g2
                                 
4000cdac:	02 80 00 0a 	be  4000cdd4 <rtems_string_to_unsigned_long+0x70>

4000cdb0:	82 10 20 0b 	mov  0xb, %g1
                                 
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
4000cdb4:	40 00 09 ba 	call  4000f49c <__errno>
                      
4000cdb8:	01 00 00 00 	nop 
                                          
4000cdbc:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
4000cdc0:	80 a0 60 22 	cmp  %g1, 0x22
                                
4000cdc4:	02 80 00 06 	be  4000cddc <rtems_string_to_unsigned_long+0x78>

4000cdc8:	84 07 7f ff 	add  %i5, -1, %g2
                             
    (( result == 0 ) || ( result == ULONG_MAX )))
                    
      return RTEMS_INVALID_NUMBER;
                                   

                                                                     
  *n = result;
                                                       
4000cdcc:	fa 26 40 00 	st  %i5, [ %i1 ]
                              

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
4000cdd0:	82 10 20 00 	clr  %g1
                                      
}
                                                                    
4000cdd4:	81 c7 e0 08 	ret 
                                          
4000cdd8:	91 e8 00 01 	restore  %g0, %g1, %o0
                        
  if ( ( errno == ERANGE ) &&
                                        
4000cddc:	80 a0 bf fd 	cmp  %g2, -3
                                  
4000cde0:	18 bf ff fd 	bgu  4000cdd4 <rtems_string_to_unsigned_long+0x70>
<== ALWAYS TAKEN
4000cde4:	82 10 20 0a 	mov  0xa, %g1
                                 
  *n = result;
                                                       
4000cde8:	fa 26 40 00 	st  %i5, [ %i1 ]
                              <== NOT EXECUTED
  return RTEMS_SUCCESSFUL;
                                           
4000cdec:	10 bf ff fa 	b  4000cdd4 <rtems_string_to_unsigned_long+0x70>
<== NOT EXECUTED
4000cdf0:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED
	...
                                                                 

                                                                     

4000ccbc <rtems_string_to_unsigned_long_long>: const char *s, unsigned long long *n, char **endptr, int base ) {
4000ccbc:	9d e3 bf 98 	save  %sp, -104, %sp
                          
  unsigned long long result;
                                         
  char *end;
                                                         

                                                                     
  if ( !n )
                                                          
4000ccc0:	80 a6 60 00 	cmp  %i1, 0
                                   
4000ccc4:	02 80 00 1c 	be  4000cd34 <rtems_string_to_unsigned_long_long+0x78>

4000ccc8:	82 10 20 09 	mov  9, %g1
                                   
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
4000cccc:	40 00 09 f4 	call  4000f49c <__errno>
                      
4000ccd0:	01 00 00 00 	nop 
                                          
4000ccd4:	c0 22 00 00 	clr  [ %o0 ]
                                  
  *n = 0;
                                                            

                                                                     
  result = strtoull( s, &end, base );
                                
4000ccd8:	94 10 00 1b 	mov  %i3, %o2
                                 
  *n = 0;
                                                            
4000ccdc:	c0 26 40 00 	clr  [ %i1 ]
                                  
  result = strtoull( s, &end, base );
                                
4000cce0:	92 07 bf fc 	add  %fp, -4, %o1
                             
  *n = 0;
                                                            
4000cce4:	c0 26 60 04 	clr  [ %i1 + 4 ]
                              
  result = strtoull( s, &end, base );
                                
4000cce8:	40 00 14 53 	call  40011e34 <strtoull>
                     
4000ccec:	90 10 00 18 	mov  %i0, %o0
                                 

                                                                     
  if ( endptr )
                                                      
    *endptr = end;
                                                   
4000ccf0:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         
  result = strtoull( s, &end, base );
                                
4000ccf4:	b8 10 00 08 	mov  %o0, %i4
                                 
  if ( endptr )
                                                      
4000ccf8:	80 a6 a0 00 	cmp  %i2, 0
                                   
4000ccfc:	02 80 00 03 	be  4000cd08 <rtems_string_to_unsigned_long_long+0x4c>

4000cd00:	ba 10 00 09 	mov  %o1, %i5
                                 
    *endptr = end;
                                                   
4000cd04:	c4 26 80 00 	st  %g2, [ %i2 ]
                              

                                                                     
  if ( end == s )
                                                    
4000cd08:	80 a6 00 02 	cmp  %i0, %g2
                                 
4000cd0c:	02 80 00 0a 	be  4000cd34 <rtems_string_to_unsigned_long_long+0x78>

4000cd10:	82 10 20 0b 	mov  0xb, %g1
                                 
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
4000cd14:	40 00 09 e2 	call  4000f49c <__errno>
                      
4000cd18:	01 00 00 00 	nop 
                                          
4000cd1c:	c2 02 00 00 	ld  [ %o0 ], %g1
                              
4000cd20:	80 a0 60 22 	cmp  %g1, 0x22
                                
4000cd24:	02 80 00 06 	be  4000cd3c <rtems_string_to_unsigned_long_long+0x80>

4000cd28:	86 87 7f ff 	addcc  %i5, -1, %g3
                           
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))
               
      return RTEMS_INVALID_NUMBER;
                                   

                                                                     
  *n = result;
                                                       
4000cd2c:	f8 3e 40 00 	std  %i4, [ %i1 ]
                             

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
4000cd30:	82 10 20 00 	clr  %g1
                                      
}
                                                                    
4000cd34:	81 c7 e0 08 	ret 
                                          
4000cd38:	91 e8 00 01 	restore  %g0, %g1, %o0
                        
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))
               
4000cd3c:	84 47 3f ff 	addx  %i4, -1, %g2
                            
  if ( ( errno == ERANGE ) &&
                                        
4000cd40:	80 a0 bf ff 	cmp  %g2, -1
                                  
4000cd44:	32 bf ff fb 	bne,a   4000cd30 <rtems_string_to_unsigned_long_long+0x74>
<== NEVER TAKEN
4000cd48:	f8 3e 40 00 	std  %i4, [ %i1 ]
                             <== NOT EXECUTED
4000cd4c:	80 a0 ff fd 	cmp  %g3, -3
                                  
4000cd50:	18 bf ff f9 	bgu  4000cd34 <rtems_string_to_unsigned_long_long+0x78>
<== ALWAYS TAKEN
4000cd54:	82 10 20 0a 	mov  0xa, %g1
                                 
  *n = result;
                                                       
4000cd58:	f8 3e 40 00 	std  %i4, [ %i1 ]
                             <== NOT EXECUTED
  return RTEMS_SUCCESSFUL;
                                           
4000cd5c:	10 bf ff f6 	b  4000cd34 <rtems_string_to_unsigned_long_long+0x78>
<== NOT EXECUTED
4000cd60:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED