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