From f896ad3b49461dbdee5e47e8224051ff46e75d95 Mon Sep 17 00:00:00 2001 From: naruse Date: Thu, 23 Aug 2012 02:59:24 +0000 Subject: [PATCH] * 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 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 --- ChangeLog | 10 ++++++++++ configure.in | 6 +++--- signal.c | 6 +++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 19105c95bb..b235c287bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Thu Aug 23 11:52:04 2012 NARUSE, Yui + + * 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 + 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 * test/open-uri/test_open-uri.rb (TestOpenURI#test_read_timeout): this diff --git a/configure.in b/configure.in index 2dd21ef593..4a915456f0 100644 --- a/configure.in +++ b/configure.in @@ -601,7 +601,7 @@ if test "$GCC" = yes; then # -fstack-protector AS_CASE(["$target_os"], - [mingw*|nacl], [ + [mingw*|nacl|haiku], [ stack_protector=no ], [ @@ -2289,8 +2289,8 @@ if test "$with_dln_a_out" != yes; then ], [i586*], [ : ${LDSHARED='$(LD) -shared'} - DLDFLAGS="$DLDFLAGS -L/boot/develop/lib/x86 -L/boot/home/config/lib \$(topdir)/_APP_ -lbe -lroot" - LDFLAGS="$LDFLAGS -L/boot/develop/lib/x86 -L/boot/home/config/lib -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 -lroot" ]) : ${LIBPATHENV=LIBRARY_PATH} rb_cv_dlopen=yes], diff --git a/signal.c b/signal.c index bd0313bfdd..b76044c625 100644 --- a/signal.c +++ b/signal.c @@ -463,7 +463,11 @@ ruby_signal(int signum, sighandler_t handler) sigact.sa_flags |= SA_NOCLDWAIT; #endif #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; #endif if (sigaction(signum, &sigact, &old) < 0) {