12,967
回編集
274行目: | 274行目: | ||
クロスコンパイラ向けBinutilsのビルドおよびインストールする。<br> | クロスコンパイラ向けBinutilsのビルドおよびインストールする。<br> | ||
<u>インストールディレクトリは、クロスコンパイラ向けGCCのインストールディレクトリと同じディレクトリであることに注意する。</u><br> | <u>インストールディレクトリは、クロスコンパイラ向けGCCのインストールディレクトリと同じディレクトリであることに注意する。</u><br> | ||
../configure CFLAGS="-g0 -O3 -fstack-protector-strong" | ../configure CFLAGS="-g0 -O3 -fstack-protector-strong" \ # バッファオーバーフロー攻撃に対する中程度の保護を有効化 | ||
CXXFLAGS="-g0 -O3 -fstack-protector-strong" | CXXFLAGS="-g0 -O3 -fstack-protector-strong" \ # バッファオーバーフロー攻撃に対する中程度の保護を有効化 | ||
--prefix=<クロスコンパイラ向けGCCのインストールディレクトリ> | --prefix=<クロスコンパイラ向けGCCのインストールディレクトリ> \ | ||
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-linux-gnu \ | --build=x86_64-pc-linux-gnu \ | ||
--disable-gdb --disable-nls --disable-multilib --disable-werror | --host=x86_64-pc-linux-gnu \ | ||
--enable-gold --enable-lto --enable-plugins --enable-relro | --target=aarch64-linux-gnu \ | ||
--disable-gdb \ # GDBサポートを無効化 | |||
--disable-nls \ # 国際化サポートを無効化 | |||
--disable-multilib \ # マルチライブラリサポートを無効化 | |||
--disable-werror \ # 警告をエラーとして扱わない | |||
--enable-gold \ # GOLDリンカを有効化 (高速な代替リンカ) | |||
--enable-lto \ # リンク時最適化を有効化 | |||
--enable-plugins \ # プラグインサポートを有効化 | |||
--enable-relro \ # RELROセキュリティ機能を有効化 (リロケーションの読み取り専用化) | |||
--with-sysroot=<ターゲットのシステムルートディレクトリ> | --with-sysroot=<ターゲットのシステムルートディレクトリ> | ||
294行目: | 302行目: | ||
クロスコンパイラ向けGCCをビルドする場合、ネイティブ向けGCCとバージョンを合わせた方がよい。<br> | クロスコンパイラ向けGCCをビルドする場合、ネイティブ向けGCCとバージョンを合わせた方がよい。<br> | ||
export PATH="/<上記でインストールしたBinutilsのインストールディレクトリ>/bin:$PATH" && \ | export PATH="/<上記でインストールしたBinutilsのインストールディレクトリ>/bin:$PATH" && \ | ||
CC=<ネイティブ向けGCCのパス> CXX=<ネイティブ向けG++のパス> | CC=<ネイティブ向けGCCのパス> CXX=<ネイティブ向けG++のパス> \ | ||
../configure CFLAGS="-g0 -O3 -fstack-protector-strong" | ../configure -v \ | ||
CXXFLAGS="-g0 -O3 -fstack-protector-strong" | CFLAGS="-g0 -O3 -fstack-protector-strong" \ | ||
CXXFLAGS="-g0 -O3 -fstack-protector-strong" \ | |||
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-linux-gnu \ | --prefix=<クロスコンパイラ向けGCCのインストールディレクトリ> \ | ||
--enable-languages=c,c++ --disable-bootstrap --disable-multilib --disable-nls | --build=x86_64-pc-linux-gnu \ | ||
--host=x86_64-pc-linux-gnu \ | |||
--target=aarch64-linux-gnu \ | |||
--enable-languages=c,c++ \ | |||
--disable-bootstrap \ | |||
--disable-multilib \ | |||
--disable-nls \ | |||
--with-sysroot=<ターゲットのシステムルートディレクトリ> | --with-sysroot=<ターゲットのシステムルートディレクトリ> | ||