diff --git a/reactos/ReactOS-amd64.rbuild b/reactos/ReactOS-amd64.rbuild index 70c865c9081..58d98f28158 100644 --- a/reactos/ReactOS-amd64.rbuild +++ b/reactos/ReactOS-amd64.rbuild @@ -90,7 +90,7 @@ - + diff --git a/reactos/ReactOS-i386.rbuild b/reactos/ReactOS-i386.rbuild index e3d45283b02..ab188d6887c 100644 --- a/reactos/ReactOS-i386.rbuild +++ b/reactos/ReactOS-i386.rbuild @@ -14,6 +14,7 @@ + -Os diff --git a/reactos/boot/freeldr/freeldr/debug.c b/reactos/boot/freeldr/freeldr/debug.c index 84b01079559..3f84b507000 100644 --- a/reactos/boot/freeldr/freeldr/debug.c +++ b/reactos/boot/freeldr/freeldr/debug.c @@ -23,10 +23,10 @@ #ifdef DBG -#define DEBUG_ALL +//#define DEBUG_ALL //#define DEBUG_INIFILE //#define DEBUG_REACTOS -//#define DEBUG_CUSTOM +#define DEBUG_CUSTOM //#define DEBUG_NONE #if defined (DEBUG_ALL) @@ -38,8 +38,9 @@ ULONG DebugPrintMask = DPRINT_INIFILE; #elif defined (DEBUG_REACTOS) ULONG DebugPrintMask = DPRINT_REACTOS | DPRINT_REGISTRY; #elif defined (DEBUG_CUSTOM) -ULONG DebugPrintMask = DPRINT_WARNING | DPRINT_MEMORY | - DPRINT_REACTOS | DPRINT_WINDOWS | DPRINT_HWDETECT; +ULONG DebugPrintMask = DPRINT_WARNING | + DPRINT_UI | DPRINT_CACHE | DPRINT_REACTOS | + DPRINT_LINUX; #else //#elif defined (DEBUG_NONE) ULONG DebugPrintMask = 0; #endif diff --git a/reactos/include/psdk/winnt.h b/reactos/include/psdk/winnt.h index 63fd6e92ae9..968da0d9cf3 100644 --- a/reactos/include/psdk/winnt.h +++ b/reactos/include/psdk/winnt.h @@ -1539,6 +1539,9 @@ typedef enum #define IMAGE_REL_BASED_HIGHLOW 3 #define IMAGE_REL_BASED_HIGHADJ 4 #define IMAGE_REL_BASED_MIPS_JMPADDR 5 +#define IMAGE_REL_BASED_MIPS_JMPADDR16 9 +#define IMAGE_REL_BASED_IA64_IMM64 9 +#define IMAGE_REL_BASED_DIR64 10 #define IMAGE_ARCHIVE_START_SIZE 8 #define IMAGE_ARCHIVE_START "!\n" #define IMAGE_ARCHIVE_END "`\n" diff --git a/reactos/lib/drivers/directory.rbuild b/reactos/lib/drivers/directory.rbuild index de283ec2cf0..c6a2b469c66 100644 --- a/reactos/lib/drivers/directory.rbuild +++ b/reactos/lib/drivers/directory.rbuild @@ -4,12 +4,14 @@ + diff --git a/reactos/lib/rtl/image.c b/reactos/lib/rtl/image.c index 5f79b7e3aa0..030028c5121 100644 --- a/reactos/lib/rtl/image.c +++ b/reactos/lib/rtl/image.c @@ -175,6 +175,7 @@ LdrProcessRelocationBlockLongLong( USHORT i; PUSHORT ShortPtr; PULONG LongPtr; + PULONGLONG LongLongPtr; for (i = 0; i < Count; i++) { @@ -212,6 +213,11 @@ LdrProcessRelocationBlockLongLong( *LongPtr = SWAPD(*LongPtr) + (ULONG)Delta; break; + case IMAGE_REL_BASED_DIR64: + LongLongPtr = (PUINT64)RVA(Address, Offset); + *LongLongPtr = SWAPQ(*LongLongPtr) + Delta; + break; + case IMAGE_REL_BASED_HIGHADJ: case IMAGE_REL_BASED_MIPS_JMPADDR: default: diff --git a/reactos/lib/rtl/rtlp.h b/reactos/lib/rtl/rtlp.h index 845f625cbee..8ca48e890c3 100644 --- a/reactos/lib/rtl/rtlp.h +++ b/reactos/lib/rtl/rtlp.h @@ -19,9 +19,11 @@ extern VOID FASTCALL CHECK_PAGED_CODE_RTL(char *file, int line); #ifdef _PPC_ #define SWAPD(x) ((((x)&0xff)<<24)|(((x)&0xff00)<<8)|(((x)>>8)&0xff00)|(((x)>>24)&0xff)) #define SWAPW(x) ((((x)&0xff)<<8)|(((x)>>8)&0xff)) +#define SWAPQ(x) ((SWAPD((x)&0xffffffff) << 32) | (SWAPD((x)>>32))) #else -#define SWAPD(x) x -#define SWAPW(x) x +#define SWAPD(x) (x) +#define SWAPW(x) (x) +#define SWAPQ(x) (x) #endif VOID