gcc return struct code generation

Ian Lance Taylor iant@google.com
Mon Aug 29 21:30:00 GMT 2011


jose gomez valcarcel <jcgv33@yahoo.es> writes:

> I just read x86_64 ABI code generation, and the result is ok. The
> struct is returned in registers RAX, RDX. The only disappointing thing
> is the allocation of 40 stack bytes, whic apparently is not used. This
> effect cause my kernel code not to mix well with hand-assembler code.

That is a good question.  I think it is a bug.  Although I'm curious as
to why allocating extra unused stack space is a problem for your kernel
code.  Some stack space will always be used, because the x86_64 ABI
requires the stack to be aligned on a 16-byte boundary before executing
a call instruction.

Ian



More information about the Gcc-help mailing list