summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-08-23 02:59:24 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-08-23 02:59:24 +0000
commitf896ad3b49461dbdee5e47e8224051ff46e75d95 (patch)
treed59e0f1f5ead7fe2cccd9d86910a4ce1a867908c
parenta3946044125a890b3661f9a08d7a6fe68d275066 (diff)
* 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
-rw-r--r--ChangeLog10
-rw-r--r--configure.in6
-rw-r--r--signal.c6
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 <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>
* 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) {