all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ulrich Mueller <ulm@gentoo.org>
To: Dan Nicolaescu <dann@ics.uci.edu>
Cc: sh@gentoo.org, emacs@gentoo.org,
	Stefan Monnier <monnier@iro.umontreal.ca>,
	emacs-devel@gnu.org
Subject: Re: SuperH port
Date: Fri, 17 Oct 2008 22:26:43 +0200	[thread overview]
Message-ID: <18680.62723.402555.845019@a1ihome1.kph.uni-mainz.de> (raw)
In-Reply-To: <200810170604.m9H6405l013839@mothra.ics.uci.edu>

[-- Attachment #1: message body text --]
[-- Type: text/plain, Size: 816 bytes --]

>>>>> On Thu, 16 Oct 2008, Dan Nicolaescu wrote:

> On all the machines that I am aware off that support both big and
> little endian the compiler predefines a symbol to distinguish
> between them.

It turns out that gcc defines __LITTLE_ENDIAN__ and __BIG_ENDIAN__,
respectively:

   $ echo | sh4-gentoo-linux-uclibc-gcc -nostdinc -dM -E - | grep ENDIAN
   __LITTLE_ENDIAN__

(To add some confusion, endian.h then also defines _all_ four of
__LITTLE_ENDIAN, LITTLE_ENDIAN, __BIG_ENDIAN, and BIG_ENDIAN,
regardless of the machine's byte sex. Go figure.)

> I'll install this when the endianess issue gets resolved.

I still think that my previous approach (include sys/param.h and
test for __BYTE_ORDER) was cleaner. But if you absolutely want a
compiler-defined symbol, an updated patch is included below.

Ulrich


[-- Attachment #2: emacs-cvs-sh.patch --]
[-- Type: text/plain, Size: 1937 bytes --]

emacs/ChangeLog entry:

2008-10-16  Ulrich Mueller  <ulm@gentoo.org>

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

emacs/etc/ChangeLog entry:

2008-10-16  Ulrich Mueller  <ulm@gentoo.org>

	* MACHINES: Add section for SuperH.

emacs/src/ChangeLog entry:

2008-10-16  Ulrich Mueller  <ulm@gentoo.org>

	* 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,20 @@
+/* Machine description file for SuperH. */
+
+/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
+   is the most significant byte.  */
+
+#if defined (__LITTLE_ENDIAN__) && !defined (__BIG_ENDIAN__)
+# undef WORDS_BIG_ENDIAN
+#elif defined (__BIG_ENDIAN__) && !defined (__LITTLE_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	other threads:[~2008-10-17 20:26 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-08  9:17 SuperH port Ulrich Mueller
2008-10-08 10:37 ` Ulrich Mueller
2008-10-08 14:31 ` Dan Nicolaescu
2008-10-08 18:22   ` Ulrich Mueller
2008-10-08 18:47     ` Stefan Monnier
2008-10-15 21:16       ` Ulrich Mueller
2008-10-15 21:36         ` Dan Nicolaescu
2008-10-16 16:04           ` Ulrich Mueller
2008-10-17  6:04             ` Dan Nicolaescu
2008-10-17 20:26               ` Ulrich Mueller [this message]
2008-10-17 22:25                 ` Andreas Schwab
2008-10-17 22:56                   ` Ulrich Mueller
2008-10-18  8:39                   ` Ulrich Mueller
2008-10-18  8:12                 ` Dan Nicolaescu
2008-12-11  7:20                   ` Ulrich Mueller
2008-12-11  7:58                     ` Dan Nicolaescu
2008-10-09 10:24   ` Ulrich Mueller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=18680.62723.402555.845019@a1ihome1.kph.uni-mainz.de \
    --to=ulm@gentoo.org \
    --cc=dann@ics.uci.edu \
    --cc=emacs-devel@gnu.org \
    --cc=emacs@gentoo.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=sh@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.