summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lisp/sbcl/files/sbcl-1.0.55-newglibc.patch')
-rw-r--r--dev-lisp/sbcl/files/sbcl-1.0.55-newglibc.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/dev-lisp/sbcl/files/sbcl-1.0.55-newglibc.patch b/dev-lisp/sbcl/files/sbcl-1.0.55-newglibc.patch
new file mode 100644
index 000000000000..dbc94b06d4c9
--- /dev/null
+++ b/dev-lisp/sbcl/files/sbcl-1.0.55-newglibc.patch
@@ -0,0 +1,43 @@
+Fixes for glibc 2.17.
+
+linux-os.c is just a missing header (for personality()).
+
+In x86-64-linux-os.c, __USE_GNU is a glibc-internal name that features.h
+defines; _GNU_SOURCE is what it should actually be using to get GNU extensions.
+
+diff -x config.log -x config.status -ru tmp/sbcl-1.1.2/src/runtime/linux-os.c work/sbcl-1.1.2/src/runtime/linux-os.c
+--- tmp/sbcl-1.1.2/src/runtime/linux-os.c 2012-12-01 11:32:38.000000000 +0000
++++ work/sbcl-1.1.2/src/runtime/linux-os.c 2012-12-31 01:20:37.619000000 +0000
+@@ -46,6 +46,7 @@
+ #include <sys/stat.h>
+ #include <unistd.h>
+ #include <linux/version.h>
++#include <sys/personality.h>
+
+ #include "validate.h"
+ #include "thread.h"
+diff -x config.log -x config.status -ru tmp/sbcl-1.1.2/src/runtime/x86-64-linux-os.c work/sbcl-1.1.2/src/runtime/x86-64-linux-os.c
+--- tmp/sbcl-1.1.2/src/runtime/x86-64-linux-os.c 2012-12-01 11:32:38.000000000 +0000
++++ work/sbcl-1.1.2/src/runtime/x86-64-linux-os.c 2012-12-31 01:20:25.450000000 +0000
+@@ -14,6 +14,9 @@
+ * files for more information.
+ */
+
++/* This is to get REG_RAX etc. from sys/ucontext.h. */
++#define _GNU_SOURCE
++
+ #include <stdio.h>
+ #include <stddef.h>
+ #include <sys/param.h>
+@@ -21,11 +24,7 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+ #include <errno.h>
+-
+-#define __USE_GNU
+ #include <sys/ucontext.h>
+-#undef __USE_GNU
+-
+
+ #include "./signal.h"
+ #include "os.h"