xref: /openbsd/gnu/usr.bin/gcc/gcc/config/i386/gnu.h (revision fc61954a)
1 /* Configuration for an i386 running GNU with ELF as the target machine.  */
2 
3 #undef TARGET_VERSION
4 #define TARGET_VERSION fprintf (stderr, " (i386 GNU)");
5 
6 #undef TARGET_OS_CPP_BUILTINS /* config.gcc includes i386/linux.h.  */
7 #define TARGET_OS_CPP_BUILTINS()		\
8   do						\
9     {						\
10 	builtin_define_std ("MACH");		\
11 	builtin_define_std ("unix");		\
12 	builtin_define ("__ELF__");		\
13 	builtin_define ("__GNU__");		\
14 	builtin_define ("__gnu_hurd__");	\
15 	builtin_assert ("system=gnu");		\
16 	builtin_assert ("system=mach");		\
17 	builtin_assert ("system=posix");	\
18 	builtin_assert ("system=unix");		\
19 	if (flag_pic)				\
20 	  {					\
21 	    builtin_define ("__PIC__");		\
22 	    builtin_define ("__pic__");		\
23 	  }					\
24     }						\
25   while (0)
26 
27 #undef CPP_SPEC
28 #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{bsd:-D_BSD_SOURCE}"
29 
30 #undef CC1_SPEC
31 #define CC1_SPEC "%(cc1_cpu)"
32 
33 #undef	LINK_SPEC
34 #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
35   %{!shared: \
36     %{!static: \
37       %{rdynamic:-export-dynamic} \
38       %{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
39     %{static:-static}}"
40 
41 #undef	STARTFILE_SPEC
42 #define STARTFILE_SPEC \
43   "%{!shared: \
44      %{!static: \
45        %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}} \
46      %{static:crt0.o%s}} \
47    crti.o%s %{static:crtbeginT.o%s}\
48    %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
49 
50 /* FIXME: Is a Hurd-specific fallback mechanism necessary?  */
51 #undef MD_FALLBACK_FRAME_STATE_FOR
52