From a71bcb05283105c853b29f77c31d6e9ca869df7d Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Fri, 1 May 2009 10:30:50 +0000 Subject: [PATCH] 1.0.28.1: disable address space randomization on Linux/x86-64 * At least some Red Hat versions do randomization on x86-64 as well, whereas we used to assume only x86 had this "feature". --- NEWS | 3 +++ src/runtime/linux-os.c | 4 +++- version.lisp-expr | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 40d92d8..2cce443 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,7 @@ ;;;; -*- coding: utf-8; fill-column: 78 -*- + * bug fix: disable address space randomization Linux/x86-64 as well, + not just x86-64. (reported by Ken Olum) + changes in sbcl-1.0.28 relative to 1.0.27: * a number of bugs in cross-compilation have been fixed, with the ultimate result that building under (at least) clisp should be much more reliable. diff --git a/src/runtime/linux-os.c b/src/runtime/linux-os.c index 1635132..9b2e3cf 100644 --- a/src/runtime/linux-os.c +++ b/src/runtime/linux-os.c @@ -239,7 +239,7 @@ os_init(char *argv[], char *envp[]) * Since randomization is currently implemented only on x86 kernels, * don't do this trick on other platforms. */ -#ifdef LISP_FEATURE_X86 +#if defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64) if ((major_version == 2 /* Some old kernels will apparently lose unsupported personality flags * on exec() */ @@ -283,11 +283,13 @@ os_init(char *argv[], char *envp[]) fprintf(stderr, "WARNING: Couldn't re-execute SBCL with the proper personality flags (maybe /proc isn't mounted?). Trying to continue anyway.\n"); } } +#ifdef LISP_FEATURE_X86 /* Use SSE detector. Recent versions of Linux enable SSE support * on SSE capable CPUs. */ /* FIXME: Are there any old versions that does not support SSE? */ fast_bzero_pointer = fast_bzero_detect; #endif +#endif } diff --git a/version.lisp-expr b/version.lisp-expr index c4bea0d..336801b 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.28" +"1.0.28.1" -- 1.7.10.4