From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark Davies Newsgroups: gmane.emacs.bugs Subject: additional NetBSD platform support. Date: Fri, 3 Nov 2006 00:24:25 +1300 Message-ID: <200611030024.25725.mark@mcs.vuw.ac.nz> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1162466718 26325 80.91.229.2 (2 Nov 2006 11:25:18 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 2 Nov 2006 11:25:18 +0000 (UTC) Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Nov 02 12:25:13 2006 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Gfagu-0006ik-PC for geb-bug-gnu-emacs@m.gmane.org; Thu, 02 Nov 2006 12:25:01 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Gfagu-0008Gx-2z for geb-bug-gnu-emacs@m.gmane.org; Thu, 02 Nov 2006 06:25:00 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GfagY-0007eJ-0f for bug-gnu-emacs@gnu.org; Thu, 02 Nov 2006 06:24:38 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GfagW-0007ca-2W for bug-gnu-emacs@gnu.org; Thu, 02 Nov 2006 06:24:37 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GfagV-0007c5-TN for bug-gnu-emacs@gnu.org; Thu, 02 Nov 2006 06:24:35 -0500 Original-Received: from [130.195.5.20] (helo=kaukau.mcs.vuw.ac.nz) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1GfagV-0005LI-29 for bug-gnu-emacs@gnu.org; Thu, 02 Nov 2006 06:24:35 -0500 Original-Received: from bats.mcs.vuw.ac.nz (bats.mcs.vuw.ac.nz [130.195.5.13]) by kaukau.mcs.vuw.ac.nz (8.13.6.20060614/8.13.3) with ESMTP id kA2BOW3b028281 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 3 Nov 2006 00:24:32 +1300 (NZDT) Original-Received: from lap3.home.vuw.ac.nz (foo@203-97-222-103.cable.telstraclear.net [203.97.222.103]) (authenticated bits=0) by bats.mcs.vuw.ac.nz (8.13.6.20060614/8.13.3) with ESMTP id kA2BOV3I027438 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Fri, 3 Nov 2006 00:24:31 +1300 (NZDT) Original-To: bug-gnu-emacs@gnu.org User-Agent: KMail/1.9.5 Content-Disposition: inline X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0rc3 (kaukau.mcs.vuw.ac.nz [130.195.5.20]); Fri, 03 Nov 2006 00:24:32 +1300 (NZDT) X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:15404 Archived-At: The current emacs lacks support for NetBSD on some platforms. Below patches add the necessary. Note the "powerpc-apple-netbsd" line is removed from configure as the subsequent "powerpc-*-netbsd" makes it redundant. cheers mark --- configure.in.orig 2006-11-03 00:08:33.000000000 +1300 +++ configure.in @@ -257,7 +257,6 @@ dnl see the `changequote' comment above. m68k-*-netbsd*) # This is somewhat bogus. machine=hp9000s300 ;; - powerpc-apple-netbsd*) machine=macppc ;; mips-*-netbsd*) machine=pmax ;; mipsel-*-netbsd*) machine=pmax ;; mipseb-*-netbsd*) machine=pmax ;; @@ -266,6 +265,9 @@ dnl see the `changequote' comment above. sparc*-*-netbsd*) machine=sparc ;; vax-*-netbsd*) machine=vax ;; arm-*-netbsd*) machine=arm ;; + x86_64-*-netbsd*) machine=amdx86-64 ;; + hppa-*-netbsd*) machine=hp800 ;; + shle-*-netbsd*) machine=sh3el ;; esac ;; --- src/m/amdx86-64.h.orig 2006-11-01 23:06:29.000000000 +1300 +++ src/m/amdx86-64.h @@ -125,7 +125,11 @@ Boston, MA 02110-1301, USA. */ #undef LIB_STANDARD #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o -#else /* !__OpenBSD__ && !__FreeBSD__ */ +#elif defined(__NetBSD__) + +/* LIB_STANDARD and START_FILES set correctly in s/netbsd.h */ + +#else /* !__OpenBSD__ && !__FreeBSD__ && !__NetBSD__ */ #undef START_FILES #define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o --- src/m/hp800.h.orig 2006-02-07 04:23:23.000000000 +1300 +++ src/m/hp800.h @@ -174,6 +174,14 @@ Boston, MA 02110-1301, USA. */ #define rindex strrchr #endif /* __hpux */ + +/* Systems with GCC don't need to lose. */ +#ifdef __NetBSD__ +# ifdef __GNUC__ +# define alloca __builtin_alloca +# define HAVE_ALLOCA +# endif /* __GNUC__ */ +#endif /* __NetBSD__ */ /* arch-tag: 809436e6-1645-4b92-b40d-2de5d6e7227c (do not change this comment) */ --- /dev/null 2006-11-03 00:16:17.000000000 +1300 +++ src/m/sh3el.h 2006-03-25 14:48:22.000000000 +1200 @@ -0,0 +1,107 @@ +/* machine description file for sh3el + Copyright (C) 1985, 1986 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="" */ + +/* 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. */ + +#undef 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 */ + +/* Use type int rather than a union, to represent Lisp_Object */ +/* This is desirable for most machines. */ + +#define NO_UNION_TYPE + +/* 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. */ + +#undef 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 + +/* After adding support for a new system, modify the large case + statement in the `configure' script to recognize reasonable + configuration names, and add a description of the system to + `etc/MACHINES'. + + If you've just fixed a problem in an existing configuration file, + you should also check `etc/MACHINES' to make sure its descriptions + of known problems in that configuration should be updated. */ +