aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.md5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3a3ac8b1fe2..dbb44d57532 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-02-09 Scott Bambrough <scottb@netwinder.org>
+
+ * config/arm/arm.md (movsi): In PIC mode, make sure that a
+ constant source address is legitimate.
+
2000-02-09 Philip Blundell <pb@futuretv.com>
* config/arm/arm.c (legitimize_pic_address): Handle LABEL_REF
diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md
index 62e1f09d276..afeb238c270 100644
--- a/gcc/config/arm/arm.md
+++ b/gcc/config/arm/arm.md
@@ -3793,7 +3793,10 @@
}
}
- if (CONSTANT_P (operands[1]) && flag_pic)
+ if (flag_pic
+ && (CONSTANT_P (operands[1])
+ || symbol_mentioned_p (operands[1])
+ || label_mentioned_p (operands[1])))
operands[1] = legitimize_pic_address
(operands[1], SImode, ((reload_in_progress || reload_completed)
? operands[0] : 0));