=============================================================================== 4000548c : rtems_status_code rtems_string_to_double ( const char *s, double *n, char **endptr ) { 4000548c: 9d e3 bf 90 save %sp, -112, %sp double result; char *end; if ( !n ) 40005490: 80 a6 60 00 cmp %i1, 0 40005494: 02 80 00 1a be 400054fc 40005498: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 4000549c: 40 00 29 37 call 4000f978 <__errno> 400054a0: 01 00 00 00 nop 400054a4: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtod( s, &end ); 400054a8: 92 07 bf fc add %fp, -4, %o1 *n = 0; 400054ac: c0 26 40 00 clr [ %i1 ] result = strtod( s, &end ); 400054b0: 90 10 00 18 mov %i0, %o0 400054b4: 40 00 30 53 call 40011600 400054b8: c0 26 60 04 clr [ %i1 + 4 ] if ( endptr ) 400054bc: 80 a6 a0 00 cmp %i2, 0 400054c0: 02 80 00 03 be 400054cc 400054c4: c4 07 bf fc ld [ %fp + -4 ], %g2 *endptr = end; 400054c8: c4 26 80 00 st %g2, [ %i2 ] 400054cc: c1 3f bf f0 std %f0, [ %fp + -16 ] if ( end == s ) 400054d0: 80 a6 00 02 cmp %i0, %g2 400054d4: 02 80 00 0a be 400054fc 400054d8: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 400054dc: 40 00 29 27 call 4000f978 <__errno> 400054e0: 01 00 00 00 nop 400054e4: c2 02 00 00 ld [ %o0 ], %g1 400054e8: 80 a0 60 22 cmp %g1, 0x22 400054ec: 02 80 00 06 be 40005504 400054f0: c1 1f bf f0 ldd [ %fp + -16 ], %f0 (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL ))) return RTEMS_INVALID_NUMBER; *n = result; 400054f4: c1 3e 40 00 std %f0, [ %i1 ] return RTEMS_SUCCESSFUL; 400054f8: 82 10 20 00 clr %g1 } 400054fc: 81 c7 e0 08 ret 40005500: 91 e8 00 01 restore %g0, %g1, %o0 if ( ( errno == ERANGE ) && 40005504: 03 10 00 56 sethi %hi(0x40015800), %g1 40005508: d1 18 63 48 ldd [ %g1 + 0x348 ], %f8 ! 40015b48 <_rodata_start+0x17a8> 4000550c: 81 a8 0a 48 fcmpd %f0, %f8 40005510: 01 00 00 00 nop 40005514: 13 bf ff fa fbe 400054fc 40005518: 82 10 20 0a mov 0xa, %g1 ! a <_TLS_Alignment+0x9> (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL ))) 4000551c: 05 10 00 57 sethi %hi(0x40015c00), %g2 40005520: d1 18 a3 28 ldd [ %g2 + 0x328 ], %f8 ! 40015f28 40005524: 81 a8 0a c8 fcmped %f0, %f8 40005528: 01 00 00 00 nop 4000552c: 0d bf ff f4 fbg 400054fc 40005530: 05 10 00 57 sethi %hi(0x40015c00), %g2 40005534: d1 18 a3 30 ldd [ %g2 + 0x330 ], %f8 ! 40015f30 40005538: 81 a8 0a c8 fcmped %f0, %f8 4000553c: 01 00 00 00 nop 40005540: 09 bf ff ef fbl 400054fc 40005544: 01 00 00 00 nop *n = result; 40005548: c1 3e 40 00 std %f0, [ %i1 ] <== NOT EXECUTED return RTEMS_SUCCESSFUL; 4000554c: 10 bf ff ec b 400054fc <== NOT EXECUTED 40005550: 82 10 20 00 clr %g1 <== NOT EXECUTED =============================================================================== 40005554 : rtems_status_code rtems_string_to_float ( const char *s, float *n, char **endptr ) { 40005554: 9d e3 bf 90 save %sp, -112, %sp float result; char *end; if ( !n ) 40005558: 80 a6 60 00 cmp %i1, 0 4000555c: 02 80 00 19 be 400055c0 40005560: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 40005564: 40 00 29 05 call 4000f978 <__errno> 40005568: 01 00 00 00 nop 4000556c: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtof( s, &end ); 40005570: 92 07 bf fc add %fp, -4, %o1 *n = 0; 40005574: c0 26 40 00 clr [ %i1 ] result = strtof( s, &end ); 40005578: 40 00 30 2a call 40011620 4000557c: 90 10 00 18 mov %i0, %o0 if ( endptr ) 40005580: 80 a6 a0 00 cmp %i2, 0 40005584: 02 80 00 03 be 40005590 40005588: c4 07 bf fc ld [ %fp + -4 ], %g2 *endptr = end; 4000558c: c4 26 80 00 st %g2, [ %i2 ] 40005590: c1 27 bf f4 st %f0, [ %fp + -12 ] if ( end == s ) 40005594: 80 a6 00 02 cmp %i0, %g2 40005598: 02 80 00 0a be 400055c0 4000559c: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 400055a0: 40 00 28 f6 call 4000f978 <__errno> 400055a4: 01 00 00 00 nop 400055a8: c2 02 00 00 ld [ %o0 ], %g1 400055ac: 80 a0 60 22 cmp %g1, 0x22 400055b0: 02 80 00 06 be 400055c8 400055b4: c1 07 bf f4 ld [ %fp + -12 ], %f0 (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF ))) return RTEMS_INVALID_NUMBER; *n = result; 400055b8: c1 26 40 00 st %f0, [ %i1 ] return RTEMS_SUCCESSFUL; 400055bc: 82 10 20 00 clr %g1 } 400055c0: 81 c7 e0 08 ret 400055c4: 91 e8 00 01 restore %g0, %g1, %o0 if ( ( errno == ERANGE ) && 400055c8: 03 10 00 56 sethi %hi(0x40015800), %g1 400055cc: d1 00 61 28 ld [ %g1 + 0x128 ], %f8 ! 40015928 <_rodata_start+0x1588> 400055d0: 81 a8 0a 28 fcmps %f0, %f8 400055d4: 01 00 00 00 nop 400055d8: 13 bf ff fa fbe 400055c0 400055dc: 82 10 20 0a mov 0xa, %g1 ! a <_TLS_Alignment+0x9> (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF ))) 400055e0: 05 10 00 57 sethi %hi(0x40015c00), %g2 400055e4: d1 00 a3 38 ld [ %g2 + 0x338 ], %f8 ! 40015f38 400055e8: 81 a8 0a a8 fcmpes %f0, %f8 400055ec: 01 00 00 00 nop 400055f0: 0d bf ff f4 fbg 400055c0 400055f4: 05 10 00 57 sethi %hi(0x40015c00), %g2 400055f8: d1 00 a3 3c ld [ %g2 + 0x33c ], %f8 ! 40015f3c 400055fc: 81 a8 0a a8 fcmpes %f0, %f8 40005600: 01 00 00 00 nop 40005604: 09 bf ff ef fbl 400055c0 40005608: 01 00 00 00 nop *n = result; 4000560c: c1 26 40 00 st %f0, [ %i1 ] <== NOT EXECUTED return RTEMS_SUCCESSFUL; 40005610: 10 bf ff ec b 400055c0 <== NOT EXECUTED 40005614: 82 10 20 00 clr %g1 <== NOT EXECUTED =============================================================================== 40005618 : const char *s, int *n, char **endptr, int base ) { 40005618: 9d e3 bf 98 save %sp, -104, %sp long result; char *end; if ( !n ) 4000561c: 80 a6 60 00 cmp %i1, 0 40005620: 02 80 00 1a be 40005688 40005624: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 40005628: 40 00 28 d4 call 4000f978 <__errno> 4000562c: 01 00 00 00 nop 40005630: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtol( s, &end, base ); 40005634: 94 10 00 1b mov %i3, %o2 *n = 0; 40005638: c0 26 40 00 clr [ %i1 ] result = strtol( s, &end, base ); 4000563c: 92 07 bf fc add %fp, -4, %o1 40005640: 40 00 30 c1 call 40011944 40005644: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 40005648: c4 07 bf fc ld [ %fp + -4 ], %g2 if ( endptr ) 4000564c: 80 a6 a0 00 cmp %i2, 0 40005650: 02 80 00 03 be 4000565c 40005654: ba 10 00 08 mov %o0, %i5 *endptr = end; 40005658: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 4000565c: 80 a6 00 02 cmp %i0, %g2 40005660: 02 80 00 0a be 40005688 40005664: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40005668: 40 00 28 c4 call 4000f978 <__errno> 4000566c: 01 00 00 00 nop 40005670: c2 02 00 00 ld [ %o0 ], %g1 40005674: 80 a0 60 22 cmp %g1, 0x22 40005678: 02 80 00 06 be 40005690 4000567c: 03 1f ff ff sethi %hi(0x7ffffc00), %g1 errno = ERANGE; return RTEMS_INVALID_NUMBER; } #endif *n = result; 40005680: fa 26 40 00 st %i5, [ %i1 ] return RTEMS_SUCCESSFUL; 40005684: 82 10 20 00 clr %g1 } 40005688: 81 c7 e0 08 ret 4000568c: 91 e8 00 01 restore %g0, %g1, %o0 (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) 40005690: 82 10 63 ff or %g1, 0x3ff, %g1 40005694: 80 8f 40 01 btst %i5, %g1 40005698: 02 80 00 04 be 400056a8 4000569c: 80 a7 40 01 cmp %i5, %g1 400056a0: 32 bf ff f9 bne,a 40005684 <== NEVER TAKEN 400056a4: fa 26 40 00 st %i5, [ %i1 ] <== NOT EXECUTED return RTEMS_INVALID_NUMBER; 400056a8: 10 bf ff f8 b 40005688 400056ac: 82 10 20 0a mov 0xa, %g1 =============================================================================== 400056b0 : const char *s, long *n, char **endptr, int base ) { 400056b0: 9d e3 bf 98 save %sp, -104, %sp long result; char *end; if ( !n ) 400056b4: 80 a6 60 00 cmp %i1, 0 400056b8: 02 80 00 1a be 40005720 400056bc: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 400056c0: 40 00 28 ae call 4000f978 <__errno> 400056c4: 01 00 00 00 nop 400056c8: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtol( s, &end, base ); 400056cc: 94 10 00 1b mov %i3, %o2 *n = 0; 400056d0: c0 26 40 00 clr [ %i1 ] result = strtol( s, &end, base ); 400056d4: 92 07 bf fc add %fp, -4, %o1 400056d8: 40 00 30 9b call 40011944 400056dc: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 400056e0: c4 07 bf fc ld [ %fp + -4 ], %g2 if ( endptr ) 400056e4: 80 a6 a0 00 cmp %i2, 0 400056e8: 02 80 00 03 be 400056f4 400056ec: ba 10 00 08 mov %o0, %i5 *endptr = end; 400056f0: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 400056f4: 80 a6 00 02 cmp %i0, %g2 400056f8: 02 80 00 0a be 40005720 400056fc: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40005700: 40 00 28 9e call 4000f978 <__errno> 40005704: 01 00 00 00 nop 40005708: c2 02 00 00 ld [ %o0 ], %g1 4000570c: 80 a0 60 22 cmp %g1, 0x22 40005710: 02 80 00 06 be 40005728 40005714: 03 1f ff ff sethi %hi(0x7ffffc00), %g1 (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) return RTEMS_INVALID_NUMBER; *n = result; 40005718: fa 26 40 00 st %i5, [ %i1 ] return RTEMS_SUCCESSFUL; 4000571c: 82 10 20 00 clr %g1 } 40005720: 81 c7 e0 08 ret 40005724: 91 e8 00 01 restore %g0, %g1, %o0 (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) 40005728: 82 10 63 ff or %g1, 0x3ff, %g1 4000572c: 80 8f 40 01 btst %i5, %g1 40005730: 02 80 00 04 be 40005740 40005734: 80 a7 40 01 cmp %i5, %g1 40005738: 32 bf ff f9 bne,a 4000571c <== NEVER TAKEN 4000573c: fa 26 40 00 st %i5, [ %i1 ] <== NOT EXECUTED return RTEMS_INVALID_NUMBER; 40005740: 10 bf ff f8 b 40005720 40005744: 82 10 20 0a mov 0xa, %g1 =============================================================================== 40005748 : const char *s, long long *n, char **endptr, int base ) { 40005748: 9d e3 bf 98 save %sp, -104, %sp long long result; char *end; if ( !n ) 4000574c: 80 a6 60 00 cmp %i1, 0 40005750: 02 80 00 1d be 400057c4 40005754: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 40005758: 40 00 28 88 call 4000f978 <__errno> 4000575c: 01 00 00 00 nop 40005760: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtoll( s, &end, base ); 40005764: 94 10 00 1b mov %i3, %o2 *n = 0; 40005768: c0 26 40 00 clr [ %i1 ] result = strtoll( s, &end, base ); 4000576c: 92 07 bf fc add %fp, -4, %o1 *n = 0; 40005770: c0 26 60 04 clr [ %i1 + 4 ] result = strtoll( s, &end, base ); 40005774: 40 00 31 24 call 40011c04 40005778: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 4000577c: c4 07 bf fc ld [ %fp + -4 ], %g2 result = strtoll( s, &end, base ); 40005780: b8 10 00 08 mov %o0, %i4 if ( endptr ) 40005784: 80 a6 a0 00 cmp %i2, 0 40005788: 02 80 00 03 be 40005794 4000578c: ba 10 00 09 mov %o1, %i5 *endptr = end; 40005790: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 40005794: 80 a6 00 02 cmp %i0, %g2 40005798: 02 80 00 0b be 400057c4 4000579c: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 400057a0: 40 00 28 76 call 4000f978 <__errno> 400057a4: 01 00 00 00 nop 400057a8: c2 02 00 00 ld [ %o0 ], %g1 400057ac: 80 a0 60 22 cmp %g1, 0x22 400057b0: 02 80 00 07 be 400057cc 400057b4: 03 1f ff ff sethi %hi(0x7ffffc00), %g1 (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN ))) return RTEMS_INVALID_NUMBER; *n = result; 400057b8: f8 26 40 00 st %i4, [ %i1 ] return RTEMS_SUCCESSFUL; 400057bc: 82 10 20 00 clr %g1 *n = result; 400057c0: fa 26 60 04 st %i5, [ %i1 + 4 ] } 400057c4: 81 c7 e0 08 ret 400057c8: 91 e8 00 01 restore %g0, %g1, %o0 (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN ))) 400057cc: 82 10 63 ff or %g1, 0x3ff, %g1 400057d0: 84 0f 00 01 and %i4, %g1, %g2 400057d4: 80 90 80 1d orcc %g2, %i5, %g0 400057d8: 22 bf ff fb be,a 400057c4 400057dc: 82 10 20 0a mov 0xa, %g1 400057e0: 82 1f 00 01 xor %i4, %g1, %g1 400057e4: 80 b0 40 1d orncc %g1, %i5, %g0 400057e8: 32 bf ff f5 bne,a 400057bc <== NEVER TAKEN 400057ec: f8 26 40 00 st %i4, [ %i1 ] <== NOT EXECUTED return RTEMS_INVALID_NUMBER; 400057f0: 10 bf ff f5 b 400057c4 400057f4: 82 10 20 0a mov 0xa, %g1 =============================================================================== 40005808 : const char *s, unsigned char *n, char **endptr, int base ) { 40005808: 9d e3 bf 98 save %sp, -104, %sp unsigned long result; char *end; if ( !n ) 4000580c: 80 a6 60 00 cmp %i1, 0 40005810: 02 80 00 1d be 40005884 40005814: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 40005818: 40 00 28 58 call 4000f978 <__errno> 4000581c: 01 00 00 00 nop 40005820: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtoul( s, &end, base ); 40005824: 94 10 00 1b mov %i3, %o2 *n = 0; 40005828: c0 2e 40 00 clrb [ %i1 ] result = strtoul( s, &end, base ); 4000582c: 92 07 bf fc add %fp, -4, %o1 40005830: 40 00 31 81 call 40011e34 40005834: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 40005838: c4 07 bf fc ld [ %fp + -4 ], %g2 if ( endptr ) 4000583c: 80 a6 a0 00 cmp %i2, 0 40005840: 02 80 00 03 be 4000584c 40005844: ba 10 00 08 mov %o0, %i5 *endptr = end; 40005848: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 4000584c: 80 a6 00 02 cmp %i0, %g2 40005850: 02 80 00 0d be 40005884 40005854: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40005858: 40 00 28 48 call 4000f978 <__errno> 4000585c: 01 00 00 00 nop 40005860: c2 02 00 00 ld [ %o0 ], %g1 40005864: 80 a0 60 22 cmp %g1, 0x22 40005868: 02 80 00 09 be 4000588c 4000586c: 84 07 7f ff add %i5, -1, %g2 (( result == 0 ) || ( result == ULONG_MAX ))) return RTEMS_INVALID_NUMBER; #if (UCHAR_MAX < ULONG_MAX) if ( result > UCHAR_MAX ) { 40005870: 80 a7 60 ff cmp %i5, 0xff 40005874: 18 80 00 0a bgu 4000589c 40005878: 01 00 00 00 nop errno = ERANGE; return RTEMS_INVALID_NUMBER; } #endif *n = result; 4000587c: fa 2e 40 00 stb %i5, [ %i1 ] return RTEMS_SUCCESSFUL; 40005880: 82 10 20 00 clr %g1 } 40005884: 81 c7 e0 08 ret 40005888: 91 e8 00 01 restore %g0, %g1, %o0 if ( ( errno == ERANGE ) && 4000588c: 80 a0 bf fd cmp %g2, -3 40005890: 08 bf ff f8 bleu 40005870 <== NEVER TAKEN 40005894: 82 10 20 0a mov 0xa, %g1 40005898: 30 bf ff fb b,a 40005884 errno = ERANGE; 4000589c: 40 00 28 37 call 4000f978 <__errno> 400058a0: 01 00 00 00 nop 400058a4: 84 10 20 22 mov 0x22, %g2 ! 22 <_TLS_Alignment+0x21> return RTEMS_INVALID_NUMBER; 400058a8: 82 10 20 0a mov 0xa, %g1 400058ac: 10 bf ff f6 b 40005884 400058b0: c4 22 00 00 st %g2, [ %o0 ] =============================================================================== 400058b4 : const char *s, unsigned int *n, char **endptr, int base ) { 400058b4: 9d e3 bf 98 save %sp, -104, %sp unsigned long result; char *end; if ( !n ) 400058b8: 80 a6 60 00 cmp %i1, 0 400058bc: 02 80 00 1a be 40005924 400058c0: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 400058c4: 40 00 28 2d call 4000f978 <__errno> 400058c8: 01 00 00 00 nop 400058cc: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtoul( s, &end, base ); 400058d0: 94 10 00 1b mov %i3, %o2 *n = 0; 400058d4: c0 26 40 00 clr [ %i1 ] result = strtoul( s, &end, base ); 400058d8: 92 07 bf fc add %fp, -4, %o1 400058dc: 40 00 31 56 call 40011e34 400058e0: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 400058e4: c4 07 bf fc ld [ %fp + -4 ], %g2 if ( endptr ) 400058e8: 80 a6 a0 00 cmp %i2, 0 400058ec: 02 80 00 03 be 400058f8 400058f0: ba 10 00 08 mov %o0, %i5 *endptr = end; 400058f4: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 400058f8: 80 a6 00 02 cmp %i0, %g2 400058fc: 02 80 00 0a be 40005924 40005900: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40005904: 40 00 28 1d call 4000f978 <__errno> 40005908: 01 00 00 00 nop 4000590c: c2 02 00 00 ld [ %o0 ], %g1 40005910: 80 a0 60 22 cmp %g1, 0x22 40005914: 02 80 00 06 be 4000592c 40005918: 84 07 7f ff add %i5, -1, %g2 errno = ERANGE; return RTEMS_INVALID_NUMBER; } #endif *n = result; 4000591c: fa 26 40 00 st %i5, [ %i1 ] return RTEMS_SUCCESSFUL; 40005920: 82 10 20 00 clr %g1 } 40005924: 81 c7 e0 08 ret 40005928: 91 e8 00 01 restore %g0, %g1, %o0 if ( ( errno == ERANGE ) && 4000592c: 80 a0 bf fd cmp %g2, -3 40005930: 18 bf ff fd bgu 40005924 <== ALWAYS TAKEN 40005934: 82 10 20 0a mov 0xa, %g1 *n = result; 40005938: fa 26 40 00 st %i5, [ %i1 ] <== NOT EXECUTED return RTEMS_SUCCESSFUL; 4000593c: 10 bf ff fa b 40005924 <== NOT EXECUTED 40005940: 82 10 20 00 clr %g1 <== NOT EXECUTED =============================================================================== 40005944 : const char *s, unsigned long *n, char **endptr, int base ) { 40005944: 9d e3 bf 98 save %sp, -104, %sp unsigned long result; char *end; if ( !n ) 40005948: 80 a6 60 00 cmp %i1, 0 4000594c: 02 80 00 1a be 400059b4 40005950: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 40005954: 40 00 28 09 call 4000f978 <__errno> 40005958: 01 00 00 00 nop 4000595c: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtoul( s, &end, base ); 40005960: 94 10 00 1b mov %i3, %o2 *n = 0; 40005964: c0 26 40 00 clr [ %i1 ] result = strtoul( s, &end, base ); 40005968: 92 07 bf fc add %fp, -4, %o1 4000596c: 40 00 31 32 call 40011e34 40005970: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 40005974: c4 07 bf fc ld [ %fp + -4 ], %g2 if ( endptr ) 40005978: 80 a6 a0 00 cmp %i2, 0 4000597c: 02 80 00 03 be 40005988 40005980: ba 10 00 08 mov %o0, %i5 *endptr = end; 40005984: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 40005988: 80 a6 00 02 cmp %i0, %g2 4000598c: 02 80 00 0a be 400059b4 40005990: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40005994: 40 00 27 f9 call 4000f978 <__errno> 40005998: 01 00 00 00 nop 4000599c: c2 02 00 00 ld [ %o0 ], %g1 400059a0: 80 a0 60 22 cmp %g1, 0x22 400059a4: 02 80 00 06 be 400059bc 400059a8: 84 07 7f ff add %i5, -1, %g2 (( result == 0 ) || ( result == ULONG_MAX ))) return RTEMS_INVALID_NUMBER; *n = result; 400059ac: fa 26 40 00 st %i5, [ %i1 ] return RTEMS_SUCCESSFUL; 400059b0: 82 10 20 00 clr %g1 } 400059b4: 81 c7 e0 08 ret 400059b8: 91 e8 00 01 restore %g0, %g1, %o0 if ( ( errno == ERANGE ) && 400059bc: 80 a0 bf fd cmp %g2, -3 400059c0: 18 bf ff fd bgu 400059b4 <== ALWAYS TAKEN 400059c4: 82 10 20 0a mov 0xa, %g1 *n = result; 400059c8: fa 26 40 00 st %i5, [ %i1 ] <== NOT EXECUTED return RTEMS_SUCCESSFUL; 400059cc: 10 bf ff fa b 400059b4 <== NOT EXECUTED 400059d0: 82 10 20 00 clr %g1 <== NOT EXECUTED =============================================================================== 400059d4 : const char *s, unsigned long long *n, char **endptr, int base ) { 400059d4: 9d e3 bf 98 save %sp, -104, %sp unsigned long long result; char *end; if ( !n ) 400059d8: 80 a6 60 00 cmp %i1, 0 400059dc: 02 80 00 1c be 40005a4c 400059e0: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 400059e4: 40 00 27 e5 call 4000f978 <__errno> 400059e8: 01 00 00 00 nop 400059ec: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtoull( s, &end, base ); 400059f0: 94 10 00 1b mov %i3, %o2 *n = 0; 400059f4: c0 26 40 00 clr [ %i1 ] result = strtoull( s, &end, base ); 400059f8: 92 07 bf fc add %fp, -4, %o1 *n = 0; 400059fc: c0 26 60 04 clr [ %i1 + 4 ] result = strtoull( s, &end, base ); 40005a00: 40 00 31 be call 400120f8 40005a04: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 40005a08: c4 07 bf fc ld [ %fp + -4 ], %g2 result = strtoull( s, &end, base ); 40005a0c: b8 10 00 08 mov %o0, %i4 if ( endptr ) 40005a10: 80 a6 a0 00 cmp %i2, 0 40005a14: 02 80 00 03 be 40005a20 40005a18: ba 10 00 09 mov %o1, %i5 *endptr = end; 40005a1c: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 40005a20: 80 a6 00 02 cmp %i0, %g2 40005a24: 02 80 00 0a be 40005a4c 40005a28: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 40005a2c: 40 00 27 d3 call 4000f978 <__errno> 40005a30: 01 00 00 00 nop 40005a34: c2 02 00 00 ld [ %o0 ], %g1 40005a38: 80 a0 60 22 cmp %g1, 0x22 40005a3c: 02 80 00 06 be 40005a54 40005a40: 86 87 7f ff addcc %i5, -1, %g3 (( result == 0 ) || ( result == ULONG_LONG_MAX ))) return RTEMS_INVALID_NUMBER; *n = result; 40005a44: f8 3e 40 00 std %i4, [ %i1 ] return RTEMS_SUCCESSFUL; 40005a48: 82 10 20 00 clr %g1 } 40005a4c: 81 c7 e0 08 ret 40005a50: 91 e8 00 01 restore %g0, %g1, %o0 (( result == 0 ) || ( result == ULONG_LONG_MAX ))) 40005a54: 84 47 3f ff addx %i4, -1, %g2 if ( ( errno == ERANGE ) && 40005a58: 80 a0 bf ff cmp %g2, -1 40005a5c: 32 bf ff fb bne,a 40005a48 <== NEVER TAKEN 40005a60: f8 3e 40 00 std %i4, [ %i1 ] <== NOT EXECUTED 40005a64: 80 a0 ff fd cmp %g3, -3 40005a68: 18 bf ff f9 bgu 40005a4c <== ALWAYS TAKEN 40005a6c: 82 10 20 0a mov 0xa, %g1 *n = result; 40005a70: f8 3e 40 00 std %i4, [ %i1 ] <== NOT EXECUTED return RTEMS_SUCCESSFUL; 40005a74: 10 bf ff f6 b 40005a4c <== NOT EXECUTED 40005a78: 82 10 20 00 clr %g1 <== NOT EXECUTED