solaris 2.9 sun assembler warnings

Jan Hubicka jh@suse.cz
Wed Jun 11 20:39:00 GMT 2003


> Jan Hubicka wrote:
> 
> >>Jan Hubicka wrote:
> >>
> >>
> >>>Some preprocessed file so I can reproduce the code known to fail in your
> >>>assembler.
> >>
> >>-save-temps -v, right? from the one I sent you, or just from one?
> >
> >
> >Shorter is better, but it does not matter :)
> >Just please send me the .i file, .s file and where the error is.
> 
> Ok, attached the three files, i, s, o. The as warning is still the same 
> as mentioned.
> 
> I cc gcc since I don't know if my mails arrive.
> 
> /usr/ccs/bin/as: Sun WorkShop 6 update 2 Compiler Common 6.2 
> Solaris_9_CBE 2001/04/02
> /usr/ccs/bin/as: "errors.s", line 223: warning: label in delay slot 
> (follows CTI)
> /usr/ccs/bin/as: "errors.s", line 251: warning: label in delay slot 
> (follows CTI)
> /usr/ccs/bin/as: "errors.s", line 259: warning: label in delay slot 
> (follows CTI)
> 
> >
> >>I try to grab one, but it'll be tomorrow when I send it. Need a pile of 
> >>sleep.
> >
> >
> >Well, me too - it is too hot for GCC these days here.
> 
> 33.5° in the office ....
Hmm, not sure how hot is my one...
I am attaching a patch that should fix the problem.

Wed Jun 11 22:36:32 CEST 2003  Jan Hubicka  <jh@suse.cz>
	* reorg.c (emit_delay_sequence): Zero out locators of embedded instructions.
Index: reorg.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/reorg.c,v
retrieving revision 1.84
diff -c -3 -p -r1.84 reorg.c
*** reorg.c	8 Apr 2003 20:16:54 -0000	1.84
--- reorg.c	11 Jun 2003 20:36:24 -0000
*************** emit_delay_sequence (insn, list, length)
*** 497,502 ****
--- 497,508 ----
        PREV_INSN (tem) = XVECEXP (seq, 0, i - 1);
        NEXT_INSN (XVECEXP (seq, 0, i - 1)) = tem;
  
+       /* SPARC assembler, for instance, emit warning when debug info is output
+          into the delay slot.  */
+       if (INSN_LOCATOR (tem) && !INSN_LOCATOR (seq_insn))
+ 	INSN_LOCATOR (seq_insn) = INSN_LOCATOR (tem);
+       INSN_LOCATOR (tem) = 0;
+ 
        for (note = REG_NOTES (tem); note; note = next)
  	{
  	  next = XEXP (note, 1);



More information about the Gcc mailing list