RTEMS-5
Annotated Report
Fri Aug 10 14:31:02 2018
40036ef8 <rtems_string_to_int>:
const char *s,
int *n,
char **endptr,
int base
)
{
40036ef8: 9d e3 bf 98 save %sp, -104, %sp
<== NOT EXECUTED
long result;
char *end;
if ( !n )
40036efc: 80 a6 60 00 cmp %i1, 0
<== NOT EXECUTED
40036f00: 02 80 00 1a be 40036f68 <rtems_string_to_int+0x70>
<== NOT EXECUTED
40036f04: 82 10 20 09 mov 9, %g1
<== NOT EXECUTED
return RTEMS_INVALID_ADDRESS;
errno = 0;
40036f08: 40 00 96 83 call 4005c914 <__errno>
<== NOT EXECUTED
40036f0c: 01 00 00 00 nop
<== NOT EXECUTED
40036f10: c0 22 00 00 clr [ %o0 ]
<== NOT EXECUTED
*n = 0;
result = strtol( s, &end, base );
40036f14: 94 10 00 1b mov %i3, %o2
<== NOT EXECUTED
*n = 0;
40036f18: c0 26 40 00 clr [ %i1 ]
<== NOT EXECUTED
result = strtol( s, &end, base );
40036f1c: 92 07 bf fc add %fp, -4, %o1
<== NOT EXECUTED
40036f20: 40 00 bd e9 call 400666c4 <strtol>
<== NOT EXECUTED
40036f24: 90 10 00 18 mov %i0, %o0
<== NOT EXECUTED
if ( endptr )
*endptr = end;
40036f28: c4 07 bf fc ld [ %fp + -4 ], %g2
<== NOT EXECUTED
if ( endptr )
40036f2c: 80 a6 a0 00 cmp %i2, 0
<== NOT EXECUTED
40036f30: 02 80 00 03 be 40036f3c <rtems_string_to_int+0x44>
<== NOT EXECUTED
40036f34: ba 10 00 08 mov %o0, %i5
<== NOT EXECUTED
*endptr = end;
40036f38: c4 26 80 00 st %g2, [ %i2 ]
<== NOT EXECUTED
if ( end == s )
40036f3c: 80 a6 00 02 cmp %i0, %g2
<== NOT EXECUTED
40036f40: 02 80 00 0a be 40036f68 <rtems_string_to_int+0x70>
<== NOT EXECUTED
40036f44: 82 10 20 0b mov 0xb, %g1
<== NOT EXECUTED
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
40036f48: 40 00 96 73 call 4005c914 <__errno>
<== NOT EXECUTED
40036f4c: 01 00 00 00 nop
<== NOT EXECUTED
40036f50: c2 02 00 00 ld [ %o0 ], %g1
<== NOT EXECUTED
40036f54: 80 a0 60 22 cmp %g1, 0x22
<== NOT EXECUTED
40036f58: 02 80 00 06 be 40036f70 <rtems_string_to_int+0x78>
<== NOT EXECUTED
40036f5c: 03 1f ff ff sethi %hi(0x7ffffc00), %g1
<== NOT EXECUTED
errno = ERANGE;
return RTEMS_INVALID_NUMBER;
}
#endif
*n = result;
40036f60: fa 26 40 00 st %i5, [ %i1 ]
<== NOT EXECUTED
return RTEMS_SUCCESSFUL;
40036f64: 82 10 20 00 clr %g1
<== NOT EXECUTED
}
40036f68: 81 c7 e0 08 ret
<== NOT EXECUTED
40036f6c: 91 e8 00 01 restore %g0, %g1, %o0
<== NOT EXECUTED
(( result == 0 ) || ( result == LONG_MAX ) || ( result == LONG_MIN )))
40036f70: 82 10 63 ff or %g1, 0x3ff, %g1
<== NOT EXECUTED
40036f74: 80 8f 40 01 btst %i5, %g1
<== NOT EXECUTED
40036f78: 02 80 00 04 be 40036f88 <rtems_string_to_int+0x90>
<== NOT EXECUTED
40036f7c: 80 a7 40 01 cmp %i5, %g1
<== NOT EXECUTED
40036f80: 32 bf ff f9 bne,a 40036f64 <rtems_string_to_int+0x6c>
<== NOT EXECUTED
40036f84: fa 26 40 00 st %i5, [ %i1 ]
<== NOT EXECUTED
return RTEMS_INVALID_NUMBER;
40036f88: 10 bf ff f8 b 40036f68 <rtems_string_to_int+0x70>
<== NOT EXECUTED
40036f8c: 82 10 20 0a mov 0xa, %g1
<== NOT EXECUTED
40036f90 <rtems_string_to_pointer>:
const char *s,
void **n,
char **endptr
)
{
return STRTOFUNC( s, n, endptr );
40036f90: 96 10 20 00 clr %o3
<== NOT EXECUTED
40036f94: 82 13 c0 00 mov %o7, %g1
<== NOT EXECUTED
40036f98: 40 00 00 2d call 4003704c <rtems_string_to_unsigned_long>
<== NOT EXECUTED
40036f9c: 9e 10 40 00 mov %g1, %o7
<== NOT EXECUTED
40036fa0 <rtems_string_to_unsigned_char>:
const char *s,
unsigned char *n,
char **endptr,
int base
)
{
40036fa0: 9d e3 bf 98 save %sp, -104, %sp
<== NOT EXECUTED
unsigned long result;
char *end;
if ( !n )
40036fa4: 80 a6 60 00 cmp %i1, 0
<== NOT EXECUTED
40036fa8: 02 80 00 1d be 4003701c <rtems_string_to_unsigned_char+0x7c>
<== NOT EXECUTED
40036fac: 82 10 20 09 mov 9, %g1
<== NOT EXECUTED
return RTEMS_INVALID_ADDRESS;
errno = 0;
40036fb0: 40 00 96 59 call 4005c914 <__errno>
<== NOT EXECUTED
40036fb4: 01 00 00 00 nop
<== NOT EXECUTED
40036fb8: c0 22 00 00 clr [ %o0 ]
<== NOT EXECUTED
*n = 0;
result = strtoul( s, &end, base );
40036fbc: 94 10 00 1b mov %i3, %o2
<== NOT EXECUTED
*n = 0;
40036fc0: c0 2e 40 00 clrb [ %i1 ]
<== NOT EXECUTED
result = strtoul( s, &end, base );
40036fc4: 92 07 bf fc add %fp, -4, %o1
<== NOT EXECUTED
40036fc8: 40 00 bf 33 call 40066c94 <strtoul>
<== NOT EXECUTED
40036fcc: 90 10 00 18 mov %i0, %o0
<== NOT EXECUTED
if ( endptr )
*endptr = end;
40036fd0: c4 07 bf fc ld [ %fp + -4 ], %g2
<== NOT EXECUTED
if ( endptr )
40036fd4: 80 a6 a0 00 cmp %i2, 0
<== NOT EXECUTED
40036fd8: 02 80 00 03 be 40036fe4 <rtems_string_to_unsigned_char+0x44>
<== NOT EXECUTED
40036fdc: ba 10 00 08 mov %o0, %i5
<== NOT EXECUTED
*endptr = end;
40036fe0: c4 26 80 00 st %g2, [ %i2 ]
<== NOT EXECUTED
if ( end == s )
40036fe4: 80 a6 00 02 cmp %i0, %g2
<== NOT EXECUTED
40036fe8: 02 80 00 0d be 4003701c <rtems_string_to_unsigned_char+0x7c>
<== NOT EXECUTED
40036fec: 82 10 20 0b mov 0xb, %g1
<== NOT EXECUTED
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
40036ff0: 40 00 96 49 call 4005c914 <__errno>
<== NOT EXECUTED
40036ff4: 01 00 00 00 nop
<== NOT EXECUTED
40036ff8: c2 02 00 00 ld [ %o0 ], %g1
<== NOT EXECUTED
40036ffc: 80 a0 60 22 cmp %g1, 0x22
<== NOT EXECUTED
40037000: 02 80 00 09 be 40037024 <rtems_string_to_unsigned_char+0x84>
<== NOT EXECUTED
40037004: 84 07 7f ff add %i5, -1, %g2
<== NOT EXECUTED
(( result == 0 ) || ( result == ULONG_MAX )))
return RTEMS_INVALID_NUMBER;
#if (UCHAR_MAX < ULONG_MAX)
if ( result > UCHAR_MAX ) {
40037008: 80 a7 60 ff cmp %i5, 0xff
<== NOT EXECUTED
4003700c: 18 80 00 0a bgu 40037034 <rtems_string_to_unsigned_char+0x94>
<== NOT EXECUTED
40037010: 01 00 00 00 nop
<== NOT EXECUTED
errno = ERANGE;
return RTEMS_INVALID_NUMBER;
}
#endif
*n = result;
40037014: fa 2e 40 00 stb %i5, [ %i1 ]
<== NOT EXECUTED
return RTEMS_SUCCESSFUL;
40037018: 82 10 20 00 clr %g1
<== NOT EXECUTED
}
4003701c: 81 c7 e0 08 ret
<== NOT EXECUTED
40037020: 91 e8 00 01 restore %g0, %g1, %o0
<== NOT EXECUTED
if ( ( errno == ERANGE ) &&
40037024: 80 a0 bf fd cmp %g2, -3
<== NOT EXECUTED
40037028: 08 bf ff f8 bleu 40037008 <rtems_string_to_unsigned_char+0x68>
<== NOT EXECUTED
4003702c: 82 10 20 0a mov 0xa, %g1
<== NOT EXECUTED
40037030: 30 bf ff fb b,a 4003701c <rtems_string_to_unsigned_char+0x7c>
<== NOT EXECUTED
errno = ERANGE;
40037034: 40 00 96 38 call 4005c914 <__errno>
<== NOT EXECUTED
40037038: 01 00 00 00 nop
<== NOT EXECUTED
4003703c: 84 10 20 22 mov 0x22, %g2 ! 22 <_TLS_Alignment+0x21>
<== NOT EXECUTED
return RTEMS_INVALID_NUMBER;
40037040: 82 10 20 0a mov 0xa, %g1
<== NOT EXECUTED
40037044: 10 bf ff f6 b 4003701c <rtems_string_to_unsigned_char+0x7c>
<== NOT EXECUTED
40037048: c4 22 00 00 st %g2, [ %o0 ]
<== NOT EXECUTED
4003704c <rtems_string_to_unsigned_long>:
const char *s,
unsigned long *n,
char **endptr,
int base
)
{
4003704c: 9d e3 bf 98 save %sp, -104, %sp
<== NOT EXECUTED
unsigned long result;
char *end;
if ( !n )
40037050: 80 a6 60 00 cmp %i1, 0
<== NOT EXECUTED
40037054: 02 80 00 1a be 400370bc <rtems_string_to_unsigned_long+0x70>
<== NOT EXECUTED
40037058: 82 10 20 09 mov 9, %g1
<== NOT EXECUTED
return RTEMS_INVALID_ADDRESS;
errno = 0;
4003705c: 40 00 96 2e call 4005c914 <__errno>
<== NOT EXECUTED
40037060: 01 00 00 00 nop
<== NOT EXECUTED
40037064: c0 22 00 00 clr [ %o0 ]
<== NOT EXECUTED
*n = 0;
result = strtoul( s, &end, base );
40037068: 94 10 00 1b mov %i3, %o2
<== NOT EXECUTED
*n = 0;
4003706c: c0 26 40 00 clr [ %i1 ]
<== NOT EXECUTED
result = strtoul( s, &end, base );
40037070: 92 07 bf fc add %fp, -4, %o1
<== NOT EXECUTED
40037074: 40 00 bf 08 call 40066c94 <strtoul>
<== NOT EXECUTED
40037078: 90 10 00 18 mov %i0, %o0
<== NOT EXECUTED
if ( endptr )
*endptr = end;
4003707c: c4 07 bf fc ld [ %fp + -4 ], %g2
<== NOT EXECUTED
if ( endptr )
40037080: 80 a6 a0 00 cmp %i2, 0
<== NOT EXECUTED
40037084: 02 80 00 03 be 40037090 <rtems_string_to_unsigned_long+0x44>
<== NOT EXECUTED
40037088: ba 10 00 08 mov %o0, %i5
<== NOT EXECUTED
*endptr = end;
4003708c: c4 26 80 00 st %g2, [ %i2 ]
<== NOT EXECUTED
if ( end == s )
40037090: 80 a6 00 02 cmp %i0, %g2
<== NOT EXECUTED
40037094: 02 80 00 0a be 400370bc <rtems_string_to_unsigned_long+0x70>
<== NOT EXECUTED
40037098: 82 10 20 0b mov 0xb, %g1
<== NOT EXECUTED
return RTEMS_NOT_DEFINED;
if ( ( errno == ERANGE ) &&
4003709c: 40 00 96 1e call 4005c914 <__errno>
<== NOT EXECUTED
400370a0: 01 00 00 00 nop
<== NOT EXECUTED
400370a4: c2 02 00 00 ld [ %o0 ], %g1
<== NOT EXECUTED
400370a8: 80 a0 60 22 cmp %g1, 0x22
<== NOT EXECUTED
400370ac: 02 80 00 06 be 400370c4 <rtems_string_to_unsigned_long+0x78>
<== NOT EXECUTED
400370b0: 84 07 7f ff add %i5, -1, %g2
<== NOT EXECUTED
(( result == 0 ) || ( result == ULONG_MAX )))
return RTEMS_INVALID_NUMBER;
*n = result;
400370b4: fa 26 40 00 st %i5, [ %i1 ]
<== NOT EXECUTED
return RTEMS_SUCCESSFUL;
400370b8: 82 10 20 00 clr %g1
<== NOT EXECUTED
}
400370bc: 81 c7 e0 08 ret
<== NOT EXECUTED
400370c0: 91 e8 00 01 restore %g0, %g1, %o0
<== NOT EXECUTED
if ( ( errno == ERANGE ) &&
400370c4: 80 a0 bf fd cmp %g2, -3
<== NOT EXECUTED
400370c8: 18 bf ff fd bgu 400370bc <rtems_string_to_unsigned_long+0x70>
<== NOT EXECUTED
400370cc: 82 10 20 0a mov 0xa, %g1
<== NOT EXECUTED
*n = result;
400370d0: fa 26 40 00 st %i5, [ %i1 ]
<== NOT EXECUTED
return RTEMS_SUCCESSFUL;
400370d4: 10 bf ff fa b 400370bc <rtems_string_to_unsigned_long+0x70>
<== NOT EXECUTED
400370d8: 82 10 20 00 clr %g1
<== NOT EXECUTED