大橋です。
ページにmprotectをかけてSIGSEGVを発生させ、それが起こったアドレスを
SIGSEGVハンドラに渡したいのですがLinuxでの方法がわかりません。
OSはRedHat Linux 6.0(Kernel 2.2.5-15)をDOS/Vマシンで使っています。
FreeBSDではSIGSEGVハンドラに
void sigsegv_handler(int sig, int code, struct sigcontext *scp, char *addr)
のように引数を渡すことでaddrにアクセスのあったアドレスが渡されるのですが
Linuxでこのようにしてもアドレスは渡されないようです。
sigcontextの中に入っているのかもしれませんが、構造体の要素がどういう
意味を持っているかわからないため確認できません。
どうすればアドレスを渡すことができるのでしょうか?
よろしくお願いします。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Yusuke Ohashi
Seikei University
Department of Industrial Engineering
& Information Sciences
E-Mail : oha _at_ ypc.is.seikei.ac.jp
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/