=============================================================================== 0000000040025ad0 : ) { double result; char *end; if ( !n ) 40025ad0: b40005e1 cbz x1, 40025b8c { 40025ad4: a9bc7bfd stp x29, x30, [sp, #-64]! 40025ad8: 910003fd mov x29, sp 40025adc: a90153f3 stp x19, x20, [sp, #16] 40025ae0: aa0103f3 mov x19, x1 40025ae4: aa0003f4 mov x20, x0 40025ae8: f90013f5 str x21, [sp, #32] 40025aec: aa0203f5 mov x21, x2 40025af0: fd0017e8 str d8, [sp, #40] return RTEMS_INVALID_ADDRESS; errno = 0; 40025af4: 9400276a bl 4002f89c <__errno> 40025af8: aa0003e2 mov x2, x0 *n = 0; result = strtod( s, &end ); 40025afc: 9100e3e1 add x1, sp, #0x38 40025b00: aa1403e0 mov x0, x20 errno = 0; 40025b04: b900005f str wzr, [x2] *n = 0; 40025b08: f900027f str xzr, [x19] result = strtod( s, &end ); 40025b0c: 94002fc9 bl 40031a30 40025b10: 1e604008 fmov d8, d0 if ( endptr ) *endptr = end; 40025b14: f9401fe0 ldr x0, [sp, #56] if ( endptr ) 40025b18: b4000055 cbz x21, 40025b20 *endptr = end; 40025b1c: f90002a0 str x0, [x21] if ( end == s ) 40025b20: eb00029f cmp x20, x0 40025b24: 54000380 b.eq 40025b94 // b.none return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40025b28: 9400275d bl 4002f89c <__errno> 40025b2c: b9400000 ldr w0, [x0] 40025b30: 7100881f cmp w0, #0x22 40025b34: 54000100 b.eq 40025b54 // b.none (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL ))) return RTEMS_INVALID_NUMBER; *n = result; return RTEMS_SUCCESSFUL; 40025b38: 52800000 mov w0, #0x0 // #0 *n = result; 40025b3c: fd000268 str d8, [x19] } 40025b40: a94153f3 ldp x19, x20, [sp, #16] 40025b44: f94013f5 ldr x21, [sp, #32] 40025b48: fd4017e8 ldr d8, [sp, #40] 40025b4c: a8c47bfd ldp x29, x30, [sp], #64 40025b50: d65f03c0 ret (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL ))) 40025b54: 1e602108 fcmp d8, #0.0 40025b58: d2effe00 mov x0, #0x7ff0000000000000 // #9218868437227405312 40025b5c: 9e670001 fmov d1, x0 40025b60: 92e00200 mov x0, #0xffefffffffffffff // #-4503599627370497 40025b64: 9e670000 fmov d0, x0 return RTEMS_INVALID_NUMBER; 40025b68: 52800140 mov w0, #0xa // #10 (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL ))) 40025b6c: 1e611504 fccmp d8, d1, #0x4, ne // ne = any 40025b70: 1a9f17e1 cset w1, eq // eq = none 40025b74: 1e602100 fcmp d8, d0 40025b78: 1a9f47e2 cset w2, pl // pl = nfrst 40025b7c: 52000042 eor w2, w2, #0x1 40025b80: 2a020021 orr w1, w1, w2 40025b84: 34fffda1 cbz w1, 40025b38 <== NEVER TAKEN 40025b88: 17ffffee b 40025b40 return RTEMS_INVALID_ADDRESS; 40025b8c: 52800120 mov w0, #0x9 // #9 } 40025b90: d65f03c0 ret return RTEMS_NOT_DEFINED; 40025b94: 52800160 mov w0, #0xb // #11 } 40025b98: fd4017e8 ldr d8, [sp, #40] 40025b9c: a94153f3 ldp x19, x20, [sp, #16] 40025ba0: f94013f5 ldr x21, [sp, #32] 40025ba4: a8c47bfd ldp x29, x30, [sp], #64 40025ba8: d65f03c0 ret 40025bac: 00000000 udf #0 =============================================================================== 0000000040025bb0 : ) { float result; char *end; if ( !n ) 40025bb0: b40005c1 cbz x1, 40025c68 { 40025bb4: a9bc7bfd stp x29, x30, [sp, #-64]! 40025bb8: 910003fd mov x29, sp 40025bbc: a90153f3 stp x19, x20, [sp, #16] 40025bc0: aa0103f3 mov x19, x1 40025bc4: aa0003f4 mov x20, x0 40025bc8: f90013f5 str x21, [sp, #32] 40025bcc: aa0203f5 mov x21, x2 40025bd0: fd0017e8 str d8, [sp, #40] return RTEMS_INVALID_ADDRESS; errno = 0; 40025bd4: 94002732 bl 4002f89c <__errno> 40025bd8: aa0003e2 mov x2, x0 *n = 0; result = strtof( s, &end ); 40025bdc: 9100e3e1 add x1, sp, #0x38 40025be0: aa1403e0 mov x0, x20 errno = 0; 40025be4: b900005f str wzr, [x2] *n = 0; 40025be8: b900027f str wzr, [x19] result = strtof( s, &end ); 40025bec: 94002fa1 bl 40031a70 40025bf0: 1e204008 fmov s8, s0 if ( endptr ) *endptr = end; 40025bf4: f9401fe0 ldr x0, [sp, #56] if ( endptr ) 40025bf8: b4000055 cbz x21, 40025c00 *endptr = end; 40025bfc: f90002a0 str x0, [x21] if ( end == s ) 40025c00: eb00029f cmp x20, x0 40025c04: 54000360 b.eq 40025c70 // b.none return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40025c08: 94002725 bl 4002f89c <__errno> 40025c0c: b9400000 ldr w0, [x0] 40025c10: 7100881f cmp w0, #0x22 40025c14: 54000100 b.eq 40025c34 // b.none (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF ))) return RTEMS_INVALID_NUMBER; *n = result; return RTEMS_SUCCESSFUL; 40025c18: 52800000 mov w0, #0x0 // #0 *n = result; 40025c1c: bd000268 str s8, [x19] } 40025c20: a94153f3 ldp x19, x20, [sp, #16] 40025c24: f94013f5 ldr x21, [sp, #32] 40025c28: fd4017e8 ldr d8, [sp, #40] 40025c2c: a8c47bfd ldp x29, x30, [sp], #64 40025c30: d65f03c0 ret (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF ))) 40025c34: 1e202108 fcmp s8, #0.0 40025c38: 52aff000 mov w0, #0x7f800000 // #2139095040 40025c3c: 1e270000 fmov s0, w0 40025c40: 2f044401 mvni v1.2s, #0x80, lsl #16 return RTEMS_INVALID_NUMBER; 40025c44: 52800140 mov w0, #0xa // #10 (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF ))) 40025c48: 1e201504 fccmp s8, s0, #0x4, ne // ne = any 40025c4c: 1a9f17e1 cset w1, eq // eq = none 40025c50: 1e212100 fcmp s8, s1 40025c54: 1a9f47e2 cset w2, pl // pl = nfrst 40025c58: 52000042 eor w2, w2, #0x1 40025c5c: 2a020021 orr w1, w1, w2 40025c60: 34fffdc1 cbz w1, 40025c18 <== NEVER TAKEN 40025c64: 17ffffef b 40025c20 return RTEMS_INVALID_ADDRESS; 40025c68: 52800120 mov w0, #0x9 // #9 } 40025c6c: d65f03c0 ret return RTEMS_NOT_DEFINED; 40025c70: 52800160 mov w0, #0xb // #11 } 40025c74: fd4017e8 ldr d8, [sp, #40] 40025c78: a94153f3 ldp x19, x20, [sp, #16] 40025c7c: f94013f5 ldr x21, [sp, #32] 40025c80: a8c47bfd ldp x29, x30, [sp], #64 40025c84: d65f03c0 ret ... =============================================================================== 0000000040025c90 : ) { long result; char *end; if ( !n ) 40025c90: b4000541 cbz x1, 40025d38 { 40025c94: a9bc7bfd stp x29, x30, [sp, #-64]! 40025c98: 910003fd mov x29, sp 40025c9c: a90153f3 stp x19, x20, [sp, #16] 40025ca0: aa0103f3 mov x19, x1 40025ca4: aa0203f4 mov x20, x2 40025ca8: a9025bf5 stp x21, x22, [sp, #32] 40025cac: 2a0303f5 mov w21, w3 40025cb0: aa0003f6 mov x22, x0 return RTEMS_INVALID_ADDRESS; errno = 0; 40025cb4: 940026fa bl 4002f89c <__errno> 40025cb8: aa0003e3 mov x3, x0 *n = 0; result = strtol( s, &end, base ); 40025cbc: 2a1503e2 mov w2, w21 40025cc0: 9100e3e1 add x1, sp, #0x38 40025cc4: aa1603e0 mov x0, x22 errno = 0; 40025cc8: b900007f str wzr, [x3] *n = 0; 40025ccc: b900027f str wzr, [x19] result = strtol( s, &end, base ); 40025cd0: 94003060 bl 40031e50 40025cd4: aa0003f5 mov x21, x0 if ( endptr ) *endptr = end; 40025cd8: f9401fe1 ldr x1, [sp, #56] if ( endptr ) 40025cdc: b4000054 cbz x20, 40025ce4 *endptr = end; 40025ce0: f9000281 str x1, [x20] if ( end == s ) 40025ce4: eb0102df cmp x22, x1 40025ce8: 540002c0 b.eq 40025d40 // b.none return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40025cec: 940026ec bl 4002f89c <__errno> 40025cf0: b9400000 ldr w0, [x0] 40025cf4: 7100881f cmp w0, #0x22 40025cf8: 54000140 b.eq 40025d20 // b.none (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) return RTEMS_INVALID_NUMBER; #if (INT_MAX < LONG_MAX) if ( result > INT_MAX ) { 40025cfc: b2407be0 mov x0, #0x7fffffff // #2147483647 40025d00: eb0002bf cmp x21, x0 40025d04: 5400028c b.gt 40025d54 <== NEVER TAKEN } #endif *n = result; return RTEMS_SUCCESSFUL; 40025d08: 52800000 mov w0, #0x0 // #0 *n = result; 40025d0c: b9000275 str w21, [x19] } 40025d10: a94153f3 ldp x19, x20, [sp, #16] 40025d14: a9425bf5 ldp x21, x22, [sp, #32] 40025d18: a8c47bfd ldp x29, x30, [sp], #64 40025d1c: d65f03c0 ret (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) 40025d20: f240fabf tst x21, #0x7fffffffffffffff 40025d24: 92f00001 mov x1, #0x7fffffffffffffff // #9223372036854775807 return RTEMS_INVALID_NUMBER; 40025d28: 52800140 mov w0, #0xa // #10 (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) 40025d2c: fa4112a4 ccmp x21, x1, #0x4, ne // ne = any 40025d30: 54fffe61 b.ne 40025cfc // b.any <== NEVER TAKEN 40025d34: 17fffff7 b 40025d10 return RTEMS_INVALID_ADDRESS; 40025d38: 52800120 mov w0, #0x9 // #9 } 40025d3c: d65f03c0 ret return RTEMS_NOT_DEFINED; 40025d40: 52800160 mov w0, #0xb // #11 } 40025d44: a94153f3 ldp x19, x20, [sp, #16] 40025d48: a9425bf5 ldp x21, x22, [sp, #32] 40025d4c: a8c47bfd ldp x29, x30, [sp], #64 40025d50: d65f03c0 ret errno = ERANGE; 40025d54: 940026d2 bl 4002f89c <__errno> <== NOT EXECUTED 40025d58: aa0003e1 mov x1, x0 <== NOT EXECUTED 40025d5c: 52800442 mov w2, #0x22 // #34 <== NOT EXECUTED return RTEMS_INVALID_NUMBER; 40025d60: 52800140 mov w0, #0xa // #10 <== NOT EXECUTED errno = ERANGE; 40025d64: b9000022 str w2, [x1] <== NOT EXECUTED return RTEMS_INVALID_NUMBER; 40025d68: 17ffffea b 40025d10 <== NOT EXECUTED 40025d6c: 00000000 udf #0 =============================================================================== 0000000040025d70 : ) { long result; char *end; if ( !n ) 40025d70: b40004e1 cbz x1, 40025e0c { 40025d74: a9bc7bfd stp x29, x30, [sp, #-64]! 40025d78: 910003fd mov x29, sp 40025d7c: a90153f3 stp x19, x20, [sp, #16] 40025d80: aa0103f3 mov x19, x1 40025d84: aa0203f4 mov x20, x2 40025d88: a9025bf5 stp x21, x22, [sp, #32] 40025d8c: 2a0303f5 mov w21, w3 40025d90: aa0003f6 mov x22, x0 return RTEMS_INVALID_ADDRESS; errno = 0; 40025d94: 940026c2 bl 4002f89c <__errno> 40025d98: aa0003e3 mov x3, x0 *n = 0; result = strtol( s, &end, base ); 40025d9c: 2a1503e2 mov w2, w21 40025da0: 9100e3e1 add x1, sp, #0x38 40025da4: aa1603e0 mov x0, x22 errno = 0; 40025da8: b900007f str wzr, [x3] *n = 0; 40025dac: f900027f str xzr, [x19] result = strtol( s, &end, base ); 40025db0: 94003028 bl 40031e50 40025db4: aa0003f5 mov x21, x0 if ( endptr ) *endptr = end; 40025db8: f9401fe1 ldr x1, [sp, #56] if ( endptr ) 40025dbc: b4000054 cbz x20, 40025dc4 *endptr = end; 40025dc0: f9000281 str x1, [x20] if ( end == s ) 40025dc4: eb0102df cmp x22, x1 40025dc8: 54000260 b.eq 40025e14 // b.none return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40025dcc: 940026b4 bl 4002f89c <__errno> 40025dd0: b9400000 ldr w0, [x0] 40025dd4: 7100881f cmp w0, #0x22 40025dd8: 540000e0 b.eq 40025df4 // b.none (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) return RTEMS_INVALID_NUMBER; *n = result; return RTEMS_SUCCESSFUL; 40025ddc: 52800000 mov w0, #0x0 // #0 *n = result; 40025de0: f9000275 str x21, [x19] } 40025de4: a94153f3 ldp x19, x20, [sp, #16] 40025de8: a9425bf5 ldp x21, x22, [sp, #32] 40025dec: a8c47bfd ldp x29, x30, [sp], #64 40025df0: d65f03c0 ret (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) 40025df4: f240fabf tst x21, #0x7fffffffffffffff 40025df8: 92f00001 mov x1, #0x7fffffffffffffff // #9223372036854775807 return RTEMS_INVALID_NUMBER; 40025dfc: 52800140 mov w0, #0xa // #10 (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) 40025e00: fa4112a4 ccmp x21, x1, #0x4, ne // ne = any 40025e04: 54fffec1 b.ne 40025ddc // b.any <== NEVER TAKEN 40025e08: 17fffff7 b 40025de4 return RTEMS_INVALID_ADDRESS; 40025e0c: 52800120 mov w0, #0x9 // #9 } 40025e10: d65f03c0 ret return RTEMS_NOT_DEFINED; 40025e14: 52800160 mov w0, #0xb // #11 } 40025e18: a94153f3 ldp x19, x20, [sp, #16] 40025e1c: a9425bf5 ldp x21, x22, [sp, #32] 40025e20: a8c47bfd ldp x29, x30, [sp], #64 40025e24: d65f03c0 ret ... =============================================================================== 0000000040025e30 : ) { long long result; char *end; if ( !n ) 40025e30: b40004e1 cbz x1, 40025ecc { 40025e34: a9bc7bfd stp x29, x30, [sp, #-64]! 40025e38: 910003fd mov x29, sp 40025e3c: a90153f3 stp x19, x20, [sp, #16] 40025e40: aa0103f3 mov x19, x1 40025e44: aa0203f4 mov x20, x2 40025e48: a9025bf5 stp x21, x22, [sp, #32] 40025e4c: 2a0303f5 mov w21, w3 40025e50: aa0003f6 mov x22, x0 return RTEMS_INVALID_ADDRESS; errno = 0; 40025e54: 94002692 bl 4002f89c <__errno> 40025e58: aa0003e3 mov x3, x0 *n = 0; result = strtoll( s, &end, base ); 40025e5c: 2a1503e2 mov w2, w21 40025e60: 9100e3e1 add x1, sp, #0x38 40025e64: aa1603e0 mov x0, x22 errno = 0; 40025e68: b900007f str wzr, [x3] *n = 0; 40025e6c: f900027f str xzr, [x19] result = strtoll( s, &end, base ); 40025e70: 940030b6 bl 40032148 40025e74: aa0003f5 mov x21, x0 if ( endptr ) *endptr = end; 40025e78: f9401fe1 ldr x1, [sp, #56] if ( endptr ) 40025e7c: b4000054 cbz x20, 40025e84 *endptr = end; 40025e80: f9000281 str x1, [x20] if ( end == s ) 40025e84: eb0102df cmp x22, x1 40025e88: 54000260 b.eq 40025ed4 // b.none return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40025e8c: 94002684 bl 4002f89c <__errno> 40025e90: b9400000 ldr w0, [x0] 40025e94: 7100881f cmp w0, #0x22 40025e98: 540000e0 b.eq 40025eb4 // b.none (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN ))) return RTEMS_INVALID_NUMBER; *n = result; return RTEMS_SUCCESSFUL; 40025e9c: 52800000 mov w0, #0x0 // #0 *n = result; 40025ea0: f9000275 str x21, [x19] } 40025ea4: a94153f3 ldp x19, x20, [sp, #16] 40025ea8: a9425bf5 ldp x21, x22, [sp, #32] 40025eac: a8c47bfd ldp x29, x30, [sp], #64 40025eb0: d65f03c0 ret (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN ))) 40025eb4: f240fabf tst x21, #0x7fffffffffffffff 40025eb8: 92f00001 mov x1, #0x7fffffffffffffff // #9223372036854775807 return RTEMS_INVALID_NUMBER; 40025ebc: 52800140 mov w0, #0xa // #10 (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN ))) 40025ec0: fa4112a4 ccmp x21, x1, #0x4, ne // ne = any 40025ec4: 54fffec1 b.ne 40025e9c // b.any <== NEVER TAKEN 40025ec8: 17fffff7 b 40025ea4 return RTEMS_INVALID_ADDRESS; 40025ecc: 52800120 mov w0, #0x9 // #9 } 40025ed0: d65f03c0 ret return RTEMS_NOT_DEFINED; 40025ed4: 52800160 mov w0, #0xb // #11 } 40025ed8: a94153f3 ldp x19, x20, [sp, #16] 40025edc: a9425bf5 ldp x21, x22, [sp, #32] 40025ee0: a8c47bfd ldp x29, x30, [sp], #64 40025ee4: d65f03c0 ret ... =============================================================================== 0000000040025f00 : ) { unsigned long result; char *end; if ( !n ) 40025f00: b4000501 cbz x1, 40025fa0 { 40025f04: a9bc7bfd stp x29, x30, [sp, #-64]! 40025f08: 910003fd mov x29, sp 40025f0c: a90153f3 stp x19, x20, [sp, #16] 40025f10: aa0103f3 mov x19, x1 40025f14: aa0203f4 mov x20, x2 40025f18: a9025bf5 stp x21, x22, [sp, #32] 40025f1c: 2a0303f5 mov w21, w3 40025f20: aa0003f6 mov x22, x0 return RTEMS_INVALID_ADDRESS; errno = 0; 40025f24: 9400265e bl 4002f89c <__errno> 40025f28: aa0003e3 mov x3, x0 *n = 0; result = strtoul( s, &end, base ); 40025f2c: 2a1503e2 mov w2, w21 40025f30: 9100e3e1 add x1, sp, #0x38 40025f34: aa1603e0 mov x0, x22 errno = 0; 40025f38: b900007f str wzr, [x3] *n = 0; 40025f3c: 3900027f strb wzr, [x19] result = strtoul( s, &end, base ); 40025f40: 94003137 bl 4003241c 40025f44: aa0003f5 mov x21, x0 if ( endptr ) *endptr = end; 40025f48: f9401fe1 ldr x1, [sp, #56] if ( endptr ) 40025f4c: b4000054 cbz x20, 40025f54 *endptr = end; 40025f50: f9000281 str x1, [x20] if ( end == s ) 40025f54: eb0102df cmp x22, x1 40025f58: 54000280 b.eq 40025fa8 // b.none return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40025f5c: 94002650 bl 4002f89c <__errno> 40025f60: b9400000 ldr w0, [x0] 40025f64: 7100881f cmp w0, #0x22 40025f68: 54000120 b.eq 40025f8c // b.none (( result == 0 ) || ( result == ULONG_MAX ))) return RTEMS_INVALID_NUMBER; #if (UCHAR_MAX < ULONG_MAX) if ( result > UCHAR_MAX ) { 40025f6c: f103febf cmp x21, #0xff 40025f70: 54000268 b.hi 40025fbc // b.pmore } #endif *n = result; return RTEMS_SUCCESSFUL; 40025f74: 52800000 mov w0, #0x0 // #0 *n = result; 40025f78: 39000275 strb w21, [x19] } 40025f7c: a94153f3 ldp x19, x20, [sp, #16] 40025f80: a9425bf5 ldp x21, x22, [sp, #32] 40025f84: a8c47bfd ldp x29, x30, [sp], #64 40025f88: d65f03c0 ret (( result == 0 ) || ( result == ULONG_MAX ))) 40025f8c: d10006a1 sub x1, x21, #0x1 return RTEMS_INVALID_NUMBER; 40025f90: 52800140 mov w0, #0xa // #10 if ( ( errno == ERANGE ) && 40025f94: b1000c3f cmn x1, #0x3 40025f98: 54fffea9 b.ls 40025f6c // b.plast<== NEVER TAKEN 40025f9c: 17fffff8 b 40025f7c return RTEMS_INVALID_ADDRESS; 40025fa0: 52800120 mov w0, #0x9 // #9 } 40025fa4: d65f03c0 ret return RTEMS_NOT_DEFINED; 40025fa8: 52800160 mov w0, #0xb // #11 } 40025fac: a94153f3 ldp x19, x20, [sp, #16] 40025fb0: a9425bf5 ldp x21, x22, [sp, #32] 40025fb4: a8c47bfd ldp x29, x30, [sp], #64 40025fb8: d65f03c0 ret errno = ERANGE; 40025fbc: 94002638 bl 4002f89c <__errno> 40025fc0: aa0003e1 mov x1, x0 40025fc4: 52800442 mov w2, #0x22 // #34 return RTEMS_INVALID_NUMBER; 40025fc8: 52800140 mov w0, #0xa // #10 errno = ERANGE; 40025fcc: b9000022 str w2, [x1] return RTEMS_INVALID_NUMBER; 40025fd0: 17ffffeb b 40025f7c ... =============================================================================== 0000000040025fe0 : ) { unsigned long result; char *end; if ( !n ) 40025fe0: b4000521 cbz x1, 40026084 { 40025fe4: a9bc7bfd stp x29, x30, [sp, #-64]! 40025fe8: 910003fd mov x29, sp 40025fec: a90153f3 stp x19, x20, [sp, #16] 40025ff0: aa0103f3 mov x19, x1 40025ff4: aa0203f4 mov x20, x2 40025ff8: a9025bf5 stp x21, x22, [sp, #32] 40025ffc: 2a0303f5 mov w21, w3 40026000: aa0003f6 mov x22, x0 return RTEMS_INVALID_ADDRESS; errno = 0; 40026004: 94002626 bl 4002f89c <__errno> 40026008: aa0003e3 mov x3, x0 *n = 0; result = strtoul( s, &end, base ); 4002600c: 2a1503e2 mov w2, w21 40026010: 9100e3e1 add x1, sp, #0x38 40026014: aa1603e0 mov x0, x22 errno = 0; 40026018: b900007f str wzr, [x3] *n = 0; 4002601c: b900027f str wzr, [x19] result = strtoul( s, &end, base ); 40026020: 940030ff bl 4003241c 40026024: aa0003f5 mov x21, x0 if ( endptr ) *endptr = end; 40026028: f9401fe1 ldr x1, [sp, #56] if ( endptr ) 4002602c: b4000054 cbz x20, 40026034 *endptr = end; 40026030: f9000281 str x1, [x20] if ( end == s ) 40026034: eb0102df cmp x22, x1 40026038: 540002a0 b.eq 4002608c // b.none return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4002603c: 94002618 bl 4002f89c <__errno> 40026040: b9400000 ldr w0, [x0] 40026044: 7100881f cmp w0, #0x22 40026048: 54000140 b.eq 40026070 // b.none (( result == 0 ) || ( result == ULONG_MAX ))) return RTEMS_INVALID_NUMBER; #if (UINT_MAX < ULONG_MAX) if ( result > UINT_MAX ) { 4002604c: b2407fe0 mov x0, #0xffffffff // #4294967295 40026050: eb0002bf cmp x21, x0 40026054: 54000268 b.hi 400260a0 // b.pmore<== NEVER TAKEN } #endif *n = result; return RTEMS_SUCCESSFUL; 40026058: 52800000 mov w0, #0x0 // #0 *n = result; 4002605c: b9000275 str w21, [x19] } 40026060: a94153f3 ldp x19, x20, [sp, #16] 40026064: a9425bf5 ldp x21, x22, [sp, #32] 40026068: a8c47bfd ldp x29, x30, [sp], #64 4002606c: d65f03c0 ret (( result == 0 ) || ( result == ULONG_MAX ))) 40026070: d10006a1 sub x1, x21, #0x1 return RTEMS_INVALID_NUMBER; 40026074: 52800140 mov w0, #0xa // #10 if ( ( errno == ERANGE ) && 40026078: b1000c3f cmn x1, #0x3 4002607c: 54fffe89 b.ls 4002604c // b.plast<== NEVER TAKEN 40026080: 17fffff8 b 40026060 return RTEMS_INVALID_ADDRESS; 40026084: 52800120 mov w0, #0x9 // #9 } 40026088: d65f03c0 ret return RTEMS_NOT_DEFINED; 4002608c: 52800160 mov w0, #0xb // #11 } 40026090: a94153f3 ldp x19, x20, [sp, #16] 40026094: a9425bf5 ldp x21, x22, [sp, #32] 40026098: a8c47bfd ldp x29, x30, [sp], #64 4002609c: d65f03c0 ret errno = ERANGE; 400260a0: 940025ff bl 4002f89c <__errno> <== NOT EXECUTED 400260a4: aa0003e1 mov x1, x0 <== NOT EXECUTED 400260a8: 52800442 mov w2, #0x22 // #34 <== NOT EXECUTED return RTEMS_INVALID_NUMBER; 400260ac: 52800140 mov w0, #0xa // #10 <== NOT EXECUTED errno = ERANGE; 400260b0: b9000022 str w2, [x1] <== NOT EXECUTED return RTEMS_INVALID_NUMBER; 400260b4: 17ffffeb b 40026060 <== NOT EXECUTED ... =============================================================================== 000000004002bda0 : ) { unsigned long result; char *end; if ( !n ) 4002bda0: b40004c1 cbz x1, 4002be38 { 4002bda4: a9bc7bfd stp x29, x30, [sp, #-64]! 4002bda8: 910003fd mov x29, sp 4002bdac: a90153f3 stp x19, x20, [sp, #16] 4002bdb0: aa0103f3 mov x19, x1 4002bdb4: aa0203f4 mov x20, x2 4002bdb8: a9025bf5 stp x21, x22, [sp, #32] 4002bdbc: 2a0303f5 mov w21, w3 4002bdc0: aa0003f6 mov x22, x0 return RTEMS_INVALID_ADDRESS; errno = 0; 4002bdc4: 94002c84 bl 40036fd4 <__errno> 4002bdc8: aa0003e3 mov x3, x0 *n = 0; result = strtoul( s, &end, base ); 4002bdcc: 2a1503e2 mov w2, w21 4002bdd0: 9100e3e1 add x1, sp, #0x38 4002bdd4: aa1603e0 mov x0, x22 errno = 0; 4002bdd8: b900007f str wzr, [x3] *n = 0; 4002bddc: f900027f str xzr, [x19] result = strtoul( s, &end, base ); 4002bde0: 94004bea bl 4003ed88 4002bde4: aa0003f5 mov x21, x0 if ( endptr ) *endptr = end; 4002bde8: f9401fe1 ldr x1, [sp, #56] if ( endptr ) 4002bdec: b4000054 cbz x20, 4002bdf4 *endptr = end; 4002bdf0: f9000281 str x1, [x20] if ( end == s ) 4002bdf4: eb0102df cmp x22, x1 4002bdf8: 54000240 b.eq 4002be40 // b.none return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4002bdfc: 94002c76 bl 40036fd4 <__errno> 4002be00: b9400000 ldr w0, [x0] 4002be04: 7100881f cmp w0, #0x22 4002be08: 540000e0 b.eq 4002be24 // b.none (( result == 0 ) || ( result == ULONG_MAX ))) return RTEMS_INVALID_NUMBER; *n = result; return RTEMS_SUCCESSFUL; 4002be0c: 52800000 mov w0, #0x0 // #0 *n = result; 4002be10: f9000275 str x21, [x19] } 4002be14: a94153f3 ldp x19, x20, [sp, #16] 4002be18: a9425bf5 ldp x21, x22, [sp, #32] 4002be1c: a8c47bfd ldp x29, x30, [sp], #64 4002be20: d65f03c0 ret (( result == 0 ) || ( result == ULONG_MAX ))) 4002be24: d10006a1 sub x1, x21, #0x1 return RTEMS_INVALID_NUMBER; 4002be28: 52800140 mov w0, #0xa // #10 if ( ( errno == ERANGE ) && 4002be2c: b1000c3f cmn x1, #0x3 4002be30: 54fffee9 b.ls 4002be0c // b.plast<== NEVER TAKEN 4002be34: 17fffff8 b 4002be14 return RTEMS_INVALID_ADDRESS; 4002be38: 52800120 mov w0, #0x9 // #9 } 4002be3c: d65f03c0 ret return RTEMS_NOT_DEFINED; 4002be40: 52800160 mov w0, #0xb // #11 } 4002be44: a94153f3 ldp x19, x20, [sp, #16] 4002be48: a9425bf5 ldp x21, x22, [sp, #32] 4002be4c: a8c47bfd ldp x29, x30, [sp], #64 4002be50: d65f03c0 ret ... =============================================================================== 0000000040026180 : ) { unsigned long long result; char *end; if ( !n ) 40026180: b40004c1 cbz x1, 40026218 { 40026184: a9bc7bfd stp x29, x30, [sp, #-64]! 40026188: 910003fd mov x29, sp 4002618c: a90153f3 stp x19, x20, [sp, #16] 40026190: aa0103f3 mov x19, x1 40026194: aa0203f4 mov x20, x2 40026198: a9025bf5 stp x21, x22, [sp, #32] 4002619c: 2a0303f5 mov w21, w3 400261a0: aa0003f6 mov x22, x0 return RTEMS_INVALID_ADDRESS; errno = 0; 400261a4: 940025be bl 4002f89c <__errno> 400261a8: aa0003e3 mov x3, x0 *n = 0; result = strtoull( s, &end, base ); 400261ac: 2a1503e2 mov w2, w21 400261b0: 9100e3e1 add x1, sp, #0x38 400261b4: aa1603e0 mov x0, x22 errno = 0; 400261b8: b900007f str wzr, [x3] *n = 0; 400261bc: f900027f str xzr, [x19] result = strtoull( s, &end, base ); 400261c0: 9400314c bl 400326f0 400261c4: aa0003f5 mov x21, x0 if ( endptr ) *endptr = end; 400261c8: f9401fe1 ldr x1, [sp, #56] if ( endptr ) 400261cc: b4000054 cbz x20, 400261d4 *endptr = end; 400261d0: f9000281 str x1, [x20] if ( end == s ) 400261d4: eb0102df cmp x22, x1 400261d8: 54000240 b.eq 40026220 // b.none return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 400261dc: 940025b0 bl 4002f89c <__errno> 400261e0: b9400000 ldr w0, [x0] 400261e4: 7100881f cmp w0, #0x22 400261e8: 540000e0 b.eq 40026204 // b.none (( result == 0 ) || ( result == ULONG_LONG_MAX ))) return RTEMS_INVALID_NUMBER; *n = result; return RTEMS_SUCCESSFUL; 400261ec: 52800000 mov w0, #0x0 // #0 *n = result; 400261f0: f9000275 str x21, [x19] } 400261f4: a94153f3 ldp x19, x20, [sp, #16] 400261f8: a9425bf5 ldp x21, x22, [sp, #32] 400261fc: a8c47bfd ldp x29, x30, [sp], #64 40026200: d65f03c0 ret (( result == 0 ) || ( result == ULONG_LONG_MAX ))) 40026204: d10006a1 sub x1, x21, #0x1 return RTEMS_INVALID_NUMBER; 40026208: 52800140 mov w0, #0xa // #10 if ( ( errno == ERANGE ) && 4002620c: b1000c3f cmn x1, #0x3 40026210: 54fffee9 b.ls 400261ec // b.plast<== NEVER TAKEN 40026214: 17fffff8 b 400261f4 return RTEMS_INVALID_ADDRESS; 40026218: 52800120 mov w0, #0x9 // #9 } 4002621c: d65f03c0 ret return RTEMS_NOT_DEFINED; 40026220: 52800160 mov w0, #0xb // #11 } 40026224: a94153f3 ldp x19, x20, [sp, #16] 40026228: a9425bf5 ldp x21, x22, [sp, #32] 4002622c: a8c47bfd ldp x29, x30, [sp], #64 40026230: d65f03c0 ret ...