_ [comp] http://cvs.gentoo.org/~method/propolice.html

__guard や __guard_setup の relocation 問題を他の protector を採用してるところはどうやって対処してるのか探してみる。すると gentoo のほうに言及があった。OpenBSD 由来の patch を当てることによって、具体的には xc/config/imake/imake.c に 2 箇所ある #if defined(__OpenBSD__) #endif を削除してその間のコードを有効にして対処しているようだ。ただ、これだけだと gcc -v の結果に propolice が含まれているかどうか調べてるだけなのでそこらへんはいじってやらなきゃならない。自分では version.c には protector と書いてるので、それも見るようにすれば OK かな。 gentoo からソースを取ってくるときに、XFree86 の ebuild もちょっと覗いてみた。xserver.pam を発見。

#%PAM-1.0
auth       sufficient   /lib/security/pam_rootok.so
# Next line you need console ownership to be able to start X 
#auth       required     /lib/security/pam_console.so
auth       required     /lib/security/pam_permit.so
account    required     /lib/security/pam_permit.so

問題の pam_console はコメントアウトされていた。そして上がらなかった理由と思われることも書いてあるじゃん。XFree86 with pam が諦めきれないので(再 make World に時間がかかるのがいやだから)、これでうまいこといくか試してみるかな。