[ecl] Fix stack direction detection (broken with gcc 5).

Jerry James jjames at fedoraproject.org
Fri Feb 20 18:06:41 UTC 2015


commit 01cab733b5586eff8e9111b191af5edc992bdcb3
Author: Jerry James <jamesjer at betterlinux.com>
Date:   Fri Feb 20 11:06:32 2015 -0700

    Fix stack direction detection (broken with gcc 5).

 ecl-13.5.1-stack-direction.patch | 35 +++++++++++++++++++++++++++++++++++
 ecl.spec                         | 10 ++++++++--
 2 files changed, 43 insertions(+), 2 deletions(-)
---
diff --git a/ecl-13.5.1-stack-direction.patch b/ecl-13.5.1-stack-direction.patch
new file mode 100644
index 0000000..c07f211
--- /dev/null
+++ b/ecl-13.5.1-stack-direction.patch
@@ -0,0 +1,35 @@
+--- src/configure.orig	2015-02-19 21:00:00.000000000 -0700
++++ src/configure	2015-02-19 21:00:00.000000000 -0700
+@@ -7942,24 +7942,25 @@
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h.  */
+ 
++#include <stddef.h>
+ #include <stdlib.h>
+ 
+-char *f2() {
++ptrdiff_t f2(const char *d) {
+   char c[2];
+-  return c;
++  return c-d;
+ }
+ 
+-char *f1() {
++ptrdiff_t f1(const char *d) {
+   char c[2];
+-  return c+1;
++  return c+1-d;
+ }
+ 
+-typedef char *(*f_ptr)();
++typedef ptrdiff_t (*f_ptr)(const char *);
+ f_ptr f[2] = { f1, f2 };
+ 
+-int signo() {
++ptrdiff_t signo() {
+   char d[1];
+-  return f[rand() & 1]() - d;
++  return f[rand() & 1](d);
+ }
+ 
+ int main() {
diff --git a/ecl.spec b/ecl.spec
index 62e0520..4c8b188 100644
--- a/ecl.spec
+++ b/ecl.spec
@@ -1,6 +1,6 @@
 Name:           ecl
 Version:        13.5.1
-Release:        8%{?dist}
+Release:        9%{?dist}
 Summary:        Embeddable Common-Lisp
 
 Group:          Development/Languages
@@ -44,7 +44,9 @@ Patch8:         0041-Fixed-declaration-of-GC_start_call_back.patch
 Patch9:         0066-fixes-for-the-detection-of-GC_start_call_back.patch
 Patch10:        0069-Fix-declaration-that-was-activated-by-commit-285eb31.patch
 # fix when building with -Werror=format-security, upstreamable
-Patch11:         ecl-13.5.1-end_of_line.patch
+Patch11:        %{name}-13.5.1-end_of_line.patch
+# Fix stack direction detection; sent upstream 20 Feb 2015.
+Patch12:        %{name}-13.5.1-stack-direction.patch
 
 BuildRequires:  libX11-devel
 BuildRequires:  pkgconfig
@@ -92,6 +94,7 @@ Gray streams.
 %patch9 -p1
 %patch10 -p1
 %patch11 -p1
+%patch12
 
 # Remove spurious executable bits
 chmod a-x src/CHANGELOG
@@ -175,6 +178,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null ||:
 
 
 %changelog
+* Fri Feb 20 2015 Jerry James <loganjerry at gmail.com> - 13.5.1-9
+- Fix stack direction detection (broken with gcc 5)
+
 * Fri Feb 13 2015 Jerry James <loganjerry at gmail.com> - 13.5.1-8
 - Use license macro
 


More information about the scm-commits mailing list