diff options
author | doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-08 06:35:17 +0000 |
---|---|---|
committer | doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-08 06:35:17 +0000 |
commit | 0c7f7ed4d72be3123f115321271fbd9b3eda411b (patch) | |
tree | 5185ba498d5c927400c1483ff82be6687d455814 /gcc/config/i386/gnu.h | |
parent | 8786a5e0d907f03e8823ac7f5caa8cb62e8623c2 (diff) | |
download | gcc-0c7f7ed4d72be3123f115321271fbd9b3eda411b.tar.gz |
2007-08-08 Samuel Thibault <samuel.thibault@ens-lyon.org>
* gcc/config/i386/gnu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add
-profile option, add pie support.
(ENDFILE_SPEC): New spec.
* gcc/config/gnu.h (LIB_SPEC): Add -profile option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127290 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/gnu.h')
-rw-r--r-- | gcc/config/i386/gnu.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/gcc/config/i386/gnu.h b/gcc/config/i386/gnu.h index e303bce25fc..a2b4f24291c 100644 --- a/gcc/config/i386/gnu.h +++ b/gcc/config/i386/gnu.h @@ -26,13 +26,19 @@ %{static:-static}}" #undef STARTFILE_SPEC +#if defined HAVE_LD_PIE #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 %{static:crtbeginT.o%s}\ - %{!static:%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}" + "%{!shared: %{pg|p|profile:gcrt0.o%s;pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}} \ + crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" +#else +#define STARTFILE_SPEC \ + "%{!shared: %{pg|p|profile:gcrt0.o%s;static:crt0.o%s;:crt1.o%s}} \ + crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" +#endif + +#undef ENDFILE_SPEC +#define ENDFILE_SPEC \ + "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s" /* FIXME: Is a Hurd-specific fallback mechanism necessary? */ #undef MD_UNWIND_SUPPORT |