emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SuperH port


From: Ulrich Mueller
Subject: Re: SuperH port
Date: Thu, 16 Oct 2008 18:04:27 +0200

>>>>> On Wed, 15 Oct 2008, Dan Nicolaescu wrote:

> Isn't there a symbol that the compiler defines differently for
> big/little endian?

I don't know about the compiler, but glibc's header files define
__BYTE_ORDER. I've attached a solution that was tested on GNU/Linux,
but should also work on BSD.

> No big endian testing?

Not yet.

> No need for the copyright notice,

O.K.

"Take 3" of the patch is attached.

Best regards
Ulrich

emacs/ChangeLog entry:

2008-10-16  Ulrich Mueller  <address@hidden>

        * configure.in: Add support for GNU/Linux on SuperH.

emacs/etc/ChangeLog entry:

2008-10-16  Ulrich Mueller  <address@hidden>

        * MACHINES: Add section for SuperH.

emacs/src/ChangeLog entry:

2008-10-16  Ulrich Mueller  <address@hidden>

        * m/sh3.h: New file, machine description for SuperH.


--- emacs-orig/configure.in     2008-08-28 22:31:27.000000000 +0200
+++ emacs/configure.in  2008-10-16 17:27:37.000000000 +0200
@@ -540,6 +540,11 @@
     machine=xtensa opsys=gnu-linux
     ;;
 
+  ## SuperH Linux-based GNU system
+  sh[34]*-*-linux-gnu* )
+    machine=sh3 opsys=gnu-linux
+  ;;
+
   * )
     unported=yes
   ;;
--- emacs-orig/etc/MACHINES     2008-08-01 23:44:40.000000000 +0200
+++ emacs/etc/MACHINES  2008-10-16 17:27:37.000000000 +0200
@@ -426,6 +426,12 @@
   (now remapped as part of the text).  These are never
   swapped in.
 
+SuperH (sh[34]*-*-linux-gnu)
+
+  Emacs 23.0.60 was reported to work on GNU/Linux (October 2008).
+  Tested on a little-endian sh4 system (cpu type SH7751R) running
+  Gentoo Linux 2008.0.
+
 Tadpole 68K (m68k-tadpole-sysv)
 
   Changes merged in 19.1.
--- emacs-orig/src/m/sh3.h      1970-01-01 01:00:00.000000000 +0100
+++ emacs/src/m/sh3.h   2008-10-16 17:27:37.000000000 +0200
@@ -0,0 +1,24 @@
+/* Machine description file for SuperH. */
+
+#include <sys/param.h>
+
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
+   is the most significant byte.  */
+
+#if (defined (__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN) \
+  || (defined (BYTE_ORDER) && BYTE_ORDER == LITTLE_ENDIAN)
+# undef WORDS_BIG_ENDIAN
+#elif (defined (__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN) \
+  || (defined (BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN)
+# define WORDS_BIG_ENDIAN
+#else
+# error "cannot determine byte sex"
+#endif
+
+/* 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
+
+/* arch-tag: c997297c-9b92-11dd-b25e-0012f098dd76
+   (do not change this comment) */

reply via email to

[Prev in Thread] Current Thread [Next in Thread]