GCC と ld の使用に関する知識が不足しているため、専門家の助けを求めています。教育目的で OS を作成していますが、C コードのコンパイルとリンクに問題があります。正直なところ、問題はありませんが、GCC と LD のような出力ファイルに不要なデータが生成されて混乱しています。
GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 symtab..strtab..shstrtab..text..eh_frame..data..comment
.ELF..|
などです。gcc と ld の両方でどのパラメーターを使用して、この (私の OS にとって) 役に立たないデータを削減するかを知る必要があります。
以前使用したパラメーター: -c -nostdlib -nostdinc -fno-builtin -fno-stack-protector -fstrength-reduce -finline-functions また、リンカー スクリプトを使用してセグメントを編成します。
出力から .comment や .note などのブロックを減らすために objcopy を試しましたが、私にとってはそれが最良の解決策でした
objcopy -R .note -R .comment -S -O binary kernel.o kernel.bin