Print this page
OS-3149 lx brand always sends SIGCHLD to parent processes, regardless of how clone was invoked
OS-2887 lxbrand add WALL, WCLONE, WNOTHREAD support to waitid
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/sun4/brand/common/brand_solaris.s
          +++ new/usr/src/uts/sun4/brand/common/brand_solaris.s
↓ open down ↓ 228 lines elided ↑ open up ↑
 229  229          /*
 230  230           * Find the address of the userspace handler.
 231  231           * cpu->cpu_thread->t_procp->p_brand_data->spd_handler.
 232  232           */
 233  233  #if defined(sun4v)
 234  234          /* restore the alternate global registers after incrementing %gl */
 235  235          mov     %l3, %g2;
 236  236  #endif /* sun4v */
 237  237          ldn     [%g2 + CPU_THREAD], %g3;        /* get thread ptr */
 238  238          ldn     [%g3 + T_PROCP], %g4;           /* get proc ptr */
 239      -        ldn     [%g4 + P_BRAND_DATA], %g5;      /* get brand data ptr */
      239 +        ldn     [%g4 + __P_BRAND_DATA], %g5;    /* get brand data ptr */
 240  240          ldn     [%g5 + SPD_HANDLER], %g5;       /* get userland brnd hdlr ptr */
 241  241          brz     %g5, _exit;                     /* has it been set? */
 242  242          nop;
 243  243  
 244  244          /*
 245  245           * Make sure this isn't an agent lwp.  We can't do syscall
 246  246           * interposition for system calls made by a agent lwp.  See
 247  247           * the block comments in the top of the brand emulation library
 248  248           * for more information.
 249  249           */
↓ open down ↓ 53 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX