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]

Re: m68k-coff-as bug


Here is an updated version of the patch Andreas Schwab sent to fix the
m68k-coff problem introduced in gas-950622.


--- gas-950726/gas/config/obj-coff.c	Fri Jul 28 08:41:30 1995
+++ ./gas/config/obj-coff.c	Fri Jul 28 08:46:07 1995
@@ -3677,6 +3677,7 @@
 
 	      if (!TC_FORCE_RELOCATION (fixP))
 		{
+		  pcrel = 0;	/* No further pcrel processing. */
 		  fixP->fx_addsy = NULL;
 		  fixP->fx_subsy = NULL;
 		  fixP->fx_done = 1;



Some test code, similar to that emitted by gcc for switch statements:

mullet:/tmp$ cat >zzz.s
.text
.org 512
        .set .LI1,.+2
        move.w .L1-.LI1.b(%pc,%a0.l),%d0
        jmp %pc@(2,%d0:w)
.L1:

mullet:/tmp$ /usr/tmp/gas-950726/gas/as.new -m68000 -o /dev/null zzz.s
zzz.s: Assembler messages:
zzz.s:4: Error: Value of -508 too large for field of 1 bytes at 0x203
zzz.s:4: Error: value out of range