This is the mail archive of the gas2@sourceware.cygnus.com mailing list for the gas2 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

gas patch for ARM


Hi.

The following patch makes ADR instructions work correctly when
cross-assembling for the ARM from a machine with a word size greater
than 32 bits.

p.

Tue Jan 27 10:06:45 1998  Philip Blundell  <pb@nexus.co.uk>

	* config/tc-arm.c (md_apply_fix3): Force sign extension to happen
	before comparing 32-bit values with FAIL.
	
Index: tc-arm.c
===================================================================
RCS file: /usr/repository/gnu/binutils/gas/config/tc-arm.c,v
retrieving revision 1.3
diff -u -r1.3 tc-arm.c
--- tc-arm.c	1998/01/16 10:00:19	1.3
+++ tc-arm.c	1998/01/21 11:38:37
@@ -5096,8 +5096,8 @@
 
       /* If the instruction will fail, see if we can fix things up by
 	 changing the opcode.  */
-      if (newval == FAIL
-	  && (newval = negate_data_op (&temp, value)) == FAIL)
+      if ((int)newval == FAIL
+	  && ((int)(newval = negate_data_op (&temp, value))) == FAIL)
 	{
 	  as_bad_where (fixP->fx_file, fixP->fx_line,
 			"invalid constant after fixup\n");