gcc - Why cant seabios compile with -fno-inline -
i'm trying compile seabios in more debug-able state, , want cancel function inlining.
to so, have added -fon-inline compilation flag, compilation error:
error: can't find register in class 'general_regs' while reloading 'asm'
which complaning on following code:
asm volatile( "calll __call16big_from32" : "+a" (callregs), "+m" (*callregs) : : "ebx", "ecx", "edx", "esi", "edi", "cc", "memory");
i've looked error , found means compiler has ran out of registers can't compile asm statement.
the thing is, exact same code compile fine without -fon-inline, why that?
the first argument asm may not share register address of second because first modified. if function inlined callregs may constant or offset stack pointer, , therefore separate register not required.
given presence of volatile , "memory", , no reference second argument may removed.
Comments
Post a Comment