RTEMS-6
Annotated Report
libstringto
Mon Mar 1 00:25:57 2021
0000000040025ad0 <rtems_string_to_double>:
)
{
double result;
char *end;
if ( !n )
40025ad0: b40005e1 cbz x1, 40025b8c <rtems_string_to_double+0xbc>
{
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 <strtod>
40025b10: 1e604008 fmov d8, d0
if ( endptr )
*endptr = end;
40025b14: f9401fe0 ldr x0, [sp, #56]
if ( endptr )
40025b18: b4000055 cbz x21, 40025b20 <rtems_string_to_double+0x50>
*endptr = end;
40025b1c: f90002a0 str x0, [x21]
if ( end == s )
40025b20: eb00029f cmp x20, x0
40025b24: 54000380 b.eq 40025b94 <rtems_string_to_double+0xc4> // 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 <rtems_string_to_double+0x84> // 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 <rtems_string_to_double+0x68> <== NEVER TAKEN
40025b88: 17ffffee b 40025b40 <rtems_string_to_double+0x70>
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 <rtems_string_to_float>:
)
{
float result;
char *end;
if ( !n )
40025bb0: b40005c1 cbz x1, 40025c68 <rtems_string_to_float+0xb8>
{
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 <strtof>
40025bf0: 1e204008 fmov s8, s0
if ( endptr )
*endptr = end;
40025bf4: f9401fe0 ldr x0, [sp, #56]
if ( endptr )
40025bf8: b4000055 cbz x21, 40025c00 <rtems_string_to_float+0x50>
*endptr = end;
40025bfc: f90002a0 str x0, [x21]
if ( end == s )
40025c00: eb00029f cmp x20, x0
40025c04: 54000360 b.eq 40025c70 <rtems_string_to_float+0xc0> // 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 <rtems_string_to_float+0x84> // 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 <rtems_string_to_float+0x68> <== NEVER TAKEN
40025c64: 17ffffef b 40025c20 <rtems_string_to_float+0x70>
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 <rtems_string_to_int>:
)
{
long result;
char *end;
if ( !n )
40025c90: b4000541 cbz x1, 40025d38 <rtems_string_to_int+0xa8>
{
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 <strtol>
40025cd4: aa0003f5 mov x21, x0
if ( endptr )
*endptr = end;
40025cd8: f9401fe1 ldr x1, [sp, #56]
if ( endptr )
40025cdc: b4000054 cbz x20, 40025ce4 <rtems_string_to_int+0x54>
*endptr = end;
40025ce0: f9000281 str x1, [x20]
if ( end == s )
40025ce4: eb0102df cmp x22, x1
40025ce8: 540002c0 b.eq 40025d40 <rtems_string_to_int+0xb0> // 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 <rtems_string_to_int+0x90> // 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 <rtems_string_to_int+0xc4> <== 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 <rtems_string_to_int+0x6c> // b.any <== NEVER TAKEN
40025d34: 17fffff7 b 40025d10 <rtems_string_to_int+0x80>
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 <rtems_string_to_int+0x80> <== NOT EXECUTED
40025d6c: 00000000 udf #0
0000000040025d70 <rtems_string_to_long>:
)
{
long result;
char *end;
if ( !n )
40025d70: b40004e1 cbz x1, 40025e0c <rtems_string_to_long+0x9c>
{
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 <strtol>
40025db4: aa0003f5 mov x21, x0
if ( endptr )
*endptr = end;
40025db8: f9401fe1 ldr x1, [sp, #56]
if ( endptr )
40025dbc: b4000054 cbz x20, 40025dc4 <rtems_string_to_long+0x54>
*endptr = end;
40025dc0: f9000281 str x1, [x20]
if ( end == s )
40025dc4: eb0102df cmp x22, x1
40025dc8: 54000260 b.eq 40025e14 <rtems_string_to_long+0xa4> // 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 <rtems_string_to_long+0x84> // 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 <rtems_string_to_long+0x6c> // b.any <== NEVER TAKEN
40025e08: 17fffff7 b 40025de4 <rtems_string_to_long+0x74>
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 <rtems_string_to_long_long>:
)
{
long long result;
char *end;
if ( !n )
40025e30: b40004e1 cbz x1, 40025ecc <rtems_string_to_long_long+0x9c>
{
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 <strtoll>
40025e74: aa0003f5 mov x21, x0
if ( endptr )
*endptr = end;
40025e78: f9401fe1 ldr x1, [sp, #56]
if ( endptr )
40025e7c: b4000054 cbz x20, 40025e84 <rtems_string_to_long_long+0x54>
*endptr = end;
40025e80: f9000281 str x1, [x20]
if ( end == s )
40025e84: eb0102df cmp x22, x1
40025e88: 54000260 b.eq 40025ed4 <rtems_string_to_long_long+0xa4> // 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 <rtems_string_to_long_long+0x84> // 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 <rtems_string_to_long_long+0x6c> // b.any <== NEVER TAKEN
40025ec8: 17fffff7 b 40025ea4 <rtems_string_to_long_long+0x74>
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 <rtems_string_to_unsigned_char>:
)
{
unsigned long result;
char *end;
if ( !n )
40025f00: b4000501 cbz x1, 40025fa0 <rtems_string_to_unsigned_char+0xa0>
{
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 <strtoul>
40025f44: aa0003f5 mov x21, x0
if ( endptr )
*endptr = end;
40025f48: f9401fe1 ldr x1, [sp, #56]
if ( endptr )
40025f4c: b4000054 cbz x20, 40025f54 <rtems_string_to_unsigned_char+0x54>
*endptr = end;
40025f50: f9000281 str x1, [x20]
if ( end == s )
40025f54: eb0102df cmp x22, x1
40025f58: 54000280 b.eq 40025fa8 <rtems_string_to_unsigned_char+0xa8> // 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 <rtems_string_to_unsigned_char+0x8c> // 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 <rtems_string_to_unsigned_char+0xbc> // 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 <rtems_string_to_unsigned_char+0x6c> // b.plast<== NEVER TAKEN
40025f9c: 17fffff8 b 40025f7c <rtems_string_to_unsigned_char+0x7c>
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 <rtems_string_to_unsigned_char+0x7c>
...
0000000040025fe0 <rtems_string_to_unsigned_int>:
)
{
unsigned long result;
char *end;
if ( !n )
40025fe0: b4000521 cbz x1, 40026084 <rtems_string_to_unsigned_int+0xa4>
{
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 <strtoul>
40026024: aa0003f5 mov x21, x0
if ( endptr )
*endptr = end;
40026028: f9401fe1 ldr x1, [sp, #56]
if ( endptr )
4002602c: b4000054 cbz x20, 40026034 <rtems_string_to_unsigned_int+0x54>
*endptr = end;
40026030: f9000281 str x1, [x20]
if ( end == s )
40026034: eb0102df cmp x22, x1
40026038: 540002a0 b.eq 4002608c <rtems_string_to_unsigned_int+0xac> // 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 <rtems_string_to_unsigned_int+0x90> // 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 <rtems_string_to_unsigned_int+0xc0> // 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 <rtems_string_to_unsigned_int+0x6c> // b.plast<== NEVER TAKEN
40026080: 17fffff8 b 40026060 <rtems_string_to_unsigned_int+0x80>
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 <rtems_string_to_unsigned_int+0x80> <== NOT EXECUTED
...
000000004002bda0 <rtems_string_to_unsigned_long>:
)
{
unsigned long result;
char *end;
if ( !n )
4002bda0: b40004c1 cbz x1, 4002be38 <rtems_string_to_unsigned_long+0x98>
{
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 <strtoul>
4002bde4: aa0003f5 mov x21, x0
if ( endptr )
*endptr = end;
4002bde8: f9401fe1 ldr x1, [sp, #56]
if ( endptr )
4002bdec: b4000054 cbz x20, 4002bdf4 <rtems_string_to_unsigned_long+0x54>
*endptr = end;
4002bdf0: f9000281 str x1, [x20]
if ( end == s )
4002bdf4: eb0102df cmp x22, x1
4002bdf8: 54000240 b.eq 4002be40 <rtems_string_to_unsigned_long+0xa0> // 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 <rtems_string_to_unsigned_long+0x84> // 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 <rtems_string_to_unsigned_long+0x6c> // b.plast<== NEVER TAKEN
4002be34: 17fffff8 b 4002be14 <rtems_string_to_unsigned_long+0x74>
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 <rtems_string_to_unsigned_long_long>:
)
{
unsigned long long result;
char *end;
if ( !n )
40026180: b40004c1 cbz x1, 40026218 <rtems_string_to_unsigned_long_long+0x98>
{
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 <strtoull>
400261c4: aa0003f5 mov x21, x0
if ( endptr )
*endptr = end;
400261c8: f9401fe1 ldr x1, [sp, #56]
if ( endptr )
400261cc: b4000054 cbz x20, 400261d4 <rtems_string_to_unsigned_long_long+0x54>
*endptr = end;
400261d0: f9000281 str x1, [x20]
if ( end == s )
400261d4: eb0102df cmp x22, x1
400261d8: 54000240 b.eq 40026220 <rtems_string_to_unsigned_long_long+0xa0> // 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 <rtems_string_to_unsigned_long_long+0x84> // 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 <rtems_string_to_unsigned_long_long+0x6c> // b.plast<== NEVER TAKEN
40026214: 17fffff8 b 400261f4 <rtems_string_to_unsigned_long_long+0x74>
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
...