summaryrefslogtreecommitdiff
path: root/gcc/config/i386/gnu.h
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>1999-06-07 21:10:33 +0000
committerJeff Law <law@gcc.gnu.org>1999-06-07 15:10:33 -0600
commita0852bc0816f8e095c61bde62ad395d2619d4b71 (patch)
tree54d39aa73ac48ffa5f5bb3f28db9dfd9944cb4a1 /gcc/config/i386/gnu.h
parent5aa8e9796b55307cd24d393c0bd92832869c082e (diff)
downloadgcc-a0852bc0816f8e095c61bde62ad395d2619d4b71.tar.gz
gnu.h: Include <gnu.h> right after <i386/linux.h>...
� * 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 %(cpp_cpu). (CC1_SPEC): New define. Support processor specific compiler options via %(cc1_cpu). (STARTFILE_SPEC): New define. Use crt0.o instead of crt1.o for -static. From-SVN: r27406
Diffstat (limited to 'gcc/config/i386/gnu.h')
-rw-r--r--gcc/config/i386/gnu.h25
1 files changed, 19 insertions, 6 deletions
diff --git a/gcc/config/i386/gnu.h b/gcc/config/i386/gnu.h
index 971a5f880c2..632ca47d0b5 100644
--- a/gcc/config/i386/gnu.h
+++ b/gcc/config/i386/gnu.h
@@ -3,13 +3,22 @@
/* This does it mostly for us. */
#include <i386/linux.h>
-#undef CPP_PREDEFINES
-#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>
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (i386 GNU)");
+#undef CPP_PREDEFINES
+#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: \
@@ -18,6 +27,10 @@
%{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
%{static:-static}}"
-
-/* Get machine-independent configuration parameters for the GNU system. */
-#include <gnu.h>
+#undef STARTFILE_SPEC
+#define STARTFILE_SPEC \
+ "%{!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}"