# HG changeset patch # User tobaru # Date 1509000238 -32400 # Node ID 60c70a8742d27acb99f64cb939f29225b78250f6 # Parent 3df1de13661e5226c7f1dfc838760d0d62870ce4 fix diff -r 3df1de13661e -r 60c70a8742d2 mid_thesis.dvi Binary file mid_thesis.dvi has changed diff -r 3df1de13661e -r 60c70a8742d2 mid_thesis.log --- a/mid_thesis.log Thu Oct 26 14:38:27 2017 +0900 +++ b/mid_thesis.log Thu Oct 26 15:43:58 2017 +0900 @@ -1,4 +1,4 @@ -This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.5.28) 26 OCT 2017 13:58 +This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.5.28) 26 OCT 2017 15:25 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -213,4 +213,4 @@ 929 hyphenation exceptions out of 8191 27i,15n,43p,530b,367s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on mid_thesis.dvi (2 pages, 12124 bytes). +Output written on mid_thesis.dvi (2 pages, 12056 bytes). diff -r 3df1de13661e -r 60c70a8742d2 mid_thesis.pdf Binary file mid_thesis.pdf has changed diff -r 3df1de13661e -r 60c70a8742d2 mid_thesis.tex --- a/mid_thesis.tex Thu Oct 26 14:38:27 2017 +0900 +++ b/mid_thesis.tex Thu Oct 26 15:43:58 2017 +0900 @@ -68,13 +68,13 @@ \section{LLVM CrossCompile} Raspberri pi 上ではコンパイルするためのメモリが足りないので、OSX 上で CrossCompile する事でこの問題を解決する方法がある。\\ CrossCompile とは、別の OS で実行可能なコードを生成するコンパイルの手法である。つまり、OSX であらかじめ Raspberry Pi で CbC が動くように CrossCompile を行い、そのコードを Raspberry Pi に移せばよい。\\ -arm-linux-gnueabihf-gcc を使用し、C で書かれたファイルを CrossCompile することで ARM のコードを生成できる事を確認した。今後の課題として、CbC を CrossCompile できるコンパイラを書く必要がある。 +arm-linux-gnueabihf-gcc を使用し、C で書かれたファイルを CrossCompile することで ARM のコードを生成できる事を確認した。CbC を CrossCompile できるコンパイラを書く必要がある。 \section{仮装マシン} -もう一つの手法として、仮装マシン上での実装がある。\\ -linux 上で実装した後に Raspberry pi に linux の kernel を移植する事で CbC を動かす方法がある。 -linux 用の gcc を CbC に書き直す際に、gcc7 に書き直せば linker がそのまま使えるので、xxv6 で動くようになる。 +別の手法として、仮装マシン上での実装がある。\\ +linux 上で実装した後に Raspberry pi に linux の kernel を移植する事で CbC を動かす方法がある。llvm を動かす際に、オプションで target を指定する事で、ARM の +linux 用の gcc を CbC に書き直す際に、gcc7 に書き直せば linker がそのまま使えるので、xv6 で動くようになる。