RTEMS-6
Annotated Report
libstackchk
Sun Feb 28 12:35:32 2021

400035cc <rtems_stack_checker_begin_extension>:                                           
#endif                                                                                    
                                                                                          
  cpu_self_index = _Per_CPU_Get_index( cpu_self );                                        
  stack = &Stack_check_Interrupt_stack[ cpu_self_index ];                                 
                                                                                          
  if ( stack->area == NULL ) {                                                            
400035cc:   8c418793            addi    a5,gp,-1852 # 40014ad4 <Stack_check_Interrupt_stack>
400035d0:   0047a703            lw  a4,4(a5) # f004 <bsp_section_bss_size+0x9fc8>         
400035d4:   00070463            beqz    a4,400035dc <rtems_stack_checker_begin_extension+0x10>
400035d8:   00008067            ret                                                       
    stack->area = cpu_self->interrupt_stack_low;                                          
400035dc:   40019737            lui a4,0x40019                                            
{                                                                                         
400035e0:   ff010113            addi    sp,sp,-16                                         
    stack->area = cpu_self->interrupt_stack_low;                                          
400035e4:   f8070713            addi    a4,a4,-128 # 40018f80 <_Per_CPU_Information>      
{                                                                                         
400035e8:   00812423            sw  s0,8(sp)                                              
400035ec:   00912223            sw  s1,4(sp)                                              
    stack->area = cpu_self->interrupt_stack_low;                                          
400035f0:   02072403            lw  s0,32(a4)                                             
    stack->size = (size_t) ( (char *) cpu_self->interrupt_stack_high -                    
400035f4:   02472483            lw  s1,36(a4)                                             
{                                                                                         
400035f8:   00112623            sw  ra,12(sp)                                             
  return memcmp(                                                                          
400035fc:   400135b7            lui a1,0x40013                                            
    stack->size = (size_t) ( (char *) cpu_self->interrupt_stack_high -                    
40003600:   408484b3            sub s1,s1,s0                                              
  return memcmp(                                                                          
40003604:   01000613            li  a2,16                                                 
40003608:   cf058593            addi    a1,a1,-784 # 40012cf0 <Stack_check_Sanity_pattern>
4000360c:   00040513            mv  a0,s0                                                 
    stack->area = cpu_self->interrupt_stack_low;                                          
40003610:   0087a223            sw  s0,4(a5)                                              
    stack->size = (size_t) ( (char *) cpu_self->interrupt_stack_high -                    
40003614:   0097a023            sw  s1,0(a5)                                              
  return memcmp(                                                                          
40003618:   6300e0ef            jal ra,40011c48 <memcmp>                                  
      (char *) cpu_self->interrupt_stack_low );                                           
                                                                                          
    /*                                                                                    
     * Sanity pattern has been added by Stack_check_Prepare_interrupt_stack()             
     */                                                                                   
    if ( !Stack_check_Is_sanity_pattern_valid( stack ) ) {                                
4000361c:   02051263            bnez    a0,40003640 <rtems_stack_checker_begin_extension+0x74><== NEVER TAKEN
  memset(                                                                                 
40003620:   01040513            addi    a0,s0,16                                          
  }                                                                                       
                                                                                          
#if defined(RTEMS_SMP)                                                                    
  _Thread_Dispatch_enable( cpu_self );                                                    
#endif                                                                                    
}                                                                                         
40003624:   00812403            lw  s0,8(sp)                                              
40003628:   00c12083            lw  ra,12(sp)                                             
  memset(                                                                                 
4000362c:   ff048613            addi    a2,s1,-16                                         
}                                                                                         
40003630:   00412483            lw  s1,4(sp)                                              
  memset(                                                                                 
40003634:   0a500593            li  a1,165                                                
}                                                                                         
40003638:   01010113            addi    sp,sp,16                                          
  memset(                                                                                 
4000363c:   7ac0e06f            j   40011de8 <memset>                                     
40003640:   494e55b7            lui a1,0x494e5                                            <== NOT EXECUTED
40003644:   45258593            addi    a1,a1,1106 # 494e5452 <RamEnd+0x84e5452>          <== NOT EXECUTED
40003648:   00800513            li  a0,8                                                  <== NOT EXECUTED
4000364c:   3ad000ef            jal ra,400041f8 <_Terminate>                              <== NOT EXECUTED
                                                                                          

40003650 <rtems_stack_checker_switch_extension>: */ void rtems_stack_checker_switch_extension( Thread_Control *running, Thread_Control *heir ) {
40003650:   fc010113            addi    sp,sp,-64                                         
40003654:   02812c23            sw  s0,56(sp)                                             
40003658:   02912a23            sw  s1,52(sp)                                             
4000365c:   03212823            sw  s2,48(sp)                                             
40003660:   02112e23            sw  ra,60(sp)                                             
40003664:   03312623            sw  s3,44(sp)                                             
40003668:   03412423            sw  s4,40(sp)                                             
4000366c:   04010413            addi    s0,sp,64                                          
    if ( sp < the_stack->area ) {                                                         
40003670:   0d052903            lw  s2,208(a0)                                            
{                                                                                         
40003674:   00050493            mv  s1,a0                                                 
    if ( sp < the_stack->area ) {                                                         
40003678:   07246263            bltu    s0,s2,400036dc <rtems_stack_checker_switch_extension+0x8c>
  return memcmp(                                                                          
4000367c:   400139b7            lui s3,0x40013                                            
40003680:   01000613            li  a2,16                                                 
40003684:   cf098593            addi    a1,s3,-784 # 40012cf0 <Stack_check_Sanity_pattern>
40003688:   00090513            mv  a0,s2                                                 
4000368c:   5bc0e0ef            jal ra,40011c48 <memcmp>                                  
    if ( sp > (the_stack->area + the_stack->size) ) {                                     
40003690:   0cc4a783            lw  a5,204(s1)                                            
  return memcmp(                                                                          
40003694:   00050a13            mv  s4,a0                                                 
    if ( sp > (the_stack->area + the_stack->size) ) {                                     
40003698:   00f907b3            add a5,s2,a5                                              
4000369c:   0487ec63            bltu    a5,s0,400036f4 <rtems_stack_checker_switch_extension+0xa4>
#else                                                                                     
  sp_ok = Stack_check_Frame_pointer_in_range( running );                                  
                                                                                          
  pattern_ok = Stack_check_Is_sanity_pattern_valid( &running->Start.Initial_stack );      
                                                                                          
  if ( !sp_ok || !pattern_ok ) {                                                          
400036a0:   0e051663            bnez    a0,4000378c <rtems_stack_checker_switch_extension+0x13c>
  }                                                                                       
#endif                                                                                    
                                                                                          
  stack = &Stack_check_Interrupt_stack[ _SMP_Get_current_processor() ];                   
                                                                                          
  if ( stack->area != NULL && !Stack_check_Is_sanity_pattern_valid( stack ) ) {           
400036a4:   8c81a503            lw  a0,-1848(gp) # 40014ad8 <Stack_check_Interrupt_stack+0x4>
400036a8:   00050a63            beqz    a0,400036bc <rtems_stack_checker_switch_extension+0x6c><== NEVER TAKEN
  return memcmp(                                                                          
400036ac:   01000613            li  a2,16                                                 
400036b0:   cf098593            addi    a1,s3,-784                                        
400036b4:   5940e0ef            jal ra,40011c48 <memcmp>                                  
  if ( stack->area != NULL && !Stack_check_Is_sanity_pattern_valid( stack ) ) {           
400036b8:   0c051263            bnez    a0,4000377c <rtems_stack_checker_switch_extension+0x12c><== NEVER TAKEN
    rtems_fatal(                                                                          
      RTEMS_FATAL_SOURCE_STACK_CHECKER,                                                   
      rtems_build_name( 'I', 'N', 'T', 'R' )                                              
    );                                                                                    
  }                                                                                       
}                                                                                         
400036bc:   03c12083            lw  ra,60(sp)                                             
400036c0:   03812403            lw  s0,56(sp)                                             
400036c4:   03412483            lw  s1,52(sp)                                             
400036c8:   03012903            lw  s2,48(sp)                                             
400036cc:   02c12983            lw  s3,44(sp)                                             
400036d0:   02812a03            lw  s4,40(sp)                                             
400036d4:   04010113            addi    sp,sp,64                                          
400036d8:   00008067            ret                                                       
  return memcmp(                                                                          
400036dc:   400135b7            lui a1,0x40013                                            <== NOT EXECUTED
400036e0:   01000613            li  a2,16                                                 <== NOT EXECUTED
400036e4:   cf058593            addi    a1,a1,-784 # 40012cf0 <Stack_check_Sanity_pattern><== NOT EXECUTED
400036e8:   00090513            mv  a0,s2                                                 <== NOT EXECUTED
400036ec:   55c0e0ef            jal ra,40011c48 <memcmp>                                  <== NOT EXECUTED
400036f0:   00050a13            mv  s4,a0                                                 <== NOT EXECUTED
  printk("BLOWN STACK!!!\n");                                                             
400036f4:   40013537            lui a0,0x40013                                            <== NOT EXECUTED
400036f8:   c2050513            addi    a0,a0,-992 # 40012c20 <IMFS_node_control_sym_link+0x10><== NOT EXECUTED
400036fc:   6c8040ef            jal ra,40007dc4 <printk>                                  <== NOT EXECUTED
  printk("task control block: 0x%08" PRIxPTR "\n", (intptr_t) running);                   
40003700:   40013537            lui a0,0x40013                                            <== NOT EXECUTED
40003704:   00048593            mv  a1,s1                                                 <== NOT EXECUTED
40003708:   c3050513            addi    a0,a0,-976 # 40012c30 <IMFS_node_control_sym_link+0x20><== NOT EXECUTED
4000370c:   6b8040ef            jal ra,40007dc4 <printk>                                  <== NOT EXECUTED
  printk("task ID: 0x%08lx\n", (unsigned long) running->Object.id);                       
40003710:   0084a583            lw  a1,8(s1)                                              <== NOT EXECUTED
40003714:   40013537            lui a0,0x40013                                            <== NOT EXECUTED
40003718:   c4c50513            addi    a0,a0,-948 # 40012c4c <IMFS_node_control_sym_link+0x3c><== NOT EXECUTED
4000371c:   6a8040ef            jal ra,40007dc4 <printk>                                  <== NOT EXECUTED
  printk(                                                                                 
40003720:   00c4a583            lw  a1,12(s1)                                             <== NOT EXECUTED
40003724:   40013537            lui a0,0x40013                                            <== NOT EXECUTED
40003728:   c6050513            addi    a0,a0,-928 # 40012c60 <IMFS_node_control_sym_link+0x50><== NOT EXECUTED
4000372c:   698040ef            jal ra,40007dc4 <printk>                                  <== NOT EXECUTED
  _Thread_Get_name(running, name, sizeof(name));                                          
40003730:   02000613            li  a2,32                                                 <== NOT EXECUTED
40003734:   fc040593            addi    a1,s0,-64                                         <== NOT EXECUTED
40003738:   00048513            mv  a0,s1                                                 <== NOT EXECUTED
4000373c:   390020ef            jal ra,40005acc <_Thread_Get_name>                        <== NOT EXECUTED
  printk("task name string: %s\n", name);                                                 
40003740:   40013537            lui a0,0x40013                                            <== NOT EXECUTED
40003744:   fc040593            addi    a1,s0,-64                                         <== NOT EXECUTED
40003748:   c7450513            addi    a0,a0,-908 # 40012c74 <IMFS_node_control_sym_link+0x64><== NOT EXECUTED
4000374c:   678040ef            jal ra,40007dc4 <printk>                                  <== NOT EXECUTED
    (unsigned long) stack->size,                                                          
40003750:   0cc4a683            lw  a3,204(s1)                                            <== NOT EXECUTED
    (intptr_t) stack->area,                                                               
40003754:   0d04a603            lw  a2,208(s1)                                            <== NOT EXECUTED
  printk(                                                                                 
40003758:   40013537            lui a0,0x40013                                            <== NOT EXECUTED
4000375c:   00068593            mv  a1,a3                                                 <== NOT EXECUTED
40003760:   c8c50513            addi    a0,a0,-884 # 40012c8c <IMFS_node_control_sym_link+0x7c><== NOT EXECUTED
40003764:   00d606b3            add a3,a2,a3                                              <== NOT EXECUTED
40003768:   65c040ef            jal ra,40007dc4 <printk>                                  <== NOT EXECUTED
  if (!pattern_ok) {                                                                      
4000376c:   080a1c63            bnez    s4,40003804 <rtems_stack_checker_switch_extension+0x1b4><== NOT EXECUTED
40003770:   00c4a583            lw  a1,12(s1)                                             
40003774:   00800513            li  a0,8                                                  
40003778:   281000ef            jal ra,400041f8 <_Terminate>                              
4000377c:   494e55b7            lui a1,0x494e5                                            <== NOT EXECUTED
40003780:   45258593            addi    a1,a1,1106 # 494e5452 <RamEnd+0x84e5452>          <== NOT EXECUTED
40003784:   00800513            li  a0,8                                                  <== NOT EXECUTED
40003788:   271000ef            jal ra,400041f8 <_Terminate>                              <== NOT EXECUTED
  printk("BLOWN STACK!!!\n");                                                             
4000378c:   40013537            lui a0,0x40013                                            
40003790:   c2050513            addi    a0,a0,-992 # 40012c20 <IMFS_node_control_sym_link+0x10>
40003794:   630040ef            jal ra,40007dc4 <printk>                                  
  printk("task control block: 0x%08" PRIxPTR "\n", (intptr_t) running);                   
40003798:   40013537            lui a0,0x40013                                            
4000379c:   00048593            mv  a1,s1                                                 
400037a0:   c3050513            addi    a0,a0,-976 # 40012c30 <IMFS_node_control_sym_link+0x20>
400037a4:   620040ef            jal ra,40007dc4 <printk>                                  
  printk("task ID: 0x%08lx\n", (unsigned long) running->Object.id);                       
400037a8:   0084a583            lw  a1,8(s1)                                              
400037ac:   40013537            lui a0,0x40013                                            
400037b0:   c4c50513            addi    a0,a0,-948 # 40012c4c <IMFS_node_control_sym_link+0x3c>
400037b4:   610040ef            jal ra,40007dc4 <printk>                                  
  printk(                                                                                 
400037b8:   00c4a583            lw  a1,12(s1)                                             
400037bc:   40013537            lui a0,0x40013                                            
400037c0:   c6050513            addi    a0,a0,-928 # 40012c60 <IMFS_node_control_sym_link+0x50>
400037c4:   600040ef            jal ra,40007dc4 <printk>                                  
  _Thread_Get_name(running, name, sizeof(name));                                          
400037c8:   02000613            li  a2,32                                                 
400037cc:   fc040593            addi    a1,s0,-64                                         
400037d0:   00048513            mv  a0,s1                                                 
400037d4:   2f8020ef            jal ra,40005acc <_Thread_Get_name>                        
  printk("task name string: %s\n", name);                                                 
400037d8:   40013537            lui a0,0x40013                                            
400037dc:   fc040593            addi    a1,s0,-64                                         
400037e0:   c7450513            addi    a0,a0,-908 # 40012c74 <IMFS_node_control_sym_link+0x64>
400037e4:   5e0040ef            jal ra,40007dc4 <printk>                                  
    (unsigned long) stack->size,                                                          
400037e8:   0cc4a683            lw  a3,204(s1)                                            
    (intptr_t) stack->area,                                                               
400037ec:   0d04a603            lw  a2,208(s1)                                            
  printk(                                                                                 
400037f0:   40013537            lui a0,0x40013                                            
400037f4:   00068593            mv  a1,a3                                                 
400037f8:   c8c50513            addi    a0,a0,-884 # 40012c8c <IMFS_node_control_sym_link+0x7c>
400037fc:   00d606b3            add a3,a2,a3                                              
40003800:   5c4040ef            jal ra,40007dc4 <printk>                                  
    printk(                                                                               
40003804:   40013537            lui a0,0x40013                                            
40003808:   01090693            addi    a3,s2,16                                          
4000380c:   00090613            mv  a2,s2                                                 
40003810:   01000593            li  a1,16                                                 
40003814:   cbc50513            addi    a0,a0,-836 # 40012cbc <IMFS_node_control_sym_link+0xac>
40003818:   5ac040ef            jal ra,40007dc4 <printk>                                  
4000381c:   f55ff06f            j   40003770 <rtems_stack_checker_switch_extension+0x120>