struct backend_cpu be_alpha =
{
IMAGE_FILE_MACHINE_ALPHA,
+ 8,
be_cpu_linearize,
be_cpu_build_addr,
be_alpha_get_addr,
be_xpoint_watch_write};
struct backend_cpu
{
- DWORD machine;
+ const DWORD machine;
+ const DWORD pointer_size;
/* ------------------------------------------------------------------------------
* address manipulation
* ------------------------------------------------------------------------------ */
struct backend_cpu be_i386 =
{
IMAGE_FILE_MACHINE_I386,
+ 4,
be_i386_linearize,
be_i386_build_addr,
be_i386_get_addr,
struct backend_cpu be_ppc =
{
IMAGE_FILE_MACHINE_POWERPC,
+ 4,
be_cpu_linearize,
be_cpu_build_addr,
be_ppc_get_addr,
struct backend_cpu be_x86_64 =
{
IMAGE_FILE_MACHINE_AMD64,
+ 8,
be_cpu_linearize,
be_cpu_build_addr,
be_x86_64_get_addr,
#include "objbase.h"
#include "oaidl.h"
-#define ADDRSIZE ((unsigned)sizeof(void*))
+#define ADDRSIZE (be_cpu->pointer_size)
#define ADDRWIDTH (ADDRSIZE * 2)
/* the debugger uses these exceptions for it's internal use */