aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/ia64/ia64.h7
-rw-r--r--gcc/config/ia64/linux.h2
3 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 37c992d..fd08fae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2000-08-14 Jim Wilson <wilson@cygnus.com>
+
+ * config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
+ to GNU as. For Intel as, pass -M const_gp and -M no_plabel.
+ * config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
+ to GNU as.
+
2000-08-14 Richard Henderson <rth@cygnus.com>
* expr.c (emit_group_load): Don't force constants into registers.
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 1191330..bb1e038 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -224,10 +224,13 @@ extern const char *ia64_fixed_range_string;
#if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GNU_AS) != 0
/* GNU AS. */
-#define ASM_SPEC "%{mno-gnu-as:-N so}%{!mno-gnu-as: -x}"
+#define ASM_SPEC \
+ "%{mno-gnu-as:-N so} %{!mno-gnu-as:-x} %{mconstant-gp} %{mauto-pic}"
#else
/* Intel ias. */
-#define ASM_SPEC "%{!mgnu-as:-N so}%{mgnu-as: -x}"
+#define ASM_SPEC \
+ "%{!mgnu-as:-N so} %{mgnu-as:-x} %{mconstant-gp:-M const_gp}\
+ %{mauto-pic:-M no_plabel}"
#endif
/* A C string constant that tells the GNU CC driver program options to pass to
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index e2bc5d7..993a4ec 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -10,7 +10,7 @@
/* ??? ia64 gas doesn't accept standard svr4 assembler options? */
#undef ASM_SPEC
-#define ASM_SPEC "-x"
+#define ASM_SPEC "-x %{mconstant-gp} %{mauto-pic}"
/* Define this for shared library support because it isn't in the main
linux.h file. */