| Index: src/trusted/service_runtime/arch/mips/sel_rt.c
|
| diff --git a/src/trusted/service_runtime/arch/mips/sel_rt.c b/src/trusted/service_runtime/arch/mips/sel_rt.c
|
| index b5496629153e6539814188ccd71f8a799d4b3b36..adadca994e5fb446cf1e40c69b0c97fe3f3255de 100644
|
| --- a/src/trusted/service_runtime/arch/mips/sel_rt.c
|
| +++ b/src/trusted/service_runtime/arch/mips/sel_rt.c
|
| @@ -83,3 +83,27 @@ void NaClThreadContextToSignalContext(const struct NaClThreadContext *th_ctx,
|
| sig_ctx->prog_ctr = th_ctx->new_prog_ctr;
|
| sig_ctx->return_addr = 0;
|
| }
|
| +
|
| +
|
| +void NaClSignalContextUnsetClobberedRegisters(
|
| + struct NaClSignalContext *sig_ctx) {
|
| + sig_ctx->zero = 0;
|
| + sig_ctx->at = 0;
|
| + sig_ctx->v0 = 0;
|
| + sig_ctx->v1 = 0;
|
| + sig_ctx->a0 = 0;
|
| + sig_ctx->a1 = 0;
|
| + sig_ctx->a2 = 0;
|
| + sig_ctx->a3 = 0;
|
| + sig_ctx->t0 = 0;
|
| + sig_ctx->t1 = 0;
|
| + sig_ctx->t2 = 0;
|
| + sig_ctx->t3 = 0;
|
| + sig_ctx->t4 = 0;
|
| + sig_ctx->t5 = 0;
|
| + sig_ctx->t9 = 0;
|
| + sig_ctx->k0 = 0;
|
| + sig_ctx->k1 = 0;
|
| + sig_ctx->global_ptr = 0;
|
| + sig_ctx->return_addr = 0;
|
| +}
|
|
|