[patch] tic4x support in gas

Svein E. Seldal Svein.Seldal@solidas.com
Thu Oct 10 10:54:00 GMT 2002


Alan Modra wrote:
> On Thu, Sep 26, 2002 at 01:37:39PM +0200, Svein E. Seldal wrote:
> 
>>Index: expr.c
>>===================================================================
>>RCS file: /cvs/src/src/gas/expr.c,v
>>retrieving revision 1.45
>>diff -c -3 -p -r1.45 expr.c
>>*** expr.c	20 Sep 2002 00:58:39 -0000	1.45
>>--- expr.c	26 Sep 2002 11:30:18 -0000
>>*************** operand (expressionP)
>>*** 841,846 ****
>>--- 841,852 ----
>>        c = *input_line_pointer;
>>        switch (c)
>>  	{
>>+ #ifdef TC_TIC4X
>>+         case '.':  /* 0. */
>>+           floating_constant (expressionP);
>>+           break;
>>+ #endif
>>+ 
>>  	case 'o':
>>  	case 'O':
>>  	case 'q':
> 
> 
> You should be able to handle this a few lines above, changing
> 
> 	  /* Check for a hex constant.  */
> 	  for (s = input_line_pointer; hex_p (*s); s++)
> 	    ;
> 	  if (*s == 'h' || *s == 'H')
> to
> 	  /* Check for a hex constant or floating point number.  */
> 	  for (s = input_line_pointer; hex_p (*s); s++)
> 	    ;
> 	  if (*s == 'h' || *s == 'H' || *input_line_pointer == '.')
> 
> 
> 
>>*************** operand (expressionP)
>>*** 1079,1084 ****
>>--- 1085,1100 ----
>>  	    else
>>  	      expressionP->X_add_number = ! expressionP->X_add_number;
>>  	  }
>>+ #ifdef TC_TIC4X
>>+         else if (expressionP->X_op == O_big && expressionP->X_add_number <= 0)
>>+         {
>>+             /* Negative flonum (eg, -1.000e0).  */
>>+             if (generic_floating_point_number.sign == '+')
>>+                 generic_floating_point_number.sign = '-';
>>+             else if (generic_floating_point_number.sign == 'P')
>>+                 generic_floating_point_number.sign = 'N';
>>+         }
>>+ #endif
>>  	else if (expressionP->X_op != O_illegal
>>  		 && expressionP->X_op != O_absent)
>>  	  {
> 
> 
> This is careless.  What about case '!' and case '~'?  Please fix
> your formatting too.

This patch is what it is, unaltered from the "original" binutils patch 
from from Michael Hayes (the c4x-gcc author). If you disapprove this 
patch, then I'll have to pull up my sleeves and actually start working 
this thing out myself. (Maybe I'll get some help from Michael.) I 
francly hoped to get this up and running, as this is the single blocker 
for complete (offical) binutils/gcc support for tic4x. Initially I have 
had nothing to do with this code, so I hope you'll excuse my persistence.

Another solution would be to approve it as-is today, with the 
understanding that the implemenation should be changed in the near 
future. I dont know if this is permissable or appreciated...


Thanks,
Svein E. Seldal



More information about the Binutils mailing list