はじめに
OpenWRT Chaos Calmerはtoolchain/gcc/patches/
以下に4.9-linaro
があり、gcc4.9が使える模様。
しかし、make menuconfig --> Advanced configuration options (for developers) --> Toolchain Options
から設定できるGCC compiler Versionには4.8までしかない。
そんな場合、gcc4.9を有効にするには次の修正が必要になる。
toolchain/gcc
以下のファイルを修正する
make menuconfig
の上記の箇所に新たに選択項目を追加するには次のファイルを修正する必要がある。
toolchain/gcc/Config.in
の修正
toolchain/gcc/Config.in
を見る限り、他のバージョンのgccはGCC_USE_VERSION_4_8_LINARO
と言った具合にconfigが記述されている。
同様にgcc4.9に対しても記述を行う。
config GCC_USE_VERSION_4_9_LINARO
select GCC_VERSION_4_9_LINARO
bool "gcc 4.9.x with Linaro enhancements"
toolchain/gcc/Config.version
の修正
toolchain/gcc/Config.version
も同様に、
config GCC_VERSION_4_9_LINARO
default y if (!TOOLCHAINOPTS && !TARGET_octeon)
bool
また、
config GCC_VERSION
string
default "4.6.3" if GCC_VERSION_4_6_3
default "4.6-linaro" if GCC_VERSION_4_6_LINARO
default "4.8-linaro" if GCC_VERSION_4_8_LINARO
+ default "4.9-linaro" if GCC_VERSION_4_9_LINARO
# ~~~省略~~~
最後に、config GCC_VERSION_4_8
の項目と同様に
config GCC_VERSION_4_9
bool
default y if GCC_VERSION_4_9_LINARO
を追記する。
toolchain/gcc/common.mk
の修正
toolchain/gcc/common.mk
には実際にgccを取得する際に必要な情報を記述する。
ifeq ($(CONFIG_GCC_VERSION),"4.6-linaro")
の箇所と同様に
ifeq ($(CONFIG_GCC_VERSION),"4.9-linaro")
PKG_REV:=4.9-2015.05
PKG_VERSION:=4.9.3
PKG_VERSION_MAJOR:=4.9
PKG_MD5SUM:=7303374d7877e20aedc9e442cd1d0b2d
PKG_COMP:=xz
endif
また、ifeq ($(PKG_VERSION),4.8.0)
の箇所と同様に
ifeq ($(PKG_VERSION),4.9.3)
PKG_MD5SUM:=819bfa9bd20138d3b8a48bef6d01e5df
endif
そしてLINARO_RELEASE:=
となっている行をLINARO_RELEASE:=15.05
にする。
なお、取得するファイルはhttp://releases.linaro.org/15.05/components/toolchain/gcc-linaro/4.9/
のgcc-linaro-4.9-2015.05.tar.xz
である。
上記より新しい時期にリリースされたものもあるが、そちらを使っても良いかもしれない。
toolchainの更新
上記の変更を加えたら、make menuconfig
でgccの設定箇所で4.9が選択できるようになっているはずである。
選択後、make
し直すと使えるようになる。
おまけ
今回の修正のpatchはこちらです。