This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Failure of cross-assembling for ARC cpu target
- To: Angel Manchado <manchado at iies dot es>
- Subject: Re: Failure of cross-assembling for ARC cpu target
- From: amodra at one dot net dot au
- Date: Tue, 22 May 2001 20:37:49 +0930
- Cc: binutils at sources dot redhat dot com, crossgcc at sources dot redhat dot com, gcc-help at gcc dot gnu dot org
- References: <OF0D25A1E7.8FF245D3-ON80256A49.002ED811@risccores.com> <20010511192356.G10306@squeak.one.net.au> <20010517225637.A3363@sirius> <20010518132217.K14368@squeak.one.net.au> <20010520201734.A29382@sirius>
On Sun, May 20, 2001 at 08:17:34PM +0200, Angel Manchado wrote:
> On Fri, May 18, 2001 at 01:22:17PM +0930, amodra@one.net.au wrote:
> > On Thu, May 17, 2001 at 10:56:37PM +0200, A. Manchado wrote:
> > > /tmp/cc4ga3g6.s:46: Error: junk at end of line: `ld blink,[fp,4]'
> >
> > Someone else will have to handle this one. Peter? I don't really
> > know much about ARC.
>
> One possible solution:
> comparing gcc/config/arc/initfini.c between gcc-2.95.3 and the old egcs-1.0.2, I've seen that they differ in the trailing backslashes in the assembler function definitions.
I found some time to look at tc-arc.c. This should fix the problem.
gas/ChangeLog
* config/tc-arc.c (md_assemble): Use is_end_of_line instead of
testing for NULs.
Index: gas/config/tc-arc.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-arc.c,v
retrieving revision 1.13
diff -u -p -r1.13 tc-arc.c
--- tc-arc.c 2001/05/16 01:08:20 1.13
+++ tc-arc.c 2001/05/22 10:47:42
@@ -631,7 +631,7 @@ md_assemble (str)
/* Is there anything left to parse?
We don't check for this at the top because we want to parse
any trailing fake arguments in the syntax string. */
- if (*str == '\0')
+ if (is_end_of_line[(unsigned char) *str])
break;
/* Parse the operand. */
@@ -739,7 +739,7 @@ md_assemble (str)
while (isspace (*str))
++str;
- if (*str != '\0')
+ if (!is_end_of_line[(unsigned char) *str])
as_bad ("junk at end of line: `%s'", str);
/* Is there a limm value? */