RTEMS-6
Annotated Report
libstringto
Sun Feb 28 23:53:58 2021

00107dd8 <rtems_string_to_double>:                                                        
)                                                                                         
{                                                                                         
  double result;                                                                          
  char *end;                                                                              
                                                                                          
  if ( !n )                                                                               
  107dd8:   2900        cmp r1, #0                                                        
  107dda:   d044        beq.n   107e66 <rtems_string_to_double+0x8e>                      
{                                                                                         
  107ddc:   b570        push    {r4, r5, r6, lr}                                          
  107dde:   460c        mov r4, r1                                                        
  107de0:   ed2d 8b02   vpush   {d8}                                                      
  107de4:   b082        sub sp, #8                                                        
  107de6:   4605        mov r5, r0                                                        
  107de8:   4616        mov r6, r2                                                        
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
  107dea:   f005 fdaf   bl  10d94c <__errno>                                              
  107dee:   2300        movs    r3, #0                                                    
  *n = 0;                                                                                 
  107df0:   2200        movs    r2, #0                                                    
  errno = 0;                                                                              
  107df2:   6003        str r3, [r0, #0]                                                  
  *n = 0;                                                                                 
  107df4:   2300        movs    r3, #0                                                    
  107df6:   e9c4 2300   strd    r2, r3, [r4]                                              
                                                                                          
  result = strtod( s, &end );                                                             
  107dfa:   a901        add r1, sp, #4                                                    
  107dfc:   4628        mov r0, r5                                                        
  107dfe:   f007 faa7   bl  10f350 <strtod>                                               
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
  107e02:   9b01        ldr r3, [sp, #4]                                                  
  result = strtod( s, &end );                                                             
  107e04:   eeb0 8b40   vmov.f64    d8, d0                                                
  if ( endptr )                                                                           
  107e08:   b106        cbz r6, 107e0c <rtems_string_to_double+0x34>                      
    *endptr = end;                                                                        
  107e0a:   6033        str r3, [r6, #0]                                                  
                                                                                          
  if ( end == s )                                                                         
  107e0c:   429d        cmp r5, r3                                                        
    return RTEMS_NOT_DEFINED;                                                             
  107e0e:   bf08        it  eq                                                            
  107e10:   200b        moveq   r0, #11                                                   
  if ( end == s )                                                                         
  107e12:   d007        beq.n   107e24 <rtems_string_to_double+0x4c>                      
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
  107e14:   f005 fd9a   bl  10d94c <__errno>                                              
  107e18:   6803        ldr r3, [r0, #0]                                                  
  107e1a:   2b22        cmp r3, #34 ; 0x22                                                
  107e1c:   d006        beq.n   107e2c <rtems_string_to_double+0x54>                      
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))               
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
  107e1e:   2000        movs    r0, #0                                                    
  *n = result;                                                                            
  107e20:   ed84 8b00   vstr    d8, [r4]                                                  
}                                                                                         
  107e24:   b002        add sp, #8                                                        
  107e26:   ecbd 8b02   vpop    {d8}                                                      
  107e2a:   bd70        pop {r4, r5, r6, pc}                                              
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))               
  107e2c:   eddf 1b10   vldr    d17, [pc, #64]  ; 107e70 <rtems_string_to_double+0x98>    
      return RTEMS_INVALID_NUMBER;                                                        
  107e30:   200a        movs    r0, #10                                                   
    (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))               
  107e32:   eddf 0b11   vldr    d16, [pc, #68]  ; 107e78 <rtems_string_to_double+0xa0>    
  107e36:   eeb5 8b40   vcmp.f64    d8, #0.0                                              
  107e3a:   eef1 fa10   vmrs    APSR_nzcv, fpscr                                          
  107e3e:   eeb4 8b61   vcmp.f64    d8, d17                                               
  107e42:   bf0c        ite eq                                                            
  107e44:   2301        moveq   r3, #1                                                    
  107e46:   2300        movne   r3, #0                                                    
  107e48:   eef1 fa10   vmrs    APSR_nzcv, fpscr                                          
  107e4c:   eeb4 8b60   vcmp.f64    d8, d16                                               
  107e50:   bf08        it  eq                                                            
  107e52:   f043 0301   orreq.w r3, r3, #1                                                
  107e56:   eef1 fa10   vmrs    APSR_nzcv, fpscr                                          
  107e5a:   bf48        it  mi                                                            
  107e5c:   f043 0301   orrmi.w r3, r3, #1                                                
  107e60:   2b00        cmp r3, #0                                                        
  107e62:   d0dc        beq.n   107e1e <rtems_string_to_double+0x46>                      <== ALWAYS TAKEN
  107e64:   e7de        b.n 107e24 <rtems_string_to_double+0x4c>                          
    return RTEMS_INVALID_ADDRESS;                                                         
  107e66:   2009        movs    r0, #9                                                    
}                                                                                         
  107e68:   4770        bx  lr                                                            
  107e6a:   bf00        nop                                                               
  107e6c:   f3af 8000   nop.w                                                             <== NOT EXECUTED
  107e70:   00000000    .word   0x00000000                                                <== NOT EXECUTED
  107e74:   7ff00000    .word   0x7ff00000                                                <== NOT EXECUTED
  107e78:   ffffffff    .word   0xffffffff                                                <== NOT EXECUTED
  107e7c:   ffefffff    .word   0xffefffff                                                <== NOT EXECUTED
                                                                                          

00107e80 <rtems_string_to_float>: ) { float result; char *end; if ( !n )
  107e80:   2900        cmp r1, #0                                                        
  107e82:   d042        beq.n   107f0a <rtems_string_to_float+0x8a>                       
{                                                                                         
  107e84:   b570        push    {r4, r5, r6, lr}                                          
  107e86:   460c        mov r4, r1                                                        
  107e88:   ed2d 8b02   vpush   {d8}                                                      
  107e8c:   b082        sub sp, #8                                                        
  107e8e:   4605        mov r5, r0                                                        
  107e90:   4616        mov r6, r2                                                        
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
  107e92:   f005 fd5b   bl  10d94c <__errno>                                              
  107e96:   2300        movs    r3, #0                                                    
  *n = 0;                                                                                 
                                                                                          
  result = strtof( s, &end );                                                             
  107e98:   a901        add r1, sp, #4                                                    
  errno = 0;                                                                              
  107e9a:   6003        str r3, [r0, #0]                                                  
  *n = 0;                                                                                 
  107e9c:   2300        movs    r3, #0                                                    
  107e9e:   6023        str r3, [r4, #0]                                                  
  result = strtof( s, &end );                                                             
  107ea0:   4628        mov r0, r5                                                        
  107ea2:   f007 fa65   bl  10f370 <strtof>                                               
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
  107ea6:   9b01        ldr r3, [sp, #4]                                                  
  result = strtof( s, &end );                                                             
  107ea8:   eeb0 8a40   vmov.f32    s16, s0                                               
  if ( endptr )                                                                           
  107eac:   b106        cbz r6, 107eb0 <rtems_string_to_float+0x30>                       
    *endptr = end;                                                                        
  107eae:   6033        str r3, [r6, #0]                                                  
                                                                                          
  if ( end == s )                                                                         
  107eb0:   429d        cmp r5, r3                                                        
    return RTEMS_NOT_DEFINED;                                                             
  107eb2:   bf08        it  eq                                                            
  107eb4:   200b        moveq   r0, #11                                                   
  if ( end == s )                                                                         
  107eb6:   d007        beq.n   107ec8 <rtems_string_to_float+0x48>                       
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
  107eb8:   f005 fd48   bl  10d94c <__errno>                                              
  107ebc:   6803        ldr r3, [r0, #0]                                                  
  107ebe:   2b22        cmp r3, #34 ; 0x22                                                
  107ec0:   d006        beq.n   107ed0 <rtems_string_to_float+0x50>                       
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))             
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
  107ec2:   2000        movs    r0, #0                                                    
  *n = result;                                                                            
  107ec4:   ed84 8a00   vstr    s16, [r4]                                                 
}                                                                                         
  107ec8:   b002        add sp, #8                                                        
  107eca:   ecbd 8b02   vpop    {d8}                                                      
  107ece:   bd70        pop {r4, r5, r6, pc}                                              
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))             
  107ed0:   ed9f 7a0f   vldr    s14, [pc, #60]  ; 107f10 <rtems_string_to_float+0x90>     
      return RTEMS_INVALID_NUMBER;                                                        
  107ed4:   200a        movs    r0, #10                                                   
    (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))             
  107ed6:   eddf 7a0f   vldr    s15, [pc, #60]  ; 107f14 <rtems_string_to_float+0x94>     
  107eda:   eeb5 8a40   vcmp.f32    s16, #0.0                                             
  107ede:   eef1 fa10   vmrs    APSR_nzcv, fpscr                                          
  107ee2:   eeb4 8a47   vcmp.f32    s16, s14                                              
  107ee6:   bf0c        ite eq                                                            
  107ee8:   2301        moveq   r3, #1                                                    
  107eea:   2300        movne   r3, #0                                                    
  107eec:   eef1 fa10   vmrs    APSR_nzcv, fpscr                                          
  107ef0:   eeb4 8a67   vcmp.f32    s16, s15                                              
  107ef4:   bf08        it  eq                                                            
  107ef6:   f043 0301   orreq.w r3, r3, #1                                                
  107efa:   eef1 fa10   vmrs    APSR_nzcv, fpscr                                          
  107efe:   bf48        it  mi                                                            
  107f00:   f043 0301   orrmi.w r3, r3, #1                                                
  107f04:   2b00        cmp r3, #0                                                        
  107f06:   d0dc        beq.n   107ec2 <rtems_string_to_float+0x42>                       <== ALWAYS TAKEN
  107f08:   e7de        b.n 107ec8 <rtems_string_to_float+0x48>                           
    return RTEMS_INVALID_ADDRESS;                                                         
  107f0a:   2009        movs    r0, #9                                                    
}                                                                                         
  107f0c:   4770        bx  lr                                                            
  107f0e:   bf00        nop                                                               
  107f10:   7f800000    .word   0x7f800000                                                
  107f14:   ff7fffff    .word   0xff7fffff                                                
                                                                                          

0010eb30 <rtems_string_to_int>: ) { long result; char *end; if ( !n )
  10eb30:   b359        cbz r1, 10eb8a <rtems_string_to_int+0x5a>                         
{                                                                                         
  10eb32:   b5f0        push    {r4, r5, r6, r7, lr}                                      
  10eb34:   b083        sub sp, #12                                                       
  10eb36:   461f        mov r7, r3                                                        
  10eb38:   460c        mov r4, r1                                                        
  10eb3a:   4605        mov r5, r0                                                        
  10eb3c:   4616        mov r6, r2                                                        
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
  10eb3e:   f023 feb3   bl  1328a8 <__errno>                                              
  10eb42:   2300        movs    r3, #0                                                    
  *n = 0;                                                                                 
                                                                                          
  result = strtol( s, &end, base );                                                       
  10eb44:   463a        mov r2, r7                                                        
  errno = 0;                                                                              
  10eb46:   6003        str r3, [r0, #0]                                                  
  result = strtol( s, &end, base );                                                       
  10eb48:   a901        add r1, sp, #4                                                    
  *n = 0;                                                                                 
  10eb4a:   6023        str r3, [r4, #0]                                                  
  result = strtol( s, &end, base );                                                       
  10eb4c:   4628        mov r0, r5                                                        
  10eb4e:   f031 f963   bl  13fe18 <strtol>                                               
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
  10eb52:   9b01        ldr r3, [sp, #4]                                                  
  result = strtol( s, &end, base );                                                       
  10eb54:   4607        mov r7, r0                                                        
  if ( endptr )                                                                           
  10eb56:   b106        cbz r6, 10eb5a <rtems_string_to_int+0x2a>                         
    *endptr = end;                                                                        
  10eb58:   6033        str r3, [r6, #0]                                                  
                                                                                          
  if ( end == s )                                                                         
  10eb5a:   429d        cmp r5, r3                                                        
    return RTEMS_NOT_DEFINED;                                                             
  10eb5c:   bf08        it  eq                                                            
  10eb5e:   200b        moveq   r0, #11                                                   
  if ( end == s )                                                                         
  10eb60:   d006        beq.n   10eb70 <rtems_string_to_int+0x40>                         
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
  10eb62:   f023 fea1   bl  1328a8 <__errno>                                              
  10eb66:   6803        ldr r3, [r0, #0]                                                  
  10eb68:   2b22        cmp r3, #34 ; 0x22                                                
  10eb6a:   d003        beq.n   10eb74 <rtems_string_to_int+0x44>                         
  }                                                                                       
#endif                                                                                    
                                                                                          
  *n = result;                                                                            
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
  10eb6c:   2000        movs    r0, #0                                                    
  *n = result;                                                                            
  10eb6e:   6027        str r7, [r4, #0]                                                  
}                                                                                         
  10eb70:   b003        add sp, #12                                                       
  10eb72:   bdf0        pop {r4, r5, r6, r7, pc}                                          
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))                
  10eb74:   f3c7 031e   ubfx    r3, r7, #0, #31                                           
  10eb78:   f06f 4200   mvn.w   r2, #2147483648 ; 0x80000000                              
  10eb7c:   2b00        cmp r3, #0                                                        
  10eb7e:   bf18        it  ne                                                            
  10eb80:   4297        cmpne   r7, r2                                                    
      return RTEMS_INVALID_NUMBER;                                                        
  10eb82:   bf08        it  eq                                                            
  10eb84:   200a        moveq   r0, #10                                                   
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))                
  10eb86:   d1f1        bne.n   10eb6c <rtems_string_to_int+0x3c>                         <== ALWAYS TAKEN
  10eb88:   e7f2        b.n 10eb70 <rtems_string_to_int+0x40>                             
    return RTEMS_INVALID_ADDRESS;                                                         
  10eb8a:   2009        movs    r0, #9                                                    
}                                                                                         
  10eb8c:   4770        bx  lr                                                            
  10eb8e:   bf00        nop                                                               
                                                                                          

00107f78 <rtems_string_to_long>: ) { long result; char *end; if ( !n )
  107f78:   b359        cbz r1, 107fd2 <rtems_string_to_long+0x5a>                        
{                                                                                         
  107f7a:   b5f0        push    {r4, r5, r6, r7, lr}                                      
  107f7c:   b083        sub sp, #12                                                       
  107f7e:   461f        mov r7, r3                                                        
  107f80:   460c        mov r4, r1                                                        
  107f82:   4605        mov r5, r0                                                        
  107f84:   4616        mov r6, r2                                                        
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
  107f86:   f005 fce1   bl  10d94c <__errno>                                              
  107f8a:   2300        movs    r3, #0                                                    
  *n = 0;                                                                                 
                                                                                          
  result = strtol( s, &end, base );                                                       
  107f8c:   463a        mov r2, r7                                                        
  errno = 0;                                                                              
  107f8e:   6003        str r3, [r0, #0]                                                  
  result = strtol( s, &end, base );                                                       
  107f90:   a901        add r1, sp, #4                                                    
  *n = 0;                                                                                 
  107f92:   6023        str r3, [r4, #0]                                                  
  result = strtol( s, &end, base );                                                       
  107f94:   4628        mov r0, r5                                                        
  107f96:   f007 facf   bl  10f538 <strtol>                                               
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
  107f9a:   9b01        ldr r3, [sp, #4]                                                  
  result = strtol( s, &end, base );                                                       
  107f9c:   4607        mov r7, r0                                                        
  if ( endptr )                                                                           
  107f9e:   b106        cbz r6, 107fa2 <rtems_string_to_long+0x2a>                        
    *endptr = end;                                                                        
  107fa0:   6033        str r3, [r6, #0]                                                  
                                                                                          
  if ( end == s )                                                                         
  107fa2:   429d        cmp r5, r3                                                        
    return RTEMS_NOT_DEFINED;                                                             
  107fa4:   bf08        it  eq                                                            
  107fa6:   200b        moveq   r0, #11                                                   
  if ( end == s )                                                                         
  107fa8:   d006        beq.n   107fb8 <rtems_string_to_long+0x40>                        
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
  107faa:   f005 fccf   bl  10d94c <__errno>                                              
  107fae:   6803        ldr r3, [r0, #0]                                                  
  107fb0:   2b22        cmp r3, #34 ; 0x22                                                
  107fb2:   d003        beq.n   107fbc <rtems_string_to_long+0x44>                        
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))                
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
  107fb4:   2000        movs    r0, #0                                                    
  *n = result;                                                                            
  107fb6:   6027        str r7, [r4, #0]                                                  
}                                                                                         
  107fb8:   b003        add sp, #12                                                       
  107fba:   bdf0        pop {r4, r5, r6, r7, pc}                                          
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))                
  107fbc:   f3c7 031e   ubfx    r3, r7, #0, #31                                           
  107fc0:   f06f 4200   mvn.w   r2, #2147483648 ; 0x80000000                              
  107fc4:   2b00        cmp r3, #0                                                        
  107fc6:   bf18        it  ne                                                            
  107fc8:   4297        cmpne   r7, r2                                                    
      return RTEMS_INVALID_NUMBER;                                                        
  107fca:   bf08        it  eq                                                            
  107fcc:   200a        moveq   r0, #10                                                   
    (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))                
  107fce:   d1f1        bne.n   107fb4 <rtems_string_to_long+0x3c>                        <== ALWAYS TAKEN
  107fd0:   e7f2        b.n 107fb8 <rtems_string_to_long+0x40>                            
    return RTEMS_INVALID_ADDRESS;                                                         
  107fd2:   2009        movs    r0, #9                                                    
}                                                                                         
  107fd4:   4770        bx  lr                                                            
  107fd6:   bf00        nop                                                               
                                                                                          

00107fd8 <rtems_string_to_long_long>: ) { long long result; char *end; if ( !n )
  107fd8:   2900        cmp r1, #0                                                        
  107fda:   d03c        beq.n   108056 <rtems_string_to_long_long+0x7e>                   
{                                                                                         
  107fdc:   e92d 41f0   stmdb   sp!, {r4, r5, r6, r7, r8, lr}                             
  107fe0:   b082        sub sp, #8                                                        
  107fe2:   461f        mov r7, r3                                                        
  107fe4:   460c        mov r4, r1                                                        
  107fe6:   4605        mov r5, r0                                                        
  107fe8:   4616        mov r6, r2                                                        
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
  107fea:   f005 fcaf   bl  10d94c <__errno>                                              
  *n = 0;                                                                                 
  107fee:   efc0 0010   vmov.i32    d16, #0 ; 0x00000000                                  
  errno = 0;                                                                              
  107ff2:   2300        movs    r3, #0                                                    
  107ff4:   6003        str r3, [r0, #0]                                                  
                                                                                          
  result = strtoll( s, &end, base );                                                      
  107ff6:   463a        mov r2, r7                                                        
  107ff8:   a901        add r1, sp, #4                                                    
  107ffa:   4628        mov r0, r5                                                        
  *n = 0;                                                                                 
  107ffc:   edc4 0b00   vstr    d16, [r4]                                                 
  result = strtoll( s, &end, base );                                                      
  108000:   f007 fb66   bl  10f6d0 <strtoll>                                              
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
  108004:   9b01        ldr r3, [sp, #4]                                                  
  result = strtoll( s, &end, base );                                                      
  108006:   4680        mov r8, r0                                                        
  108008:   460f        mov r7, r1                                                        
  if ( endptr )                                                                           
  10800a:   b106        cbz r6, 10800e <rtems_string_to_long_long+0x36>                   
    *endptr = end;                                                                        
  10800c:   6033        str r3, [r6, #0]                                                  
                                                                                          
  if ( end == s )                                                                         
  10800e:   429d        cmp r5, r3                                                        
    return RTEMS_NOT_DEFINED;                                                             
  108010:   bf08        it  eq                                                            
  108012:   200b        moveq   r0, #11                                                   
  if ( end == s )                                                                         
  108014:   d007        beq.n   108026 <rtems_string_to_long_long+0x4e>                   
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
  108016:   f005 fc99   bl  10d94c <__errno>                                              
  10801a:   6803        ldr r3, [r0, #0]                                                  
  10801c:   2b22        cmp r3, #34 ; 0x22                                                
  10801e:   d005        beq.n   10802c <rtems_string_to_long_long+0x54>                   
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))      
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
  108020:   2000        movs    r0, #0                                                    
  *n = result;                                                                            
  108022:   e9c4 8700   strd    r8, r7, [r4]                                              
}                                                                                         
  108026:   b002        add sp, #8                                                        
  108028:   e8bd 81f0   ldmia.w sp!, {r4, r5, r6, r7, r8, pc}                             
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))      
  10802c:   f027 4300   bic.w   r3, r7, #2147483648 ; 0x80000000                          
  108030:   f06f 4200   mvn.w   r2, #2147483648 ; 0x80000000                              
  108034:   ea58 0303   orrs.w  r3, r8, r3                                                
      return RTEMS_INVALID_NUMBER;                                                        
  108038:   f04f 000a   mov.w   r0, #10                                                   
    (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))      
  10803c:   bf0c        ite eq                                                            
  10803e:   2301        moveq   r3, #1                                                    
  108040:   2300        movne   r3, #0                                                    
  108042:   4297        cmp r7, r2                                                        
  108044:   bf08        it  eq                                                            
  108046:   f1b8 3fff   cmpeq.w r8, #4294967295 ; 0xffffffff                              
  10804a:   bf08        it  eq                                                            
  10804c:   f043 0301   orreq.w r3, r3, #1                                                
  108050:   2b00        cmp r3, #0                                                        
  108052:   d0e5        beq.n   108020 <rtems_string_to_long_long+0x48>                   <== ALWAYS TAKEN
  108054:   e7e7        b.n 108026 <rtems_string_to_long_long+0x4e>                       
    return RTEMS_INVALID_ADDRESS;                                                         
  108056:   2009        movs    r0, #9                                                    
}                                                                                         
  108058:   4770        bx  lr                                                            
  10805a:   bf00        nop                                                               
                                                                                          

0010eb98 <rtems_string_to_unsigned_char>: ) { unsigned long result; char *end; if ( !n )
  10eb98:   b349        cbz r1, 10ebee <rtems_string_to_unsigned_char+0x56>               
{                                                                                         
  10eb9a:   b5f0        push    {r4, r5, r6, r7, lr}                                      
  10eb9c:   b083        sub sp, #12                                                       
  10eb9e:   461f        mov r7, r3                                                        
  10eba0:   460c        mov r4, r1                                                        
  10eba2:   4605        mov r5, r0                                                        
  10eba4:   4616        mov r6, r2                                                        
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
  10eba6:   f023 fe7f   bl  1328a8 <__errno>                                              
  10ebaa:   2300        movs    r3, #0                                                    
  *n = 0;                                                                                 
                                                                                          
  result = strtoul( s, &end, base );                                                      
  10ebac:   463a        mov r2, r7                                                        
  errno = 0;                                                                              
  10ebae:   6003        str r3, [r0, #0]                                                  
  result = strtoul( s, &end, base );                                                      
  10ebb0:   a901        add r1, sp, #4                                                    
  *n = 0;                                                                                 
  10ebb2:   7023        strb    r3, [r4, #0]                                              
  result = strtoul( s, &end, base );                                                      
  10ebb4:   4628        mov r0, r5                                                        
  10ebb6:   f031 fab9   bl  14012c <strtoul>                                              
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
  10ebba:   9b01        ldr r3, [sp, #4]                                                  
  result = strtoul( s, &end, base );                                                      
  10ebbc:   4607        mov r7, r0                                                        
  if ( endptr )                                                                           
  10ebbe:   b106        cbz r6, 10ebc2 <rtems_string_to_unsigned_char+0x2a>               
    *endptr = end;                                                                        
  10ebc0:   6033        str r3, [r6, #0]                                                  
                                                                                          
  if ( end == s )                                                                         
  10ebc2:   429d        cmp r5, r3                                                        
    return RTEMS_NOT_DEFINED;                                                             
  10ebc4:   bf08        it  eq                                                            
  10ebc6:   200b        moveq   r0, #11                                                   
  if ( end == s )                                                                         
  10ebc8:   d009        beq.n   10ebde <rtems_string_to_unsigned_char+0x46>               
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
  10ebca:   f023 fe6d   bl  1328a8 <__errno>                                              
  10ebce:   6803        ldr r3, [r0, #0]                                                  
  10ebd0:   2b22        cmp r3, #34 ; 0x22                                                
  10ebd2:   d006        beq.n   10ebe2 <rtems_string_to_unsigned_char+0x4a>               
    (( result == 0 ) || ( result == ULONG_MAX )))                                         
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
#if (UCHAR_MAX < ULONG_MAX)                                                               
  if ( result > UCHAR_MAX ) {                                                             
  10ebd4:   2fff        cmp r7, #255    ; 0xff                                            
  }                                                                                       
#endif                                                                                    
                                                                                          
  *n = result;                                                                            
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
  10ebd6:   bf9c        itt ls                                                            
  10ebd8:   2000        movls   r0, #0                                                    
  *n = result;                                                                            
  10ebda:   7027        strbls  r7, [r4, #0]                                              
  if ( result > UCHAR_MAX ) {                                                             
  10ebdc:   d809        bhi.n   10ebf2 <rtems_string_to_unsigned_char+0x5a>               
}                                                                                         
  10ebde:   b003        add sp, #12                                                       
  10ebe0:   bdf0        pop {r4, r5, r6, r7, pc}                                          
    (( result == 0 ) || ( result == ULONG_MAX )))                                         
  10ebe2:   1e7b        subs    r3, r7, #1                                                
  if ( ( errno == ERANGE ) &&                                                             
  10ebe4:   3303        adds    r3, #3                                                    
      return RTEMS_INVALID_NUMBER;                                                        
  10ebe6:   bf88        it  hi                                                            
  10ebe8:   200a        movhi   r0, #10                                                   
  if ( ( errno == ERANGE ) &&                                                             
  10ebea:   d9f3        bls.n   10ebd4 <rtems_string_to_unsigned_char+0x3c>               <== ALWAYS TAKEN
  10ebec:   e7f7        b.n 10ebde <rtems_string_to_unsigned_char+0x46>                   
    return RTEMS_INVALID_ADDRESS;                                                         
  10ebee:   2009        movs    r0, #9                                                    
}                                                                                         
  10ebf0:   4770        bx  lr                                                            
    errno = ERANGE;                                                                       
  10ebf2:   f023 fe59   bl  1328a8 <__errno>                                              
  10ebf6:   2222        movs    r2, #34 ; 0x22                                            
  10ebf8:   4603        mov r3, r0                                                        
  10ebfa:   601a        str r2, [r3, #0]                                                  
    return RTEMS_INVALID_NUMBER;                                                          
  10ebfc:   200a        movs    r0, #10                                                   
  10ebfe:   e7ee        b.n 10ebde <rtems_string_to_unsigned_char+0x46>                   
                                                                                          

001080cc <rtems_string_to_unsigned_int>: ) { unsigned long result; char *end; if ( !n )
  1080cc:   b331        cbz r1, 10811c <rtems_string_to_unsigned_int+0x50>                
{                                                                                         
  1080ce:   b5f0        push    {r4, r5, r6, r7, lr}                                      
  1080d0:   b083        sub sp, #12                                                       
  1080d2:   461f        mov r7, r3                                                        
  1080d4:   460c        mov r4, r1                                                        
  1080d6:   4605        mov r5, r0                                                        
  1080d8:   4616        mov r6, r2                                                        
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
  1080da:   f005 fc37   bl  10d94c <__errno>                                              
  1080de:   2300        movs    r3, #0                                                    
  *n = 0;                                                                                 
                                                                                          
  result = strtoul( s, &end, base );                                                      
  1080e0:   463a        mov r2, r7                                                        
  errno = 0;                                                                              
  1080e2:   6003        str r3, [r0, #0]                                                  
  result = strtoul( s, &end, base );                                                      
  1080e4:   a901        add r1, sp, #4                                                    
  *n = 0;                                                                                 
  1080e6:   6023        str r3, [r4, #0]                                                  
  result = strtoul( s, &end, base );                                                      
  1080e8:   4628        mov r0, r5                                                        
  1080ea:   f007 fb9d   bl  10f828 <strtoul>                                              
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
  1080ee:   9b01        ldr r3, [sp, #4]                                                  
  result = strtoul( s, &end, base );                                                      
  1080f0:   4607        mov r7, r0                                                        
  if ( endptr )                                                                           
  1080f2:   b106        cbz r6, 1080f6 <rtems_string_to_unsigned_int+0x2a>                
    *endptr = end;                                                                        
  1080f4:   6033        str r3, [r6, #0]                                                  
                                                                                          
  if ( end == s )                                                                         
  1080f6:   429d        cmp r5, r3                                                        
    return RTEMS_NOT_DEFINED;                                                             
  1080f8:   bf08        it  eq                                                            
  1080fa:   200b        moveq   r0, #11                                                   
  if ( end == s )                                                                         
  1080fc:   d006        beq.n   10810c <rtems_string_to_unsigned_int+0x40>                
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
  1080fe:   f005 fc25   bl  10d94c <__errno>                                              
  108102:   6803        ldr r3, [r0, #0]                                                  
  108104:   2b22        cmp r3, #34 ; 0x22                                                
  108106:   d003        beq.n   108110 <rtems_string_to_unsigned_int+0x44>                
  }                                                                                       
#endif                                                                                    
                                                                                          
  *n = result;                                                                            
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
  108108:   2000        movs    r0, #0                                                    
  *n = result;                                                                            
  10810a:   6027        str r7, [r4, #0]                                                  
}                                                                                         
  10810c:   b003        add sp, #12                                                       
  10810e:   bdf0        pop {r4, r5, r6, r7, pc}                                          
    (( result == 0 ) || ( result == ULONG_MAX )))                                         
  108110:   1e7b        subs    r3, r7, #1                                                
  if ( ( errno == ERANGE ) &&                                                             
  108112:   3303        adds    r3, #3                                                    
      return RTEMS_INVALID_NUMBER;                                                        
  108114:   bf88        it  hi                                                            
  108116:   200a        movhi   r0, #10                                                   
  if ( ( errno == ERANGE ) &&                                                             
  108118:   d9f6        bls.n   108108 <rtems_string_to_unsigned_int+0x3c>                <== ALWAYS TAKEN
  10811a:   e7f7        b.n 10810c <rtems_string_to_unsigned_int+0x40>                    
    return RTEMS_INVALID_ADDRESS;                                                         
  10811c:   2009        movs    r0, #9                                                    
}                                                                                         
  10811e:   4770        bx  lr                                                            
                                                                                          

0010ec00 <rtems_string_to_unsigned_long>: ) { unsigned long result; char *end; if ( !n )
  10ec00:   b331        cbz r1, 10ec50 <rtems_string_to_unsigned_long+0x50>               
{                                                                                         
  10ec02:   b5f0        push    {r4, r5, r6, r7, lr}                                      
  10ec04:   b083        sub sp, #12                                                       
  10ec06:   461f        mov r7, r3                                                        
  10ec08:   460c        mov r4, r1                                                        
  10ec0a:   4605        mov r5, r0                                                        
  10ec0c:   4616        mov r6, r2                                                        
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
  10ec0e:   f023 fe4b   bl  1328a8 <__errno>                                              
  10ec12:   2300        movs    r3, #0                                                    
  *n = 0;                                                                                 
                                                                                          
  result = strtoul( s, &end, base );                                                      
  10ec14:   463a        mov r2, r7                                                        
  errno = 0;                                                                              
  10ec16:   6003        str r3, [r0, #0]                                                  
  result = strtoul( s, &end, base );                                                      
  10ec18:   a901        add r1, sp, #4                                                    
  *n = 0;                                                                                 
  10ec1a:   6023        str r3, [r4, #0]                                                  
  result = strtoul( s, &end, base );                                                      
  10ec1c:   4628        mov r0, r5                                                        
  10ec1e:   f031 fa85   bl  14012c <strtoul>                                              
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
  10ec22:   9b01        ldr r3, [sp, #4]                                                  
  result = strtoul( s, &end, base );                                                      
  10ec24:   4607        mov r7, r0                                                        
  if ( endptr )                                                                           
  10ec26:   b106        cbz r6, 10ec2a <rtems_string_to_unsigned_long+0x2a>               
    *endptr = end;                                                                        
  10ec28:   6033        str r3, [r6, #0]                                                  
                                                                                          
  if ( end == s )                                                                         
  10ec2a:   429d        cmp r5, r3                                                        
    return RTEMS_NOT_DEFINED;                                                             
  10ec2c:   bf08        it  eq                                                            
  10ec2e:   200b        moveq   r0, #11                                                   
  if ( end == s )                                                                         
  10ec30:   d006        beq.n   10ec40 <rtems_string_to_unsigned_long+0x40>               
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
  10ec32:   f023 fe39   bl  1328a8 <__errno>                                              
  10ec36:   6803        ldr r3, [r0, #0]                                                  
  10ec38:   2b22        cmp r3, #34 ; 0x22                                                
  10ec3a:   d003        beq.n   10ec44 <rtems_string_to_unsigned_long+0x44>               
    (( result == 0 ) || ( result == ULONG_MAX )))                                         
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
  10ec3c:   2000        movs    r0, #0                                                    
  *n = result;                                                                            
  10ec3e:   6027        str r7, [r4, #0]                                                  
}                                                                                         
  10ec40:   b003        add sp, #12                                                       
  10ec42:   bdf0        pop {r4, r5, r6, r7, pc}                                          
    (( result == 0 ) || ( result == ULONG_MAX )))                                         
  10ec44:   1e7b        subs    r3, r7, #1                                                
  if ( ( errno == ERANGE ) &&                                                             
  10ec46:   3303        adds    r3, #3                                                    
      return RTEMS_INVALID_NUMBER;                                                        
  10ec48:   bf88        it  hi                                                            
  10ec4a:   200a        movhi   r0, #10                                                   
  if ( ( errno == ERANGE ) &&                                                             
  10ec4c:   d9f6        bls.n   10ec3c <rtems_string_to_unsigned_long+0x3c>               <== ALWAYS TAKEN
  10ec4e:   e7f7        b.n 10ec40 <rtems_string_to_unsigned_long+0x40>                   
    return RTEMS_INVALID_ADDRESS;                                                         
  10ec50:   2009        movs    r0, #9                                                    
}                                                                                         
  10ec52:   4770        bx  lr                                                            
                                                                                          

00108174 <rtems_string_to_unsigned_long_long>: ) { unsigned long long result; char *end; if ( !n )
  108174:   b389        cbz r1, 1081da <rtems_string_to_unsigned_long_long+0x66>          
{                                                                                         
  108176:   e92d 41f0   stmdb   sp!, {r4, r5, r6, r7, r8, lr}                             
  10817a:   b082        sub sp, #8                                                        
  10817c:   461f        mov r7, r3                                                        
  10817e:   460c        mov r4, r1                                                        
  108180:   4605        mov r5, r0                                                        
  108182:   4616        mov r6, r2                                                        
    return RTEMS_INVALID_ADDRESS;                                                         
                                                                                          
  errno = 0;                                                                              
  108184:   f005 fbe2   bl  10d94c <__errno>                                              
  *n = 0;                                                                                 
  108188:   efc0 0010   vmov.i32    d16, #0 ; 0x00000000                                  
  errno = 0;                                                                              
  10818c:   2300        movs    r3, #0                                                    
  10818e:   6003        str r3, [r0, #0]                                                  
                                                                                          
  result = strtoull( s, &end, base );                                                     
  108190:   463a        mov r2, r7                                                        
  108192:   a901        add r1, sp, #4                                                    
  108194:   4628        mov r0, r5                                                        
  *n = 0;                                                                                 
  108196:   edc4 0b00   vstr    d16, [r4]                                                 
  result = strtoull( s, &end, base );                                                     
  10819a:   f007 fc17   bl  10f9cc <strtoull>                                             
                                                                                          
  if ( endptr )                                                                           
    *endptr = end;                                                                        
  10819e:   9b01        ldr r3, [sp, #4]                                                  
  result = strtoull( s, &end, base );                                                     
  1081a0:   4607        mov r7, r0                                                        
  1081a2:   4688        mov r8, r1                                                        
  if ( endptr )                                                                           
  1081a4:   b106        cbz r6, 1081a8 <rtems_string_to_unsigned_long_long+0x34>          
    *endptr = end;                                                                        
  1081a6:   6033        str r3, [r6, #0]                                                  
                                                                                          
  if ( end == s )                                                                         
  1081a8:   429d        cmp r5, r3                                                        
    return RTEMS_NOT_DEFINED;                                                             
  1081aa:   bf08        it  eq                                                            
  1081ac:   200b        moveq   r0, #11                                                   
  if ( end == s )                                                                         
  1081ae:   d007        beq.n   1081c0 <rtems_string_to_unsigned_long_long+0x4c>          
                                                                                          
  if ( ( errno == ERANGE ) &&                                                             
  1081b0:   f005 fbcc   bl  10d94c <__errno>                                              
  1081b4:   6803        ldr r3, [r0, #0]                                                  
  1081b6:   2b22        cmp r3, #34 ; 0x22                                                
  1081b8:   d005        beq.n   1081c6 <rtems_string_to_unsigned_long_long+0x52>          
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))                                    
      return RTEMS_INVALID_NUMBER;                                                        
                                                                                          
  *n = result;                                                                            
                                                                                          
  return RTEMS_SUCCESSFUL;                                                                
  1081ba:   2000        movs    r0, #0                                                    
  *n = result;                                                                            
  1081bc:   e9c4 7800   strd    r7, r8, [r4]                                              
}                                                                                         
  1081c0:   b002        add sp, #8                                                        
  1081c2:   e8bd 81f0   ldmia.w sp!, {r4, r5, r6, r7, r8, pc}                             
    (( result == 0 ) || ( result == ULONG_LONG_MAX )))                                    
  1081c6:   1e7a        subs    r2, r7, #1                                                
  1081c8:   f148 33ff   adc.w   r3, r8, #4294967295 ; 0xffffffff                          
  if ( ( errno == ERANGE ) &&                                                             
  1081cc:   3202        adds    r2, #2                                                    
  1081ce:   f173 33ff   sbcs.w  r3, r3, #4294967295 ; 0xffffffff                          
      return RTEMS_INVALID_NUMBER;                                                        
  1081d2:   bf28        it  cs                                                            
  1081d4:   200a        movcs   r0, #10                                                   
  if ( ( errno == ERANGE ) &&                                                             
  1081d6:   d3f0        bcc.n   1081ba <rtems_string_to_unsigned_long_long+0x46>          <== ALWAYS TAKEN
  1081d8:   e7f2        b.n 1081c0 <rtems_string_to_unsigned_long_long+0x4c>              
    return RTEMS_INVALID_ADDRESS;                                                         
  1081da:   2009        movs    r0, #9                                                    
}                                                                                         
  1081dc:   4770        bx  lr                                                            
  1081de:   bf00        nop