ppc64-linux-user: Fix syscall return type.
Use target_ulong instead of hard-coded uint32_t. Remove the disabled printf's that are redundant with -strace. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
		
							parent
							
								
									8e78064e9d
								
							
						
					
					
						commit
						9e0e2f967b
					
				| 
						 | 
				
			
			@ -1341,7 +1341,7 @@ void cpu_loop(CPUPPCState *env)
 | 
			
		|||
{
 | 
			
		||||
    target_siginfo_t info;
 | 
			
		||||
    int trapnr;
 | 
			
		||||
    uint32_t ret;
 | 
			
		||||
    target_ulong ret;
 | 
			
		||||
 | 
			
		||||
    for(;;) {
 | 
			
		||||
        cpu_exec_start(env);
 | 
			
		||||
| 
						 | 
				
			
			@ -1704,27 +1704,20 @@ void cpu_loop(CPUPPCState *env)
 | 
			
		|||
             * PPC ABI uses overflow flag in cr0 to signal an error
 | 
			
		||||
             * in syscalls.
 | 
			
		||||
             */
 | 
			
		||||
#if 0
 | 
			
		||||
            printf("syscall %d 0x%08x 0x%08x 0x%08x 0x%08x\n", env->gpr[0],
 | 
			
		||||
                   env->gpr[3], env->gpr[4], env->gpr[5], env->gpr[6]);
 | 
			
		||||
#endif
 | 
			
		||||
            env->crf[0] &= ~0x1;
 | 
			
		||||
            ret = do_syscall(env, env->gpr[0], env->gpr[3], env->gpr[4],
 | 
			
		||||
                             env->gpr[5], env->gpr[6], env->gpr[7],
 | 
			
		||||
                             env->gpr[8], 0, 0);
 | 
			
		||||
            if (ret == (uint32_t)(-TARGET_QEMU_ESIGRETURN)) {
 | 
			
		||||
            if (ret == (target_ulong)(-TARGET_QEMU_ESIGRETURN)) {
 | 
			
		||||
                /* Returning from a successful sigreturn syscall.
 | 
			
		||||
                   Avoid corrupting register state.  */
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
            if (ret > (uint32_t)(-515)) {
 | 
			
		||||
            if (ret > (target_ulong)(-515)) {
 | 
			
		||||
                env->crf[0] |= 0x1;
 | 
			
		||||
                ret = -ret;
 | 
			
		||||
            }
 | 
			
		||||
            env->gpr[3] = ret;
 | 
			
		||||
#if 0
 | 
			
		||||
            printf("syscall returned 0x%08x (%d)\n", ret, ret);
 | 
			
		||||
#endif
 | 
			
		||||
            break;
 | 
			
		||||
        case POWERPC_EXCP_STCX:
 | 
			
		||||
            if (do_store_exclusive(env)) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue