RTEMS-6
Annotated Report
libstringto
Sun Feb 28 22:34:38 2021
40005cb0 <rtems_string_to_double>:
rtems_status_code rtems_string_to_double (
const char *s,
double *n,
char **endptr
)
{
40005cb0: 9d e3 bf 90 save %sp, -112, %sp
double result;
char *end;
if ( !n )
40005cb4: 80 a6 60 00 cmp %i1, 0
40005cb8: 02 80 00 44 be 40005dc8 <rtems_string_to_double+0x118>
40005cbc: 01 00 00 00 nop
return RTEMS_INVALID_ADDRESS;
errno = 0;
40005cc0: 40 00 27 f3 call 4000fc8c <__errno>
40005cc4: 01 00 00 00 nop
40005cc8: c0 22 00 00 clr [ %o0 ]
*n = 0;
result = strtod( s, &end );
40005ccc: 92 07 bf fc add %fp, -4, %o1
*n = 0;
40005cd0: c0 26 40 00 clr [ %i1 ]
result = strtod( s, &end );
40005cd4: 90 10 00 18 mov %i0, %o0
40005cd8: 40 00 2e f8 call 400118b8 <strtod>
40005cdc: c0 26 60 04 clr [ %i1 + 4 ]
if ( endptr )
40005ce0: 80 a6 a0 00 cmp %i2, 0
40005ce4: 02 80 00 03 be 40005cf0 <rtems_string_to_double+0x40>
40005ce8: c2 07 bf fc ld [ %fp + -4 ], %g1
*endptr = end;
40005cec: c2 26 80 00 st %g1, [ %i2 ]
if ( end == s )
40005cf0: 80 a6 00 01 cmp %i0, %g1
40005cf4: 02 80 00 37 be 40005dd0 <rtems_string_to_double+0x120>
40005cf8: c1 3f bf f0 std %f0, [ %fp + -16 ]
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
40005cfc: 40 00 27 e4 call 4000fc8c <__errno>
40005d00: 01 00 00 00 nop
40005d04: c2 02 00 00 ld [ %o0 ], %g1
40005d08: 80 a0 60 22 cmp %g1, 0x22
40005d0c: 02 80 00 05 be 40005d20 <rtems_string_to_double+0x70>
40005d10: c1 1f bf f0 ldd [ %fp + -16 ], %f0
(( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))
return RTEMS_INVALID_NUMBER;
*n = result;
40005d14: c1 3e 40 00 std %f0, [ %i1 ]
return RTEMS_SUCCESSFUL;
40005d18: 81 c7 e0 08 ret
40005d1c: 91 e8 20 00 restore %g0, 0, %o0
(( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))
40005d20: 03 10 00 58 sethi %hi(0x40016000), %g1
40005d24: d1 18 61 f0 ldd [ %g1 + 0x1f0 ], %f8 ! 400161f0 <_rodata_start+0x1790>
40005d28: 81 a8 0a 48 fcmpd %f0, %f8
40005d2c: 01 00 00 00 nop
40005d30: 03 80 00 1d fbne 40005da4 <rtems_string_to_double+0xf4>
40005d34: 82 10 20 01 mov 1, %g1 ! 1 <_TLS_Alignment>
40005d38: 05 10 00 59 sethi %hi(0x40016400), %g2 <== NOT EXECUTED
40005d3c: d1 18 a2 a0 ldd [ %g2 + 0x2a0 ], %f8 ! 400166a0 <IMFS_node_control_sym_link+0x14><== NOT EXECUTED
40005d40: 81 a8 0a 48 fcmpd %f0, %f8 <== NOT EXECUTED
40005d44: 01 00 00 00 nop <== NOT EXECUTED
40005d48: 03 80 00 11 fbne 40005d8c <rtems_string_to_double+0xdc> <== NOT EXECUTED
40005d4c: 84 10 20 01 mov 1, %g2 ! 1 <_TLS_Alignment> <== NOT EXECUTED
40005d50: 82 10 40 02 or %g1, %g2, %g1
40005d54: 80 88 60 01 btst 1, %g1
40005d58: 12 80 00 0b bne 40005d84 <rtems_string_to_double+0xd4> <== ALWAYS TAKEN
40005d5c: 03 10 00 59 sethi %hi(0x40016400), %g1
40005d60: d1 18 62 a8 ldd [ %g1 + 0x2a8 ], %f8 ! 400166a8 <IMFS_node_control_sym_link+0x1c>
40005d64: 81 a8 0a 48 fcmpd %f0, %f8
40005d68: 01 00 00 00 nop
40005d6c: 19 80 00 03 fbuge 40005d78 <rtems_string_to_double+0xc8>
40005d70: 82 10 20 01 mov 1, %g1 ! 1 <_TLS_Alignment>
40005d74: 82 10 20 00 clr %g1
40005d78: 80 88 60 ff btst 0xff, %g1
40005d7c: 32 bf ff e7 bne,a 40005d18 <rtems_string_to_double+0x68> <== NEVER TAKEN
40005d80: c1 3e 40 00 std %f0, [ %i1 ] <== NOT EXECUTED
}
40005d84: 81 c7 e0 08 ret
40005d88: 91 e8 20 0a restore %g0, 0xa, %o0
(( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL )))
40005d8c: 84 10 20 00 clr %g2 <== NOT EXECUTED
40005d90: 82 10 40 02 or %g1, %g2, %g1
40005d94: 80 88 60 01 btst 1, %g1
40005d98: 02 bf ff f2 be 40005d60 <rtems_string_to_double+0xb0> <== ALWAYS TAKEN
40005d9c: 03 10 00 59 sethi %hi(0x40016400), %g1
40005da0: 30 bf ff f9 b,a 40005d84 <rtems_string_to_double+0xd4> <== NOT EXECUTED
40005da4: 05 10 00 59 sethi %hi(0x40016400), %g2
40005da8: d1 18 a2 a0 ldd [ %g2 + 0x2a0 ], %f8 ! 400166a0 <IMFS_node_control_sym_link+0x14>
40005dac: 81 a8 0a 48 fcmpd %f0, %f8
40005db0: 82 10 20 00 clr %g1
40005db4: 01 00 00 00 nop
40005db8: 13 bf ff e6 fbe 40005d50 <rtems_string_to_double+0xa0>
40005dbc: 84 10 20 01 mov 1, %g2 ! 1 <_TLS_Alignment>
40005dc0: 10 bf ff f4 b 40005d90 <rtems_string_to_double+0xe0>
40005dc4: 84 10 20 00 clr %g2
return RTEMS_INVALID_ADDRESS;
40005dc8: 81 c7 e0 08 ret
40005dcc: 91 e8 20 09 restore %g0, 9, %o0
return RTEMS_NOT_DEFINED;
40005dd0: 81 c7 e0 08 ret
40005dd4: 91 e8 20 0b restore %g0, 0xb, %o0
40005dd8 <rtems_string_to_float>:
rtems_status_code rtems_string_to_float (
const char *s,
float *n,
char **endptr
)
{
40005dd8: 9d e3 bf 90 save %sp, -112, %sp
float result;
char *end;
if ( !n )
40005ddc: 80 a6 60 00 cmp %i1, 0
40005de0: 02 80 00 43 be 40005eec <rtems_string_to_float+0x114>
40005de4: 01 00 00 00 nop
return RTEMS_INVALID_ADDRESS;
errno = 0;
40005de8: 40 00 27 a9 call 4000fc8c <__errno>
40005dec: 01 00 00 00 nop
40005df0: c0 22 00 00 clr [ %o0 ]
*n = 0;
result = strtof( s, &end );
40005df4: 92 07 bf fc add %fp, -4, %o1
*n = 0;
40005df8: c0 26 40 00 clr [ %i1 ]
result = strtof( s, &end );
40005dfc: 40 00 2e b7 call 400118d8 <strtof>
40005e00: 90 10 00 18 mov %i0, %o0
if ( endptr )
40005e04: 80 a6 a0 00 cmp %i2, 0
40005e08: 02 80 00 03 be 40005e14 <rtems_string_to_float+0x3c>
40005e0c: c2 07 bf fc ld [ %fp + -4 ], %g1
*endptr = end;
40005e10: c2 26 80 00 st %g1, [ %i2 ]
if ( end == s )
40005e14: 80 a6 00 01 cmp %i0, %g1
40005e18: 02 80 00 37 be 40005ef4 <rtems_string_to_float+0x11c>
40005e1c: c1 27 bf f4 st %f0, [ %fp + -12 ]
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
40005e20: 40 00 27 9b call 4000fc8c <__errno>
40005e24: 01 00 00 00 nop
40005e28: c2 02 00 00 ld [ %o0 ], %g1
40005e2c: 80 a0 60 22 cmp %g1, 0x22
40005e30: 02 80 00 05 be 40005e44 <rtems_string_to_float+0x6c>
40005e34: c1 07 bf f4 ld [ %fp + -12 ], %f0
(( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))
return RTEMS_INVALID_NUMBER;
*n = result;
40005e38: c1 26 40 00 st %f0, [ %i1 ]
return RTEMS_SUCCESSFUL;
40005e3c: 81 c7 e0 08 ret
40005e40: 91 e8 20 00 restore %g0, 0, %o0
(( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))
40005e44: 03 10 00 57 sethi %hi(0x40015c00), %g1
40005e48: d1 00 63 d0 ld [ %g1 + 0x3d0 ], %f8 ! 40015fd0 <_rodata_start+0x1570>
40005e4c: 81 a8 0a 28 fcmps %f0, %f8
40005e50: 01 00 00 00 nop
40005e54: 03 80 00 1d fbne 40005ec8 <rtems_string_to_float+0xf0>
40005e58: 82 10 20 01 mov 1, %g1 ! 1 <_TLS_Alignment>
40005e5c: 05 10 00 59 sethi %hi(0x40016400), %g2 <== NOT EXECUTED
40005e60: d1 00 a2 b0 ld [ %g2 + 0x2b0 ], %f8 ! 400166b0 <IMFS_node_control_sym_link+0x24><== NOT EXECUTED
40005e64: 81 a8 0a 28 fcmps %f0, %f8 <== NOT EXECUTED
40005e68: 01 00 00 00 nop <== NOT EXECUTED
40005e6c: 03 80 00 11 fbne 40005eb0 <rtems_string_to_float+0xd8> <== NOT EXECUTED
40005e70: 84 10 20 01 mov 1, %g2 ! 1 <_TLS_Alignment> <== NOT EXECUTED
40005e74: 82 10 40 02 or %g1, %g2, %g1
40005e78: 80 88 60 01 btst 1, %g1
40005e7c: 12 80 00 0b bne 40005ea8 <rtems_string_to_float+0xd0> <== ALWAYS TAKEN
40005e80: 03 10 00 59 sethi %hi(0x40016400), %g1
40005e84: d1 00 62 b4 ld [ %g1 + 0x2b4 ], %f8 ! 400166b4 <IMFS_node_control_sym_link+0x28>
40005e88: 81 a8 0a 28 fcmps %f0, %f8
40005e8c: 01 00 00 00 nop
40005e90: 19 80 00 03 fbuge 40005e9c <rtems_string_to_float+0xc4>
40005e94: 82 10 20 01 mov 1, %g1 ! 1 <_TLS_Alignment>
40005e98: 82 10 20 00 clr %g1
40005e9c: 80 88 60 ff btst 0xff, %g1
40005ea0: 32 bf ff e7 bne,a 40005e3c <rtems_string_to_float+0x64> <== NEVER TAKEN
40005ea4: c1 26 40 00 st %f0, [ %i1 ] <== NOT EXECUTED
}
40005ea8: 81 c7 e0 08 ret
40005eac: 91 e8 20 0a restore %g0, 0xa, %o0
(( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF )))
40005eb0: 84 10 20 00 clr %g2 <== NOT EXECUTED
40005eb4: 82 10 40 02 or %g1, %g2, %g1
40005eb8: 80 88 60 01 btst 1, %g1
40005ebc: 02 bf ff f2 be 40005e84 <rtems_string_to_float+0xac> <== ALWAYS TAKEN
40005ec0: 03 10 00 59 sethi %hi(0x40016400), %g1
40005ec4: 30 bf ff f9 b,a 40005ea8 <rtems_string_to_float+0xd0> <== NOT EXECUTED
40005ec8: 05 10 00 59 sethi %hi(0x40016400), %g2
40005ecc: d1 00 a2 b0 ld [ %g2 + 0x2b0 ], %f8 ! 400166b0 <IMFS_node_control_sym_link+0x24>
40005ed0: 81 a8 0a 28 fcmps %f0, %f8
40005ed4: 82 10 20 00 clr %g1
40005ed8: 01 00 00 00 nop
40005edc: 13 bf ff e6 fbe 40005e74 <rtems_string_to_float+0x9c>
40005ee0: 84 10 20 01 mov 1, %g2 ! 1 <_TLS_Alignment>
40005ee4: 10 bf ff f4 b 40005eb4 <rtems_string_to_float+0xdc>
40005ee8: 84 10 20 00 clr %g2
return RTEMS_INVALID_ADDRESS;
40005eec: 81 c7 e0 08 ret
40005ef0: 91 e8 20 09 restore %g0, 9, %o0
return RTEMS_NOT_DEFINED;
40005ef4: 81 c7 e0 08 ret
40005ef8: 91 e8 20 0b restore %g0, 0xb, %o0
400113bc <rtems_string_to_int>:
const char *s,
int *n,
char **endptr,
int base
)
{
400113bc: 9d e3 bf 98 save %sp, -104, %sp
long result;
char *end;
if ( !n )
400113c0: 80 a6 60 00 cmp %i1, 0
400113c4: 02 80 00 23 be 40011450 <rtems_string_to_int+0x94>
400113c8: 01 00 00 00 nop
return RTEMS_INVALID_ADDRESS;
errno = 0;
400113cc: 40 00 eb d2 call 4004c314 <__errno>
400113d0: 01 00 00 00 nop
400113d4: c0 22 00 00 clr [ %o0 ]
*n = 0;
result = strtol( s, &end, base );
400113d8: 94 10 00 1b mov %i3, %o2
*n = 0;
400113dc: c0 26 40 00 clr [ %i1 ]
result = strtol( s, &end, base );
400113e0: 92 07 bf fc add %fp, -4, %o1
400113e4: 40 01 40 96 call 4006163c <strtol>
400113e8: 90 10 00 18 mov %i0, %o0
if ( endptr )
*endptr = end;
400113ec: c2 07 bf fc ld [ %fp + -4 ], %g1
if ( endptr )
400113f0: 80 a6 a0 00 cmp %i2, 0
400113f4: 02 80 00 03 be 40011400 <rtems_string_to_int+0x44>
400113f8: ba 10 00 08 mov %o0, %i5
*endptr = end;
400113fc: c2 26 80 00 st %g1, [ %i2 ]
if ( end == s )
40011400: 80 a6 00 01 cmp %i0, %g1
40011404: 02 80 00 15 be 40011458 <rtems_string_to_int+0x9c>
40011408: 01 00 00 00 nop
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
4001140c: 40 00 eb c2 call 4004c314 <__errno>
40011410: 01 00 00 00 nop
40011414: c2 02 00 00 ld [ %o0 ], %g1
40011418: 80 a0 60 22 cmp %g1, 0x22
4001141c: 02 80 00 05 be 40011430 <rtems_string_to_int+0x74>
40011420: 03 1f ff ff sethi %hi(0x7ffffc00), %g1
errno = ERANGE;
return RTEMS_INVALID_NUMBER;
}
#endif
*n = result;
40011424: fa 26 40 00 st %i5, [ %i1 ]
return RTEMS_SUCCESSFUL;
40011428: 81 c7 e0 08 ret
4001142c: 91 e8 20 00 restore %g0, 0, %o0
(( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))
40011430: 82 10 63 ff or %g1, 0x3ff, %g1
40011434: 80 8f 40 01 btst %i5, %g1
40011438: 02 80 00 04 be 40011448 <rtems_string_to_int+0x8c>
4001143c: 80 a7 40 01 cmp %i5, %g1
40011440: 32 bf ff fa bne,a 40011428 <rtems_string_to_int+0x6c> <== NEVER TAKEN
40011444: fa 26 40 00 st %i5, [ %i1 ] <== NOT EXECUTED
}
40011448: 81 c7 e0 08 ret
4001144c: 91 e8 20 0a restore %g0, 0xa, %o0
return RTEMS_INVALID_ADDRESS;
40011450: 81 c7 e0 08 ret
40011454: 91 e8 20 09 restore %g0, 9, %o0
return RTEMS_NOT_DEFINED;
40011458: 81 c7 e0 08 ret
4001145c: 91 e8 20 0b restore %g0, 0xb, %o0
40005fa0 <rtems_string_to_long>:
const char *s,
long *n,
char **endptr,
int base
)
{
40005fa0: 9d e3 bf 98 save %sp, -104, %sp
long result;
char *end;
if ( !n )
40005fa4: 80 a6 60 00 cmp %i1, 0
40005fa8: 02 80 00 23 be 40006034 <rtems_string_to_long+0x94>
40005fac: 01 00 00 00 nop
return RTEMS_INVALID_ADDRESS;
errno = 0;
40005fb0: 40 00 27 37 call 4000fc8c <__errno>
40005fb4: 01 00 00 00 nop
40005fb8: c0 22 00 00 clr [ %o0 ]
*n = 0;
result = strtol( s, &end, base );
40005fbc: 94 10 00 1b mov %i3, %o2
*n = 0;
40005fc0: c0 26 40 00 clr [ %i1 ]
result = strtol( s, &end, base );
40005fc4: 92 07 bf fc add %fp, -4, %o1
40005fc8: 40 00 2e f8 call 40011ba8 <strtol>
40005fcc: 90 10 00 18 mov %i0, %o0
if ( endptr )
*endptr = end;
40005fd0: c2 07 bf fc ld [ %fp + -4 ], %g1
if ( endptr )
40005fd4: 80 a6 a0 00 cmp %i2, 0
40005fd8: 02 80 00 03 be 40005fe4 <rtems_string_to_long+0x44>
40005fdc: ba 10 00 08 mov %o0, %i5
*endptr = end;
40005fe0: c2 26 80 00 st %g1, [ %i2 ]
if ( end == s )
40005fe4: 80 a6 00 01 cmp %i0, %g1
40005fe8: 02 80 00 15 be 4000603c <rtems_string_to_long+0x9c>
40005fec: 01 00 00 00 nop
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
40005ff0: 40 00 27 27 call 4000fc8c <__errno>
40005ff4: 01 00 00 00 nop
40005ff8: c2 02 00 00 ld [ %o0 ], %g1
40005ffc: 80 a0 60 22 cmp %g1, 0x22
40006000: 02 80 00 05 be 40006014 <rtems_string_to_long+0x74>
40006004: 03 1f ff ff sethi %hi(0x7ffffc00), %g1
(( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))
return RTEMS_INVALID_NUMBER;
*n = result;
40006008: fa 26 40 00 st %i5, [ %i1 ]
return RTEMS_SUCCESSFUL;
4000600c: 81 c7 e0 08 ret
40006010: 91 e8 20 00 restore %g0, 0, %o0
(( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))
40006014: 82 10 63 ff or %g1, 0x3ff, %g1
40006018: 80 8f 40 01 btst %i5, %g1
4000601c: 02 80 00 04 be 4000602c <rtems_string_to_long+0x8c>
40006020: 80 a7 40 01 cmp %i5, %g1
40006024: 32 bf ff fa bne,a 4000600c <rtems_string_to_long+0x6c> <== NEVER TAKEN
40006028: fa 26 40 00 st %i5, [ %i1 ] <== NOT EXECUTED
}
4000602c: 81 c7 e0 08 ret
40006030: 91 e8 20 0a restore %g0, 0xa, %o0
return RTEMS_INVALID_ADDRESS;
40006034: 81 c7 e0 08 ret
40006038: 91 e8 20 09 restore %g0, 9, %o0
return RTEMS_NOT_DEFINED;
4000603c: 81 c7 e0 08 ret
40006040: 91 e8 20 0b restore %g0, 0xb, %o0
40006044 <rtems_string_to_long_long>:
const char *s,
long long *n,
char **endptr,
int base
)
{
40006044: 9d e3 bf 98 save %sp, -104, %sp
long long result;
char *end;
if ( !n )
40006048: 80 a6 60 00 cmp %i1, 0
4000604c: 02 80 00 28 be 400060ec <rtems_string_to_long_long+0xa8>
40006050: 01 00 00 00 nop
return RTEMS_INVALID_ADDRESS;
errno = 0;
40006054: 40 00 27 0e call 4000fc8c <__errno>
40006058: 01 00 00 00 nop
4000605c: c0 22 00 00 clr [ %o0 ]
*n = 0;
result = strtoll( s, &end, base );
40006060: 94 10 00 1b mov %i3, %o2
*n = 0;
40006064: c0 26 40 00 clr [ %i1 ]
result = strtoll( s, &end, base );
40006068: 92 07 bf fc add %fp, -4, %o1
*n = 0;
4000606c: c0 26 60 04 clr [ %i1 + 4 ]
result = strtoll( s, &end, base );
40006070: 40 00 2f 8a call 40011e98 <strtoll>
40006074: 90 10 00 18 mov %i0, %o0
if ( endptr )
*endptr = end;
40006078: c2 07 bf fc ld [ %fp + -4 ], %g1
result = strtoll( s, &end, base );
4000607c: b8 10 00 08 mov %o0, %i4
if ( endptr )
40006080: 80 a6 a0 00 cmp %i2, 0
40006084: 02 80 00 03 be 40006090 <rtems_string_to_long_long+0x4c>
40006088: ba 10 00 09 mov %o1, %i5
*endptr = end;
4000608c: c2 26 80 00 st %g1, [ %i2 ]
if ( end == s )
40006090: 80 a6 00 01 cmp %i0, %g1
40006094: 02 80 00 18 be 400060f4 <rtems_string_to_long_long+0xb0>
40006098: 01 00 00 00 nop
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
4000609c: 40 00 26 fc call 4000fc8c <__errno>
400060a0: 01 00 00 00 nop
400060a4: c2 02 00 00 ld [ %o0 ], %g1
400060a8: 80 a0 60 22 cmp %g1, 0x22
400060ac: 02 80 00 06 be 400060c4 <rtems_string_to_long_long+0x80>
400060b0: 03 1f ff ff sethi %hi(0x7ffffc00), %g1
(( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))
return RTEMS_INVALID_NUMBER;
*n = result;
400060b4: f8 26 40 00 st %i4, [ %i1 ]
400060b8: fa 26 60 04 st %i5, [ %i1 + 4 ]
return RTEMS_SUCCESSFUL;
400060bc: 81 c7 e0 08 ret
400060c0: 91 e8 20 00 restore %g0, 0, %o0
(( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN )))
400060c4: 82 10 63 ff or %g1, 0x3ff, %g1
400060c8: 84 0f 00 01 and %i4, %g1, %g2
400060cc: 80 90 80 1d orcc %g2, %i5, %g0
400060d0: 02 80 00 05 be 400060e4 <rtems_string_to_long_long+0xa0>
400060d4: 82 1f 00 01 xor %i4, %g1, %g1
400060d8: 80 b0 40 1d orncc %g1, %i5, %g0
400060dc: 32 bf ff f7 bne,a 400060b8 <rtems_string_to_long_long+0x74> <== NEVER TAKEN
400060e0: f8 26 40 00 st %i4, [ %i1 ] <== NOT EXECUTED
}
400060e4: 81 c7 e0 08 ret
400060e8: 91 e8 20 0a restore %g0, 0xa, %o0
return RTEMS_INVALID_ADDRESS;
400060ec: 81 c7 e0 08 ret
400060f0: 91 e8 20 09 restore %g0, 9, %o0
return RTEMS_NOT_DEFINED;
400060f4: 81 c7 e0 08 ret
400060f8: 91 e8 20 0b restore %g0, 0xb, %o0
40011470 <rtems_string_to_unsigned_char>:
const char *s,
unsigned char *n,
char **endptr,
int base
)
{
40011470: 9d e3 bf 98 save %sp, -104, %sp
unsigned long result;
char *end;
if ( !n )
40011474: 80 a6 60 00 cmp %i1, 0
40011478: 02 80 00 23 be 40011504 <rtems_string_to_unsigned_char+0x94>
4001147c: 01 00 00 00 nop
return RTEMS_INVALID_ADDRESS;
errno = 0;
40011480: 40 00 eb a5 call 4004c314 <__errno>
40011484: 01 00 00 00 nop
40011488: c0 22 00 00 clr [ %o0 ]
*n = 0;
result = strtoul( s, &end, base );
4001148c: 94 10 00 1b mov %i3, %o2
*n = 0;
40011490: c0 2e 40 00 clrb [ %i1 ]
result = strtoul( s, &end, base );
40011494: 92 07 bf fc add %fp, -4, %o1
40011498: 40 01 41 be call 40061b90 <strtoul>
4001149c: 90 10 00 18 mov %i0, %o0
if ( endptr )
*endptr = end;
400114a0: c2 07 bf fc ld [ %fp + -4 ], %g1
if ( endptr )
400114a4: 80 a6 a0 00 cmp %i2, 0
400114a8: 02 80 00 03 be 400114b4 <rtems_string_to_unsigned_char+0x44>
400114ac: ba 10 00 08 mov %o0, %i5
*endptr = end;
400114b0: c2 26 80 00 st %g1, [ %i2 ]
if ( end == s )
400114b4: 80 a6 00 01 cmp %i0, %g1
400114b8: 02 80 00 15 be 4001150c <rtems_string_to_unsigned_char+0x9c>
400114bc: 01 00 00 00 nop
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
400114c0: 40 00 eb 95 call 4004c314 <__errno>
400114c4: 01 00 00 00 nop
400114c8: c2 02 00 00 ld [ %o0 ], %g1
400114cc: 80 a0 60 22 cmp %g1, 0x22
400114d0: 02 80 00 08 be 400114f0 <rtems_string_to_unsigned_char+0x80>
400114d4: 82 07 7f ff add %i5, -1, %g1
(( result == 0 ) || ( result == ULONG_MAX )))
return RTEMS_INVALID_NUMBER;
#if (UCHAR_MAX < ULONG_MAX)
if ( result > UCHAR_MAX ) {
400114d8: 80 a7 60 ff cmp %i5, 0xff
400114dc: 18 80 00 0e bgu 40011514 <rtems_string_to_unsigned_char+0xa4>
400114e0: 01 00 00 00 nop
errno = ERANGE;
return RTEMS_INVALID_NUMBER;
}
#endif
*n = result;
400114e4: fa 2e 40 00 stb %i5, [ %i1 ]
return RTEMS_SUCCESSFUL;
400114e8: 81 c7 e0 08 ret
400114ec: 91 e8 20 00 restore %g0, 0, %o0
if ( ( errno == ERANGE ) &&
400114f0: 80 a0 7f fd cmp %g1, -3
400114f4: 08 bf ff f9 bleu 400114d8 <rtems_string_to_unsigned_char+0x68> <== NEVER TAKEN
400114f8: b0 10 20 0a mov 0xa, %i0
}
400114fc: 81 c7 e0 08 ret
40011500: 81 e8 00 00 restore
return RTEMS_INVALID_ADDRESS;
40011504: 81 c7 e0 08 ret
40011508: 91 e8 20 09 restore %g0, 9, %o0
}
4001150c: 81 c7 e0 08 ret
40011510: 91 e8 20 0b restore %g0, 0xb, %o0
errno = ERANGE;
40011514: 40 00 eb 80 call 4004c314 <__errno>
40011518: b0 10 20 0a mov 0xa, %i0
4001151c: 82 10 20 22 mov 0x22, %g1
40011520: c2 22 00 00 st %g1, [ %o0 ]
return RTEMS_INVALID_NUMBER;
40011524: 81 c7 e0 08 ret
40011528: 81 e8 00 00 restore
400061c8 <rtems_string_to_unsigned_int>:
const char *s,
unsigned int *n,
char **endptr,
int base
)
{
400061c8: 9d e3 bf 98 save %sp, -104, %sp
unsigned long result;
char *end;
if ( !n )
400061cc: 80 a6 60 00 cmp %i1, 0
400061d0: 02 80 00 20 be 40006250 <rtems_string_to_unsigned_int+0x88>
400061d4: 01 00 00 00 nop
return RTEMS_INVALID_ADDRESS;
errno = 0;
400061d8: 40 00 26 ad call 4000fc8c <__errno>
400061dc: 01 00 00 00 nop
400061e0: c0 22 00 00 clr [ %o0 ]
*n = 0;
result = strtoul( s, &end, base );
400061e4: 94 10 00 1b mov %i3, %o2
*n = 0;
400061e8: c0 26 40 00 clr [ %i1 ]
result = strtoul( s, &end, base );
400061ec: 92 07 bf fc add %fp, -4, %o1
400061f0: 40 00 2f b6 call 400120c8 <strtoul>
400061f4: 90 10 00 18 mov %i0, %o0
if ( endptr )
*endptr = end;
400061f8: c2 07 bf fc ld [ %fp + -4 ], %g1
if ( endptr )
400061fc: 80 a6 a0 00 cmp %i2, 0
40006200: 02 80 00 03 be 4000620c <rtems_string_to_unsigned_int+0x44>
40006204: ba 10 00 08 mov %o0, %i5
*endptr = end;
40006208: c2 26 80 00 st %g1, [ %i2 ]
if ( end == s )
4000620c: 80 a6 00 01 cmp %i0, %g1
40006210: 02 80 00 12 be 40006258 <rtems_string_to_unsigned_int+0x90>
40006214: 01 00 00 00 nop
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
40006218: 40 00 26 9d call 4000fc8c <__errno>
4000621c: 01 00 00 00 nop
40006220: c2 02 00 00 ld [ %o0 ], %g1
40006224: 80 a0 60 22 cmp %g1, 0x22
40006228: 02 80 00 05 be 4000623c <rtems_string_to_unsigned_int+0x74>
4000622c: 82 07 7f ff add %i5, -1, %g1
errno = ERANGE;
return RTEMS_INVALID_NUMBER;
}
#endif
*n = result;
40006230: fa 26 40 00 st %i5, [ %i1 ]
return RTEMS_SUCCESSFUL;
40006234: 81 c7 e0 08 ret
40006238: 91 e8 20 00 restore %g0, 0, %o0
if ( ( errno == ERANGE ) &&
4000623c: 80 a0 7f fd cmp %g1, -3
40006240: 08 bf ff fc bleu 40006230 <rtems_string_to_unsigned_int+0x68> <== NEVER TAKEN
40006244: b0 10 20 0a mov 0xa, %i0
}
40006248: 81 c7 e0 08 ret
4000624c: 81 e8 00 00 restore
return RTEMS_INVALID_ADDRESS;
40006250: 81 c7 e0 08 ret
40006254: 91 e8 20 09 restore %g0, 9, %o0
}
40006258: 81 c7 e0 08 ret
4000625c: 91 e8 20 0b restore %g0, 0xb, %o0
4001152c <rtems_string_to_unsigned_long>:
const char *s,
unsigned long *n,
char **endptr,
int base
)
{
4001152c: 9d e3 bf 98 save %sp, -104, %sp
unsigned long result;
char *end;
if ( !n )
40011530: 80 a6 60 00 cmp %i1, 0
40011534: 02 80 00 20 be 400115b4 <rtems_string_to_unsigned_long+0x88>
40011538: 01 00 00 00 nop
return RTEMS_INVALID_ADDRESS;
errno = 0;
4001153c: 40 00 eb 76 call 4004c314 <__errno>
40011540: 01 00 00 00 nop
40011544: c0 22 00 00 clr [ %o0 ]
*n = 0;
result = strtoul( s, &end, base );
40011548: 94 10 00 1b mov %i3, %o2
*n = 0;
4001154c: c0 26 40 00 clr [ %i1 ]
result = strtoul( s, &end, base );
40011550: 92 07 bf fc add %fp, -4, %o1
40011554: 40 01 41 8f call 40061b90 <strtoul>
40011558: 90 10 00 18 mov %i0, %o0
if ( endptr )
*endptr = end;
4001155c: c2 07 bf fc ld [ %fp + -4 ], %g1
if ( endptr )
40011560: 80 a6 a0 00 cmp %i2, 0
40011564: 02 80 00 03 be 40011570 <rtems_string_to_unsigned_long+0x44>
40011568: ba 10 00 08 mov %o0, %i5
*endptr = end;
4001156c: c2 26 80 00 st %g1, [ %i2 ]
if ( end == s )
40011570: 80 a6 00 01 cmp %i0, %g1
40011574: 02 80 00 12 be 400115bc <rtems_string_to_unsigned_long+0x90>
40011578: 01 00 00 00 nop
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
4001157c: 40 00 eb 66 call 4004c314 <__errno>
40011580: 01 00 00 00 nop
40011584: c2 02 00 00 ld [ %o0 ], %g1
40011588: 80 a0 60 22 cmp %g1, 0x22
4001158c: 02 80 00 05 be 400115a0 <rtems_string_to_unsigned_long+0x74>
40011590: 82 07 7f ff add %i5, -1, %g1
(( result == 0 ) || ( result == ULONG_MAX )))
return RTEMS_INVALID_NUMBER;
*n = result;
40011594: fa 26 40 00 st %i5, [ %i1 ]
return RTEMS_SUCCESSFUL;
40011598: 81 c7 e0 08 ret
4001159c: 91 e8 20 00 restore %g0, 0, %o0
if ( ( errno == ERANGE ) &&
400115a0: 80 a0 7f fd cmp %g1, -3
400115a4: 08 bf ff fc bleu 40011594 <rtems_string_to_unsigned_long+0x68> <== NEVER TAKEN
400115a8: b0 10 20 0a mov 0xa, %i0
}
400115ac: 81 c7 e0 08 ret
400115b0: 81 e8 00 00 restore
return RTEMS_INVALID_ADDRESS;
400115b4: 81 c7 e0 08 ret
400115b8: 91 e8 20 09 restore %g0, 9, %o0
}
400115bc: 81 c7 e0 08 ret
400115c0: 91 e8 20 0b restore %g0, 0xb, %o0
400062f8 <rtems_string_to_unsigned_long_long>:
const char *s,
unsigned long long *n,
char **endptr,
int base
)
{
400062f8: 9d e3 bf 98 save %sp, -104, %sp
unsigned long long result;
char *end;
if ( !n )
400062fc: 80 a6 60 00 cmp %i1, 0
40006300: 02 80 00 26 be 40006398 <rtems_string_to_unsigned_long_long+0xa0>
40006304: 01 00 00 00 nop
return RTEMS_INVALID_ADDRESS;
errno = 0;
40006308: 40 00 26 61 call 4000fc8c <__errno>
4000630c: 01 00 00 00 nop
40006310: c0 22 00 00 clr [ %o0 ]
*n = 0;
result = strtoull( s, &end, base );
40006314: 94 10 00 1b mov %i3, %o2
*n = 0;
40006318: c0 26 40 00 clr [ %i1 ]
result = strtoull( s, &end, base );
4000631c: 92 07 bf fc add %fp, -4, %o1
*n = 0;
40006320: c0 26 60 04 clr [ %i1 + 4 ]
result = strtoull( s, &end, base );
40006324: 40 00 30 1a call 4001238c <strtoull>
40006328: 90 10 00 18 mov %i0, %o0
if ( endptr )
*endptr = end;
4000632c: c2 07 bf fc ld [ %fp + -4 ], %g1
if ( endptr )
40006330: 80 a6 a0 00 cmp %i2, 0
result = strtoull( s, &end, base );
40006334: b8 10 00 08 mov %o0, %i4
if ( endptr )
40006338: 02 80 00 03 be 40006344 <rtems_string_to_unsigned_long_long+0x4c>
4000633c: ba 10 00 09 mov %o1, %i5
*endptr = end;
40006340: c2 26 80 00 st %g1, [ %i2 ]
if ( end == s )
40006344: 80 a6 00 01 cmp %i0, %g1
40006348: 02 80 00 16 be 400063a0 <rtems_string_to_unsigned_long_long+0xa8>
4000634c: 01 00 00 00 nop
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
40006350: 40 00 26 4f call 4000fc8c <__errno>
40006354: 01 00 00 00 nop
40006358: c2 02 00 00 ld [ %o0 ], %g1
4000635c: 80 a0 60 22 cmp %g1, 0x22
40006360: 02 80 00 05 be 40006374 <rtems_string_to_unsigned_long_long+0x7c>
40006364: 86 87 7f ff addcc %i5, -1, %g3
(( result == 0 ) || ( result == ULONG_LONG_MAX )))
return RTEMS_INVALID_NUMBER;
*n = result;
40006368: f8 3e 40 00 std %i4, [ %i1 ]
return RTEMS_SUCCESSFUL;
4000636c: 81 c7 e0 08 ret
40006370: 91 e8 20 00 restore %g0, 0, %o0
(( result == 0 ) || ( result == ULONG_LONG_MAX )))
40006374: 84 47 3f ff addx %i4, -1, %g2
if ( ( errno == ERANGE ) &&
40006378: 80 a0 bf ff cmp %g2, -1
4000637c: 32 bf ff fc bne,a 4000636c <rtems_string_to_unsigned_long_long+0x74> <== NEVER TAKEN
40006380: f8 3e 40 00 std %i4, [ %i1 ] <== NOT EXECUTED
40006384: 80 a0 ff fd cmp %g3, -3
40006388: 08 bf ff f8 bleu 40006368 <rtems_string_to_unsigned_long_long+0x70> <== NEVER TAKEN
4000638c: b0 10 20 0a mov 0xa, %i0
}
40006390: 81 c7 e0 08 ret
40006394: 81 e8 00 00 restore
return RTEMS_INVALID_ADDRESS;
40006398: 81 c7 e0 08 ret
4000639c: 91 e8 20 09 restore %g0, 9, %o0
}
400063a0: 81 c7 e0 08 ret
400063a4: 91 e8 20 0b restore %g0, 0xb, %o0