merge revision(s) r45517,r45544,r45924:

	signal.c: check stack overflow by SP

	* signal.c (check_stack_overflow): raise SystemStackError if SP
  register and fault address is in the same page, on x86 linux.
  [EXPERIMENTAL]
	* signal.c (check_stack_overflow): Don't use ucontext_t if ucontext.h
	  is not available.
	  Fixes build on Android (x86).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_string (test_LSHIFT_neary_long_max): extend timeout.
  this test fails on some CI environment by timeout.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45207,r45208,r45209,r45210: [Backport #9575]

	* numeric.c: Create var for rb_intern("<=>")
	* numeric.c: Fix Numeric#step with 0 unit [Bug #9575]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45378: [Backport #9658] [Backport #9866]

	* configure.in: Fix a build problem with clang and --with-opt-dir.
	  If ruby is configured with --with-opt-dir=dir when using clang
	  as compiler, a warning `clang: warning: argument unused during
	  compilation: '-I dir'` is emitted almost every time clang
	  compiles a file.  Unfortunately, RUBY_CHECK_PRINTF_PREFIX takes
	  any output from the compiler as fatal error, and the check thus
	  fails due to the warning.  This is an attempt to fix the problem
	  by adding a flag -Qunused-arguments to CFLAGS locally in the
	  function to suppress the warning. [ruby-dev:48062] [Bug #9658]
	  [Fixes GH-571] https://github.com/ruby/ruby/pull/571


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45308,r45316: [Backport #9621]

	* ext/objspace/objspace_dump.c: Check fptr before trying to dump RFILE
	  object fd. [GH-562]

	* test/objspace/test_objspace.rb: add test

	* test/objspace/test_objspace.rb (TestObjSpace#test_dump_uninitialized_file):
	  remove dependency on json library.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45224,r45228: [Backport #9838]

	* gc.c (ruby_gc_set_params): fix building without RGenGC

	* gc.c (ruby_gc_set_params): simplify condition


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45287,r45288,r45289,r45290: [Backport #9600]

	process.c: tmp buffer instead of alloca

	* process.c (OBJ2UID1, OBJ2GID1): separate from OBJ2UID and
  OBJ2GID respectively, need given buffers.

	* process.c (OBJ2UID, OBJ2GID): no longer need PREPARE_GETPWNAM
  and PREPARE_GETGRNAM.

	* process.c (obj2uid, obj2gid): use tmp buffer instead of alloca
  to get rid of potential stack overflow.
	* process.c (obj2uid, obj2gid): now getpwnam_r() and getgrnam_r()
	  may need larger buffers than sysconf values, so retry with
	  expanding the buffer when ERANGE is returned.
	  [ruby-core:61325] [Bug #9600]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45521,r45523,r45551: [Backport #9699]

	win32.c: wchar conversion

	* win32/win32.c (rb_w32_wstr_to_mbstr, rb_w32_mbstr_to_wstr): make
  WCHAR/mb conversion functions public.
	* dln.c (dln_load): use wchar version to load a library in
	  non-ascii path on Windows.  based on the patch by Bugra Barin
	  <bugrabarin AT hotmail.com> in [ruby-core:61845].  [Bug #9699]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45724: [Backport #9776]

	* compile.c (compile_array_): make copy a first hash not to modify
	  the argument itself.  keyword splat should be non-destructive.
	  [ruby-core:62161] [Bug #9776]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45954: [Backport #8358]

	* configure.in: enable SSE2 on mingw. target='i386-pc-mingw32'.
	  [ruby-core:62095] [Bug #8358]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44712,r44715,r44716,r44722,r44725,r44726,r44753: [Backport #9454] [Backport #9828]

	* thread_pthread.c: get current main thread stack size, which may
	  be expanded than allocated size at initialization, by rlimit().
	  [ruby-core:60113] [Bug #9454]

	* thread_pthread.c: rlimit is only available on Linux.
	  At least r44712 breaks FreeBSD.
	  [ruby-core:60113] [Bug #9454]

	* thread_pthread.c (ruby_init_stack, ruby_stack_overflowed_p):
	  place get_stack above others to get stack boundary information.
	  [ruby-core:60113] [Bug #9454]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r46060: [Backport #9627]

	* net/protocol.rb (using_each_crlf_line): fix SMTP dot-stuffing
	  for messages not ending with a new-line.
	  [ruby-core:61441] [Bug #9627] [fix GH-616]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45899: [Backport #9751]

	* thread.c (thread_start_func_2): stop if forked in a sub-thread,
	  the thread has become the main thread.
	  [ruby-core:62070] [Bug #9751]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45874: [Backport #9813]

	* class.c (rb_mod_init_copy): always clear instance variable,
	  constant and method tables first, regardless the source tables.
	  [ruby-dev:48182] [Bug #9813]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r46194: [Backport #9835]

	* signal.c (signal_exec): ignore immediate cmd for SIG_IGN

	* signal.c (trap_handler): set cmd to true for SIG_IGN

	* signal.c (trap): handle nil and true values for oldcmd
	  [Bug #9835]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2014-06-24

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45947,r45951: [Backport #9739] [Backport #9844]

	* thread_win32.c (rb_w32_stack_overflow_handler): use Structured
	  Exception Handling by Addvectoredexceptionhandler() for machine
	  stack overflow on mingw.
	  This would be equivalent to the handling using __try and __exept
	  on mswin introduced by r43748.
	  Exception Handling by AddVectoredExceptionHandler() for machine
	  This would be equivalent to the handling using __try and __except


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r46182: [Backport #9872]

	* lib/net/ftp.rb (transfercmd): Close TCP server socket even if an
	  exception occur.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r46313: [Backport #9896]

	* eval.c (rb_using_refinement): add write-barriers for
	  cref->nd_refinements.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45540: [Backport #9911]

	ossl.c: OPENSSL_LIBRARY_VERSION

	* ext/openssl/ossl.c (Init_openssl): add constant OPENSSL_LIBRARY_VERSION
  which tells the version running OpenSSL.  [EXPERIMENTAL]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e