From a5ab3bdc1798c899fa9e56c994a3876707cd4754 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Sat, 17 Nov 2001 18:39:03 +0000 Subject: [PATCH] * config/tc-cris.c (md_apply_fix3): Cast value, not pointer, in val assignment. --- gas/ChangeLog | 5 +++++ gas/config/tc-cris.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 8e07d21bbf..b53425f2e4 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2001-11-17 Hans-Peter Nilsson + + * config/tc-cris.c (md_apply_fix3): Cast value, not pointer, in + val assignment. + 2001-11-16 Alan Modra * 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 04e8d2f912..0c42ff4db2 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) -- 2.11.0