[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: SuperH port
From: |
Ulrich Mueller |
Subject: |
Re: SuperH port |
Date: |
Wed, 15 Oct 2008 23:16:32 +0200 |
>>>>> On Wed, 08 Oct 2008, Stefan Monnier wrote:
> This port is wanted. Thank you for your effort to bring it back to
> life. Could someone install his change (and clean it up where
> appropriate)?
Please find an updated patch below, addressing most of Dan's
criticism:
- Support for NetBSD and OpenBSD has been removed since its status is
unknown.
- Definitions of EXPLICIT_SIGN_EXTEND, VIRT_ADDR_VARIES and other
unneccessary macros have been deleted.
However, I've left both files m/sh3el.h and m/sh3eb.h in for now,
since conditional definition of WORDS_BIG_ENDIAN would probably
require an autoconf test for endian.h. And then it's IMHO preferable
to use AC_C_BIGENDIAN instead.
>> dnl This could be used for targets which can have both byte sexes.
>> dnl We could presumably replace the hardwired WORDS_BIG_ENDIAN generally.
>> dnl AC_C_BIGENDIAN
> This would be a welcome change, indeed.
Ulrich
emacs/ChangeLog entry:
2008-10-15 Ulrich Mueller <address@hidden>
* configure.in: Add support for GNU/Linux on SuperH.
emacs/etc/ChangeLog entry:
2008-10-15 Ulrich Mueller <address@hidden>
* MACHINES: Add section for SuperH.
emacs/src/ChangeLog entry:
2008-10-15 Ulrich Mueller <address@hidden>
* m/sh3el.h: Restore deleted file for SuperH support.
(WORD_MACHINE, NO_UNION_TYPE, EXPLICIT_SIGN_EXTEND)
(LOAD_AVE_TYPE, LOAD_AVE_CVT, CANNOT_DUMP, VIRT_ADDR_VARIES)
(HAVE_ALLOCA, NO_REMAP): Remove obsolete or unneeded definitions.
* m/sh3eb.h: New file.
--- emacs-orig/configure.in 2008-08-28 22:31:27.000000000 +0200
+++ emacs/configure.in 2008-10-01 07:21:49.000000000 +0200
@@ -540,6 +540,16 @@
machine=xtensa opsys=gnu-linux
;;
+ ## SuperH (little endian) Linux-based GNU system
+ sh[34]-*-linux-gnu* )
+ machine=sh3el opsys=gnu-linux
+ ;;
+
+ ## SuperH (big endian) Linux-based GNU system
+ sh[34]eb-*-linux-gnu* )
+ machine=sh3eb opsys=gnu-linux
+ ;;
+
* )
unported=yes
;;
--- emacs-orig/etc/MACHINES 2008-08-01 23:44:40.000000000 +0200
+++ emacs/etc/MACHINES 2008-10-01 07:22:52.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.
@@ -575,7 +581,6 @@
PFU A-series (m/pfa50.h)
Plexus running System V.2 (m/plexus.h)
pyramid. (m/pyramid.h)
- sh3el (m/sh3el.h)
Bull SPS-7 (m/sps7.h)
Hitachi SR2001/SR2201 (m/sr2k.h)
Stride (m/stride.h)
--- emacs-orig/src/m/sh3eb.h 1970-01-01 01:00:00.000000000 +0100
+++ emacs/src/m/sh3eb.h 2008-10-01 07:20:54.000000000 +0200
@@ -0,0 +1,7 @@
+/* machine description file for big-endian SuperH. */
+
+#include "sh3el.h"
+#define WORDS_BIG_ENDIAN
+
+/* arch-tag: 86a90028-8f70-11dd-ac16-0012f098dd76
+ (do not change this comment) */
--- emacs-orig/src/m/sh3el.h 1970-01-01 01:00:00.000000000 +0100
+++ emacs/src/m/sh3el.h 2008-10-01 07:20:41.000000000 +0200
@@ -0,0 +1,31 @@
+/* machine description file for little-endian SuperH.
+ Copyright (C) 1985, 1986, 2006, 2007, 2008 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 WORDS_BIG_ENDIAN if 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
+
+/* arch-tag: ee325990-6f40-47a2-b9df-60ecf3599899
+ (do not change this comment) */
- SuperH port, Ulrich Mueller, 2008/10/08
- Re: SuperH port, Ulrich Mueller, 2008/10/08
- Re: SuperH port, Dan Nicolaescu, 2008/10/08
- Re: SuperH port, Ulrich Mueller, 2008/10/08
- Re: SuperH port, Stefan Monnier, 2008/10/08
- Re: SuperH port,
Ulrich Mueller <=
- Re: SuperH port, Dan Nicolaescu, 2008/10/15
- Re: SuperH port, Ulrich Mueller, 2008/10/16
- Re: SuperH port, Dan Nicolaescu, 2008/10/17
- Re: SuperH port, Ulrich Mueller, 2008/10/17
- Re: SuperH port, Andreas Schwab, 2008/10/17
- Re: SuperH port, Ulrich Mueller, 2008/10/17
- Re: SuperH port, Ulrich Mueller, 2008/10/18
- Re: SuperH port, Dan Nicolaescu, 2008/10/18
Re: SuperH port, Ulrich Mueller, 2008/10/09