[PATCH 2/5] [Server]: correctly set the DR0..7 registers on Linux for x86_64 architecture

Alexandre Julliard julliard at winehq.org
Wed Apr 7 06:13:32 CDT 2010


Eric Pouech <eric.pouech at orange.fr> writes:

> @@ -549,12 +549,21 @@ void get_thread_context( struct thread *thread, context_t *context, unsigned int
>              goto done;
>          }
>      }
> +#ifdef __i386__
>      context->debug.i386_regs.dr0 = data[0];
>      context->debug.i386_regs.dr1 = data[1];
>      context->debug.i386_regs.dr2 = data[2];
>      context->debug.i386_regs.dr3 = data[3];
>      context->debug.i386_regs.dr6 = data[6];
>      context->debug.i386_regs.dr7 = data[7];
> +#else /* __x86_64__ */
> +    context->debug.x86_64_regs.dr0 = data[0];
> +    context->debug.x86_64_regs.dr1 = data[1];
> +    context->debug.x86_64_regs.dr2 = data[2];
> +    context->debug.x86_64_regs.dr3 = data[3];
> +    context->debug.x86_64_regs.dr6 = data[6];
> +    context->debug.x86_64_regs.dr7 = data[7];
> +#endif

You can't use ifdefs, this needs to depend on the CPU type of the client
process.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list