Revision c9e1e2b0

b/cpu-exec.c
1297 1297
                       void *puc)
1298 1298
{
1299 1299
    siginfo_t *info = pinfo;
1300
    uint32_t *regs = (uint32_t *)(info + 1);
1301
    void *sigmask = (regs + 20);
1302
    unsigned long pc;
1303 1300
    int is_write;
1304 1301
    uint32_t insn;
1305

  
1302
#if !defined(__sparc_v9__) || defined(HOST_SOLARIS)
1303
    uint32_t *regs = (uint32_t *)(info + 1);
1304
    void *sigmask = (regs + 20);
1306 1305
    /* XXX: is there a standard glibc define ? */
1307
    pc = regs[1];
1306
    unsigned long pc = regs[1];
1307
#else
1308
    struct sigcontext *sc = puc;
1309
    unsigned long pc = sc->sigc_regs.tpc;
1310
    void *sigmask = (void *)sc->sigc_mask;
1311
#endif
1312

  
1308 1313
    /* XXX: need kernel patch to get write flag faster */
1309 1314
    is_write = 0;
1310 1315
    insn = *(uint32_t *)pc;

Also available in: Unified diff