=============================================================================== 00107dd8 : ) { double result; char *end; if ( !n ) 107dd8: 2900 cmp r1, #0 107dda: d044 beq.n 107e66 { 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 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 *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 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 (( 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 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 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 <== ALWAYS TAKEN 107e64: e7de b.n 107e24 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 : ) { float result; char *end; if ( !n ) 107e80: 2900 cmp r1, #0 107e82: d042 beq.n 107f0a { 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 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 *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 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 (( 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 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 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 <== ALWAYS TAKEN 107f08: e7de b.n 107ec8 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 : ) { long result; char *end; if ( !n ) 10eb30: b359 cbz r1, 10eb8a { 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 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 *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 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 } #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 <== ALWAYS TAKEN 10eb88: e7f2 b.n 10eb70 return RTEMS_INVALID_ADDRESS; 10eb8a: 2009 movs r0, #9 } 10eb8c: 4770 bx lr 10eb8e: bf00 nop =============================================================================== 00107f78 : ) { long result; char *end; if ( !n ) 107f78: b359 cbz r1, 107fd2 { 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 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 *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 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 (( 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 <== ALWAYS TAKEN 107fd0: e7f2 b.n 107fb8 return RTEMS_INVALID_ADDRESS; 107fd2: 2009 movs r0, #9 } 107fd4: 4770 bx lr 107fd6: bf00 nop =============================================================================== 00107fd8 : ) { long long result; char *end; if ( !n ) 107fd8: 2900 cmp r1, #0 107fda: d03c beq.n 108056 { 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 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 *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 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 (( 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 <== ALWAYS TAKEN 108054: e7e7 b.n 108026 return RTEMS_INVALID_ADDRESS; 108056: 2009 movs r0, #9 } 108058: 4770 bx lr 10805a: bf00 nop =============================================================================== 0010eb98 : ) { unsigned long result; char *end; if ( !n ) 10eb98: b349 cbz r1, 10ebee { 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 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 *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 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 (( 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 } 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 <== ALWAYS TAKEN 10ebec: e7f7 b.n 10ebde 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 =============================================================================== 001080cc : ) { unsigned long result; char *end; if ( !n ) 1080cc: b331 cbz r1, 10811c { 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 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 *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 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 } #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 <== ALWAYS TAKEN 10811a: e7f7 b.n 10810c return RTEMS_INVALID_ADDRESS; 10811c: 2009 movs r0, #9 } 10811e: 4770 bx lr =============================================================================== 0010ec00 : ) { unsigned long result; char *end; if ( !n ) 10ec00: b331 cbz r1, 10ec50 { 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 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 *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 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 (( 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 <== ALWAYS TAKEN 10ec4e: e7f7 b.n 10ec40 return RTEMS_INVALID_ADDRESS; 10ec50: 2009 movs r0, #9 } 10ec52: 4770 bx lr =============================================================================== 00108174 : ) { unsigned long long result; char *end; if ( !n ) 108174: b389 cbz r1, 1081da { 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 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 *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 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 (( 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 <== ALWAYS TAKEN 1081d8: e7f2 b.n 1081c0 return RTEMS_INVALID_ADDRESS; 1081da: 2009 movs r0, #9 } 1081dc: 4770 bx lr 1081de: bf00 nop