[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Cannot bootstrap on NetBSD/cobalt
From: |
Kenichi Handa |
Subject: |
Cannot bootstrap on NetBSD/cobalt |
Date: |
Mon, 06 Mar 2006 17:18:16 +0900 |
User-agent: |
SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/22.0.50 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI) |
I got this bug report (translated by me from the original
Japanese). As I don't have NetBSD nor mips machine, I can't
work on it.
---
Kenichi Handa
address@hidden
----------------------------------------------------------------------
When we build Emacs on "Cobalt Cache RaQ2" with
NetBSD/cobalt or on hpcmips with NetBSD-3.99.11 (no X11),
temacs can't be build correctly.
/usr/lib/crt{i,begin,end,n}.o are not linked with temacs.
It seems the culprit is that START_FILES and LIB_STANDARD
defined in src/s/netbsd.h are overridden by src/m/mips.h and
src/m/pmax.h.
With the attached patch, it is confirmed that the Emacs
built on hpcmips/NetBSD at least starts up. But, the patch
may cause a problem for the other OS (especially OpenBSD and
older NetBSD).
Index: src/m/mips.h
===================================================================
RCS file: /cvsroot/emacs/emacs/src/m/mips.h,v
retrieving revision 1.27
diff -u -r1.27 mips.h
--- src/m/mips.h 6 Feb 2006 15:23:23 -0000 1.27
+++ src/m/mips.h 6 Mar 2006 00:50:32 -0000
@@ -112,7 +112,7 @@
/* This machine requires completely different unexec code
which lives in a separate file. Specify the file name. */
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__NetBSD__)
#undef UNEXEC
#define UNEXEC unexmips.o
#endif /* not __linux__ */
@@ -142,14 +142,6 @@
#if defined (__NetBSD__) || defined (__OpenBSD__)
#else /* bsd with elf */
#define LINKER /bsd43/bin/ld
-#endif /* bsd with elf */
-#else /* not BSD_SYSTEM */
-
-#if defined(__GNUC__) && defined(_ABIN32)
-#define LIBS_MACHINE
-#else
-#define LIBS_MACHINE -lmld
-#endif
#define LD_SWITCH_MACHINE -D 800000 -g3
#define START_FILES pre-crt0.o /usr/lib/crt1.o
@@ -159,6 +151,15 @@
#define C_SWITCH_MACHINE -I/usr/include/bsd
#define C_DEBUG_SWITCH -O -g3
+#endif /* bsd with elf */
+#else /* not BSD_SYSTEM */
+
+#if defined(__GNUC__) && defined(_ABIN32)
+#define LIBS_MACHINE
+#else
+#define LIBS_MACHINE -lmld
+#endif
+
#endif /* not BSD_SYSTEM */
#endif /* not NEWSOS5 && not __linux__ */
Index: src/m/pmax.h
===================================================================
RCS file: /cvsroot/emacs/emacs/src/m/pmax.h,v
retrieving revision 1.23
diff -u -r1.23 pmax.h
--- src/m/pmax.h 1 Sep 2003 15:45:58 -0000 1.23
+++ src/m/pmax.h 6 Mar 2006 00:50:32 -0000
@@ -13,29 +13,24 @@
#ifndef __MIPSEB__
#undef WORDS_BIG_ENDIAN
#endif
+#if !defined (__NetBSD__)
#undef LIB_STANDARD
#undef START_FILES
+#endif
#undef COFF
#undef TERMINFO
#define MAIL_USE_FLOCK
#define HAVE_UNION_WAIT
-
#ifdef MACH
#define START_FILES pre-crt0.o /usr/lib/crt0.o
#else
+#if !defined (__NetBSD__)
/* This line starts being needed with ultrix 4.0. */
/* You must delete it for version 3.1. */
#define START_FILES pre-crt0.o /usr/lib/cmplrs/cc/crt0.o
#endif
-
-#if defined (__NetBSD__) || defined (__OpenBSD__)
-#undef START_FILES
-#define START_FILES pre-crt0.o /usr/lib/crt0.o
-#undef RUN_TIME_REMAP
-#undef UNEXEC
-#define UNEXEC unexelf.o
-#endif /* NetBSD || OpenBSD */
+#endif
/* Supposedly the following will overcome a kernel bug. */
#undef LD_SWITCH_MACHINE
- Cannot bootstrap on NetBSD/cobalt,
Kenichi Handa <=