From 826294695c8b9c4e12c17ec8b95aa5a5a5b393c9 Mon Sep 17 00:00:00 2001 From: Jerry James Date: Feb 10 2011 22:24:11 +0000 Subject: Fix FTBFS on Rawhide due to missing volatile markings on some variables. --- 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