RTEMS-6
Annotated Report
libstdthreads
Sun Feb 28 12:45:08 2021

40004178 <thrd_join>:                                                                     
}                                                                                         
                                                                                          
int                                                                                       
thrd_join(thrd_t thr, int *res)                                                           
{                                                                                         
40004178:   fe010113            addi    sp,sp,-32                                         
4000417c:   00812c23            sw  s0,24(sp)                                             
40004180:   00058413            mv  s0,a1                                                 
    void *value_ptr;                                                                      
                                                                                          
    if (pthread_join(thr, &value_ptr) != 0)                                               
40004184:   00c10593            addi    a1,sp,12                                          
{                                                                                         
40004188:   00112e23            sw  ra,28(sp)                                             
    if (pthread_join(thr, &value_ptr) != 0)                                               
4000418c:   0dc010ef            jal ra,40005268 <pthread_join>                            
40004190:   02051263            bnez    a0,400041b4 <thrd_join+0x3c>                      <== NEVER TAKEN
        return (thrd_error);                                                              
    if (res != NULL)                                                                      
        *res = (intptr_t)value_ptr;                                                       
    return (thrd_success);                                                                
40004194:   00400513            li  a0,4                                                  
    if (res != NULL)                                                                      
40004198:   00040663            beqz    s0,400041a4 <thrd_join+0x2c>                      <== NEVER TAKEN
        *res = (intptr_t)value_ptr;                                                       
4000419c:   00c12783            lw  a5,12(sp)                                             
400041a0:   00f42023            sw  a5,0(s0)                                              
}                                                                                         
400041a4:   01c12083            lw  ra,28(sp)                                             
400041a8:   01812403            lw  s0,24(sp)                                             
400041ac:   02010113            addi    sp,sp,32                                          
400041b0:   00008067            ret                                                       
400041b4:   01c12083            lw  ra,28(sp)                                             <== NOT EXECUTED
400041b8:   01812403            lw  s0,24(sp)                                             <== NOT EXECUTED
        return (thrd_error);                                                              
400041bc:   00200513            li  a0,2                                                  <== NOT EXECUTED
}                                                                                         
400041c0:   02010113            addi    sp,sp,32                                          <== NOT EXECUTED
400041c4:   00008067            ret                                                       <== NOT EXECUTED