[groonga-dev,02925] Re: Debianパッケージを利用したrroongaのテスト

Back to archive index

NOKUBI Takatsugu knok****@daion*****
2014年 11月 6日 (木) 15:09:56 JST


  いろいろと条件を変えて試してみたのですが、思ったより再現性が
ないというか、toolchain側に原因がありそうな気もしてきました。

arch  | dist   | groonga  | result
i386  | wheezy | source   | OK
      |        | package  | OK
      | sid    | source   | OK
      |        | package  | NG

  こんな感じで、i386, sid, groonga packageという組み合わせ
の時だけ問題が発生するようです。amd64での再現はできませんでした。

 amd64環境でも、以下のようにすればchroot i386環境を作成できます。
debootstrap --arch=i386 unstable ./chroot-dir

  hardeningに関してですが、hardening-wrapperパッケージを入れる
ことで各種フラグを勝手に設定するようになっています。条件は結構複雑な
ようだったので、straceで指定されるオプションを確認したところ、
 "-fstack-protector-strong", "-fPIE", "-pie", 
"-D_FORTIFY_SOURCE=2", "-Wformat", "-Wformat-security", 
"-Werror=format-security", "-dumpmachine"
 これらが指定されていました。

 Debianのhardeningそのものに関する説明はDebian Wikiにあります。
https://wiki.debian.org/Hardening

 hardening-includesパッケージに入っているhardening-checkコマンド
を使うと状況を確認できます。

# hardening-check /usr/bin/groonga
/usr/bin/groonga:
 Position Independent Executable: yes
 Stack protected: yes
 Fortify Source functions: yes (some protected functions found)
 Read-only relocations: yes
 Immediate binding: yes

  確かにi386パッケージはhardenedなバイナリーのようなのですが、
amd64でもそれは同じなんですよね…なのでtoolchain側が怪しいかなあ、
と思っているところです。




groonga-dev メーリングリストの案内
Back to archive index