Yes, that's what I'm trying to accomplish albeit in an automatic way. Changing the functions that violate the 6 register boundary is not really an option. That's why I was searching for a gcc keyword or option to do that. -Bernhard > If I understand correctly, you simply wish to prevent the parameters from > being placed on the stack immediately after the ret address. Of course the > called function will be entered with the condition: > <ret> <- stack ptr > > Would it work for you to simply store parameters over 5 in a struct or > array, then pass the address of this list as the 6th argument (in a > register)? It looks like this would accomplish what you show in your second > diagram -- parameters 6 - n would be stored someplace on the stack, and the > called function would know that location from the 6th argument. > > This also has the advantage of not having to use any obscure gcc options, > thus making the code easier to read. > > Bob > >