summaryrefslogtreecommitdiff
path: root/gcc/config/epiphany
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-29 02:12:39 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2012-11-29 02:12:39 +0000
commit6c03ca245ee71ec1bd6b4fc3a205ab86a1bb969a (patch)
treea1068a9419099e4c6dec6dd54976845a8e5a8936 /gcc/config/epiphany
parent243041692d2ef9df12c1c27eaa4a2e28b813c28b (diff)
downloadgcc-6c03ca245ee71ec1bd6b4fc3a205ab86a1bb969a.tar.gz
* config/epiphany/epiphany.h (EPIPHANY_LIBRARY_EXTRA_SPEC): Define.
(EXTRA_SPECS, DRIVER_SELF_SPECS): Likewise. * config/epiphany/t-epiphany (SPECS): Set. (specs): New rule. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193917 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/epiphany')
-rw-r--r--gcc/config/epiphany/epiphany.h11
-rw-r--r--gcc/config/epiphany/t-epiphany7
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/config/epiphany/epiphany.h b/gcc/config/epiphany/epiphany.h
index 26a908a67ce..8c3b1aec21d 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 33db4acef13..70f41bfa6b7 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 > $@ ; \