=============================================================================== 4000c804 : rtems_status_code rtems_string_to_double ( const char *s, double *n, char **endptr ) { 4000c804: 9d e3 bf 90 save %sp, -112, %sp double result; char *end; if ( !n ) 4000c808: 80 a6 60 00 cmp %i1, 0 4000c80c: 02 80 00 1a be 4000c874 4000c810: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 4000c814: 40 00 0b 22 call 4000f49c <__errno> 4000c818: 01 00 00 00 nop 4000c81c: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtod( s, &end ); 4000c820: 92 07 bf fc add %fp, -4, %o1 *n = 0; 4000c824: c0 26 40 00 clr [ %i1 ] result = strtod( s, &end ); 4000c828: 90 10 00 18 mov %i0, %o0 4000c82c: 40 00 12 33 call 400110f8 4000c830: c0 26 60 04 clr [ %i1 + 4 ] if ( endptr ) 4000c834: 80 a6 a0 00 cmp %i2, 0 4000c838: 02 80 00 03 be 4000c844 4000c83c: c4 07 bf fc ld [ %fp + -4 ], %g2 *endptr = end; 4000c840: c4 26 80 00 st %g2, [ %i2 ] 4000c844: c1 3f bf f0 std %f0, [ %fp + -16 ] if ( end == s ) 4000c848: 80 a6 00 02 cmp %i0, %g2 4000c84c: 02 80 00 0a be 4000c874 4000c850: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4000c854: 40 00 0b 12 call 4000f49c <__errno> 4000c858: 01 00 00 00 nop 4000c85c: c2 02 00 00 ld [ %o0 ], %g1 4000c860: 80 a0 60 22 cmp %g1, 0x22 4000c864: 02 80 00 06 be 4000c87c 4000c868: c1 1f bf f0 ldd [ %fp + -16 ], %f0 (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL ))) return RTEMS_INVALID_NUMBER; *n = result; 4000c86c: c1 3e 40 00 std %f0, [ %i1 ] return RTEMS_SUCCESSFUL; 4000c870: 82 10 20 00 clr %g1 } 4000c874: 81 c7 e0 08 ret 4000c878: 91 e8 00 01 restore %g0, %g1, %o0 if ( ( errno == ERANGE ) && 4000c87c: 03 10 00 58 sethi %hi(0x40016000), %g1 4000c880: d1 18 62 70 ldd [ %g1 + 0x270 ], %f8 ! 40016270 <_rodata_start+0x17c0> 4000c884: 81 a8 0a 48 fcmpd %f0, %f8 4000c888: 01 00 00 00 nop 4000c88c: 13 bf ff fa fbe 4000c874 4000c890: 82 10 20 0a mov 0xa, %g1 ! a <_TLS_Alignment+0x9> (( result == 0 ) || ( result == HUGE_VAL ) || ( result == -HUGE_VAL ))) 4000c894: 05 10 00 5a sethi %hi(0x40016800), %g2 4000c898: d1 18 a3 a8 ldd [ %g2 + 0x3a8 ], %f8 ! 40016ba8 <_Thread_queue_Operations_default+0x18> 4000c89c: 81 a8 0a c8 fcmped %f0, %f8 4000c8a0: 01 00 00 00 nop 4000c8a4: 0d bf ff f4 fbg 4000c874 4000c8a8: 05 10 00 5a sethi %hi(0x40016800), %g2 4000c8ac: d1 18 a3 b0 ldd [ %g2 + 0x3b0 ], %f8 ! 40016bb0 <_Thread_queue_Operations_default+0x20> 4000c8b0: 81 a8 0a c8 fcmped %f0, %f8 4000c8b4: 01 00 00 00 nop 4000c8b8: 09 bf ff ef fbl 4000c874 4000c8bc: 01 00 00 00 nop *n = result; 4000c8c0: c1 3e 40 00 std %f0, [ %i1 ] <== NOT EXECUTED return RTEMS_SUCCESSFUL; 4000c8c4: 10 bf ff ec b 4000c874 <== NOT EXECUTED 4000c8c8: 82 10 20 00 clr %g1 <== NOT EXECUTED =============================================================================== 4000c8cc : rtems_status_code rtems_string_to_float ( const char *s, float *n, char **endptr ) { 4000c8cc: 9d e3 bf 90 save %sp, -112, %sp float result; char *end; if ( !n ) 4000c8d0: 80 a6 60 00 cmp %i1, 0 4000c8d4: 02 80 00 19 be 4000c938 4000c8d8: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 4000c8dc: 40 00 0a f0 call 4000f49c <__errno> 4000c8e0: 01 00 00 00 nop 4000c8e4: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtof( s, &end ); 4000c8e8: 92 07 bf fc add %fp, -4, %o1 *n = 0; 4000c8ec: c0 26 40 00 clr [ %i1 ] result = strtof( s, &end ); 4000c8f0: 40 00 12 34 call 400111c0 4000c8f4: 90 10 00 18 mov %i0, %o0 if ( endptr ) 4000c8f8: 80 a6 a0 00 cmp %i2, 0 4000c8fc: 02 80 00 03 be 4000c908 4000c900: c4 07 bf fc ld [ %fp + -4 ], %g2 *endptr = end; 4000c904: c4 26 80 00 st %g2, [ %i2 ] 4000c908: c1 27 bf f4 st %f0, [ %fp + -12 ] if ( end == s ) 4000c90c: 80 a6 00 02 cmp %i0, %g2 4000c910: 02 80 00 0a be 4000c938 4000c914: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4000c918: 40 00 0a e1 call 4000f49c <__errno> 4000c91c: 01 00 00 00 nop 4000c920: c2 02 00 00 ld [ %o0 ], %g1 4000c924: 80 a0 60 22 cmp %g1, 0x22 4000c928: 02 80 00 06 be 4000c940 4000c92c: c1 07 bf f4 ld [ %fp + -12 ], %f0 (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF ))) return RTEMS_INVALID_NUMBER; *n = result; 4000c930: c1 26 40 00 st %f0, [ %i1 ] return RTEMS_SUCCESSFUL; 4000c934: 82 10 20 00 clr %g1 } 4000c938: 81 c7 e0 08 ret 4000c93c: 91 e8 00 01 restore %g0, %g1, %o0 if ( ( errno == ERANGE ) && 4000c940: 03 10 00 58 sethi %hi(0x40016000), %g1 4000c944: d1 00 60 50 ld [ %g1 + 0x50 ], %f8 ! 40016050 <_rodata_start+0x15a0> 4000c948: 81 a8 0a 28 fcmps %f0, %f8 4000c94c: 01 00 00 00 nop 4000c950: 13 bf ff fa fbe 4000c938 4000c954: 82 10 20 0a mov 0xa, %g1 ! a <_TLS_Alignment+0x9> (( result == 0 ) || ( result == HUGE_VALF ) || ( result == -HUGE_VALF ))) 4000c958: 05 10 00 5a sethi %hi(0x40016800), %g2 4000c95c: d1 00 a3 b8 ld [ %g2 + 0x3b8 ], %f8 ! 40016bb8 <_Thread_queue_Operations_default+0x28> 4000c960: 81 a8 0a a8 fcmpes %f0, %f8 4000c964: 01 00 00 00 nop 4000c968: 0d bf ff f4 fbg 4000c938 4000c96c: 05 10 00 5a sethi %hi(0x40016800), %g2 4000c970: d1 00 a3 bc ld [ %g2 + 0x3bc ], %f8 ! 40016bbc <_Thread_queue_Operations_default+0x2c> 4000c974: 81 a8 0a a8 fcmpes %f0, %f8 4000c978: 01 00 00 00 nop 4000c97c: 09 bf ff ef fbl 4000c938 4000c980: 01 00 00 00 nop *n = result; 4000c984: c1 26 40 00 st %f0, [ %i1 ] <== NOT EXECUTED return RTEMS_SUCCESSFUL; 4000c988: 10 bf ff ec b 4000c938 <== NOT EXECUTED 4000c98c: 82 10 20 00 clr %g1 <== NOT EXECUTED =============================================================================== 4000c990 : const char *s, int *n, char **endptr, int base ) { 4000c990: 9d e3 bf 98 save %sp, -104, %sp long result; char *end; if ( !n ) 4000c994: 80 a6 60 00 cmp %i1, 0 4000c998: 02 80 00 1a be 4000ca00 4000c99c: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 4000c9a0: 40 00 0a bf call 4000f49c <__errno> 4000c9a4: 01 00 00 00 nop 4000c9a8: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtol( s, &end, base ); 4000c9ac: 94 10 00 1b mov %i3, %o2 *n = 0; 4000c9b0: c0 26 40 00 clr [ %i1 ] result = strtol( s, &end, base ); 4000c9b4: 92 07 bf fc add %fp, -4, %o1 4000c9b8: 40 00 12 de call 40011530 4000c9bc: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 4000c9c0: c4 07 bf fc ld [ %fp + -4 ], %g2 if ( endptr ) 4000c9c4: 80 a6 a0 00 cmp %i2, 0 4000c9c8: 02 80 00 03 be 4000c9d4 4000c9cc: ba 10 00 08 mov %o0, %i5 *endptr = end; 4000c9d0: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 4000c9d4: 80 a6 00 02 cmp %i0, %g2 4000c9d8: 02 80 00 0a be 4000ca00 4000c9dc: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4000c9e0: 40 00 0a af call 4000f49c <__errno> 4000c9e4: 01 00 00 00 nop 4000c9e8: c2 02 00 00 ld [ %o0 ], %g1 4000c9ec: 80 a0 60 22 cmp %g1, 0x22 4000c9f0: 02 80 00 06 be 4000ca08 4000c9f4: 03 1f ff ff sethi %hi(0x7ffffc00), %g1 errno = ERANGE; return RTEMS_INVALID_NUMBER; } #endif *n = result; 4000c9f8: fa 26 40 00 st %i5, [ %i1 ] return RTEMS_SUCCESSFUL; 4000c9fc: 82 10 20 00 clr %g1 } 4000ca00: 81 c7 e0 08 ret 4000ca04: 91 e8 00 01 restore %g0, %g1, %o0 (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) 4000ca08: 82 10 63 ff or %g1, 0x3ff, %g1 4000ca0c: 80 8f 40 01 btst %i5, %g1 4000ca10: 02 80 00 04 be 4000ca20 4000ca14: 80 a7 40 01 cmp %i5, %g1 4000ca18: 32 bf ff f9 bne,a 4000c9fc <== NEVER TAKEN 4000ca1c: fa 26 40 00 st %i5, [ %i1 ] <== NOT EXECUTED return RTEMS_INVALID_NUMBER; 4000ca20: 10 bf ff f8 b 4000ca00 4000ca24: 82 10 20 0a mov 0xa, %g1 =============================================================================== 4000cad8 : const char *s, long *n, char **endptr, int base ) { 4000cad8: 9d e3 bf 98 save %sp, -104, %sp long result; char *end; if ( !n ) 4000cadc: 80 a6 60 00 cmp %i1, 0 4000cae0: 02 80 00 1a be 4000cb48 4000cae4: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 4000cae8: 40 00 0a 6d call 4000f49c <__errno> 4000caec: 01 00 00 00 nop 4000caf0: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtol( s, &end, base ); 4000caf4: 94 10 00 1b mov %i3, %o2 *n = 0; 4000caf8: c0 26 40 00 clr [ %i1 ] result = strtol( s, &end, base ); 4000cafc: 92 07 bf fc add %fp, -4, %o1 4000cb00: 40 00 12 8c call 40011530 4000cb04: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 4000cb08: c4 07 bf fc ld [ %fp + -4 ], %g2 if ( endptr ) 4000cb0c: 80 a6 a0 00 cmp %i2, 0 4000cb10: 02 80 00 03 be 4000cb1c 4000cb14: ba 10 00 08 mov %o0, %i5 *endptr = end; 4000cb18: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 4000cb1c: 80 a6 00 02 cmp %i0, %g2 4000cb20: 02 80 00 0a be 4000cb48 4000cb24: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4000cb28: 40 00 0a 5d call 4000f49c <__errno> 4000cb2c: 01 00 00 00 nop 4000cb30: c2 02 00 00 ld [ %o0 ], %g1 4000cb34: 80 a0 60 22 cmp %g1, 0x22 4000cb38: 02 80 00 06 be 4000cb50 4000cb3c: 03 1f ff ff sethi %hi(0x7ffffc00), %g1 (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) return RTEMS_INVALID_NUMBER; *n = result; 4000cb40: fa 26 40 00 st %i5, [ %i1 ] return RTEMS_SUCCESSFUL; 4000cb44: 82 10 20 00 clr %g1 } 4000cb48: 81 c7 e0 08 ret 4000cb4c: 91 e8 00 01 restore %g0, %g1, %o0 (( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN ))) 4000cb50: 82 10 63 ff or %g1, 0x3ff, %g1 4000cb54: 80 8f 40 01 btst %i5, %g1 4000cb58: 02 80 00 04 be 4000cb68 4000cb5c: 80 a7 40 01 cmp %i5, %g1 4000cb60: 32 bf ff f9 bne,a 4000cb44 <== NEVER TAKEN 4000cb64: fa 26 40 00 st %i5, [ %i1 ] <== NOT EXECUTED return RTEMS_INVALID_NUMBER; 4000cb68: 10 bf ff f8 b 4000cb48 4000cb6c: 82 10 20 0a mov 0xa, %g1 =============================================================================== 4000ca28 : const char *s, long long *n, char **endptr, int base ) { 4000ca28: 9d e3 bf 98 save %sp, -104, %sp long long result; char *end; if ( !n ) 4000ca2c: 80 a6 60 00 cmp %i1, 0 4000ca30: 02 80 00 1d be 4000caa4 4000ca34: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 4000ca38: 40 00 0a 99 call 4000f49c <__errno> 4000ca3c: 01 00 00 00 nop 4000ca40: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtoll( s, &end, base ); 4000ca44: 94 10 00 1b mov %i3, %o2 *n = 0; 4000ca48: c0 26 40 00 clr [ %i1 ] result = strtoll( s, &end, base ); 4000ca4c: 92 07 bf fc add %fp, -4, %o1 *n = 0; 4000ca50: c0 26 60 04 clr [ %i1 + 4 ] result = strtoll( s, &end, base ); 4000ca54: 40 00 13 83 call 40011860 4000ca58: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 4000ca5c: c4 07 bf fc ld [ %fp + -4 ], %g2 result = strtoll( s, &end, base ); 4000ca60: b8 10 00 08 mov %o0, %i4 if ( endptr ) 4000ca64: 80 a6 a0 00 cmp %i2, 0 4000ca68: 02 80 00 03 be 4000ca74 4000ca6c: ba 10 00 09 mov %o1, %i5 *endptr = end; 4000ca70: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 4000ca74: 80 a6 00 02 cmp %i0, %g2 4000ca78: 02 80 00 0b be 4000caa4 4000ca7c: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4000ca80: 40 00 0a 87 call 4000f49c <__errno> 4000ca84: 01 00 00 00 nop 4000ca88: c2 02 00 00 ld [ %o0 ], %g1 4000ca8c: 80 a0 60 22 cmp %g1, 0x22 4000ca90: 02 80 00 07 be 4000caac 4000ca94: 03 1f ff ff sethi %hi(0x7ffffc00), %g1 (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN ))) return RTEMS_INVALID_NUMBER; *n = result; 4000ca98: f8 26 40 00 st %i4, [ %i1 ] return RTEMS_SUCCESSFUL; 4000ca9c: 82 10 20 00 clr %g1 *n = result; 4000caa0: fa 26 60 04 st %i5, [ %i1 + 4 ] } 4000caa4: 81 c7 e0 08 ret 4000caa8: 91 e8 00 01 restore %g0, %g1, %o0 (( result == 0 ) || ( result == LONG_LONG_MAX ) || ( result == LONG_LONG_MIN ))) 4000caac: 82 10 63 ff or %g1, 0x3ff, %g1 4000cab0: 84 0f 00 01 and %i4, %g1, %g2 4000cab4: 80 90 80 1d orcc %g2, %i5, %g0 4000cab8: 22 bf ff fb be,a 4000caa4 4000cabc: 82 10 20 0a mov 0xa, %g1 4000cac0: 82 1f 00 01 xor %i4, %g1, %g1 4000cac4: 80 b0 40 1d orncc %g1, %i5, %g0 4000cac8: 32 bf ff f5 bne,a 4000ca9c <== NEVER TAKEN 4000cacc: f8 26 40 00 st %i4, [ %i1 ] <== NOT EXECUTED return RTEMS_INVALID_NUMBER; 4000cad0: 10 bf ff f5 b 4000caa4 4000cad4: 82 10 20 0a mov 0xa, %g1 =============================================================================== 4000cb80 : const char *s, unsigned char *n, char **endptr, int base ) { 4000cb80: 9d e3 bf 98 save %sp, -104, %sp unsigned long result; char *end; if ( !n ) 4000cb84: 80 a6 60 00 cmp %i1, 0 4000cb88: 02 80 00 1d be 4000cbfc 4000cb8c: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 4000cb90: 40 00 0a 43 call 4000f49c <__errno> 4000cb94: 01 00 00 00 nop 4000cb98: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtoul( s, &end, base ); 4000cb9c: 94 10 00 1b mov %i3, %o2 *n = 0; 4000cba0: c0 2e 40 00 clrb [ %i1 ] result = strtoul( s, &end, base ); 4000cba4: 92 07 bf fc add %fp, -4, %o1 4000cba8: 40 00 13 d6 call 40011b00 4000cbac: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 4000cbb0: c4 07 bf fc ld [ %fp + -4 ], %g2 if ( endptr ) 4000cbb4: 80 a6 a0 00 cmp %i2, 0 4000cbb8: 02 80 00 03 be 4000cbc4 4000cbbc: ba 10 00 08 mov %o0, %i5 *endptr = end; 4000cbc0: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 4000cbc4: 80 a6 00 02 cmp %i0, %g2 4000cbc8: 02 80 00 0d be 4000cbfc 4000cbcc: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4000cbd0: 40 00 0a 33 call 4000f49c <__errno> 4000cbd4: 01 00 00 00 nop 4000cbd8: c2 02 00 00 ld [ %o0 ], %g1 4000cbdc: 80 a0 60 22 cmp %g1, 0x22 4000cbe0: 02 80 00 09 be 4000cc04 4000cbe4: 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 ) { 4000cbe8: 80 a7 60 ff cmp %i5, 0xff 4000cbec: 18 80 00 0a bgu 4000cc14 4000cbf0: 01 00 00 00 nop errno = ERANGE; return RTEMS_INVALID_NUMBER; } #endif *n = result; 4000cbf4: fa 2e 40 00 stb %i5, [ %i1 ] return RTEMS_SUCCESSFUL; 4000cbf8: 82 10 20 00 clr %g1 } 4000cbfc: 81 c7 e0 08 ret 4000cc00: 91 e8 00 01 restore %g0, %g1, %o0 if ( ( errno == ERANGE ) && 4000cc04: 80 a0 bf fd cmp %g2, -3 4000cc08: 08 bf ff f8 bleu 4000cbe8 <== NEVER TAKEN 4000cc0c: 82 10 20 0a mov 0xa, %g1 4000cc10: 30 bf ff fb b,a 4000cbfc errno = ERANGE; 4000cc14: 40 00 0a 22 call 4000f49c <__errno> 4000cc18: 01 00 00 00 nop 4000cc1c: 84 10 20 22 mov 0x22, %g2 ! 22 <_TLS_Alignment+0x21> return RTEMS_INVALID_NUMBER; 4000cc20: 82 10 20 0a mov 0xa, %g1 4000cc24: 10 bf ff f6 b 4000cbfc 4000cc28: c4 22 00 00 st %g2, [ %o0 ] =============================================================================== 4000cc2c : const char *s, unsigned int *n, char **endptr, int base ) { 4000cc2c: 9d e3 bf 98 save %sp, -104, %sp unsigned long result; char *end; if ( !n ) 4000cc30: 80 a6 60 00 cmp %i1, 0 4000cc34: 02 80 00 1a be 4000cc9c 4000cc38: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 4000cc3c: 40 00 0a 18 call 4000f49c <__errno> 4000cc40: 01 00 00 00 nop 4000cc44: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtoul( s, &end, base ); 4000cc48: 94 10 00 1b mov %i3, %o2 *n = 0; 4000cc4c: c0 26 40 00 clr [ %i1 ] result = strtoul( s, &end, base ); 4000cc50: 92 07 bf fc add %fp, -4, %o1 4000cc54: 40 00 13 ab call 40011b00 4000cc58: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 4000cc5c: c4 07 bf fc ld [ %fp + -4 ], %g2 if ( endptr ) 4000cc60: 80 a6 a0 00 cmp %i2, 0 4000cc64: 02 80 00 03 be 4000cc70 4000cc68: ba 10 00 08 mov %o0, %i5 *endptr = end; 4000cc6c: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 4000cc70: 80 a6 00 02 cmp %i0, %g2 4000cc74: 02 80 00 0a be 4000cc9c 4000cc78: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4000cc7c: 40 00 0a 08 call 4000f49c <__errno> 4000cc80: 01 00 00 00 nop 4000cc84: c2 02 00 00 ld [ %o0 ], %g1 4000cc88: 80 a0 60 22 cmp %g1, 0x22 4000cc8c: 02 80 00 06 be 4000cca4 4000cc90: 84 07 7f ff add %i5, -1, %g2 errno = ERANGE; return RTEMS_INVALID_NUMBER; } #endif *n = result; 4000cc94: fa 26 40 00 st %i5, [ %i1 ] return RTEMS_SUCCESSFUL; 4000cc98: 82 10 20 00 clr %g1 } 4000cc9c: 81 c7 e0 08 ret 4000cca0: 91 e8 00 01 restore %g0, %g1, %o0 if ( ( errno == ERANGE ) && 4000cca4: 80 a0 bf fd cmp %g2, -3 4000cca8: 18 bf ff fd bgu 4000cc9c <== ALWAYS TAKEN 4000ccac: 82 10 20 0a mov 0xa, %g1 *n = result; 4000ccb0: fa 26 40 00 st %i5, [ %i1 ] <== NOT EXECUTED return RTEMS_SUCCESSFUL; 4000ccb4: 10 bf ff fa b 4000cc9c <== NOT EXECUTED 4000ccb8: 82 10 20 00 clr %g1 <== NOT EXECUTED =============================================================================== 4000cd64 : const char *s, unsigned long *n, char **endptr, int base ) { 4000cd64: 9d e3 bf 98 save %sp, -104, %sp unsigned long result; char *end; if ( !n ) 4000cd68: 80 a6 60 00 cmp %i1, 0 4000cd6c: 02 80 00 1a be 4000cdd4 4000cd70: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 4000cd74: 40 00 09 ca call 4000f49c <__errno> 4000cd78: 01 00 00 00 nop 4000cd7c: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtoul( s, &end, base ); 4000cd80: 94 10 00 1b mov %i3, %o2 *n = 0; 4000cd84: c0 26 40 00 clr [ %i1 ] result = strtoul( s, &end, base ); 4000cd88: 92 07 bf fc add %fp, -4, %o1 4000cd8c: 40 00 13 5d call 40011b00 4000cd90: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 4000cd94: c4 07 bf fc ld [ %fp + -4 ], %g2 if ( endptr ) 4000cd98: 80 a6 a0 00 cmp %i2, 0 4000cd9c: 02 80 00 03 be 4000cda8 4000cda0: ba 10 00 08 mov %o0, %i5 *endptr = end; 4000cda4: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 4000cda8: 80 a6 00 02 cmp %i0, %g2 4000cdac: 02 80 00 0a be 4000cdd4 4000cdb0: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4000cdb4: 40 00 09 ba call 4000f49c <__errno> 4000cdb8: 01 00 00 00 nop 4000cdbc: c2 02 00 00 ld [ %o0 ], %g1 4000cdc0: 80 a0 60 22 cmp %g1, 0x22 4000cdc4: 02 80 00 06 be 4000cddc 4000cdc8: 84 07 7f ff add %i5, -1, %g2 (( result == 0 ) || ( result == ULONG_MAX ))) return RTEMS_INVALID_NUMBER; *n = result; 4000cdcc: fa 26 40 00 st %i5, [ %i1 ] return RTEMS_SUCCESSFUL; 4000cdd0: 82 10 20 00 clr %g1 } 4000cdd4: 81 c7 e0 08 ret 4000cdd8: 91 e8 00 01 restore %g0, %g1, %o0 if ( ( errno == ERANGE ) && 4000cddc: 80 a0 bf fd cmp %g2, -3 4000cde0: 18 bf ff fd bgu 4000cdd4 <== ALWAYS TAKEN 4000cde4: 82 10 20 0a mov 0xa, %g1 *n = result; 4000cde8: fa 26 40 00 st %i5, [ %i1 ] <== NOT EXECUTED return RTEMS_SUCCESSFUL; 4000cdec: 10 bf ff fa b 4000cdd4 <== NOT EXECUTED 4000cdf0: 82 10 20 00 clr %g1 <== NOT EXECUTED ... =============================================================================== 4000ccbc : const char *s, unsigned long long *n, char **endptr, int base ) { 4000ccbc: 9d e3 bf 98 save %sp, -104, %sp unsigned long long result; char *end; if ( !n ) 4000ccc0: 80 a6 60 00 cmp %i1, 0 4000ccc4: 02 80 00 1c be 4000cd34 4000ccc8: 82 10 20 09 mov 9, %g1 return RTEMS_INVALID_ADDRESS; errno = 0; 4000cccc: 40 00 09 f4 call 4000f49c <__errno> 4000ccd0: 01 00 00 00 nop 4000ccd4: c0 22 00 00 clr [ %o0 ] *n = 0; result = strtoull( s, &end, base ); 4000ccd8: 94 10 00 1b mov %i3, %o2 *n = 0; 4000ccdc: c0 26 40 00 clr [ %i1 ] result = strtoull( s, &end, base ); 4000cce0: 92 07 bf fc add %fp, -4, %o1 *n = 0; 4000cce4: c0 26 60 04 clr [ %i1 + 4 ] result = strtoull( s, &end, base ); 4000cce8: 40 00 14 53 call 40011e34 4000ccec: 90 10 00 18 mov %i0, %o0 if ( endptr ) *endptr = end; 4000ccf0: c4 07 bf fc ld [ %fp + -4 ], %g2 result = strtoull( s, &end, base ); 4000ccf4: b8 10 00 08 mov %o0, %i4 if ( endptr ) 4000ccf8: 80 a6 a0 00 cmp %i2, 0 4000ccfc: 02 80 00 03 be 4000cd08 4000cd00: ba 10 00 09 mov %o1, %i5 *endptr = end; 4000cd04: c4 26 80 00 st %g2, [ %i2 ] if ( end == s ) 4000cd08: 80 a6 00 02 cmp %i0, %g2 4000cd0c: 02 80 00 0a be 4000cd34 4000cd10: 82 10 20 0b mov 0xb, %g1 return RTEMS_NOT_DEFINED; if ( ( errno == ERANGE ) && 4000cd14: 40 00 09 e2 call 4000f49c <__errno> 4000cd18: 01 00 00 00 nop 4000cd1c: c2 02 00 00 ld [ %o0 ], %g1 4000cd20: 80 a0 60 22 cmp %g1, 0x22 4000cd24: 02 80 00 06 be 4000cd3c 4000cd28: 86 87 7f ff addcc %i5, -1, %g3 (( result == 0 ) || ( result == ULONG_LONG_MAX ))) return RTEMS_INVALID_NUMBER; *n = result; 4000cd2c: f8 3e 40 00 std %i4, [ %i1 ] return RTEMS_SUCCESSFUL; 4000cd30: 82 10 20 00 clr %g1 } 4000cd34: 81 c7 e0 08 ret 4000cd38: 91 e8 00 01 restore %g0, %g1, %o0 (( result == 0 ) || ( result == ULONG_LONG_MAX ))) 4000cd3c: 84 47 3f ff addx %i4, -1, %g2 if ( ( errno == ERANGE ) && 4000cd40: 80 a0 bf ff cmp %g2, -1 4000cd44: 32 bf ff fb bne,a 4000cd30 <== NEVER TAKEN 4000cd48: f8 3e 40 00 std %i4, [ %i1 ] <== NOT EXECUTED 4000cd4c: 80 a0 ff fd cmp %g3, -3 4000cd50: 18 bf ff f9 bgu 4000cd34 <== ALWAYS TAKEN 4000cd54: 82 10 20 0a mov 0xa, %g1 *n = result; 4000cd58: f8 3e 40 00 std %i4, [ %i1 ] <== NOT EXECUTED return RTEMS_SUCCESSFUL; 4000cd5c: 10 bf ff f6 b 4000cd34 <== NOT EXECUTED 4000cd60: 82 10 20 00 clr %g1 <== NOT EXECUTED