RTEMS-5
Annotated Report
Wed Aug 8 20:55:33 2018

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

                                                                     
  if ( !n )
                                                          
40036efc:	80 a6 60 00 	cmp  %i1, 0
                                   <== NOT EXECUTED
40036f00:	02 80 00 1a 	be  40036f68 <rtems_string_to_int+0x70>
       <== NOT EXECUTED
40036f04:	82 10 20 09 	mov  9, %g1
                                   <== NOT EXECUTED
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
40036f08:	40 00 96 83 	call  4005c914 <__errno>
                      <== NOT EXECUTED
40036f0c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40036f10:	c0 22 00 00 	clr  [ %o0 ]
                                  <== NOT EXECUTED
  *n = 0;
                                                            

                                                                     
  result = strtol( s, &end, base );
                                  
40036f14:	94 10 00 1b 	mov  %i3, %o2
                                 <== NOT EXECUTED
  *n = 0;
                                                            
40036f18:	c0 26 40 00 	clr  [ %i1 ]
                                  <== NOT EXECUTED
  result = strtol( s, &end, base );
                                  
40036f1c:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
40036f20:	40 00 bd e9 	call  400666c4 <strtol>
                       <== NOT EXECUTED
40036f24:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED

                                                                     
  if ( endptr )
                                                      
    *endptr = end;
                                                   
40036f28:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         <== NOT EXECUTED
  if ( endptr )
                                                      
40036f2c:	80 a6 a0 00 	cmp  %i2, 0
                                   <== NOT EXECUTED
40036f30:	02 80 00 03 	be  40036f3c <rtems_string_to_int+0x44>
       <== NOT EXECUTED
40036f34:	ba 10 00 08 	mov  %o0, %i5
                                 <== NOT EXECUTED
    *endptr = end;
                                                   
40036f38:	c4 26 80 00 	st  %g2, [ %i2 ]
                              <== NOT EXECUTED

                                                                     
  if ( end == s )
                                                    
40036f3c:	80 a6 00 02 	cmp  %i0, %g2
                                 <== NOT EXECUTED
40036f40:	02 80 00 0a 	be  40036f68 <rtems_string_to_int+0x70>
       <== NOT EXECUTED
40036f44:	82 10 20 0b 	mov  0xb, %g1
                                 <== NOT EXECUTED
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
40036f48:	40 00 96 73 	call  4005c914 <__errno>
                      <== NOT EXECUTED
40036f4c:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40036f50:	c2 02 00 00 	ld  [ %o0 ], %g1
                              <== NOT EXECUTED
40036f54:	80 a0 60 22 	cmp  %g1, 0x22
                                <== NOT EXECUTED
40036f58:	02 80 00 06 	be  40036f70 <rtems_string_to_int+0x78>
       <== NOT EXECUTED
40036f5c:	03 1f ff ff 	sethi  %hi(0x7ffffc00), %g1
                   <== NOT EXECUTED
    errno = ERANGE;
                                                  
    return RTEMS_INVALID_NUMBER;
                                     
  }
                                                                  
#endif
                                                               

                                                                     
  *n = result;
                                                       
40036f60:	fa 26 40 00 	st  %i5, [ %i1 ]
                              <== NOT EXECUTED

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
40036f64:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED
}
                                                                    
40036f68:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40036f6c:	91 e8 00 01 	restore  %g0, %g1, %o0
                        <== NOT EXECUTED
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))

40036f70:	82 10 63 ff 	or  %g1, 0x3ff, %g1
                           <== NOT EXECUTED
40036f74:	80 8f 40 01 	btst  %i5, %g1
                                <== NOT EXECUTED
40036f78:	02 80 00 04 	be  40036f88 <rtems_string_to_int+0x90>
       <== NOT EXECUTED
40036f7c:	80 a7 40 01 	cmp  %i5, %g1
                                 <== NOT EXECUTED
40036f80:	32 bf ff f9 	bne,a   40036f64 <rtems_string_to_int+0x6c>
   <== NOT EXECUTED
40036f84:	fa 26 40 00 	st  %i5, [ %i1 ]
                              <== NOT EXECUTED
      return RTEMS_INVALID_NUMBER;
                                   
40036f88:	10 bf ff f8 	b  40036f68 <rtems_string_to_int+0x70>
        <== NOT EXECUTED
40036f8c:	82 10 20 0a 	mov  0xa, %g1
                                 <== NOT EXECUTED

                                                                     

40036f90 <rtems_string_to_pointer>: const char *s, void **n, char **endptr ) { return STRTOFUNC( s, n, endptr );
40036f90:	96 10 20 00 	clr  %o3
                                      <== NOT EXECUTED
40036f94:	82 13 c0 00 	mov  %o7, %g1
                                 <== NOT EXECUTED
40036f98:	40 00 00 2d 	call  4003704c <rtems_string_to_unsigned_long>
<== NOT EXECUTED
40036f9c:	9e 10 40 00 	mov  %g1, %o7
                                 <== NOT EXECUTED

                                                                     

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

                                                                     
  if ( !n )
                                                          
40036fa4:	80 a6 60 00 	cmp  %i1, 0
                                   <== NOT EXECUTED
40036fa8:	02 80 00 1d 	be  4003701c <rtems_string_to_unsigned_char+0x7c>
<== NOT EXECUTED
40036fac:	82 10 20 09 	mov  9, %g1
                                   <== NOT EXECUTED
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
40036fb0:	40 00 96 59 	call  4005c914 <__errno>
                      <== NOT EXECUTED
40036fb4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40036fb8:	c0 22 00 00 	clr  [ %o0 ]
                                  <== NOT EXECUTED
  *n = 0;
                                                            

                                                                     
  result = strtoul( s, &end, base );
                                 
40036fbc:	94 10 00 1b 	mov  %i3, %o2
                                 <== NOT EXECUTED
  *n = 0;
                                                            
40036fc0:	c0 2e 40 00 	clrb  [ %i1 ]
                                 <== NOT EXECUTED
  result = strtoul( s, &end, base );
                                 
40036fc4:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
40036fc8:	40 00 bf 33 	call  40066c94 <strtoul>
                      <== NOT EXECUTED
40036fcc:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED

                                                                     
  if ( endptr )
                                                      
    *endptr = end;
                                                   
40036fd0:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         <== NOT EXECUTED
  if ( endptr )
                                                      
40036fd4:	80 a6 a0 00 	cmp  %i2, 0
                                   <== NOT EXECUTED
40036fd8:	02 80 00 03 	be  40036fe4 <rtems_string_to_unsigned_char+0x44>
<== NOT EXECUTED
40036fdc:	ba 10 00 08 	mov  %o0, %i5
                                 <== NOT EXECUTED
    *endptr = end;
                                                   
40036fe0:	c4 26 80 00 	st  %g2, [ %i2 ]
                              <== NOT EXECUTED

                                                                     
  if ( end == s )
                                                    
40036fe4:	80 a6 00 02 	cmp  %i0, %g2
                                 <== NOT EXECUTED
40036fe8:	02 80 00 0d 	be  4003701c <rtems_string_to_unsigned_char+0x7c>
<== NOT EXECUTED
40036fec:	82 10 20 0b 	mov  0xb, %g1
                                 <== NOT EXECUTED
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
40036ff0:	40 00 96 49 	call  4005c914 <__errno>
                      <== NOT EXECUTED
40036ff4:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40036ff8:	c2 02 00 00 	ld  [ %o0 ], %g1
                              <== NOT EXECUTED
40036ffc:	80 a0 60 22 	cmp  %g1, 0x22
                                <== NOT EXECUTED
40037000:	02 80 00 09 	be  40037024 <rtems_string_to_unsigned_char+0x84>
<== NOT EXECUTED
40037004:	84 07 7f ff 	add  %i5, -1, %g2
                             <== NOT EXECUTED
    (( result == 0 ) || ( result == ULONG_MAX )))
                    
      return RTEMS_INVALID_NUMBER;
                                   

                                                                     
#if (UCHAR_MAX < ULONG_MAX)
                                          
  if ( result > UCHAR_MAX ) {
                                        
40037008:	80 a7 60 ff 	cmp  %i5, 0xff
                                <== NOT EXECUTED
4003700c:	18 80 00 0a 	bgu  40037034 <rtems_string_to_unsigned_char+0x94>
<== NOT EXECUTED
40037010:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
    errno = ERANGE;
                                                  
    return RTEMS_INVALID_NUMBER;
                                     
  }
                                                                  
#endif
                                                               

                                                                     
  *n = result;
                                                       
40037014:	fa 2e 40 00 	stb  %i5, [ %i1 ]
                             <== NOT EXECUTED

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
40037018:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED
}
                                                                    
4003701c:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
40037020:	91 e8 00 01 	restore  %g0, %g1, %o0
                        <== NOT EXECUTED
  if ( ( errno == ERANGE ) &&
                                        
40037024:	80 a0 bf fd 	cmp  %g2, -3
                                  <== NOT EXECUTED
40037028:	08 bf ff f8 	bleu  40037008 <rtems_string_to_unsigned_char+0x68>
<== NOT EXECUTED
4003702c:	82 10 20 0a 	mov  0xa, %g1
                                 <== NOT EXECUTED
40037030:	30 bf ff fb 	b,a   4003701c <rtems_string_to_unsigned_char+0x7c>
<== NOT EXECUTED
    errno = ERANGE;
                                                  
40037034:	40 00 96 38 	call  4005c914 <__errno>
                      <== NOT EXECUTED
40037038:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
4003703c:	84 10 20 22 	mov  0x22, %g2	! 22 <_TLS_Alignment+0x21>
     <== NOT EXECUTED
    return RTEMS_INVALID_NUMBER;
                                     
40037040:	82 10 20 0a 	mov  0xa, %g1
                                 <== NOT EXECUTED
40037044:	10 bf ff f6 	b  4003701c <rtems_string_to_unsigned_char+0x7c>
<== NOT EXECUTED
40037048:	c4 22 00 00 	st  %g2, [ %o0 ]
                              <== NOT EXECUTED

                                                                     

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

                                                                     
  if ( !n )
                                                          
40037050:	80 a6 60 00 	cmp  %i1, 0
                                   <== NOT EXECUTED
40037054:	02 80 00 1a 	be  400370bc <rtems_string_to_unsigned_long+0x70>
<== NOT EXECUTED
40037058:	82 10 20 09 	mov  9, %g1
                                   <== NOT EXECUTED
    return RTEMS_INVALID_ADDRESS;
                                    

                                                                     
  errno = 0;
                                                         
4003705c:	40 00 96 2e 	call  4005c914 <__errno>
                      <== NOT EXECUTED
40037060:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
40037064:	c0 22 00 00 	clr  [ %o0 ]
                                  <== NOT EXECUTED
  *n = 0;
                                                            

                                                                     
  result = strtoul( s, &end, base );
                                 
40037068:	94 10 00 1b 	mov  %i3, %o2
                                 <== NOT EXECUTED
  *n = 0;
                                                            
4003706c:	c0 26 40 00 	clr  [ %i1 ]
                                  <== NOT EXECUTED
  result = strtoul( s, &end, base );
                                 
40037070:	92 07 bf fc 	add  %fp, -4, %o1
                             <== NOT EXECUTED
40037074:	40 00 bf 08 	call  40066c94 <strtoul>
                      <== NOT EXECUTED
40037078:	90 10 00 18 	mov  %i0, %o0
                                 <== NOT EXECUTED

                                                                     
  if ( endptr )
                                                      
    *endptr = end;
                                                   
4003707c:	c4 07 bf fc 	ld  [ %fp + -4 ], %g2
                         <== NOT EXECUTED
  if ( endptr )
                                                      
40037080:	80 a6 a0 00 	cmp  %i2, 0
                                   <== NOT EXECUTED
40037084:	02 80 00 03 	be  40037090 <rtems_string_to_unsigned_long+0x44>
<== NOT EXECUTED
40037088:	ba 10 00 08 	mov  %o0, %i5
                                 <== NOT EXECUTED
    *endptr = end;
                                                   
4003708c:	c4 26 80 00 	st  %g2, [ %i2 ]
                              <== NOT EXECUTED

                                                                     
  if ( end == s )
                                                    
40037090:	80 a6 00 02 	cmp  %i0, %g2
                                 <== NOT EXECUTED
40037094:	02 80 00 0a 	be  400370bc <rtems_string_to_unsigned_long+0x70>
<== NOT EXECUTED
40037098:	82 10 20 0b 	mov  0xb, %g1
                                 <== NOT EXECUTED
    return RTEMS_NOT_DEFINED;
                                        

                                                                     
  if ( ( errno == ERANGE ) &&
                                        
4003709c:	40 00 96 1e 	call  4005c914 <__errno>
                      <== NOT EXECUTED
400370a0:	01 00 00 00 	nop 
                                          <== NOT EXECUTED
400370a4:	c2 02 00 00 	ld  [ %o0 ], %g1
                              <== NOT EXECUTED
400370a8:	80 a0 60 22 	cmp  %g1, 0x22
                                <== NOT EXECUTED
400370ac:	02 80 00 06 	be  400370c4 <rtems_string_to_unsigned_long+0x78>
<== NOT EXECUTED
400370b0:	84 07 7f ff 	add  %i5, -1, %g2
                             <== NOT EXECUTED
    (( result == 0 ) || ( result == ULONG_MAX )))
                    
      return RTEMS_INVALID_NUMBER;
                                   

                                                                     
  *n = result;
                                                       
400370b4:	fa 26 40 00 	st  %i5, [ %i1 ]
                              <== NOT EXECUTED

                                                                     
  return RTEMS_SUCCESSFUL;
                                           
400370b8:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED
}
                                                                    
400370bc:	81 c7 e0 08 	ret 
                                          <== NOT EXECUTED
400370c0:	91 e8 00 01 	restore  %g0, %g1, %o0
                        <== NOT EXECUTED
  if ( ( errno == ERANGE ) &&
                                        
400370c4:	80 a0 bf fd 	cmp  %g2, -3
                                  <== NOT EXECUTED
400370c8:	18 bf ff fd 	bgu  400370bc <rtems_string_to_unsigned_long+0x70>
<== NOT EXECUTED
400370cc:	82 10 20 0a 	mov  0xa, %g1
                                 <== NOT EXECUTED
  *n = result;
                                                       
400370d0:	fa 26 40 00 	st  %i5, [ %i1 ]
                              <== NOT EXECUTED
  return RTEMS_SUCCESSFUL;
                                           
400370d4:	10 bf ff fa 	b  400370bc <rtems_string_to_unsigned_long+0x70>
<== NOT EXECUTED
400370d8:	82 10 20 00 	clr  %g1
                                      <== NOT EXECUTED