Hello, The document "System V ABI: Intel386 Architecture Processor Supplement" says that contents of %ebx, %esi, and %edi must be preserved for the caller. Does GCC for 32-bit GNU/Linux and for 32-bit Cygwin conform to this ABI? If not, how to determine which registers are expected to be saved by calling C functions? Thank you, Andrew Makhorin