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


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

[PATCH] Sparc assembly fix


On Sun, Aug 08, 1999 at 12:44:09AM -0700, Richard Henderson wrote:
> Jakub, would you be so kind as to look at the
> following bug report?
> 
> /home/testomat/nightly/devo/libgloss/sparc/crt0.S:174: Error:\
> Illegal operands: Can't do arithmetics involving %lo() of a relocatable symbol
> [...]
> --> Third bug is the investigation of why the an insn like
>         jmpl %lo(SYM(win_unf))+%l3, %g0
> now causes that to fail.  (win_unf is defined in libgloss/sparc/salib.c.)
> The build on June 21 1999 was able to assemble it without any errors.

Sorry.
Here is the fix:

1999-08-08  Jakub Jelinek  <jj@ultra.linux.cz>

	config/tc-sparc.c (sparc_ip): Allow assembly of %lo()+%reg.

--- ./config/tc-sparc.c.jj	Mon Aug  2 09:29:08 1999
+++ ./config/tc-sparc.c	Sun Aug  8 11:12:21 1999
@@ -2159,7 +2159,10 @@ sparc_ip (str, pinsn)
 		    if (s1)
 		      {
 			*s1 = '\0';
-			(void) get_expression (s);
+			if (op_arg && s1 == s + 1)
+			  the_insn.exp.X_op = O_absent;
+			else
+			  (void) get_expression (s);
 			*s1 = '+';
 			if (op_arg)
 			  *s = ')';


Cheers,
    Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
UltraLinux  |  http://ultra.linux.cz/  |  http://ultra.penguin.cz/
Linux version 2.3.13 on a sparc64 machine (1343.49 BogoMips)
___________________________________________________________________

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