Subject: Re: problems with current kernel
To: Stephen Champion <steve@eth217.hampshire.edu>
From: None <mw@eunet.ch>
List: amiga
Date: 02/06/1995 18:31:50
> 	Yup.  GCC lateer than 2.4.5 (or maybe it's 2.5.0 and higher or 
> something) doesn't work on NetBSD kernels becuase of differences in the 
> exact nature of certain functions invloving the copying of memory.  I 
> think it's memcopy ond bcopy or something.  In any case, use the 'cc' 
> that came with the distribution for your kernel - hich I think is 2.4.5.

Well, gcc is pretty easy to change back into good old bcopy behavior. The
netbsd.h file that comes with 2.6.x for example is a particularly BAD one,
because it's apparently designed to generate a gcc to be used as "cc", not
as gcc. This attempt fails miserably if you try to configure it as a 
cross compiler, since in that case, looking in /usr/include (which is
hardcoded in config/netbsd.h) is a definite no-no.. 

I'd suggest you try 2.6.3, with the following diff applied to netbsd.h:

*** netbsd.h~	Fri Sep  9 21:07:01 1994
--- netbsd.h	Sat Dec 31 00:28:08 1994
***************
*** 1,67 ****
  /* Look for the include files in the system-defined places.  */
  
- #undef GPLUSPLUS_INCLUDE_DIR
- #define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++"
- 
- #undef GCC_INCLUDE_DIR
- #define GCC_INCLUDE_DIR "/usr/include"
- 
- #undef INCLUDE_DEFAULTS
- #define INCLUDE_DEFAULTS		\
-   {					\
-     { GPLUSPLUS_INCLUDE_DIR, 1, 1 },	\
-     { GCC_INCLUDE_DIR, 0, 0 },		\
-     { 0, 0, 0 }				\
-   }
- 
- 
- /* Under NetBSD, the normal location of the `ld' and `as' programs is the
-    /usr/bin directory.  */
- 
- #undef MD_EXEC_PREFIX
- #define MD_EXEC_PREFIX "/usr/bin/"
- 
- /* Under NetBSD, the normal location of the various *crt*.o files is the
-    /usr/lib directory.  */
- 
- #undef MD_STARTFILE_PREFIX
- #define MD_STARTFILE_PREFIX "/usr/lib/"
- 
- 
- /* Provide a CPP_SPEC appropriate for NetBSD.  Current we just deal with
-    the GCC option `-posix'.  */
- 
- #undef CPP_SPEC
- #define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
- 
- /* Provide an ASM_SPEC appropriate for NetBSD.  Currently we only deal
-    with the options for generating PIC code.  */
- 
- #undef ASM_SPEC
- #define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k -K}"
- 
- /* Provide a LIB_SPEC appropriate for NetBSD.  Just select the appropriate
-    libc, depending on whether we're doing profiling.  */
- 
- #undef LIB_SPEC
- #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
- 
- /* Provide a LINK_SPEC appropriate for NetBSD.  Here we provide support
-    for the special GCC options -static, -assert, and -nostdlib.  */
- 
- #undef LINK_SPEC
- #define LINK_SPEC \
-   "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*}"
- 
- 
- /* We have atexit(3).  */
- 
- #define HAVE_ATEXIT
- 
- /* Implicit library calls should use memcpy, not bcopy, etc.  */
- 
- #define TARGET_MEM_FUNCTIONS
- 
  /*
   * Some imports from svr4.h in support of shared libraries.
   * Currently, we need the DECLARE_OBJECT_SIZE stuff.
--- 1,5 ----


-Markus
-- 
EUnet Switzerland   Tel:     +41 1 291 45 80	Markus Wild
Zweierstrasse 35    Hotline: +41 1 291 45 60	mw@eunet.ch
CH-8004 Zuerich	    Fax:     +41 1 291 46 42	S=mw;P=EUnet;A=EUnet;C=CH
>Solaris 2 is not an upgrade from Solaris 1. They just want you to THINK it is.