RTEMS-6
Annotated Report
libstackchk
Sun Feb 28 23:51:41 2021
00106478 <rtems_stack_checker_begin_extension>:
{
106478: b538 push {r3, r4, r5, lr}
if ( stack->area == NULL ) {
10647a: f244 73fc movw r3, #18428 ; 0x47fc
10647e: f2c0 0320 movt r3, #32
106482: 685a ldr r2, [r3, #4]
106484: b102 cbz r2, 106488 <rtems_stack_checker_begin_extension+0x10>
}
106486: bd38 pop {r3, r4, r5, pc}
stack->area = cpu_self->interrupt_stack_low;
106488: f644 0040 movw r0, #18496 ; 0x4840
return memcmp(
10648c: f240 1158 movw r1, #344 ; 0x158
stack->area = cpu_self->interrupt_stack_low;
106490: f2c0 0020 movt r0, #32
return memcmp(
106494: 2210 movs r2, #16
stack->size = (size_t) ( (char *) cpu_self->interrupt_stack_high -
106496: e9d0 4500 ldrd r4, r5, [r0]
return memcmp(
10649a: f2c0 0111 movt r1, #17
stack->size = (size_t) ( (char *) cpu_self->interrupt_stack_high -
10649e: 1b2d subs r5, r5, r4
return memcmp(
1064a0: 4620 mov r0, r4
stack->size = (size_t) ( (char *) cpu_self->interrupt_stack_high -
1064a2: e9c3 5400 strd r5, r4, [r3]
return memcmp(
1064a6: f008 fc37 bl 10ed18 <memcmp>
if ( !Stack_check_Is_sanity_pattern_valid( stack ) ) {
1064aa: b940 cbnz r0, 1064be <rtems_stack_checker_begin_extension+0x46>
memset(
1064ac: f1a5 0210 sub.w r2, r5, #16
1064b0: f104 0010 add.w r0, r4, #16
1064b4: 21a5 movs r1, #165 ; 0xa5
}
1064b6: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr}
memset(
1064ba: f008 bed1 b.w 10f260 <memset>
1064be: f245 4152 movw r1, #21586 ; 0x5452 <== NOT EXECUTED
1064c2: 2008 movs r0, #8 <== NOT EXECUTED
1064c4: f6c4 114e movt r1, #18766 ; 0x494e <== NOT EXECUTED
1064c8: f000 fc10 bl 106cec <_Terminate> <== NOT EXECUTED
0010eaec <rtems_stack_checker_report_usage_with_plugin>:
rtems_printf(
10eaec: f64f 411c movw r1, #64540 ; 0xfc1c <== NOT EXECUTED
{
10eaf0: b510 push {r4, lr} <== NOT EXECUTED
rtems_printf(
10eaf2: f2c0 0115 movt r1, #21 <== NOT EXECUTED
{
10eaf6: b082 sub sp, #8 <== NOT EXECUTED
10eaf8: 4604 mov r4, r0 <== NOT EXECUTED
rtems_printf(
10eafa: f7f7 fd25 bl 106548 <rtems_printf> <== NOT EXECUTED
rtems_task_iterate(
10eafe: f64e 20c1 movw r0, #60097 ; 0xeac1 <== NOT EXECUTED
10eb02: 4621 mov r1, r4 <== NOT EXECUTED
10eb04: f2c0 0010 movt r0, #16 <== NOT EXECUTED
10eb08: f001 fb14 bl 110134 <rtems_task_iterate> <== NOT EXECUTED
Stack_check_Dump_stack_usage(
10eb0c: f247 7ccc movw ip, #30668 ; 0x77cc <== NOT EXECUTED
10eb10: 2200 movs r2, #0 <== NOT EXECUTED
10eb12: f2c0 0c20 movt ip, #32 <== NOT EXECUTED
10eb16: f64f 43a0 movw r3, #64672 ; 0xfca0 <== NOT EXECUTED
10eb1a: e9cd 2400 strd r2, r4, [sp] <== NOT EXECUTED
10eb1e: f2c0 0315 movt r3, #21 <== NOT EXECUTED
10eb22: e9dc 0100 ldrd r0, r1, [ip] <== NOT EXECUTED
10eb26: f7ff ff81 bl 10ea2c <Stack_check_Dump_stack_usage.isra.0> <== NOT EXECUTED
}
10eb2a: b002 add sp, #8 <== NOT EXECUTED
10eb2c: bd10 pop {r4, pc} <== NOT EXECUTED
10eb2e: bf00 nop
001064cc <rtems_stack_checker_switch_extension>:
{
1064cc: b5f0 push {r4, r5, r6, r7, lr}
1064ce: b089 sub sp, #36 ; 0x24
if ( sp < the_stack->area ) {
1064d0: f8d0 50d0 ldr.w r5, [r0, #208] ; 0xd0
{
1064d4: af00 add r7, sp, #0
return memcmp(
1064d6: f240 1158 movw r1, #344 ; 0x158
{
1064da: 4604 mov r4, r0
return memcmp(
1064dc: 2210 movs r2, #16
if ( sp < the_stack->area ) {
1064de: 42bd cmp r5, r7
return memcmp(
1064e0: f2c0 0111 movt r1, #17
1064e4: 4628 mov r0, r5
if ( sp < the_stack->area ) {
1064e6: d81b bhi.n 106520 <rtems_stack_checker_switch_extension+0x54> <== ALWAYS TAKEN
return memcmp(
1064e8: f008 fc16 bl 10ed18 <memcmp>
if ( sp > (the_stack->area + the_stack->size) ) {
1064ec: f8d4 30cc ldr.w r3, [r4, #204] ; 0xcc
return memcmp(
1064f0: 4606 mov r6, r0
if ( sp > (the_stack->area + the_stack->size) ) {
1064f2: 442b add r3, r5
1064f4: 429f cmp r7, r3
1064f6: d816 bhi.n 106526 <rtems_stack_checker_switch_extension+0x5a> <== ALWAYS TAKEN
if ( !sp_ok || !pattern_ok ) {
1064f8: 2800 cmp r0, #0
1064fa: d149 bne.n 106590 <rtems_stack_checker_switch_extension+0xc4>
if ( stack->area != NULL && !Stack_check_Is_sanity_pattern_valid( stack ) ) {
1064fc: f244 73fc movw r3, #18428 ; 0x47fc
106500: f2c0 0320 movt r3, #32
106504: 6858 ldr r0, [r3, #4]
106506: b140 cbz r0, 10651a <rtems_stack_checker_switch_extension+0x4e>
return memcmp(
106508: f240 1158 movw r1, #344 ; 0x158
10650c: 2210 movs r2, #16
10650e: f2c0 0111 movt r1, #17
106512: f008 fc01 bl 10ed18 <memcmp>
if ( stack->area != NULL && !Stack_check_Is_sanity_pattern_valid( stack ) ) {
106516: 2800 cmp r0, #0
106518: d175 bne.n 106606 <rtems_stack_checker_switch_extension+0x13a> <== ALWAYS TAKEN
}
10651a: 3724 adds r7, #36 ; 0x24
10651c: 46bd mov sp, r7
10651e: bdf0 pop {r4, r5, r6, r7, pc}
return memcmp(
106520: f008 fbfa bl 10ed18 <memcmp> <== NOT EXECUTED
106524: 4606 mov r6, r0 <== NOT EXECUTED
printk("BLOWN STACK!!!\n");
106526: f240 00bc movw r0, #188 ; 0xbc <== NOT EXECUTED
10652a: f2c0 0011 movt r0, #17 <== NOT EXECUTED
10652e: f002 ff57 bl 1093e0 <printk> <== NOT EXECUTED
printk("task control block: 0x%08" PRIxPTR "\n", (intptr_t) running);
106532: f240 00cc movw r0, #204 ; 0xcc <== NOT EXECUTED
106536: 4621 mov r1, r4 <== NOT EXECUTED
106538: f2c0 0011 movt r0, #17 <== NOT EXECUTED
10653c: f002 ff50 bl 1093e0 <printk> <== NOT EXECUTED
printk("task ID: 0x%08lx\n", (unsigned long) running->Object.id);
106540: f240 00e8 movw r0, #232 ; 0xe8 <== NOT EXECUTED
106544: 68a1 ldr r1, [r4, #8] <== NOT EXECUTED
106546: f2c0 0011 movt r0, #17 <== NOT EXECUTED
10654a: f002 ff49 bl 1093e0 <printk> <== NOT EXECUTED
printk(
10654e: f240 00fc movw r0, #252 ; 0xfc <== NOT EXECUTED
106552: 68e1 ldr r1, [r4, #12] <== NOT EXECUTED
106554: f2c0 0011 movt r0, #17 <== NOT EXECUTED
106558: f002 ff42 bl 1093e0 <printk> <== NOT EXECUTED
_Thread_Get_name(running, name, sizeof(name));
10655c: 2220 movs r2, #32 <== NOT EXECUTED
10655e: 4639 mov r1, r7 <== NOT EXECUTED
106560: 4620 mov r0, r4 <== NOT EXECUTED
106562: f001 fc13 bl 107d8c <_Thread_Get_name> <== NOT EXECUTED
printk("task name string: %s\n", name);
106566: f240 1010 movw r0, #272 ; 0x110 <== NOT EXECUTED
10656a: 4639 mov r1, r7 <== NOT EXECUTED
10656c: f2c0 0011 movt r0, #17 <== NOT EXECUTED
106570: f002 ff36 bl 1093e0 <printk> <== NOT EXECUTED
(intptr_t) stack->area,
106574: e9d4 1233 ldrd r1, r2, [r4, #204] ; 0xcc <== NOT EXECUTED
printk(
106578: f240 1028 movw r0, #296 ; 0x128 <== NOT EXECUTED
10657c: f2c0 0011 movt r0, #17 <== NOT EXECUTED
106580: 1853 adds r3, r2, r1 <== NOT EXECUTED
106582: f002 ff2d bl 1093e0 <printk> <== NOT EXECUTED
if (!pattern_ok) {
106586: bb9e cbnz r6, 1065f0 <rtems_stack_checker_switch_extension+0x124> <== NOT EXECUTED
106588: 68e1 ldr r1, [r4, #12]
10658a: 2008 movs r0, #8
10658c: f000 fbae bl 106cec <_Terminate>
printk("BLOWN STACK!!!\n");
106590: f240 00bc movw r0, #188 ; 0xbc
106594: f2c0 0011 movt r0, #17
106598: f002 ff22 bl 1093e0 <printk>
printk("task control block: 0x%08" PRIxPTR "\n", (intptr_t) running);
10659c: f240 00cc movw r0, #204 ; 0xcc
1065a0: 4621 mov r1, r4
1065a2: f2c0 0011 movt r0, #17
1065a6: f002 ff1b bl 1093e0 <printk>
printk("task ID: 0x%08lx\n", (unsigned long) running->Object.id);
1065aa: f240 00e8 movw r0, #232 ; 0xe8
1065ae: 68a1 ldr r1, [r4, #8]
1065b0: f2c0 0011 movt r0, #17
1065b4: f002 ff14 bl 1093e0 <printk>
printk(
1065b8: f240 00fc movw r0, #252 ; 0xfc
1065bc: 68e1 ldr r1, [r4, #12]
1065be: f2c0 0011 movt r0, #17
1065c2: f002 ff0d bl 1093e0 <printk>
_Thread_Get_name(running, name, sizeof(name));
1065c6: 2220 movs r2, #32
1065c8: 4639 mov r1, r7
1065ca: 4620 mov r0, r4
1065cc: f001 fbde bl 107d8c <_Thread_Get_name>
printk("task name string: %s\n", name);
1065d0: f240 1010 movw r0, #272 ; 0x110
1065d4: 4639 mov r1, r7
1065d6: f2c0 0011 movt r0, #17
1065da: f002 ff01 bl 1093e0 <printk>
(intptr_t) stack->area,
1065de: e9d4 1233 ldrd r1, r2, [r4, #204] ; 0xcc
printk(
1065e2: f240 1028 movw r0, #296 ; 0x128
1065e6: f2c0 0011 movt r0, #17
1065ea: 1853 adds r3, r2, r1
1065ec: f002 fef8 bl 1093e0 <printk>
printk(
1065f0: f240 0088 movw r0, #136 ; 0x88
1065f4: f105 0310 add.w r3, r5, #16
1065f8: 462a mov r2, r5
1065fa: 2110 movs r1, #16
1065fc: f2c0 0011 movt r0, #17
106600: f002 feee bl 1093e0 <printk>
106604: e7c0 b.n 106588 <rtems_stack_checker_switch_extension+0xbc>
106606: f245 4152 movw r1, #21586 ; 0x5452 <== NOT EXECUTED
10660a: 2008 movs r0, #8 <== NOT EXECUTED
10660c: f6c4 114e movt r1, #18766 ; 0x494e <== NOT EXECUTED
106610: f000 fb6c bl 106cec <_Terminate> <== NOT EXECUTED