* configure.in: Fixing Haiku build.

- -lbe is not required for linking
  - stack protector doesn't work for now because of the default gcc's bug
  by Takashi Toyoshima <toyoshim@gmail.com>
  https://github.com/ruby/ruby/pull/167

* signal.c (ruby_signal): haiku doesn't have SIGBUS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2012-08-23 02:59:24 +00:00
parent a394604412
commit f896ad3b49
3 changed files with 18 additions and 4 deletions

View File

@ -1,3 +1,13 @@
Thu Aug 23 11:52:04 2012 NARUSE, Yui <naruse@ruby-lang.org>
* configure.in: Fixing Haiku build.
- -lbe is not required for linking
- stack protector doesn't work for now because of the default gcc's bug
by Takashi Toyoshima <toyoshim@gmail.com>
https://github.com/ruby/ruby/pull/167
* signal.c (ruby_signal): haiku doesn't have SIGBUS.
Thu Aug 23 11:32:44 2012 NAKAMURA Usaku <usa@ruby-lang.org> Thu Aug 23 11:32:44 2012 NAKAMURA Usaku <usa@ruby-lang.org>
* test/open-uri/test_open-uri.rb (TestOpenURI#test_read_timeout): this * test/open-uri/test_open-uri.rb (TestOpenURI#test_read_timeout): this

View File

@ -601,7 +601,7 @@ if test "$GCC" = yes; then
# -fstack-protector # -fstack-protector
AS_CASE(["$target_os"], AS_CASE(["$target_os"],
[mingw*|nacl], [ [mingw*|nacl|haiku], [
stack_protector=no stack_protector=no
], ],
[ [
@ -2289,8 +2289,8 @@ if test "$with_dln_a_out" != yes; then
], ],
[i586*], [ [i586*], [
: ${LDSHARED='$(LD) -shared'} : ${LDSHARED='$(LD) -shared'}
DLDFLAGS="$DLDFLAGS -L/boot/develop/lib/x86 -L/boot/home/config/lib \$(topdir)/_APP_ -lbe -lroot" DLDFLAGS="$DLDFLAGS -L/boot/develop/lib/x86 -L/boot/home/config/lib \$(topdir)/_APP_ -lroot"
LDFLAGS="$LDFLAGS -L/boot/develop/lib/x86 -L/boot/home/config/lib -lbe -lroot" LDFLAGS="$LDFLAGS -L/boot/develop/lib/x86 -L/boot/home/config/lib -lroot"
]) ])
: ${LIBPATHENV=LIBRARY_PATH} : ${LIBPATHENV=LIBRARY_PATH}
rb_cv_dlopen=yes], rb_cv_dlopen=yes],

View File

@ -463,7 +463,11 @@ ruby_signal(int signum, sighandler_t handler)
sigact.sa_flags |= SA_NOCLDWAIT; sigact.sa_flags |= SA_NOCLDWAIT;
#endif #endif
#if defined(SA_ONSTACK) && defined(USE_SIGALTSTACK) #if defined(SA_ONSTACK) && defined(USE_SIGALTSTACK)
if (signum == SIGSEGV || signum == SIGBUS) if (signum == SIGSEGV
#ifdef SIGBUS
|| signum == SIGBUS
#endif
)
sigact.sa_flags |= SA_ONSTACK; sigact.sa_flags |= SA_ONSTACK;
#endif #endif
if (sigaction(signum, &sigact, &old) < 0) { if (sigaction(signum, &sigact, &old) < 0) {