アセンブリで gdb の行番号デバッグ情報を GAS に出力させる方法がわかりません。私は avr-gcc クロス コンパイラを使用していることに注意してください。
次のコマンド ライン オプションを使用してアセンブルしています: avr-gcc -g -ggdb -Os -mmcu=atmega644 -ffunction-sections -fsigned-char -Winvalid-pch -Wall -Wno-long-long -x assembler-with -cpp -Wa,-ggdb -c -o z813.o z813.s
ほぼ同じ一連の引数を使用して C コードをコンパイルすると、「objdump -l -d」を使用して行番号とソース ファイルの拡張を確認できます。
ただし、アセンブリ オブジェクトには何もありません。すなわち
000000d4 <run_timetable>:
d4: 0e 94 57 00 call 0xae ; 0xae <run_timetable_row>
d8: 0e 94 b4 00 call 0x168 ; 0x168 <delay>
vs
00000f9c :
main():
/home/braddock/work/tviki/tviki/scratch/z813-vid.c:68
f9c: 0e 94 ae 07 call 0xf5c ; 0xf5c <init>
/home/braddock/work/tviki/tviki/scratch/z813-vid.c:70
fa0: 0e 94 6a 00 call 0xd4 ; 0xd4 <run_timetable>
avr-gdb で (simulavr リモート gdb 接続を介して)、シンボル名と情報は認識しますが、アセンブル コードをシングル ステップで実行できません。これが関係していると思います。
私はこれを info/man/google で見つけて、可能性のあるフラグを並べ替えようと努力しました。どんな助けでも大歓迎です!