something wrong when I compile linux kernel

something wrong when I compile linux kernel

I have something wrong when I compile linux kernel,
follow the info:
error message:
main.c:374:15: missing terminating " character
main.c: In function `Go':
main.c:376: error: syntax error at '@' token
main.c:376: error: parse error before "drain"
main.c:380: error: syntax error at '#' token
main.c:382: error: syntax error at '#' token
main.c:382: error: syntax error at '@' token
main.c:383: error: syntax error at '@' token
main.c:386: error: syntax error at '#' token
main.c:389:9: missing terminating " character
main.c:368: warning: unused variable `unused'
make[3]: *** [main.o] Error 1
make[3]: Leaving directory `/usr/local/blob-xscale/src/blob'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/local/blob-xscale/src/blob'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/blob-xscale/src'
make: *** [all-recursive] Error 1
code:
//--------------------------------------------------
373 strtou32(argv[1], (unsigned long*)(&go));
374 __asm("
375

376 @ drain pending loads and stores
377 mcr p15, 0, r0, c7, c10, 4
378 mrc p15,0,%1,c2,c0,0
379 mov %1,%1
380 sub pc,pc,#4
381

382 mov %1, #0x78 @turn everything off
383 mcr p15, 0, %1, c1, c0, 0 @(caches off, MMU off, etc.)
384 mrc p15,0,%1,c2,c0,0
385 mov %1,%1
386 sub pc,pc,#4
387

388 mov pc, %0
389 "
390

391 :"r"(go), "r"(unused)
392 );
393 return 0;

I use a Xscale GCC toolchains.

3X.

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.