Commit 2d7d1608 authored by Eli Zaretskii's avatar Eli Zaretskii

Clean up the Windows x64 changes.

 nt/preprep.c (RVA_TO_PTR): Use 'unsigned char *' instead of
 'void *', for pointer arithmetics.
 (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET): Enclose all
 macro arguments in parentheses.

 src/unexw32.c (OFFSET_TO_RVA, RVA_TO_OFFSET)
 (RVA_TO_SECTION_OFFSET): Encode all macro arguments in parentheses.
 (RVA_TO_PTR): Cast the result of RVA_TO_OFFSET to 'unsigned char *',
 as the previous version used 'void *'.
 src/ralloc.c (ROUNDUP): Fix last change.
 (MEM_ROUNDUP): Don't cast MEM_ALIGN, it is already of type
 'size_t'.

Fixes: debbugs:12544
parent 7692b36b
2012-10-01 Eli Zaretskii <eliz@gnu.org>
* preprep.c (RVA_TO_PTR): Use 'unsigned char *' instead of
'void *', for pointer arithmetics.
(OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET): Enclose all
macro arguments in parentheses.
2012-09-30 Eli Zaretskii <eliz@gnu.org> 2012-09-30 Eli Zaretskii <eliz@gnu.org>
* makefile.w32-in ($(TRES)): Use $(EMACS_MANIFEST). * makefile.w32-in ($(TRES)): Use $(EMACS_MANIFEST).
......
...@@ -279,16 +279,16 @@ relocate_offset (DWORD_PTR offset, ...@@ -279,16 +279,16 @@ relocate_offset (DWORD_PTR offset,
} }
#define OFFSET_TO_RVA(offset, section) \ #define OFFSET_TO_RVA(offset, section) \
(section->VirtualAddress + ((DWORD_PTR)(offset) - section->PointerToRawData)) ((section)->VirtualAddress + ((DWORD_PTR)(offset) - (section)->PointerToRawData))
#define RVA_TO_OFFSET(rva, section) \ #define RVA_TO_OFFSET(rva, section) \
(section->PointerToRawData + ((DWORD_PTR)(rva) - section->VirtualAddress)) ((section)->PointerToRawData + ((DWORD_PTR)(rva) - (section)->VirtualAddress))
#define RVA_TO_SECTION_OFFSET(rva, section) \ #define RVA_TO_SECTION_OFFSET(rva, section) \
((DWORD_PTR)(rva) - section->VirtualAddress) ((DWORD_PTR)(rva) - (section)->VirtualAddress)
#define RVA_TO_PTR(var,section,filedata) \ #define RVA_TO_PTR(var,section,filedata) \
((void *)(RVA_TO_OFFSET(var,section) + (filedata)->file_base)) ((unsigned char *)(RVA_TO_OFFSET(var,section) + (filedata)->file_base))
/* Convert address in executing image to RVA. */ /* Convert address in executing image to RVA. */
#define PTR_TO_RVA(ptr) ((DWORD_PTR)(ptr) - (DWORD_PTR) GetModuleHandle (NULL)) #define PTR_TO_RVA(ptr) ((DWORD_PTR)(ptr) - (DWORD_PTR) GetModuleHandle (NULL))
......
2012-10-01 Eli Zaretskii <eliz@gnu.org> 2012-10-01 Eli Zaretskii <eliz@gnu.org>
* unexw32.c (OFFSET_TO_RVA, RVA_TO_OFFSET)
(RVA_TO_SECTION_OFFSET): Encode all macro arguments in parentheses.
(RVA_TO_PTR): Cast the result of RVA_TO_OFFSET to 'unsigned char *',
as the previous version used 'void *'.
* ralloc.c (ROUNDUP): Fix last change.
(MEM_ROUNDUP): Don't cast MEM_ALIGN, it is already of type
'size_t'.
* w32proc.c <disable_itimers>: New static flag. * w32proc.c <disable_itimers>: New static flag.
(init_timers): Initialize it to zero, after creating the critical (init_timers): Initialize it to zero, after creating the critical
sections used by the timer threads. sections used by the timer threads.
......
...@@ -92,11 +92,11 @@ static int extra_bytes; ...@@ -92,11 +92,11 @@ static int extra_bytes;
by changing the definition of PAGE. */ by changing the definition of PAGE. */
#define PAGE (getpagesize ()) #define PAGE (getpagesize ())
#define ROUNDUP(size) (((size_t) (size) + page_size - 1) \ #define ROUNDUP(size) (((size_t) (size) + page_size - 1) \
& ~((size_t)page_size - 1)) & ~((size_t)(page_size - 1)))
#define MEM_ALIGN sizeof (double) #define MEM_ALIGN sizeof (double)
#define MEM_ROUNDUP(addr) (((size_t)(addr) + MEM_ALIGN - 1) \ #define MEM_ROUNDUP(addr) (((size_t)(addr) + MEM_ALIGN - 1) \
& ~((size_t)MEM_ALIGN - 1)) & ~(MEM_ALIGN - 1))
/* The hook `malloc' uses for the function which gets more space /* The hook `malloc' uses for the function which gets more space
from the system. */ from the system. */
......
...@@ -314,19 +314,19 @@ relocate_offset (DWORD_PTR offset, ...@@ -314,19 +314,19 @@ relocate_offset (DWORD_PTR offset,
} }
#define OFFSET_TO_RVA(offset, section) \ #define OFFSET_TO_RVA(offset, section) \
(section->VirtualAddress + ((DWORD_PTR)(offset) - section->PointerToRawData)) ((section)->VirtualAddress + ((DWORD_PTR)(offset) - (section)->PointerToRawData))
#define RVA_TO_OFFSET(rva, section) \ #define RVA_TO_OFFSET(rva, section) \
(section->PointerToRawData + ((DWORD_PTR)(rva) - section->VirtualAddress)) ((section)->PointerToRawData + ((DWORD_PTR)(rva) - (section)->VirtualAddress))
#define RVA_TO_SECTION_OFFSET(rva, section) \ #define RVA_TO_SECTION_OFFSET(rva, section) \
((DWORD_PTR)(rva) - section->VirtualAddress) ((DWORD_PTR)(rva) - (section)->VirtualAddress)
/* Convert address in executing image to RVA. */ /* Convert address in executing image to RVA. */
#define PTR_TO_RVA(ptr) ((DWORD_PTR)(ptr) - (DWORD_PTR) GetModuleHandle (NULL)) #define PTR_TO_RVA(ptr) ((DWORD_PTR)(ptr) - (DWORD_PTR) GetModuleHandle (NULL))
#define RVA_TO_PTR(var,section,filedata) \ #define RVA_TO_PTR(var,section,filedata) \
((DWORD_PTR)(RVA_TO_OFFSET (var,section) + (filedata).file_base)) ((unsigned char *)(RVA_TO_OFFSET (var,section) + (filedata).file_base))
#define PTR_TO_OFFSET(ptr, pfile_data) \ #define PTR_TO_OFFSET(ptr, pfile_data) \
((unsigned char *)(ptr) - (pfile_data)->file_base) ((unsigned char *)(ptr) - (pfile_data)->file_base)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment