emacs/ChangeLog entry: 2008-10-16 Ulrich Mueller * configure.in: Add support for GNU/Linux on SuperH. emacs/etc/ChangeLog entry: 2008-10-16 Ulrich Mueller * MACHINES: Add section for SuperH. emacs/src/ChangeLog entry: 2008-10-16 Ulrich Mueller * 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 + +/* 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) */