diff options
| author | Fabrice Popineau | 2012-09-30 23:36:42 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2012-09-30 23:36:42 +0200 |
| commit | 62aba0d4973c5cba7ac7c387bbe133e0e3061c5c (patch) | |
| tree | 19fa592c7c48ffdbd0ebae36de7f516f8c749226 /src/alloc.c | |
| parent | e7a2937b11bffc9ac24936e9f46201ce2abf38cc (diff) | |
| download | emacs-62aba0d4973c5cba7ac7c387bbe133e0e3061c5c.tar.gz emacs-62aba0d4973c5cba7ac7c387bbe133e0e3061c5c.zip | |
Support x64 build on MS-Windows with MSVC.
src/w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64.
(SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for
compatibility with x64.
src/w32term.c (w32_draw_underwave): Don't use GCC extensions for
defining an XRectangle structure.
src/w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer
arithmetics for compatibility with x64.
src/w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for
compatibility with x64.
src/w32heap.h: Adjust prototypes and declarations.
src/w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap)
(round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of
DWORD, long, and unsigned long, for compatibility with x64.
(allocate_heap) [_WIN64]: Reserve 32GB of memory.
(sbrk): Argument is now of type ptrdiff_t.
src/w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being
less than 0x0500.
(w32_msg_pump): Use WPARAM type for 'result'.
src/w32.c (init_environment, get_emacs_configuration): Support AMD64
architecture.
(init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for
compatibility with x64.
src/vm-limit.c (lim_data): Now size_t.
(check_memory_limits): Adjust prototypes of real_morecore and
__morecore to receive argument of type ptrdiff_t. Use size_t for
five_percent and data_size.
src/unexw32.c: Use DWORD_PTR instead of DWORD for file-scope
variables, for compatibility with x64.
(rva_to_section, offset_to_section, relocate_offset)
(OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET)
(PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info)
(copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD
for compatibility with x64.
src/sysdep.c (STDERR_FILENO): Define if not already defined.
src/ralloc.c (real_morecore): Argument type is now ptrdiff_t.
(__morecore): Argument type is now ptrdiff_t.
(ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'.
(relinquish): Use ptrdiff_t type for 'excess'.
(r_alloc_sbrk): Argument type is now ptrdiff_t.
src/makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE.
(bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE)
instead of a literal number.
src/gmalloc.c [WINDOWSNT]: Include w32heap.h.
(min): Define only if not already defined.
src/frame.c (x_report_frame_params): Use EMACS_UINT for the return
value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows
hosts.
src/image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since
'bitmaps' is a pointer.
src/dispextern.h (x_bitmap_pixmap): Adjust prototype.
src/alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__.
nt/makefile.w32-in ($(TRES)): Use $(EMACS_MANIFEST).
nt/inc/sys/socket.h: Don't map Winsock error codes to standard ones
that are already defined.
nt/inc/ms-w32.h (EMACS_INT, EMACS_UINT, EMACS_INT_MAX, PRIuMAX)
(pI, _INTPTR) [_MSC_VER]: Fix definitions for MSVC.
[_MSC_VER]: Add pragmas to suppress some MSVC warnings.
nt/preprep.c (pfnCheckSumMappedFile, rva_to_section)
(offset_to_section, relocate_offset, OFFSET_TO_RVA)
(RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA)
(OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN)
(copy_executable_and_move_sections, ADJUST_IMPORT_RVA, main): Use
DWORD_PTR instead of DWORD for compatibility with x64.
nt/nmake.defs: Support AMD64.
(EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): New macros.
nt/gmake.defs: (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST):
New macros.
nt/addsection.c (pfnCheckSumMappedFile, rva_to_section)
(offset_to_section, relocate_offset, OFFSET_TO_RVA)
(RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA)
(OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN)
(copy_executable_and_add_section, main): Use DWORD_PTR instead of
DWORD, for compatibility with x64.
nt/emacs-x64.manifest: New file.
nt/emacs-x86.manifest: Renamed from emacs.manifest.
lib-src/ntlib.c (gettimeofday): Copy from src/w32.c. lib/gettime.
needs this function.
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/alloc.c b/src/alloc.c index df166b4924a..9278f226b69 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -74,6 +74,7 @@ extern void *sbrk (); | |||
| 74 | #endif | 74 | #endif |
| 75 | #ifdef WINDOWSNT | 75 | #ifdef WINDOWSNT |
| 76 | #include "w32.h" | 76 | #include "w32.h" |
| 77 | #include "w32heap.h" /* for sbrk */ | ||
| 77 | #endif | 78 | #endif |
| 78 | 79 | ||
| 79 | #ifdef DOUG_LEA_MALLOC | 80 | #ifdef DOUG_LEA_MALLOC |
| @@ -6607,7 +6608,8 @@ The time is in seconds as a floating point value. */); | |||
| 6607 | /* When compiled with GCC, GDB might say "No enum type named | 6608 | /* When compiled with GCC, GDB might say "No enum type named |
| 6608 | pvec_type" if we don't have at least one symbol with that type, and | 6609 | pvec_type" if we don't have at least one symbol with that type, and |
| 6609 | then xbacktrace could fail. Similarly for the other enums and | 6610 | then xbacktrace could fail. Similarly for the other enums and |
| 6610 | their values. */ | 6611 | their values. Some non-GCC compilers don't like these constructs. */ |
| 6612 | #ifdef __GNUC__ | ||
| 6611 | union | 6613 | union |
| 6612 | { | 6614 | { |
| 6613 | enum CHARTAB_SIZE_BITS CHARTAB_SIZE_BITS; | 6615 | enum CHARTAB_SIZE_BITS CHARTAB_SIZE_BITS; |
| @@ -6627,3 +6629,4 @@ union | |||
| 6627 | enum lsb_bits lsb_bits; | 6629 | enum lsb_bits lsb_bits; |
| 6628 | #endif | 6630 | #endif |
| 6629 | } const EXTERNALLY_VISIBLE gdb_make_enums_visible = {0}; | 6631 | } const EXTERNALLY_VISIBLE gdb_make_enums_visible = {0}; |
| 6632 | #endif /* __GNUC__ */ | ||