[emacs-debian commit] Support the AMD64 architecture (#248796) @ emacs-debian--main--21.4

Jérôme Marant jerome@marant.org
Sat, 12 Mar 2005 15:11:34 +0100 (CET)


Revision: emacs-debian--main--21.4--patch-6
Archive: jerome@debian.org--2005
Creator: Jerome Marant <jerome@marant.org>
Date: Sat Mar 12 15:11:17 CET 2005
Standard-date: 2005-03-12 14:11:17 GMT
New-files: patches/.arch-ids/arch-amd64.dpatch.id
    patches/arch-amd64.dpatch
Modified-files: changelog patches/00list
New-patches: jerome@debian.org--2005/emacs-debian--main--21.4--patch-6
Summary: Support the AMD64 architecture (#248796)
Keywords: 


* looking for jerome@debian.org--2005/emacs-debian--main--21.4--patch-5 to compare with
* build pristine tree for jerome@debian.org--2005/emacs-debian--main--21.4--patch-5
* from archive cached: jerome@debian.org--2005/emacs-debian--main--21.3--base-0
* patching for revision: jerome@debian.org--2005/emacs-debian--main--21.4--base-0
* patching for revision: jerome@debian.org--2005/emacs-debian--main--21.4--patch-1
* patching for revision: jerome@debian.org--2005/emacs-debian--main--21.4--patch-2
* patching for revision: jerome@debian.org--2005/emacs-debian--main--21.4--patch-3
* patching for revision: jerome@debian.org--2005/emacs-debian--main--21.4--patch-4
* patching for revision: jerome@debian.org--2005/emacs-debian--main--21.4--patch-5
* comparing to jerome@debian.org--2005/emacs-debian--main--21.4--patch-5
A  patches/.arch-ids/arch-amd64.dpatch.id
A  patches/arch-amd64.dpatch
A  {arch}/emacs-debian/emacs-debian--main/emacs-debian--main--21.4/jerome@debian.org--2005/patch-log/patch-6
M  patches/00list
M  changelog

* modified files

--- orig/changelog
+++ mod/changelog
@@ -12,6 +12,13 @@
   
   * Add MIME type to desktop file. (closes: #296618) [Jérôme Marant]
     - debian/emacs.desktop: added MimeType entry.
+  
+  * Apply patch supporting the AMD64 architecture. This is a slightly
+    modified patch derived from the Emacs CVS mainline. Thanks to
+    Goswin von Brederlow <brederlo@informatik.uni-tuebingen.de> and
+    amd64 porters. (closes: #248796) [Jérôme Marant]
+    - debian/patches/arch-amd64.patch: new file.
+    - debian/00list: updated.
 
  --
 


--- orig/patches/00list
+++ mod/patches/00list
@@ -20,4 +20,5 @@
 coding-region-leak
 remote-files-permissions
 pcl-cvs-format
+arch-amd64
 fix-x-vs-no-x-diffs



* added files

--- /dev/null
+++ /tmp/filepNbNJ6.d/,,what-changed.emacs-debian--main--21.4--patch-5--jerome@debian.org--2005/new-files-archive/./patches/.arch-ids/arch-amd64.dpatch.id
@@ -0,0 +1 @@
+Jerome Marant <jerome@marant.org> Sat Mar 12 15:00:39 2005 12044.0
--- /dev/null
+++ /tmp/filepNbNJ6.d/,,what-changed.emacs-debian--main--21.4--patch-5--jerome@debian.org--2005/new-files-archive/./patches/arch-amd64.dpatch
@@ -0,0 +1,159 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## arch-amd64.dpatch by Jerome Marant <jerome@debian.org>
+##
+## DP: ** Support for the AMD64 architecture has been added.
+## DP: Status: has been incorporated upstream
+## DP: Provided by: Goswin von Brederlow <brederlo@informatik.uni-tuebingen.de>
+## DP: Date: Thu, 05 Aug 2004 14:06:32 +0200
+
+@DPATCH@
+diff -urNad emacs21-21.3+1/configure.in /tmp/dpep.7W4lLC/emacs21-21.3+1/configure.in
+--- emacs21-21.3+1/configure.in	2003-03-16 23:06:05.000000000 +0100
++++ /tmp/dpep.7W4lLC/emacs21-21.3+1/configure.in	2005-03-12 14:41:42.787845968 +0100
+@@ -1060,6 +1060,11 @@
+     machine=f301 opsys=uxpv
+   ;;
+ 
++  ## AMD x86-64 Linux-based GNU system
++  x86_64-*-linux-gnu* )
++    machine=amdx86-64 opsys=gnu-linux 
++  ;;
++
+   * )
+     unported=yes
+   ;;
+diff -urNad emacs21-21.3+1/src/m/amdx86-64.h /tmp/dpep.7W4lLC/emacs21-21.3+1/src/m/amdx86-64.h
+--- emacs21-21.3+1/src/m/amdx86-64.h	1970-01-01 01:00:00.000000000 +0100
++++ /tmp/dpep.7W4lLC/emacs21-21.3+1/src/m/amdx86-64.h	2005-03-12 14:41:42.789845664 +0100
+@@ -0,0 +1,131 @@
++/* machine description file for AMD x86-64.
++   Copyright (C) 2002 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 2, 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; see the file COPYING.  If not, write to
++the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++Boston, MA 02111-1307, USA.  */
++
++
++/* The following line tells the configuration script what sort of 
++   operating system this machine is likely to run.
++   USUAL-OPSYS="linux"  */
++
++#define BITS_PER_LONG           64
++#define BITS_PER_EMACS_INT      64
++
++/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
++   is the most significant byte.  */
++
++#undef WORDS_BIG_ENDIAN
++
++/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
++ * group of arguments and treat it as an array of the arguments.  */
++
++#define NO_ARG_ARRAY
++
++/* Define WORD_MACHINE if addresses and such have
++ * to be corrected before they can be used as byte counts.  */
++
++/* #define WORD_MACHINE */
++
++/* 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.  */
++
++/* Use type int rather than a union, to represent Lisp_Object */
++/* This is desirable for most machines.  */
++
++#define NO_UNION_TYPE
++
++/* Define the type to use.  */
++#define EMACS_INT               long
++#define EMACS_UINT              unsigned long
++#define SPECIAL_EMACS_INT
++
++/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
++   the 24-bit bit field into an int.  In other words, if bit fields
++   are always unsigned.
++
++   If you use NO_UNION_TYPE, this flag does not matter.  */
++
++#define EXPLICIT_SIGN_EXTEND
++
++/* Data type of load average, as read out of kmem.  */
++
++#define LOAD_AVE_TYPE long
++
++/* Convert that into an integer that is 100 for a load average of 1.0  */
++
++#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
++
++/* Define CANNOT_DUMP on machines where unexec does not work.
++   Then the function dump-emacs will not be defined
++   and temacs will do (load "loadup") automatically unless told otherwise.  */
++
++/* #define CANNOT_DUMP */
++
++/* Define VIRT_ADDR_VARIES if the virtual addresses of
++   pure and impure space as loaded can vary, and even their
++   relative order cannot be relied on.
++
++   Otherwise Emacs assumes that text space precedes data space,
++   numerically.  */
++
++/* #define VIRT_ADDR_VARIES */
++
++/* Define C_ALLOCA if this machine does not support a true alloca
++   and the one written in C should be used instead.
++   Define HAVE_ALLOCA to say that the system provides a properly
++   working alloca function and it should be used.
++   Define neither one if an assembler-language alloca
++   in the file alloca.s should be used.  */
++
++#define C_ALLOCA
++#define HAVE_ALLOCA
++
++/* Define NO_REMAP if memory segmentation makes it not work well
++   to change the boundary between the text section and data section
++   when Emacs is dumped.  If you define this, the preloaded Lisp
++   code will not be sharable; but that's better than failing completely.  */
++
++/* #define NO_REMAP */
++
++#define PNTR_COMPARISON_TYPE unsigned long
++
++/* On the 64 bit architecture, we can use 60 bits for addresses */
++
++#define VALBITS         60
++
++/* This definition of MARKBIT is necessary because of the comparison of
++   ARRAY_MARK_FLAG and MARKBIT in an #if in lisp.h, which cpp doesn't like. */
++
++#define MARKBIT         0x8000000000000000L
++
++/* Define XINT and XUINT so that they can take arguments of type int */
++#define XINT(a)  (((long) (a) << (BITS_PER_LONG - VALBITS)) >> (BITS_PER_LONG - VALBITS))
++#define XUINT(a) ((long) (a) & VALMASK)
++
++/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
++
++#define XPNTR(a) XUINT (a)
++
++#undef START_FILES
++#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o
++
++#undef LIB_STANDARD
++#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o