int arch_alloc_thread_info(CoreEntry *core) { ThreadInfoPpc64 *ti_ppc64; UserPpc64RegsEntry *regs; ti_ppc64 = xmalloc(sizeof(*ti_ppc64)); if(!ti_ppc64) goto err; thread_info_ppc64__init(ti_ppc64); CORE_THREAD_ARCH_INFO(core) = ti_ppc64; /* user_ppc64_regs_entry */ regs = xmalloc(sizeof(*regs)); if (!regs) goto err; user_ppc64_regs_entry__init(regs); regs->gpr = xmalloc(32*sizeof(uint64_t)); if (!regs->gpr) goto err; regs->n_gpr = 32; ti_ppc64->gpregs = regs; return 0; err: return -1; }
int arch_alloc_thread_info(CoreEntry *core) { ThreadInfoPpc64 *ti_ppc64; ti_ppc64 = xmalloc(sizeof(*ti_ppc64)); if(!ti_ppc64) return -1; thread_info_ppc64__init(ti_ppc64); ti_ppc64->gpregs = allocate_gp_regs(); if (!ti_ppc64->gpregs) { xfree(ti_ppc64); return -1; } CORE_THREAD_ARCH_INFO(core) = ti_ppc64; return 0; }