Mail Archives: djgpp/1996/10/03/23:26:17
> Dear DJGPPers,
>
> I am puzzled at this error:
> c:/djgpp/tmp\cccaaaaa: Assembler messages:
> c:/djgpp/tmp\cccaaaaa:66: Fatal error:Symbol loc1 already defined.
>
> This error only occurs if I use the optimize switch:
>
> gcc myfile.cpp -O3
>
> Compiles flawlessly if I use just:
> gcc myfile.cpp
>
> The code giving me the problem is:
>
> void myproc()
> {
> __asm__ __volatile__("
> cli\n
> movw $0x3DA, %dx\n
> loc1:\n
> inb %dx, %al\n
> andb $8, %al\n
> jnz loc1\n
> loc2:\n
> inb %dx, %al\n
> andb $8, %al\n
> jz loc2\n");
> }
>
> What am I doing wrong? Help me, or I'll be bold soon! This error has driven
> me NUTS!!!
Try using different labels.
When I get errors like this I find it's easier to diagnose if I produce
the assembly output of my C file and then compile that. Then I can see
exactly what's causing the problem.
Like this:
gcc -S file.c (this produces file.s - the assembly output)
gcc file.s
-Kevin
- Raw text -