2006-10-29 map.noexstk,no_exec_userstack solaris スタック領域でno execute(NX)ビットを有効にさせるためコンパイル時に指定する. gccで使用するときはオプション-Wl,-M,/usr/lib/ld/map.noexstkをつける. ファイル内容 stack = STACK ?RW; 他にもmap.noexdataというファイルもある.これはSolaris9にはなかった(?) data = ?RW; /etc/systemでno_exec_userstackを指定するとほぼ全てのアプリケーションでスタック領域からの実行が出来なくなる no_exec_userstackはSPARC環境ではかなり以前から有効だったが,32ビットx86環境ではSolaris9以前有効ではなかった.Solaris10では32ビットでも有効になった(?) リンク http://docs.sun.com/app/docs/doc/819-0305/6n2o826id?l=ja&a=view