RTEMS-6
Annotated Report
libstdthreads
Mon Mar 1 00:33:09 2021

0000000040024b20 <thrd_join>:                                                             
}                                                                                         
                                                                                          
int                                                                                       
thrd_join(thrd_t thr, int *res)                                                           
{                                                                                         
    40024b20:   a9bd7bfd    stp x29, x30, [sp, #-48]!                                     
    40024b24:   910003fd    mov x29, sp                                                   
    40024b28:   f9000bf3    str x19, [sp, #16]                                            
    40024b2c:   aa0103f3    mov x19, x1                                                   
    void *value_ptr;                                                                      
                                                                                          
    if (pthread_join(thr, &value_ptr) != 0)                                               
    40024b30:   9100a3e1    add x1, sp, #0x28                                             
    40024b34:   9400040b    bl  40025b60 <pthread_join>                                   
    40024b38:   35000100    cbnz    w0, 40024b58 <thrd_join+0x38>                         <== NEVER TAKEN
        return (thrd_error);                                                              
    if (res != NULL)                                                                      
        *res = (intptr_t)value_ptr;                                                       
    return (thrd_success);                                                                
    40024b3c:   52800080    mov w0, #0x4                    // #4                         
    if (res != NULL)                                                                      
    40024b40:   b4000073    cbz x19, 40024b4c <thrd_join+0x2c>                            <== NEVER TAKEN
        *res = (intptr_t)value_ptr;                                                       
    40024b44:   f94017e1    ldr x1, [sp, #40]                                             
    40024b48:   b9000261    str w1, [x19]                                                 
}                                                                                         
    40024b4c:   f9400bf3    ldr x19, [sp, #16]                                            
    40024b50:   a8c37bfd    ldp x29, x30, [sp], #48                                       
    40024b54:   d65f03c0    ret                                                           
        return (thrd_error);                                                              
    40024b58:   52800040    mov w0, #0x2                    // #2                         <== NOT EXECUTED
}                                                                                         
    40024b5c:   f9400bf3    ldr x19, [sp, #16]                                            <== NOT EXECUTED
    40024b60:   a8c37bfd    ldp x29, x30, [sp], #48                                       <== NOT EXECUTED
    40024b64:   d65f03c0    ret                                                           <== NOT EXECUTED
    ...