* config/tc-cris.c (md_apply_fix3): Cast value, not pointer, in
authorHans-Peter Nilsson <hp@axis.com>
Sat, 17 Nov 2001 18:39:03 +0000 (18:39 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Sat, 17 Nov 2001 18:39:03 +0000 (18:39 +0000)
val assignment.

gas/ChangeLog
gas/config/tc-cris.c

index 8e07d21bbf34f0637cb4620d259adb3da5efb7cd..b53425f2e4a058743a4c417add2db3cc361810c8 100644 (file)
@@ -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.
index 04e8d2f9126b7ff6ae4354e731d1f85bc0293c9e..0c42ff4db20d7adb7107b064ee52b74aa90d8058 100644 (file)
@@ -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)