На некоторых архитектурах gcc поддерживает атрибут, называемый «голым»; самые последние gcc документы Я приведу этот список архитектур: ARM, AVR, MCORE, RX и SPU.
Если вы используете одну из этих архитектур (gcc выдаст вам предупреждение, если вы попытаетесь использовать ее, и она не поддерживается), атрибут можно использовать так:
__attribute__ ((naked)) int fun ()
{
}
[В последнее время в списке разработчиков gcc обсуждается вопрос о добавлении атрибута «голый» в качестве более общей функции и попытке поддержки его на большем количестве архитектур, но, очевидно, это не поможет вам :)