📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 232行目: | 232行目: | ||
入れ替えたlibstdc++の対応関係を確認する。<br> | 入れ替えたlibstdc++の対応関係を確認する。<br> | ||
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX | strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX | ||
<br><br> | |||
== クロスコンパイラ向けGCCツールチェーンのインストール == | |||
==== AArch64 (システムルートあり) ==== | |||
まず、[https://ftp.gnu.org/gnu/binutils/ GNUの公式Webサイト]から、Binutilsをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf binutils-<バージョン>.tar.xz | |||
cd binutils-<バージョン> | |||
<br> | |||
ビルドディレクトリを作成する。<br> | |||
mkdir build && cd build | |||
<br> | |||
クロスコンパイラ向けBinutilsのビルドおよびインストールする。<br> | |||
<u>インストールディレクトリは、クロスコンパイラ向けGCCのインストールディレクトリと同じディレクトリであることに注意する。</u><br> | |||
../configure --prefix=<クロスコンパイラ向けGCCのインストールディレクトリ> \ | |||
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-unknown-linux-gnu \ | |||
--disable-gdb --disable-nls --disable-multilib --disable-werror \ | |||
--enable-gold --enable-lto --enable-plugins --enable-relro \ | |||
--with-sysroot=<ターゲットのシステムルートディレクトリ> \ | |||
CFLAGS="-g0 -O3 -fstack-protector-strong" \ | |||
CXXFLAGS="-g0 -O3 -fstack-protector-strong" | |||
make -j $(nproc) | |||
make install | |||
<br> | |||
次に、[https://gcc.gnu.org GCCの公式Webサイト]にアクセスして、GCCのソースコードをダウンロードして解凍する。<br> | |||
または、以下のコマンドを実行してダウンロードする。<br> | |||
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-<バージョン>/gcc-<バージョン>.tar.xz | |||
tar xf gcc-<バージョン>.tar.xz | |||
cd gcc-<バージョン> | |||
<br> | |||
クロスコンパイラ向けGCCをビルドおよびインストールする。<br> | |||
クロスコンパイラ向けGCCをビルドする場合、ネイティブ向けGCCとバージョンを合わせた方がよい。<br> | |||
export PATH="/<上記でインストールしたBinutilsのインストールディレクトリ>/bin:$PATH" && \ | |||
CC=<ネイティブ向けGCCのパス> CXX=<ネイティブ向けG++のパス> \ | |||
../configure -v --prefix=<クロスコンパイラ向けGCCのインストールディレクトリ> \ | |||
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-unknown-linux-gnu \ | |||
--enable-languages=c,c++ --disable-bootstrap --disable-multilib --disable-nls \ | |||
--with-sysroot=<ターゲットのシステムルートディレクトリ> \ | |||
CFLAGS="-g0 -O3 -fstack-protector-strong" \ | |||
CXXFLAGS="-g0 -O3 -fstack-protector-strong" | |||
make -j $(nproc) | |||
make install-strip | |||
<br> | |||
==== H8 (システムルート無し) ==== | |||
まず、[https://ftp.gnu.org/gnu/binutils/ GNUの公式Webサイト]から、Binutilsをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf binutils-<バージョン>.tar.xz | |||
cd binutils-<バージョン> | |||
<br> | |||
クロスコンパイラ向けBinutilsのビルドおよびインストールする。<br> | |||
<u>インストールディレクトリは、クロスコンパイラ向けGCCのインストールディレクトリと同じディレクトリであることに注意する。</u><br> | |||
mkdir build && cd build | |||
../configure --prefix=<クロスコンパイラ向けGCCのインストールディレクトリ> \ | |||
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=h8300-elf \ | |||
--disable-nls | |||
make -j $(nproc) | |||
make install | |||
<br> | |||
次に、[https://gcc.gnu.org GCCの公式Webサイト]にアクセスして、GCCのソースコードをダウンロードして解凍する。<br> | |||
または、以下のコマンドを実行してダウンロードする。<br> | |||
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-<バージョン>/gcc-<バージョン>.tar.xz | |||
tar xf gcc-<バージョン>.tar.xz | |||
cd gcc-<バージョン> | |||
<br> | |||
さらに、[https://sourceware.org/newlib/ NewLibの公式Webサイト]、または、[https://github.com/bminor/newlib/ NewLibのGithub]にアクセスして、NewLibのソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf newlib-<バージョン>.tar.gz | |||
cd newlib-<バージョン> | |||
<br> | |||
クロスコンパイラ向けGCCをビルドおよびインストールする。<br> | |||
クロスコンパイラ向けGCCをビルドする場合、ネイティブ向けGCCとバージョンを合わせた方がよい。<br> | |||
mkdir build && cd build | |||
export PATH="/<上記でインストールしたBinutilsのインストールディレクトリ>/bin:$PATH" && \ | |||
CC=<ネイティブ向けGCCのパス> CXX=<ネイティブ向けG++のパス> \ | |||
../configure --prefix=<クロスコンパイラ向けGCCのインストールディレクトリ> \ | |||
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=h8300-elf \ | |||
--enable-languages=c,c++ --disable-bootstrap --disable-nls --disable-threads --disable-shared \ | |||
--with-newlib \ | |||
--with-headers=/<上記でダウンロードしたNewLibのディレクトリ>/newlib/libc/include | |||
make -j $(nproc) | |||
make install-strip | |||
<br> | |||
最後に、NewLibをビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
export PATH="/<上記でインストールしたBinutilsのインストールディレクトリ>/bin:$PATH" && \ | |||
CC=<ネイティブ向けGCCのパス> CXX=<ネイティブ向けG++のパス> \ | |||
../configure --prefix=<クロスコンパイラ向けGCCのインストールディレクトリ> \ | |||
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=h8300-elf | |||
make -j $(nproc) | |||
make install | |||
<br><br> | <br><br> | ||