Предполагая, что gcc и ассемблер gnu могут иметь более читаемый вывод, чем objdump
. Скажите ассемблеру, чтобы он сохранил свой промежуточный код, используя флаги для gcc:
-Wa,-alh=basename.s
И чтобы basename
было фактическим исходным именем файла, вы должны указать make:
-Wa,-alh=$<.s
, который оставит кучу файлов foo.c.s, лежащих вокруг вашего исходного каталога. Большая проблема здесь в том, что gcc работает так, что использует временные файлы между генерацией кода и сборкой. Я не могу найти способ заставить gcc сохранить свои промежуточные продукты, но ассемблер с удовольствием спрятал список для вас.
Включение этого аргумента в Makefile. CFLAGS оставлено читателю как упражнение (потому что я ненавижу "make" и ненавижу "gnu info" еще больше.