[gcl] Fix FTBFS on Rawhide due to missing volatile markings on some variables.
Jerry James
jjames at fedoraproject.org
Thu Feb 10 22:24:37 UTC 2011
commit 826294695c8b9c4e12c17ec8b95aa5a5a5b393c9
Author: Jerry James <loganjerry at gmail.com>
Date: Thu Feb 10 15:24:11 2011 -0700
Fix FTBFS on Rawhide due to missing volatile markings on some variables.
gcl-2.6.8-volatile.patch | 38 ++++++++++++++++++++++++++++++++++++++
gcl.spec | 8 ++++++--
2 files changed, 44 insertions(+), 2 deletions(-)
---
diff --git a/gcl-2.6.8-volatile.patch b/gcl-2.6.8-volatile.patch
new file mode 100644
index 0000000..a53475f
--- /dev/null
+++ b/gcl-2.6.8-volatile.patch
@@ -0,0 +1,38 @@
+--- o/print.d.orig 2005-07-18 11:07:24.000000000 -0600
++++ o/print.d 2011-02-10 15:12:01.415288045 -0700
+@@ -482,11 +482,11 @@ int level;
+ */
+ short ois[IS_SIZE];
+
+- int oqh;
+- int oqt;
+- int oqc;
+- int oisp;
+- int oiisp;
++ VOL int oqh;
++ VOL int oqt;
++ VOL int oqc;
++ VOL int oisp;
++ VOL int oiisp;
+
+ ONCE_MORE:
+ if (interrupt_flag) {
+--- o/prog.c.orig 2005-07-18 11:07:24.000000000 -0600
++++ o/prog.c 2011-02-10 15:13:47.428299399 -0700
+@@ -48,12 +48,12 @@ FFD(Ftagbody)(object body)
+ {
+
+ object *old_top = vs_top;
+- object *new_top;
+- VOL object *tinf;
+- VOL object *tinf_base;
++ object * VOL new_top;
++ object *tinf;
++ object * VOL tinf_base;
+ object *env = lex_env;
+ object id = alloc_frame_id();
+- object bodysv = body;
++ VOL object bodysv = body;
+ object label;
+ enum type item_type;
+
diff --git a/gcl.spec b/gcl.spec
index 068e14f..2d331b4 100644
--- a/gcl.spec
+++ b/gcl.spec
@@ -1,6 +1,6 @@
# -fstack-protector leads to segfaults because GCL uses its own conflicting
# stack protection scheme. GCL code violates C99 aliasing rules.
-%global __global_cflags %(printf %%s '%__global_cflags' | sed 's/-fstack-protector --param=ssp-buffer-size=4/-fno-strict-aliasing/')
+%global __global_cflags %(printf %%s '%__global_cflags' | sed 's/-fstack-protector --param=ssp-buffer-size=4//')
# Prerelease of 2.6.8
%global alphatag 20101115cvs
@@ -83,7 +83,10 @@ Patch14: gcl-2.6.8-ellipsis.patch
# This patch was last sent upstream on 30 Dec 2010. It fixes some malformed
# man page constructions.
Patch15: gcl-2.6.8-man.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+# This patch was last sent upstream on 10 Feb 2011. It fixes some volatile
+# markings on local variables that should not be clobbered by longjmp().
+Patch16: gcl-2.6.8-volatile.patch
+
BuildRequires: libSM-devel
BuildRequires: libXext-devel
BuildRequires: libXaw-devel
@@ -182,6 +185,7 @@ gcl_exec_t.
%patch13
%patch14
%patch15
+%patch16
# Don't let the configure script add compiler flags we don't want
sed -i -e 's/"-fomit-frame-pointer"/""/' -e 's/-O3/-O2/g' configure
More information about the scm-commits
mailing list