Print this page
OS-3561 lxbrand emulation library should execute on alternate stack
OS-3558 lxbrand add support for full in-kernel syscall handling
OS-3545 lx_syscall_regs should not walk stack
OS-3868 many LTP testcases now hang
OS-3901 lxbrand lx_recvmsg fails to translate control messages when 64-bit
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Bryan Cantrill <bryan@joyent.com>
OS-2844 lx brand should support 64-bit user-land
OS-3280 need a way to specify the root of a native system in the lx brand
OS-3279 lx brand should allow delegated datasets
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>

@@ -133,10 +133,12 @@
             uc.uc_sigmask.__sigbits[2], uc.uc_sigmask.__sigbits[3]);
         mdb_printf("  stack    = sp 0x%p size 0x%lx flags %s\n",
             uc.uc_stack.ss_sp, uc.uc_stack.ss_size, stack_flags(&uc.uc_stack));
         mdb_printf("  mcontext = 0x%p\n",
             addr + OFFSETOF(ucontext_t, uc_mcontext));
+        mdb_printf("  brand    = 0x%p 0x%p 0x%p\n",
+            uc.uc_brand_data[0], uc.uc_brand_data[1], uc.uc_brand_data[2]);
 
         return (DCMD_OK);
 }
 
 /*ARGSUSED*/

@@ -844,19 +846,24 @@
             OFFSET(ulwp_one),
             prt_addr(uberdata.ulwp_one, 1),
             prt_addr(uberdata.all_lwps, 1),
             prt_addr(uberdata.all_zombies, 0));
 
-        HD("nthreads   nzombies   ndaemons   pid        sigacthandler");
-        mdb_printf(OFFSTR "%-10d %-10d %-10d %-10d %s\n",
+        HD("nthreads   nzombies   ndaemons   pid");
+        mdb_printf(OFFSTR "%-10d %-10d %-10d %-10d\n",
             OFFSET(nthreads),
             uberdata.nthreads,
             uberdata.nzombies,
             uberdata.ndaemons,
-            (int)uberdata.pid,
-            prt_addr((void *)uberdata.sigacthandler, 0));
+            (int)uberdata.pid);
 
+        HD("sigacthandler         setctxt");
+        mdb_printf(OFFSTR "%s %s\n",
+            OFFSET(sigacthandler),
+            prt_addr((void *)uberdata.sigacthandler, 1),
+            prt_addr((void *)uberdata.setctxt, 1));
+
         HD("lwp_stacks            lwp_laststack         nfreestack stk_cache");
         mdb_printf(OFFSTR "%s %s %-10d %d\n",
             OFFSET(lwp_stacks),
             prt_addr(uberdata.lwp_stacks, 1),
             prt_addr(uberdata.lwp_laststack, 1),

@@ -874,17 +881,22 @@
         mdb_printf(OFFSTR "%s %s\n",
             OFFSET(ulwp_replace_last),
             prt_addr(uberdata.ulwp_replace_last, 1),
             prt_addr(uberdata.atforklist, 0));
 
-        HD("robustlocks           robustlist            progname");
-        mdb_printf(OFFSTR "%s %s %s\n",
+        HD("robustlocks           robustlist");
+        mdb_printf(OFFSTR "%s %s\n",
             OFFSET(robustlocks),
             prt_addr(uberdata.robustlocks, 1),
-            prt_addr(uberdata.robustlist, 1),
-            prt_addr(uberdata.progname, 0));
+            prt_addr(uberdata.robustlist, 1));
 
+        HD("progname              ub_broot");
+        mdb_printf(OFFSTR "%s %s\n",
+            OFFSET(progname),
+            prt_addr(uberdata.progname, 1),
+            prt_addr(uberdata.ub_broot, 1));
+
         HD("tdb_bootstrap         tdb_sync_addr_hash    tdb_'count tdb_'fail");
         mdb_printf(OFFSTR "%s %s %-10d %d\n",
             OFFSET(tdb_bootstrap),
             prt_addr(uberdata.tdb_bootstrap, 1),
             prt_addr(uberdata.tdb.tdb_sync_addr_hash, 1),