static long do_sigreturn_v2(CPUARMState *env)

{

        abi_ulong frame_addr;

	struct sigframe_v2 *frame;



	/*

	 * Since we stacked the signal on a 64-bit boundary,

	 * then 'sp' should be word aligned here.  If it's

	 * not, then the user is trying to mess with us.

	 */

	if (env->regs[13] & 7)

		goto badframe;



        frame_addr = env->regs[13];

	if (!lock_user_struct(VERIFY_READ, frame, frame_addr, 1))

                goto badframe;



        if (do_sigframe_return_v2(env, frame_addr, &frame->uc))

                goto badframe;



	unlock_user_struct(frame, frame_addr, 0);

	return env->regs[0];



badframe:

	unlock_user_struct(frame, frame_addr, 0);

        force_sig(TARGET_SIGSEGV /* , current */);

	return 0;

}

static long do_sigreturn_v2(CPUARMState *env)

{

        abi_ulong frame_addr;

	struct sigframe_v2 *frame;



	









	if (env->regs[13] & 7)

		goto badframe;



        frame_addr = env->regs[13];

	if (!lock_user_struct(VERIFY_READ, frame, frame_addr, 1))

                goto badframe;



        if (do_sigframe_return_v2(env, frame_addr, &frame->uc))

                goto badframe;



	unlock_user_struct(frame, frame_addr, 0);

	return env->regs[0];



badframe:

	unlock_user_struct(frame, frame_addr, 0);

        force_sig(TARGET_SIGSEGV );

	return 0;

}

	if (env->regs[13] & 7) 		goto badframe; 	struct sigframe_v2 *frame; 	if (env->regs[13] & 7) 		goto badframe; 	if (env->regs[13] & 7) 		goto badframe; 	if (env->regs[13] & 7) 		goto badframe;
static long FUNC_0(CPUARMState *VAR_0)

{

        abi_ulong frame_addr;

	struct sigframe_v2 *VAR_1;



	









	if (VAR_0->regs[13] & 7)

		goto badframe;



        frame_addr = VAR_0->regs[13];

	if (!lock_user_struct(VERIFY_READ, VAR_1, frame_addr, 1))

                goto badframe;



        if (do_sigframe_return_v2(VAR_0, frame_addr, &VAR_1->uc))

                goto badframe;



	unlock_user_struct(VAR_1, frame_addr, 0);

	return VAR_0->regs[0];



badframe:

	unlock_user_struct(VAR_1, frame_addr, 0);

        force_sig(TARGET_SIGSEGV );

	return 0;

}

static long FUNC_0(CPUARMState *VAR_0)
{ abi_ulong frame_addr; struct sigframe_v2 *VAR_1; if (VAR_0->regs[13] & 7)
goto badframe; frame_addr = VAR_0->regs[13]; if (!lock_user_struct(VERIFY_READ, VAR_1, frame_addr, 1))
goto badframe; if (do_sigframe_return_v2(VAR_0, frame_addr, &VAR_1->uc))
goto badframe; unlock_user_struct(VAR_1, frame_addr, 0); return VAR_0->regs[0]; badframe:
unlock_user_struct(VAR_1, frame_addr, 0); force_sig(TARGET_SIGSEGV ); return 0; }