From ea08099e88e6f967e14f35b9afb14b97cdbb351f Mon Sep 17 00:00:00 2001 From: nagachika Date: Fri, 5 Sep 2014 15:55:12 +0000 Subject: [PATCH] merge revision(s) r46796: [Backport #10008] * configure.in (rb_cv_broken_backtrace): exit with failure normally, no needs to abort. [ruby-core:63678] [Bug #10008] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ configure.in | 14 +++++++------- version.h | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 332d9507b3..df925db564 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Sep 6 00:47:32 2014 Nobuyoshi Nakada + + * configure.in (rb_cv_broken_backtrace): exit with failure + normally, no needs to abort. [ruby-core:63678] [Bug #10008] + Sat Sep 6 00:05:02 2014 Nobuyoshi Nakada * include/ruby/win32.h, win32/win32.c (rb_w32_inet_pton): add a diff --git a/configure.in b/configure.in index b657b1fa3d..fc01f3b425 100644 --- a/configure.in +++ b/configure.in @@ -2886,24 +2886,25 @@ void sigsegv(int signum, siginfo_t *info, void *ctx){ if (n > 0) { /*fprintf(stdout, "backtrace:%d\n",n);*/ } else { - abort(); + _exit(EXIT_FAILURE); } - _exit(0); + _exit(EXIT_SUCCESS); } int -main() +main(void) { + volatile int *a = NULL; stack_t ss; ss.ss_sp = malloc(SIGSTKSZ); if (ss.ss_sp == NULL) { fprintf(stderr, "cannot allocate memory for sigaltstack\n"); - abort(); + return EXIT_FAILURE; } ss.ss_size = SIGSTKSZ; ss.ss_flags = 0; if (sigaltstack(&ss, NULL) == -1) { fprintf(stderr, "sigaltstack failed\n"); - abort(); + return EXIT_FAILURE; } struct sigaction sa; memset(&sa, 0, sizeof(struct sigaction)); @@ -2912,9 +2913,8 @@ main() sa.sa_flags |= SA_SIGINFO; sa.sa_flags |= SA_ONSTACK; sigaction(SIGSEGV, &sa, NULL); - int *a = NULL; a[0] = 1; - return 0; + return EXIT_SUCCESS; } ], rb_cv_broken_backtrace=no, diff --git a/version.h b/version.h index 324daf2d43..6e26c94fd3 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.1.2" #define RUBY_RELEASE_DATE "2014-09-06" -#define RUBY_PATCHLEVEL 224 +#define RUBY_PATCHLEVEL 225 #define RUBY_RELEASE_YEAR 2014 #define RUBY_RELEASE_MONTH 9