# HG changeset patch # User tobaru # Date 1509098179 -32400 # Node ID eb7993915c5b8238e3fd650f59671e83b36c2925 # Parent b8c7eeb9889bb16f1c6e007b2544b9c2c8f6cb6c fix diff -r b8c7eeb9889b -r eb7993915c5b mid_thesis.dvi Binary file mid_thesis.dvi has changed diff -r b8c7eeb9889b -r eb7993915c5b mid_thesis.log --- a/mid_thesis.log Fri Oct 27 18:32:54 2017 +0900 +++ b/mid_thesis.log Fri Oct 27 18:56:19 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) 27 OCT 2017 18:32 +This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.5.28) 27 OCT 2017 18:56 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -222,4 +222,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, 13084 bytes). +Output written on mid_thesis.dvi (2 pages, 13064 bytes). diff -r b8c7eeb9889b -r eb7993915c5b mid_thesis.pdf Binary file mid_thesis.pdf has changed diff -r b8c7eeb9889b -r eb7993915c5b mid_thesis.tex --- a/mid_thesis.tex Fri Oct 27 18:32:54 2017 +0900 +++ b/mid_thesis.tex Fri Oct 27 18:56:19 2017 +0900 @@ -101,7 +101,7 @@ OSX 上で CrossCompile する事でコンパイルの時間の問題を解決する方法がある。\\ % CrossCompile とは、別の OS で実行可能なコードを生成するコンパイルの手法である。つまり、OSX であらかじめ Raspberry Pi で CbC が動くように CrossCompile を行い、そのコードを Raspberry Pi に移せばよい。\\ CrossCompile とは、別の OS で実行可能なコードを生成するコンパイルの手法である。 -arm-linux-gnueabihf-gcc を使用し、C で書かれたファイルを CrossCompile することで ARM のコードを生成できる事を確認した。この時、出力は mach-o になるので、mach-o の loader 作ることで Raspberry Pi で動かせるようになる。\\ +arm-linux-gnueabihf-gcc を使用し、C で書かれたファイルを CrossCompile することで ARM のコードを生成できる事を確認した。この時、出力は mach-o になるので、mach-o の loader 作ることで CbC が動かせるようになる。\\ まだ実装できていないが、OSX 上で行えるためコンパイルの速度向上が望める。 OSX 上で コンパイルを行うまでの過程を、図\ref{fig:OSX}に示す。 @@ -117,7 +117,7 @@ \section{仮想マシン} CrossCompile と別に Linux 環境で CbC を動かした後に、Raspberry Pi に載せる手法がある。\\ - Linux の LLVM でコンパイルすることができれば elf のコードを書けるようになるので、elf のloader を作る事で、Raspberry Pi で動くようになる。\\ + Linux の LLVM でコンパイルすることができれば elf のコードを書けるようになるので、elf のloader を作る事で、CbC を動かすことができる。\\ また、Linux 用の gcc を CbC に書き直す際に、gcc7 に書き直せば linker がそのまま使えるので、Xv6 で動くようになる。\\ Xv6とは、マサチューセッツ工科大の大学院生向け講義の教材として使うために、UNIX V6 という OS を ANSI-C に書き換え、x86に移植した OS である。 Xv6 は Raspberry Pi に移植する事ができる。ANSI-C で書かれている Xv6 を CbC に書き直す事で、Raspberry Pi で CbC を動かせるようになる。\\