27++'s Report

東京大学で行われた「大規模ソフトウェアを手探る」実験においてgccコンパイラーに機能の追加を行った。その際の奮闘を描いた日記(風レポート)。


このブログには東京大学電子情報・電気電子工学科にて行われた「外規模ソフトウェアを手探る」実験において使用の変更、追加を行ったgccについて書かれています。実験日に沿った日記風レポートとなっていますが、実際の進捗とブログの進捗には多少の差があることをここに断らせていただきます。
行ったことは"-o"オプションなしでhoge.cをコンパイルしたときhoge.outとなる変更、及び文末の";"の抜けを自動で補填する変更である。

まとめ(変更箇所の紹介記事リンクとgccの仕組み)

手探るgccのソースコードのダウンロード方法(初日)



結局なにをどう変更したのか(まとめ)

結局、どこをいじったのかだけ見たい忙しい人向け。
これだけ読めばどこを変えたのかがわかる。

gccの構成
gccはcc1(コンパイラ)、as(アセンブラ)、collect2(リンカ)で構成されている。
図で表すとこんな感じ。

f:id:bigsoftExp:20161201160803p:plain

変更したコード
gcc_main.c のmain関数を
bigsoftexp.hatenablog.com

cc1 c_parser.c のc_parser_require関数を
bigsoftexp.hatenablog.com

の記事のように変更した。

おわり!