FC2ブログ

[KOZOS]binutils、gccインストール

http://ishikuro.hateblo.jp/entry/20120812/1344750799

■ディレクトリ構成と実行方法
rootにログイン
あるDIRへ以下2つのファイルを置く。

bat.kozos_gcc_binutils_inst
patch.gcc.for_64bit_env


あとはbat.*を実行するだけ。

■パッチの準備
64bitホストでのgcc makeエラー対策のパッチは以下を参照。
https://gcc.gnu.org/ml/gcc-patches/2006-10/msg00337.html

patch.gcc.for_64bit_env という名前で以下内容のファイルを準備。

Index: h8300.c
===================================================================
--- h8300.c (revision 117513)
+++ h8300.c (working copy)
@@ -83,8 +83,8 @@
static int h8300_saveall_function_p (tree);
static int h8300_monitor_function_p (tree);
static int h8300_os_task_function_p (tree);
-static void h8300_emit_stack_adjustment (int, unsigned int);
-static int round_frame_size (int);
+static void h8300_emit_stack_adjustment (int, HOST_WIDE_INT);
+static HOST_WIDE_INT round_frame_size (HOST_WIDE_INT);
static unsigned int compute_saved_regs (void);
static void push (int);
static void pop (int);
@@ -510,7 +510,7 @@
SIZE to adjust the stack pointer. */

static void
-h8300_emit_stack_adjustment (int sign, unsigned int size)
+h8300_emit_stack_adjustment (int sign, HOST_WIDE_INT size)
{
/* If the frame size is 0, we don't have anything to do. */
if (size == 0)
@@ -546,8 +546,8 @@

/* Round up frame size SIZE. */

-static int
-round_frame_size (int size)
+static HOST_WIDE_INT
+round_frame_size (HOST_WIDE_INT size)
{
return ((size + STACK_BOUNDARY / BITS_PER_UNIT - 1)
& -STACK_BOUNDARY / BITS_PER_UNIT);



■インストールバッチを準備
bat.kozos_gcc_binutils_inst という名前で以下内容のファイルを準備。

#!/bin/csh -f

wget http://kozos.jp/books/makeos/binutils-2.19.1.tar.gz
wget http://kozos.jp/books/makeos/gcc-3.4.6.tar.gz

#-----------------------------------------
# Install gcc
#-----------------------------------------
tar zxvf gcc-3.4.6.tar.gz
cd gcc-3.4.6/
./configure --target=h8300-elf --disable-nls --disable-threads --disable-shared --enable-languages=c

# 2015.7.12 for error --> ./libgcc2.c:537: error: unrecognizable insn:
sed 's/redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT)/redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, 0755)/' gcc/collect2.c > gcc/collect2.c.mod
\mv gcc/collect2.c.mod gcc/collect2.c

# 2015.7.12 for error --> ./libgcc2.c:537: internal compiler error: in extract_insn, at recog.c:2083
cd gcc/config/h8300
\cp ../../../../patch.gcc.for_64bit_env .
patch < patch.gcc.for_64bit_env

cd ../../../
make
make install
cd ../


#-----------------------------------------
# Install binutils
#-----------------------------------------
tar zxvf binutils-2.19.1.tar.gz
cd binutils-2.19.1/
./configure --target=h8300-elf --disable-nls
make
make install
cd ../

スポンサーサイト



カレンダー
05 | 2015/06 | 07
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード