Subject: pkg/6295: Patches for xemacs 20.4 on arm32
To: None <gnats-bugs@gnats.netbsd.org>
From: None <rearnsha@arm.com>
List: netbsd-bugs
Date: 10/15/1998 11:57:52
>Number: 6295
>Category: pkg
>Synopsis: Xemacs not supported on ARM32
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: gnats-admin (GNATS administrator)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Oct 15 05:35:00 1998
>Last-Modified:
>Originator: rearnsha@arm.com
>Organization:
ARM Ltd
--
>Release: NetBSD-current
>Environment:
System: NetBSD shark1 1.3H NetBSD 1.3H (SHARK) #0: Mon Oct 12 19:01:59 BST 1998 rearnsha@shark1:/work/rearnsha/netbsd/sys/arch/arm32/compile/SHARK arm32
>Description:
Xemacs 20.4 in the pkgsrc repository doesn't configure or build on
arm32 platforms
>How-To-Repeat:
cd /usr/pkgsrc/editors/xemacs
make
>Fix:
Patch below:
*** configure.orig Tue Feb 10 03:59:34 1998
--- configure Wed Oct 14 15:38:08 1998
*************** fi
*** 835,840 ****
--- 835,841 ----
machine='' opsys=''
case "$canonical" in
+ arm*-*-* ) machine=arm ;;
sparc-*-* ) machine=sparc ;;
alpha-*-* ) machine=alpha ;;
vax-*-* ) machine=vax ;;
*** src/unexfreebsd.c.orig Wed Oct 14 21:17:07 1998
--- src/unexfreebsd.c Wed Oct 14 19:51:54 1998
*************** copy_relocation_site (struct relocation_
*** 289,295 ****
/* We can get relocation sites in the bss region, for objects whose
contents are copied from a shared library. We don't need or want
to restore these at present. */
! #ifndef sparc
if (ri->r_copy)
return;
#else
--- 289,295 ----
/* We can get relocation sites in the bss region, for objects whose
contents are copied from a shared library. We don't need or want
to restore these at present. */
! #if !defined(sparc) && !defined(__arm__)
if (ri->r_copy)
return;
#else
*** /dev/null Wed Oct 14 21:08:20 1998
--- src/m/arm.h Wed Oct 14 19:45:33 1998
***************
*** 0 ****
--- 1,109 ----
+ /* machine description file template.
+ 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 XEmacs; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+ /* Synched up with: FSF 19.31. */
+
+ /* The following line tells the configuration script what sort of
+ operating system this machine is likely to run.
+ USUAL-OPSYS="<name of system .h file here, without the .h>" */
+
+ /* 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 */
+ /* Netbsd's gcc doesn't define __arm__: it should */
+ #define __arm__
+
+ /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
+ the 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 */
+
+ /* Some really obscure 4.2-based systems (like Sequent DYNIX)
+ * do not support asynchronous I/O (using SIGIO) on sockets,
+ * even though it works fine on tty's. If you have one of
+ * these systems, define the following, and then use it in
+ * config.h (or elsewhere) to decide when (not) to use SIGIO.
+ *
+ * You'd think this would go in an operating-system description file,
+ * but since it only occurs on some, but not all, BSD systems, the
+ * reasonable place to select for it is in the machine description
+ * file.
+ */
+
+ /* #define NO_SOCK_SIGIO */
+
+
+ /* 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. */
>Audit-Trail:
>Unformatted: