public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/24610]  New: The comment start symbol of arm target
@ 2005-11-01  7:31 hanzac at gmail dot com
  2005-11-01  9:37 ` [Bug target/24610] " rearnsha at gcc dot gnu dot org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: hanzac at gmail dot com @ 2005-11-01  7:31 UTC (permalink / raw)
  To: gcc-bugs

It's true that the arm comment start symbol is '@', but GCC will generate some
assembler code end with a '@' and a comment without a separator so it can't be
parsed by gas.

For example, I compile the libgcc2.c:__gcc_bcmp with xgcc, it failed:
_____________________________________________________________________
/* Like bcmp except the sign is meaningful.
   Result is negative if S1 is less than S2,
   positive if S1 is greater, 0 if S1 and S2 are equal.  */

int
__gcc_bcmp (const unsigned char *s1, const unsigned char *s2, size_t size)
{
  while (size > 0)
    {
      const unsigned char c1 = *s1++, c2 = *s2++;
      if (c1 != c2)
        return c1 - c2;
      size--;
    }
  return 0;
}
_____________________________________________________________________
I'm compile gcc under cygwin and mingw32-gcc, binutils-2.16.1 already compiled
also with --target=arm-wince-pe, here is the gcc(gcc-4.1-20051022)
configuration:
$ ./configure --disable-nls --disable-win32-registry --enable-threads=win32
--host=i686-pc-mingw32 --build=i686-pc-mingw32 --target=arm-wince-pe

I also found that if I made a change in gcc-4.1-20051022\gcc\config\arm\aout.h
(add a semicolon), it will work:
@@ -294,7 +294,7 @@
 #endif

 #ifndef ASM_COMMENT_START
-#define ASM_COMMENT_START "@"
+#define ASM_COMMENT_START ";@"
 #endif

 /* This works for GAS and some other assemblers.  */

See also in: http://gcc.gnu.org/ml/gcc/2005-10/msg01215.html


-- 
           Summary: The comment start symbol of arm target
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hanzac at gmail dot com
 GCC build triplet: i686-pc-mingw32
  GCC host triplet: i686-pc-mingw32
GCC target triplet: arm-wince-pe


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24610


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/24610] The comment start symbol of arm target
  2005-11-01  7:31 [Bug target/24610] New: The comment start symbol of arm target hanzac at gmail dot com
@ 2005-11-01  9:37 ` rearnsha at gcc dot gnu dot org
  2005-11-02  6:27 ` hanzac at gmail dot com
  2005-11-02 10:13 ` rearnsha at gcc dot gnu dot org
  2 siblings, 0 replies; 4+ messages in thread
From: rearnsha at gcc dot gnu dot org @ 2005-11-01  9:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rearnsha at gcc dot gnu dot org  2005-11-01 09:37 -------
Subject: Re:   New: The comment start symbol of arm target

On Tue, 2005-11-01 at 07:31, hanzac at gmail dot com wrote:
> It's true that the arm comment start symbol is '@', but GCC will generate some
> assembler code end with a '@' and a comment without a separator so it can't be
> parsed by gas.

No, it shouldn't.  '@' is the comment symbol in GAS for ARM.  Any other
use of '@' by gcc in ARM code is a bug.  So the question is where is
this coming from.  I don't have a wince build, so can you post an
assembly code fragment that demonstrates this problem?


> @@ -294,7 +294,7 @@
>  #endif
> 
>  #ifndef ASM_COMMENT_START
> -#define ASM_COMMENT_START "@"
> +#define ASM_COMMENT_START ";@"
>  #endif

This is incorrect.  ';' is a statement separator, not a comment
separator.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24610


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/24610] The comment start symbol of arm target
  2005-11-01  7:31 [Bug target/24610] New: The comment start symbol of arm target hanzac at gmail dot com
  2005-11-01  9:37 ` [Bug target/24610] " rearnsha at gcc dot gnu dot org
@ 2005-11-02  6:27 ` hanzac at gmail dot com
  2005-11-02 10:13 ` rearnsha at gcc dot gnu dot org
  2 siblings, 0 replies; 4+ messages in thread
From: hanzac at gmail dot com @ 2005-11-02  6:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from hanzac at gmail dot com  2005-11-02 06:27 -------
I made a clean compilation, here is the result, even the existing assembler
code can't pass. (gcc/config/arm/lib1funcs.asm)

/cygdrive/e/gcc-4.1-20051029/host-i686-pc-mingw32/gcc/xgcc
-B/cygdrive/e/gcc-4.1-20051029/host-i686-pc-mingw32/gcc/
-B/usr/local/arm-wince-pe/bin/ -B/usr/local/arm-wince-pe/lib/ -isystem
/usr/local/arm-wince-pe/include -isystem /usr/local/arm-wince-pe/sys-include
-O2  -O2 -g -O2   -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem
./include  -Dinhibit_libc -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
-D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../.././gcc -I../.././gcc/.
-I../.././gcc/../include -I../.././gcc/../libcpp/include  -DL_udivsi3
-xassembler-with-cpp -c ../.././gcc/config/arm/lib1funcs.asm -o
libgcc/./_udivsi3.o
../.././gcc/config/arm/lib1funcs.asm: Assembler messages:
../.././gcc/config/arm/lib1funcs.asm:1: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:2: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:65: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:730: Error: too many memory references for
`sub'
../.././gcc/config/arm/lib1funcs.asm:731: Error: no such instruction: `moveq
pc,lr'
../.././gcc/config/arm/lib1funcs.asm:732: Error: no such instruction: `bcc
Ldiv0'
../.././gcc/config/arm/lib1funcs.asm:733: Error: too many memory references for
`cmp'
../.././gcc/config/arm/lib1funcs.asm:734: Error: no such instruction: `bls 11f'
../.././gcc/config/arm/lib1funcs.asm:735: Error: no such instruction: `tst
r1,r2'
../.././gcc/config/arm/lib1funcs.asm:736: Error: no such instruction: `beq 12f'
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `tst r1,'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `moveq
r1,r1,lsl'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `moveq
r3,'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `movne
r3,'
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: expecting operand after ',';
got nothing
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `cmplo
r1,r0'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `movlo
r1,r1,lsl'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `movlo
r3,r3,lsl'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `blo 1b'
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: expecting operand after ',';
got nothing
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `cmplo
r1,r0'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `movlo
r1,r1,lsl'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `movlo
r3,r3,lsl'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `blo 1b'
../.././gcc/config/arm/lib1funcs.asm:373: Error: expecting operand after ',';
got nothing
../.././gcc/config/arm/lib1funcs.asm:373: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/lib1funcs.asm:373: Error: too many memory references for
`cmp'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `subhs
r0,r0,r1'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `orrhs
r2,r2,r3'
../.././gcc/config/arm/lib1funcs.asm:373: Error: too many memory references for
`cmp'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `subhs
r0,r0,r1,lsr'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `orrhs
r2,r2,r3,lsr'
../.././gcc/config/arm/lib1funcs.asm:373: Error: too many memory references for
`cmp'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `subhs
r0,r0,r1,lsr'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `orrhs
r2,r2,r3,lsr'
../.././gcc/config/arm/lib1funcs.asm:373: Error: too many memory references for
`cmp'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `subhs
r0,r0,r1,lsr'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `orrhs
r2,r2,r3,lsr'
../.././gcc/config/arm/lib1funcs.asm:373: Error: expecting operand after ',';
got nothing
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `movnes
r3,r3,lsr'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `movne
r1,r1,lsr'
../.././gcc/config/arm/lib1funcs.asm:373: Error: no such instruction: `bne 1b'
../.././gcc/config/arm/lib1funcs.asm:740: Error: too many memory references for
`mov'
../.././gcc/config/arm/lib1funcs.asm:741: Error: too many memory references for
`mov'
../.././gcc/config/arm/lib1funcs.asm:743: Error: no such instruction: `moveq
r0,'
../.././gcc/config/arm/lib1funcs.asm:744: Error: no such instruction: `movne
r0,'
../.././gcc/config/arm/lib1funcs.asm:745: Error: too many memory references for
`mov'
../.././gcc/config/arm/lib1funcs.asm:435: Error: expecting operand after ',';
got nothing
../.././gcc/config/arm/lib1funcs.asm:435: Error: no such instruction: `movhs
r1,r1,lsr'
../.././gcc/config/arm/lib1funcs.asm:435: Error: no such instruction: `movhs
r2,'
../.././gcc/config/arm/lib1funcs.asm:435: Error: no such instruction: `movlo
r2,'
../.././gcc/config/arm/lib1funcs.asm:435: Error: expecting operand after ',';
got nothing
../.././gcc/config/arm/lib1funcs.asm:435: Error: no such instruction: `movhs
r1,r1,lsr'
../.././gcc/config/arm/lib1funcs.asm:435: Error: no such instruction: `addhs
r2,r2,'
../.././gcc/config/arm/lib1funcs.asm:435: Error: expecting operand after ',';
got nothing
../.././gcc/config/arm/lib1funcs.asm:435: Error: no such instruction: `movhs
r1,r1,lsr'
../.././gcc/config/arm/lib1funcs.asm:435: Error: no such instruction: `addhs
r2,r2,'
../.././gcc/config/arm/lib1funcs.asm:435: Error: expecting operand after ',';
got nothing
../.././gcc/config/arm/lib1funcs.asm:435: Error: no such instruction: `addhi
r2,r2,'
../.././gcc/config/arm/lib1funcs.asm:435: Error: no such instruction: `addls
r2,r2,r1,lsr'
../.././gcc/config/arm/lib1funcs.asm:749: Error: too many memory references for
`mov'
../.././gcc/config/arm/lib1funcs.asm:750: Error: too many memory references for
`mov'
../.././gcc/config/arm/lib1funcs.asm:754: Error: invalid char '[' beginning
operand 2 `[sp'
../.././gcc/config/arm/lib1funcs.asm:754: Error: too many positional arguments
../.././gcc/config/arm/lib1funcs.asm:754: Error: no such instruction: `bl
___div0'
../.././gcc/config/arm/lib1funcs.asm:754: Error: expecting operand after ',';
got nothing
../.././gcc/config/arm/lib1funcs.asm:195: Error: no such instruction: `ldr
pc,[sp],'
../.././gcc/config/arm/lib1funcs.asm:765: Error: no such instruction: `stmfd
sp!,{r0,r1,lr}'
../.././gcc/config/arm/lib1funcs.asm:766: Error: no such instruction: `bl
___udivsi3'
../.././gcc/config/arm/lib1funcs.asm:767: Error: no such instruction: `ldmfd
sp!,{r1,r2,lr}'
../.././gcc/config/arm/lib1funcs.asm:768: Error: too many memory references for
`mul'
../.././gcc/config/arm/lib1funcs.asm:769: Error: too many memory references for
`sub'
../.././gcc/config/arm/lib1funcs.asm:770: Error: too many memory references for
`mov'
../.././gcc/config/arm/ieee754-df.S:44: Error: invalid character '@' in
mnemonic
../.././gcc/config/arm/ieee754-df.S:45: Error: invalid character '@' in
mnemonic
make[3]: *** [libgcc/./_udivsi3.o] Error 1
make[3]: Leaving directory
`/cygdrive/e/gcc-4.1-20051029/host-i686-pc-mingw32/gcc'
make[2]: *** [stmp-multilib] Error 2
make[2]: Leaving directory
`/cygdrive/e/gcc-4.1-20051029/host-i686-pc-mingw32/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/cygdrive/e/gcc-4.1-20051029'


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24610


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug target/24610] The comment start symbol of arm target
  2005-11-01  7:31 [Bug target/24610] New: The comment start symbol of arm target hanzac at gmail dot com
  2005-11-01  9:37 ` [Bug target/24610] " rearnsha at gcc dot gnu dot org
  2005-11-02  6:27 ` hanzac at gmail dot com
@ 2005-11-02 10:13 ` rearnsha at gcc dot gnu dot org
  2 siblings, 0 replies; 4+ messages in thread
From: rearnsha at gcc dot gnu dot org @ 2005-11-02 10:13 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rearnsha at gcc dot gnu dot org  2005-11-02 10:13 -------
> ../.././gcc/config/arm/lib1funcs.asm:731: Error: no such instruction: `moveq pc,lr'

This just shows that you aren't picking up an ARM assembler.  Have you
installed GAS correctly? and does the compiler know how to find it?

If you've not build a cross-compilation toolchain before, it might help to take
a look at crosstool (http://kegel.com/crosstool/)


-- 

rearnsha at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24610


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-11-02 10:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-01  7:31 [Bug target/24610] New: The comment start symbol of arm target hanzac at gmail dot com
2005-11-01  9:37 ` [Bug target/24610] " rearnsha at gcc dot gnu dot org
2005-11-02  6:27 ` hanzac at gmail dot com
2005-11-02 10:13 ` rearnsha at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).