Print this page
XXX AVX procfs

*** 585,595 **** P->nauxv = (int)n; return (0); } - #ifdef __sparc static int note_xreg(struct ps_prochandle *P, size_t nbytes) { lwp_info_t *lwp = P->core->core_lwp; size_t xbytes = sizeof (prxregset_t); --- 585,594 ----
*** 598,618 **** if (lwp == NULL || lwp->lwp_xregs != NULL || nbytes < xbytes) return (0); /* No lwp yet, already seen, or bad size */ if ((xregs = malloc(xbytes)) == NULL) return (-1); ! if (read(P->asfd, xregs, xbytes) != xbytes) { dprintf("Pgrab_core: failed to read NT_PRXREG\n"); free(xregs); return (-1); } - lwp->lwp_xregs = xregs; return (0); } static int note_gwindows(struct ps_prochandle *P, size_t nbytes) { lwp_info_t *lwp = P->core->core_lwp; --- 597,620 ---- if (lwp == NULL || lwp->lwp_xregs != NULL || nbytes < xbytes) return (0); /* No lwp yet, already seen, or bad size */ if ((xregs = malloc(xbytes)) == NULL) return (-1); ! #ifdef __sparc if (read(P->asfd, xregs, xbytes) != xbytes) { + #else + panic("port me"); + #endif dprintf("Pgrab_core: failed to read NT_PRXREG\n"); free(xregs); return (-1); } lwp->lwp_xregs = xregs; return (0); } + #ifdef __sparc static int note_gwindows(struct ps_prochandle *P, size_t nbytes) { lwp_info_t *lwp = P->core->core_lwp;
*** 687,701 **** static int (*nhdlrs[])(struct ps_prochandle *, size_t) = { note_notsup, /* 0 unassigned */ note_notsup, /* 1 NT_PRSTATUS (old) */ note_notsup, /* 2 NT_PRFPREG (old) */ note_notsup, /* 3 NT_PRPSINFO (old) */ - #ifdef __sparc note_xreg, /* 4 NT_PRXREG */ - #else - note_notsup, /* 4 NT_PRXREG */ - #endif note_platform, /* 5 NT_PLATFORM */ note_auxv, /* 6 NT_AUXV */ #ifdef __sparc note_gwindows, /* 7 NT_GWINDOWS */ #ifdef __sparcv9 --- 689,699 ----