=============================================================================== 40004cf4 : } _Noreturn void thrd_exit(int res) { 40004cf4: 9d e3 bf a0 save %sp, -96, %sp pthread_exit((void *)(intptr_t)res); 40004cf8: 40 00 03 b4 call 40005bc8 40004cfc: 90 10 00 18 mov %i0, %o0 40004d00: 01 00 00 00 nop <== NOT EXECUTED =============================================================================== 40004d04 : } int thrd_join(thrd_t thr, int *res) { 40004d04: 9d e3 bf 98 save %sp, -104, %sp void *value_ptr; if (pthread_join(thr, &value_ptr) != 0) 40004d08: 90 10 00 18 mov %i0, %o0 40004d0c: 92 07 bf fc add %fp, -4, %o1 40004d10: 40 00 03 e9 call 40005cb4 40004d14: b0 10 20 02 mov 2, %i0 40004d18: 80 a2 20 00 cmp %o0, 0 40004d1c: 12 80 00 06 bne 40004d34 <== NEVER TAKEN 40004d20: 80 a6 60 00 cmp %i1, 0 return (thrd_error); if (res != NULL) 40004d24: 02 80 00 04 be 40004d34 <== NEVER TAKEN 40004d28: b0 10 20 04 mov 4, %i0 *res = (intptr_t)value_ptr; 40004d2c: c2 07 bf fc ld [ %fp + -4 ], %g1 40004d30: c2 26 40 00 st %g1, [ %i1 ] return (thrd_success); } 40004d34: 81 c7 e0 08 ret 40004d38: 81 e8 00 00 restore