« Return to Thread: Windows 64 port

Re: Windows 64 port

by Fabrice Popineau :: Rate this Message:

| View in Thread

Hi Eli,

Here is my Windows 64 bits patch. It is quite crude and only attempts to make it possible to compile
a 64bits emacs with the MS Sdk.
I have sent the paperwork to the FSF last week, so this patch could be reviewed and maybe integrated soon.
It is against emacs-24, current trunk.
Not everything is taken cared of: the heap allocation scheme should probably be reworked. Anyway,
I was able to run an emacs and make it allocate everything available on my Windows 64 machine 
(4Gb of Ram + around 10Gb of swap). It just did it without crashing.

Best regards,

Fabrice


2012/2/19 Eli Zaretskii <eliz@...>
> Date: Sun, 19 Feb 2012 21:18:00 +0100
> From: AJMR <ajmr@...>
>
> I would love to start to contribute to the GNU community and I thought
> that porting Emacs 23 to Windows 64, could be a good useful entry.

Thanks, it will.

> However, I have no idea on how to, or where, start.

Start with bug #9960, where some of this was discussed.  Maybe Fabrice
could post the patches he has till now.



--
Fabrice Popineau
-----------------------------
SUPELEC
Département Informatique
3, rue Joliot Curie
91192 Gif/Yvette Cedex
Tel direct : +33 (0) 169851950
Standard : +33 (0) 169851212
------------------------------




[amdx86-64.h]

/* machine description file for AMD x86-64.

Copyright (C) 2002-2012  Free Software Foundation, Inc.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */

#define BITS_PER_LONG           32
#define BITS_PER_LONG_LONG      64
#define BITS_PER_EMACS_INT      64

/* Now define a symbol for the cpu type, if your compiler
   does not define it automatically:
   Ones defined so far include vax, m68000, ns16000, pyramid,
   orion, tahoe, APOLLO and many others */
/* __x86_64 defined automatically.  */

/* Define the type to use.  */
#define EMACS_INT               __int64
#define EMACS_UINT              unsigned __int64
#define pI "ll"
#define VIRT_ADDR_VARIES
#define DATA_START get_data_start ()

/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
#undef DATA_SEG_BITS


emacs-64bits.patch (48K) Download Attachment

 « Return to Thread: Windows 64 port