📢 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>