From 48ac1c945b6960be0f88ed15d6f17ae4788d58db Mon Sep 17 00:00:00 2001 From: Joern Rennecke Date: Thu, 29 Nov 2012 02:12:39 +0000 Subject: [PATCH] epiphany.h (EPIPHANY_LIBRARY_EXTRA_SPEC): Define. * config/epiphany/epiphany.h (EPIPHANY_LIBRARY_EXTRA_SPEC): Define. (EXTRA_SPECS, DRIVER_SELF_SPECS): Likewise. * config/epiphany/t-epiphany (SPECS): Set. (specs): New rule. From-SVN: r193917 --- gcc/ChangeLog | 5 +++++ gcc/config/epiphany/epiphany.h | 11 +++++++++++ gcc/config/epiphany/t-epiphany | 7 +++++++ 3 files changed, 23 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6731d7f..6a4c7ee3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -5,6 +5,11 @@ * config/epiphany/epiphany.md (isub_i+1): New peephole2. * config/epiphany/epiphany-protos.h (get_attr_sched_use_fpu): Declare. + * config/epiphany/epiphany.h (EPIPHANY_LIBRARY_EXTRA_SPEC): Define. + (EXTRA_SPECS, DRIVER_SELF_SPECS): Likewise. + * config/epiphany/t-epiphany (SPECS): Set. + (specs): New rule. + 2012-11-28 Jakub Jelinek PR debug/36728 diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h index 26a908a..8c3b1ae 100644 --- a/gcc/config/epiphany/epiphany.h +++ b/gcc/config/epiphany/epiphany.h @@ -58,6 +58,17 @@ along with GCC; see the file COPYING3. If not see #define ENDFILE_SPEC "crtend.o%s crtn.o%s" +#define EPIPHANY_LIBRARY_EXTRA_SPEC \ + "-ffixed-r40 -ffixed-r41 -ffixed-r42 -ffixed-r43" + +/* In the "spec:" rule,, t-epiphany changes this to epiphany_library_stub_spec + and epiphany_library_extra_spec, respectively. */ +#define EXTRA_SPECS \ + { "epiphany_library_extra_spec", "" }, \ + { "epiphany_library_build_spec", EPIPHANY_LIBRARY_EXTRA_SPEC }, \ + +#define DRIVER_SELF_SPECS " %(epiphany_library_extra_spec) " + #undef USER_LABEL_PREFIX #define USER_LABEL_PREFIX "_" diff --git a/gcc/config/epiphany/t-epiphany b/gcc/config/epiphany/t-epiphany index 33db4ac..70f41bf 100644 --- a/gcc/config/epiphany/t-epiphany +++ b/gcc/config/epiphany/t-epiphany @@ -30,3 +30,10 @@ resolve-sw-modes.o : $(srcdir)/config/epiphany/resolve-sw-modes.c \ insn-config.h insn-codes.h $(EMIT_RTL_H) $(RECOG_H) $(FUNCTION_H) \ insn-attr-common.h $(TREE_PASS_H) $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $< + +SPECS = specs.install + +specs: specs.install + sed -e 's,epiphany_library_extra_spec,epiphany_library_stub_spec,' \ + -e 's,epiphany_library_build_spec,epiphany_library_extra_spec,' \ + < specs.install > $@ ; \ -- 2.7.4