Different function type

This commit is contained in:
Sajid 2024-09-11 22:06:01 +06:00
parent 39cec3442b
commit 6683059a48
3 changed files with 11 additions and 5 deletions

View File

@ -162,7 +162,7 @@ struct _XLIST_ENTRY;
typedef _XLIST_ENTRY XLIST_ENTRY; typedef _XLIST_ENTRY XLIST_ENTRY;
typedef xpointer<XLIST_ENTRY> PXLIST_ENTRY; typedef xpointer<XLIST_ENTRY> PXLIST_ENTRY;
typedef struct _X_RUNTIME_FUNCTION typedef struct _IMAGE_CE_RUNTIME_FUNCTION
{ {
DWORD BeginAddress; DWORD BeginAddress;
@ -171,14 +171,15 @@ typedef struct _X_RUNTIME_FUNCTION
DWORD Data; DWORD Data;
struct struct
{ {
DWORD FunctionType : 2;
DWORD FunctionLength : 22;
DWORD PrologLength : 8; DWORD PrologLength : 8;
DWORD FunctionLength : 22;
DWORD ThirtyTwoBit : 1;
DWORD ExceptionFlag : 1;
}; };
}; };
} X_RUNTIME_FUNCTION; } IMAGE_CE_RUNTIME_FUNCTION;
static_assert(sizeof(X_RUNTIME_FUNCTION) == 8); static_assert(sizeof(IMAGE_CE_RUNTIME_FUNCTION) == 8);
typedef struct _XLIST_ENTRY typedef struct _XLIST_ENTRY
{ {

2
tests/PowerAnalyse/private/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore

View File

@ -19,6 +19,9 @@
/* A macro to extract whether the branch is a link. */ /* A macro to extract whether the branch is a link. */
#define PPC_BL(i) (!!((i) & 1)) #define PPC_BL(i) (!!((i) & 1))
/* A macro to extract the branch operation of an instruction. */
#define PPC_BO(i) (((i) >> 21) & 0x1F)
#define PPC_OP_TDI 2 #define PPC_OP_TDI 2
#define PPC_OP_TWI 3 #define PPC_OP_TWI 3
#define PPC_OP_MULLI 7 #define PPC_OP_MULLI 7