* thread_pthread.c (ruby_init_stack): use stack info if possible.
* thread_pthread.c (ruby_init_stack): adjust stack size for offset of
addr from the bottom.
* thread_pthread.c (get_stack): seems stack size does not include
guard size on Mac OS X.
* gc.h (IS_STACK_DIR_UPPER): utility macro.
* thread_pthread.c (get_stack): Linux is the only OS which includes
the size of guard page into the stack size.
* thread_pthread.c (ruby_init_stack): STACK_GROW_DIR_DETECTION is
necessary on platforms with unknown stack direction. [Bug #6761]
merge revision(s) 35978,36013,36014,36015,36052,36076,36487: [Backport #6898]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@36789 b2dd03c8-39d4-4d8f-98ff-823fe69b080e