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

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -