diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-cris.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 8e07d21..b53425f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2001-11-17 Hans-Peter Nilsson <hp@axis.com> + + * config/tc-cris.c (md_apply_fix3): Cast value, not pointer, in + val assignment. + 2001-11-16 Alan Modra <amodra@bigpond.net.au> * config/tc-m68k.c (md_apply_fix3): Change val back to a signed type. diff --git a/gas/config/tc-cris.c b/gas/config/tc-cris.c index 04e8d2f..0c42ff4 100644 --- a/gas/config/tc-cris.c +++ b/gas/config/tc-cris.c @@ -2978,7 +2978,10 @@ md_apply_fix3 (fixP, valP, seg) valueT *valP; segT seg; { - long val = * (long *) valP; + /* This assignment truncates upper bits if valueT is 64 bits (as with + --enable-64-bit-bfd), which is fine here, though we cast to avoid + compiler any warnings. */ + long val = (long) *valP; char *buf = fixP->fx_where + fixP->fx_frag->fr_literal; if (fixP->fx_addsy == 0 && !fixP->fx_pcrel) |