cf. https://bugs.debian.org/cgi-bin/pkgreport.cgi?package=gcc-6
影響を受けているのはLinux kernelやSeaBIOSなど。
今の所backoutされる予定はなさそうなので、upstream (kernel側)で対応する迄は以下のworkaroundで我慢するか、自前でgcc-6 (6.2.0-6)をbuildするしかない。
Linux kernelのbuild
(2016-12-03追記)Linux kernel 4.8.11でDebianのGCCで行われた変更に対応した。よって、それ以降のversionを利用する場合以下のworkaroundは不要。
stack protectorをenableにしていると:
> -fstack-protector not supported by compiler
と出てbuildが止まったり、そうでなくても:
> error: code model kernel does not support PIC mode
と出てbuildが止まったりする。
何れも、KCPPFLAGS=-fno-picをmake-kpkgあたりに渡してbuildするというworkaroundが紹介されている (cf. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=841533)。
著者の環境ではworkaroundによりmake-kpkgでkernelがbuildできた。
ccache userへ
FirefoxやEmacsのbuildにも影響が出た。
一旦、ccache -C -zでcacheを破棄してrebuildすると良い。
ZoL (ZFS on Linux)
(2016-10-28追記)ZoLはkernel modulesとしてbuildする関係から、もろにこの変更の影響を受ける。しかも、KCPPFLAGS=-fno-picを渡しても./configure scriptが途中でコケる。
(2016-12-03追記)
SPLもZFSも正常にbuildできるようになった。
それがGCC側の変更なのか、kernel sourceのupgradeの結果なのかは切り分けられなかった。
0 件のコメント:
コメントを投稿