asm文を含むプリプロセッサで専用の「リターンアドレス書き換えちゃうよブラザー」なmalloc作ればいいんじゃないかな
returnの後にfree処理を経由して戻る