Update of Hurd/i386 configuration

Mark Kettenis kettenis@wins.uva.nl
Mon Jun 7 14:22:00 GMT 1999

   Date: Mon, 7 Jun 1999 13:49:23 -0700
   From: Richard Henderson <rth@cygnus.com>

   On Sun, Jun 06, 1999 at 10:22:34PM +0200, Mark Kettenis wrote:
   > 	* config/gnu.h (LIB_SPEC): Add support for -mieee-fp.

   This isn't really appropriate for an arch-independant header
   file -- -mieee-fp is specific to i386.  Moreover, -mieee-fp
   is the default, so it doesn't make much sense.

Looks you're right.  I copied this from `config/linux.h', since at
first sight it seemed a good thing to do.  Looks like it should be
removed there too.  According to the ChangeLogs this should have
already happened.  FSFChangeLog.10 contains this entry:

  Mon Feb 12 20:55:39 1996  H.J. Lu  (hjl@gnu.ai.mit.edu)

          * configure (i[345]86-*-linux*): Set tmake_file t-linux.
          Add crtbeginS.o and crtendS.o to extra_parts.
          * i386/linux.h (CC1, LIB_SPEC): Deleted.
          * config/linux.h (STARTFILE_SPEC): Add crtbeginS.o if -shared.
          (CC1_SPEC): New.
          (LIB_SPEC): Remove %{mieee-fp:-lieee}; use -lc_p for -profile.
          * config/t-linux: New file.

Anyway, here's a new patch


Mon Jun  7 23:21:15 1999  Mark Kettenis  <kettenis@gnu.org>

	* config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
	such that we can override its definitions if necessary.
	(CPP_SPEC): New define.  Support processor specific predefines via
	(CC1_SPEC): New define.  Support processor specific compiler
	options via %(cc1_cpu).
	(STARTFILE_SPEC): New define.  Use crt0.o instead of crt1.o for

Index: egcs/gcc/config/i386/gnu.h
RCS file: /var/cvsroot/egcs/gcc/config/i386/gnu.h,v
retrieving revision
diff -u -r1.1.1.1 gnu.h
--- egcs/gcc/config/i386/gnu.h	1999/05/13 13:32:09
+++ egcs/gcc/config/i386/gnu.h	1999/06/06 15:01:42
@@ -3,13 +3,22 @@
 /* This does it mostly for us.  */
 #include <i386/linux.h>
-#define CPP_PREDEFINES "-Di386 -Acpu(i386) -Amachine(i386) \
--Dunix -Asystem(unix)  -DMACH -Asystem(mach) -D__GNU__ -Asystem(gnu)"
+/* Get machine-independent configuration parameters for the GNU system.  */
+#include <gnu.h>
 #define TARGET_VERSION fprintf (stderr, " (i386 GNU)");
+#define CPP_PREDEFINES "-D__ELF__ -D__i386__ -DMACH -Asystem(mach) \
+  -Dunix -Asystem(unix) -Asystem(posix) -D__GNU__ -Asystem(gnu)"
+#undef CPP_SPEC
+#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{bsd:-D_BSD_SOURCE}"
+#undef CC1_SPEC
+#define CC1_SPEC "%(cc1_cpu)"
 #undef	LINK_SPEC
 #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
   %{!shared: \
@@ -17,7 +26,11 @@
       %{rdynamic:-export-dynamic} \
       %{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
-/* Get machine-independent configuration parameters for the GNU system.  */
-#include <gnu.h>
+  "%{!shared: \
+     %{!static: \
+       %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}} \
+     %{static:crt0.o%s}} \
+   crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"

More information about the Gcc-patches mailing list