diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6868fe..69703a7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-09-10 Andreas Krebbel <krebbel1@de.ibm.com> + + * config/s390/s390.c (s390_dump_pool): Create copy of constant + pool entries since they might hold values that must not be shared. + 2007-09-10 Uros Bizjak <ubizjak@gmail.com> PR target/33369 diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index aa6db1f..c4860e5 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -5600,7 +5600,7 @@ s390_dump_pool (struct constant_pool *pool, bool remote_label) for (c = pool->constants[i]; c; c = c->next) { /* Convert UNSPEC_LTREL_OFFSET unspecs to pool-relative references. */ - rtx value = c->value; + rtx value = copy_rtx (c->value); if (GET_CODE (value) == CONST && GET_CODE (XEXP (value, 0)) == UNSPEC && XINT (XEXP (value, 0), 1) == UNSPEC_LTREL_OFFSET |