Architecture specific change in rpms/golang-github-hashicorp-raft.git
by githook-noreply@fedoraproject.org
The package rpms/golang-github-hashicorp-raft.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-github-hashicorp-raft.git/....
Change:
+%ifarch x86_64
Thanks.
Full change:
============
commit b548d6d6612d803cf3d68467276403713246b20b
Author: Robert-Andr Mauchin <zebob.m(a)gmail.com>
Date: Sun Jun 30 22:12:29 2019 +0200
Fix a typo
Signed-off-by: Robert-Andr Mauchin <zebob.m(a)gmail.com>
diff --git a/golang-github-hashicorp-raft.spec b/golang-github-hashicorp-raft.spec
index de25b64..72b5f08 100644
--- a/golang-github-hashicorp-raft.spec
+++ b/golang-github-hashicorp-raft.spec
@@ -1,6 +1,6 @@
# Generated by go2rpm
# fails randomly
-%ifnarch x86_64
+%ifarch x86_64
%bcond_without check
%endif
%bcond_with bootstrap
3 years, 11 months
Architecture specific change in rpms/golang-github-hashicorp-raft.git
by githook-noreply@fedoraproject.org
The package rpms/golang-github-hashicorp-raft.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-github-hashicorp-raft.git/....
Change:
+%ifnarch x86_64
Thanks.
Full change:
============
commit be0c294d9200893208ec9310b519dcb5d7cacd70
Author: Robert-Andr Mauchin <zebob.m(a)gmail.com>
Date: Sun Jun 30 21:55:21 2019 +0200
Disable some failing tests
Signed-off-by: Robert-Andr Mauchin <zebob.m(a)gmail.com>
diff --git a/golang-github-hashicorp-raft.spec b/golang-github-hashicorp-raft.spec
index c03ec6b..de25b64 100644
--- a/golang-github-hashicorp-raft.spec
+++ b/golang-github-hashicorp-raft.spec
@@ -1,5 +1,8 @@
# Generated by go2rpm
+# fails randomly
+%ifnarch x86_64
%bcond_without check
+%endif
%bcond_with bootstrap
# https://github.com/hashicorp/raft
@@ -62,7 +65,8 @@ end
%if %{without bootstrap}
%if %{with check}
%check
-%gocheck
+# .: needs network
+%gocheck -d .
%endif
%endif
3 years, 11 months
Architecture specific change in rpms/golang-modernc-sortutil.git
by githook-noreply@fedoraproject.org
The package rpms/golang-modernc-sortutil.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-modernc-sortutil.git/commi....
Change:
+%ifnarch ppc64le s390x
Thanks.
Full change:
============
commit ad2c48b88be9bd2bbc10e8d88d88334ce69a69f6
Author: Robert-Andr Mauchin <zebob.m(a)gmail.com>
Date: Sun Jun 30 18:33:32 2019 +0200
Initial import
Signed-off-by: Robert-Andr Mauchin <zebob.m(a)gmail.com>
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..761c7dd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/sortutil-d88cd80914b344e4abf5bd4c59de6ac23def1160.tar.bz2
diff --git a/golang-modernc-sortutil.spec b/golang-modernc-sortutil.spec
new file mode 100644
index 0000000..0f4aeb6
--- /dev/null
+++ b/golang-modernc-sortutil.spec
@@ -0,0 +1,55 @@
+# Generated by go2rpm
+%ifnarch ppc64le s390x
+%bcond_without check
+%endif
+
+# https://gitlab.com/cznic/sortutil
+%global goipath modernc.org/sortutil
+%global forgeurl https://gitlab.com/cznic/sortutil
+Version: 1.0.0
+%global commit d88cd80914b344e4abf5bd4c59de6ac23def1160
+%global distprefix %{nil}
+
+%gometa
+
+%global common_description %{expand:
+Utilities supplemental to the Go standard "sort" package.}
+
+%global golicenses LICENSE
+%global godocs AUTHORS CONTRIBUTORS README
+
+Name: %{goname}
+Release: 1%{?dist}
+Summary: Utilities supplemental to the Go standard "sort" package
+
+# Upstream license specification: BSD-3-Clause
+License: BSD
+URL: %{gourl}
+Source0: %{gosource}
+
+%if %{with check}
+# Tests
+BuildRequires: golang(modernc.org/mathutil)
+%endif
+
+%description
+%{common_description}
+
+%gopkg
+
+%prep
+%goprep
+
+%install
+%gopkginstall
+
+%if %{with check}
+%check
+%gocheck
+%endif
+
+%gopkgfiles
+
+%changelog
+* Sun May 12 17:35:48 CEST 2019 Robert-Andr Mauchin <zebob.m(a)gmail.com> - 1.0.0-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..e214a6d
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (sortutil-d88cd80914b344e4abf5bd4c59de6ac23def1160.tar.bz2) = 90b46bd20ff2eb31b3e4ea99644552d2d4ca13c1215df9e7111e2d01edfbd827e7ffe412b71e14d55e6b0ed515b30095e7f0e7872f492abd22476379ed7e36c9
3 years, 11 months
Architecture specific change in rpms/golang-modernc-b.git
by githook-noreply@fedoraproject.org
The package rpms/golang-modernc-b.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-modernc-b.git/commit/?id=9....
Change:
+%ifnarch ppc64le s390x
Thanks.
Full change:
============
commit 956ab855d47e239d04a4f2badf8cb177ed47b8b2
Author: Robert-Andr Mauchin <zebob.m(a)gmail.com>
Date: Sun Jun 30 17:31:07 2019 +0200
Disable some failing tests
Signed-off-by: Robert-Andr Mauchin <zebob.m(a)gmail.com>
diff --git a/golang-modernc-b.spec b/golang-modernc-b.spec
index ca0cff7..27c836b 100644
--- a/golang-modernc-b.spec
+++ b/golang-modernc-b.spec
@@ -1,5 +1,7 @@
# Generated by go2rpm
+%ifnarch ppc64le s390x
%bcond_without check
+%endif
# https://gitlab.com/cznic/b
%global goipath modernc.org/b
3 years, 11 months
Architecture specific change in rpms/golang-modernc-internal.git
by githook-noreply@fedoraproject.org
The package rpms/golang-modernc-internal.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-modernc-internal.git/commi....
Change:
+%ifnarch ppc64le s390x
Thanks.
Full change:
============
commit 12a45ef3ac60fc773c20c9f7ee25a101e110d75e
Author: Robert-Andr Mauchin <zebob.m(a)gmail.com>
Date: Sun Jun 30 17:30:39 2019 +0200
Disable some failing tests
Signed-off-by: Robert-Andr Mauchin <zebob.m(a)gmail.com>
diff --git a/golang-modernc-internal.spec b/golang-modernc-internal.spec
index 90d052d..5fad3c5 100644
--- a/golang-modernc-internal.spec
+++ b/golang-modernc-internal.spec
@@ -1,5 +1,7 @@
# Generated by go2rpm
+%ifnarch ppc64le s390x
%bcond_without check
+%endif
# https://gitlab.com/cznic/internal
%global goipath modernc.org/internal
3 years, 11 months
Architecture specific change in rpms/golang-modernc-strutil.git
by githook-noreply@fedoraproject.org
The package rpms/golang-modernc-strutil.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-modernc-strutil.git/commit....
Change:
+%ifnarch ppc64le s390x
Thanks.
Full change:
============
commit 46a12b71b3c4a4ba48f7d8ae65eb022ec7eb6d14
Author: Robert-Andr Mauchin <zebob.m(a)gmail.com>
Date: Sun Jun 30 16:45:45 2019 +0200
Initial import
Signed-off-by: Robert-Andr Mauchin <zebob.m(a)gmail.com>
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bb5021d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/strutil-0ced29f8491c6b9941c30b09d7c63b78fc5b31bf.tar.bz2
diff --git a/golang-modernc-strutil.spec b/golang-modernc-strutil.spec
new file mode 100644
index 0000000..43b9c7e
--- /dev/null
+++ b/golang-modernc-strutil.spec
@@ -0,0 +1,55 @@
+# Generated by go2rpm
+%ifnarch ppc64le s390x
+%bcond_without check
+%endif
+
+# https://gitlab.com/cznic/strutil
+%global goipath modernc.org/strutil
+%global forgeurl https://gitlab.com/cznic/strutil
+Version: 1.0.0
+%global commit 0ced29f8491c6b9941c30b09d7c63b78fc5b31bf
+%global distprefix %{nil}
+
+%gometa
+
+%global common_description %{expand:
+Package strutil collects utils supplemental to the standard strings package.}
+
+%global golicenses LICENSE
+%global godocs AUTHORS CONTRIBUTORS README
+
+Name: %{goname}
+Release: 1%{?dist}
+Summary: Utils supplemental to the standard strings package
+
+# Upstream license specification: BSD-3-Clause
+License: BSD
+URL: %{gourl}
+Source0: %{gosource}
+
+%if %{with check}
+# Tests
+BuildRequires: golang(modernc.org/mathutil)
+%endif
+
+%description
+%{common_description}
+
+%gopkg
+
+%prep
+%goprep
+
+%install
+%gopkginstall
+
+%if %{with check}
+%check
+%gocheck
+%endif
+
+%gopkgfiles
+
+%changelog
+* Sun May 12 15:56:39 CEST 2019 Robert-Andr Mauchin <zebob.m(a)gmail.com> - 1.0.0-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..1983244
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (strutil-0ced29f8491c6b9941c30b09d7c63b78fc5b31bf.tar.bz2) = e6e24c56238b21ac4a5bbaa968432785f4410d3f5bcc8f612ea76b093785181f06438fb235d422b32c89aeb923f638f471b20dd1f9381a1e5d8f4bfbb392877a
3 years, 11 months
Architecture specific change in rpms/golang-modernc-fileutil.git
by githook-noreply@fedoraproject.org
The package rpms/golang-modernc-fileutil.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/golang-modernc-fileutil.git/commi....
Change:
+%ifnarch ppc64le s390x
Thanks.
Full change:
============
commit 046dfb9cd957263ba59558740edf2cee7f436468
Author: Robert-Andr Mauchin <zebob.m(a)gmail.com>
Date: Sun Jun 30 16:44:12 2019 +0200
Disable some failing tests
Signed-off-by: Robert-Andr Mauchin <zebob.m(a)gmail.com>
diff --git a/golang-modernc-fileutil.spec b/golang-modernc-fileutil.spec
index cc7e1cd..0dcb77b 100644
--- a/golang-modernc-fileutil.spec
+++ b/golang-modernc-fileutil.spec
@@ -1,5 +1,7 @@
# Generated by go2rpm
+%ifnarch ppc64le s390x
%bcond_without check
+%endif
# https://gitlab.com/cznic/fileutil
%global goipath modernc.org/fileutil
3 years, 11 months
Architecture specific change in rpms/gcl.git
by githook-noreply@fedoraproject.org
The package rpms/gcl.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/gcl.git/commit/?id=d60bed4b8418a4....
Change:
+%ifarch ppc64le
Thanks.
Full change:
============
commit 27a586f2002c63a510ac0f1a4133a383a4d2840e
Author: Jerry James <loganjerry(a)gmail.com>
Date: Sat Jun 29 21:14:34 2019 -0600
Make gcl a wrapper script for gcl-binary to fix address randomization issues.
diff --git a/gcl-exec b/gcl-exec
new file mode 100755
index 0000000..e5cd27c
--- /dev/null
+++ b/gcl-exec
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/bin/setarch -R /usr/bin/gcl-binary "$@"
diff --git a/gcl.spec b/gcl.spec
index 5005f8b..33baaa1 100644
--- a/gcl.spec
+++ b/gcl.spec
@@ -6,7 +6,7 @@
Name: gcl
Version: 2.6.13
-Release: 0.%{prerel}.1%{?dist}
+Release: 0.%{prerel}.2%{?dist}
Summary: GNU Common Lisp
License: GPL+ and LGPLv2+
@@ -17,6 +17,9 @@ Source1: gcl.el
# something useful. These files are present in git HEAD (i.e., the upcoming
# 2.7.0 release), but are missing in the 2.6 branch.
Source2: %{name}-2.6.8-info.tar.xz
+# Because we must keep address randomization off, we include a script to
+# ensure that happens.
+Source3: gcl-exec
# Upstream builds point releases for Debian, and uploads the patches directly
# to the Debian Patch Tracker, but does not spin new tarballs. These are the
@@ -198,6 +201,9 @@ BuildRequires: emacs
BuildRequires: xemacs
BuildRequires: xemacs-packages-extra
+Requires: gcc
+Requires: util-linux%{?_isa}
+
# This can be removed when Fedora 30 reaches EOL
Obsoletes: gcl-selinux < 2.6.13-0.84.1%{?dist}
Provides: gcl-selinux = %{version}-%{release}
@@ -410,6 +416,12 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/doc
rm -rf $RPM_BUILD_ROOT%{_datadir}/emacs
rm -rf $RPM_BUILD_ROOT%{_prefix}/lib/gcl-*/info
+# The binary MUST be run with address randomization off. The main() function
+# has code to accomplish that, but it does not run early enough. Ensure that
+# randomization is off before GCL even starts.
+mv $RPM_BUILD_ROOT%{_bindir}/gcl $RPM_BUILD_ROOT%{_bindir}/gcl-binary
+install -p -m 0755 %{SOURCE3} $RPM_BUILD_ROOT%{_bindir}/gcl
+
# Install the man page
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
cp -pf man/man1/* $RPM_BUILD_ROOT%{_mandir}/man1
@@ -455,6 +467,7 @@ rm -f /tmp/gazonk_* /tmp/gcl_*
%files
%{_bindir}/gcl
+%{_bindir}/gcl-binary
%{_prefix}/lib/gcl*
%{_infodir}/*
%{_mandir}/man*/*
@@ -475,6 +488,9 @@ rm -f /tmp/gazonk_* /tmp/gcl_*
%changelog
+* Sat Jun 29 2019 Jerry James <loganjerry(a)gmail.com> - 2.6.13-0.84.2
+- Make gcl a wrapper script for gcl-binary to fix address randomization issues
+
* Sat Jun 29 2019 Jerry James <loganjerry(a)gmail.com> - 2.6.13-0.84.1
- Update to 2.6.13pre84 (bz 1674924)
- Drop the -selinux patch and subpackage, no longer needed
commit d60bed4b8418a421b51a716ddad55ec2af68a95a
Author: Jerry James <loganjerry(a)gmail.com>
Date: Sat Jun 29 09:56:17 2019 -0600
Update to 2.6.13pre84 (bz 1674924).
Also:
- Drop the -selinux patch and subpackage, no longer needed.
- Build with -fwrapv.
- Add the -libselinux patch to fix FTBFS if selinuxfs is mounted read-only.
- Build with -mno-pltseq on ppc64le to handle relocation issues.
diff --git a/Version_2_6_13pre80.patch b/Version_2_6_13pre80.patch
new file mode 100644
index 0000000..ad89d0d
--- /dev/null
+++ b/Version_2_6_13pre80.patch
@@ -0,0 +1,111 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl (2.6.12-83) unstable; urgency=high
+ .
+ * Version_2_6_13pre79
+ * Fix acl2 arm builds (Closes: #919477).
+Author: Camm Maguire <camm(a)debian.org>
+Bug-Debian: https://bugs.debian.org/919477
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: 2019-03-21
+
+--- gcl-2.6.12.orig/h/notcomp.h
++++ gcl-2.6.12/h/notcomp.h
+@@ -175,7 +175,7 @@ TS_MEMBER(t0,TS(t1)|TS(t2)|TS(t3)...)
+ #define TS(s) (1<<s)
+ #define TS_MEMBER(t1,ts) ((TS(t1)) & (ts))
+
+-#define ASSURE_TYPE(val,t) if(type_of(val)!=t) val= Icheck_one_type(val,t)
++#define ASSURE_TYPE(val,t) if (type_of(val)!=t) TYPE_ERROR(val,type_name(t))
+
+ object IisArray();
+
+--- gcl-2.6.12.orig/o/alloc.c
++++ gcl-2.6.12/o/alloc.c
+@@ -526,16 +526,9 @@ exhausted_report(enum type t,struct type
+
+ available_pages+=resv_pages;
+ resv_pages=0;
+- vs_push(type_name(t));
+- vs_push(make_fixnum(tm->tm_npage));
+- CEerror("The storage for ~A is exhausted.~%\
+-Currently, ~D pages are allocated.~% \
+-Use ALLOCATE to expand the space.",
+- "Continues execution.",
+- 2, vs_top[-2], vs_top[-1], Cnil, Cnil);
+-
+- vs_popp;
+- vs_popp;
++ CEerror("Continues execution.",
++ "The storage for ~A is exhausted. ~D pages allocated. Use ALLOCATE to expand the space.",
++ 2, type_name(t), make_fixnum(tm->tm_npage));
+
+ call_after_gbc_hook(t);
+
+--- gcl-2.6.12.orig/o/array.c
++++ gcl-2.6.12/o/array.c
+@@ -211,14 +211,18 @@ DEFUN_NEW("ASET1", object, fSaset1, SI,
+ break;
+ case aet_bit:
+ i += BV_OFFSET(x);
+- AGAIN_BIT:
+ ASSURE_TYPE(val,t_fixnum);
+- {int v = Mfix(val);
+- if (v == 0) CLEAR_BITREF(x,i);
+- else if (v == 1) SET_BITREF(x,i);
+- else {val= fSincorrect_type(val,sLbit);
+- goto AGAIN_BIT;}
+- break;}
++ switch (Mfix(val)) {
++ case 0:
++ CLEAR_BITREF(x,i);
++ break;
++ case 1:
++ SET_BITREF(x,i);
++ break;
++ default:
++ TYPE_ERROR(val,sLbit);
++ }
++ break;
+ case aet_fix:
+ ASSURE_TYPE(val,t_fixnum);
+ (x->fixa.fixa_self[i]) = Mfix(val);
+--- gcl-2.6.12.orig/o/utils.c
++++ gcl-2.6.12/o/utils.c
+@@ -169,20 +169,6 @@ Ifuncall_n(object fun,int n,...) {
+ /* return res; */
+ /* } */
+
+-object
+-Icheck_one_type(object x, enum type t)
+-{ if (x->d.t != t)
+- { return CEerror("Expected a ~a ","Supply right type",1,type_name(t),Cnil,Cnil,Cnil);
+- }
+- return x;
+-}
+-
+-
+-object
+-fSincorrect_type(object val, object type)
+-{ return CEerror("Got ~a,Expected a ~a","Supply a new one",1,val,type,Cnil,Cnil);
+-}
+-
+ /* static void */
+ /* Ineed_in_image(object (*foo) (/\* ??? *\/)) */
+ /* {;} */
diff --git a/Version_2_6_13pre81.patch b/Version_2_6_13pre81.patch
new file mode 100644
index 0000000..63f2a28
--- /dev/null
+++ b/Version_2_6_13pre81.patch
@@ -0,0 +1,71 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl (2.6.12-84) unstable; urgency=medium
+ .
+ * Version_2_6_13pre80
+Author: Camm Maguire <camm(a)debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: 2019-03-28
+
+--- gcl-2.6.12.orig/o/alloc.c
++++ gcl-2.6.12/o/alloc.c
+@@ -329,7 +329,7 @@ empty_relblock(void) {
+ void
+ setup_rb(bool preserve_rb_pointerp) {
+
+- int lowp=new_rb_start!=rb_start || rb_high();
++ int lowp=rb_high();
+
+ update_pool(2*(nrbpage-page(rb_size())));
+ rb_start=new_rb_start;
+@@ -349,10 +349,13 @@ resize_hole(ufixnum hp,enum type tp,bool
+ char *start=rb_begin(),*new_start=heap_end+hp*PAGESIZE;
+ ufixnum size=rb_pointer-start;
+
+- if (!in_placep &&
+- ((new_start<=start && start<new_start+size) || (new_start<start+size && start+size<=new_start+size))) {
++ if (!in_placep && (rb_high() ?
++ new_start+size>rb_end :
++ new_start+(nrbpage<<PAGEWIDTH)<start+size
++ /* 0 (20190401 never reached)*/
++ )) {
+ if (sSAnotify_gbcA->s.s_dbind != Cnil)
+- emsg("Toggling relblock when resizing hole to %lu\n",hp);
++ emsg("[GC Toggling relblock when resizing hole to %lu]\n",hp);
+ tm_table[t_relocatable].tm_adjgbccnt--;
+ GBC(t_relocatable);
+ return resize_hole(hp,tp,in_placep);
+@@ -389,7 +392,7 @@ alloc_page(long n) {
+ d=(available_pages/3)<d ? (available_pages/3) : d;
+
+ if (sSAnotify_gbcA && sSAnotify_gbcA->s.s_dbind != Cnil)
+- emsg("Hole overrun\n");
++ emsg("[GC Hole overrun]\n");
+
+ resize_hole(d+nn,t_relocatable,0);
+
+@@ -852,7 +855,7 @@ add_pages(struct typemanager *tm,fixnum
+
+ if (rb_high() && m>((rb_start-heap_end)>>PAGEWIDTH)) {
+ if (sSAnotify_gbcA->s.s_dbind != Cnil)
+- emsg("Moving relblock low before expanding relblock pages\n");
++ emsg("[GC Moving relblock low before expanding relblock pages]\n");
+ tm_table[t_relocatable].tm_adjgbccnt--;
+ GBC(t_relocatable);
+ }
diff --git a/Version_2_6_13pre82.patch b/Version_2_6_13pre82.patch
new file mode 100644
index 0000000..17a9f6f
--- /dev/null
+++ b/Version_2_6_13pre82.patch
@@ -0,0 +1,40 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl (2.6.12-85) unstable; urgency=medium
+ .
+ * Version_2_6_13pre81
+Author: Camm Maguire <camm(a)debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: 2019-03-28
+
+--- gcl-2.6.12.orig/o/alloc.c
++++ gcl-2.6.12/o/alloc.c
+@@ -349,9 +349,10 @@ resize_hole(ufixnum hp,enum type tp,bool
+ char *start=rb_begin(),*new_start=heap_end+hp*PAGESIZE;
+ ufixnum size=rb_pointer-start;
+
++#define OVERLAP(c_,t_,s_) ((t_)<(c_)+(s_) && (c_)<(t_)+(s_))
+ if (!in_placep && (rb_high() ?
+- new_start+size>rb_end :
+- new_start+(nrbpage<<PAGEWIDTH)<start+size
++ OVERLAP(start,new_start,size) :
++ OVERLAP(start,new_start+(nrbpage<<PAGEWIDTH),size)
+ /* 0 (20190401 never reached)*/
+ )) {
+ if (sSAnotify_gbcA->s.s_dbind != Cnil)
diff --git a/Version_2_6_13pre83.patch b/Version_2_6_13pre83.patch
new file mode 100644
index 0000000..585f44f
--- /dev/null
+++ b/Version_2_6_13pre83.patch
@@ -0,0 +1,446 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl (2.6.12-85) unstable; urgency=medium
+ .
+ * Version_2_6_13pre82
+Author: Camm Maguire <camm(a)debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: 2019-04-02
+
+--- gcl-2.6.12.orig/configure
++++ gcl-2.6.12/configure
+@@ -6375,7 +6375,7 @@ main ()
+ FILE *f;
+ if (!(f=fopen("conftest1","w")))
+ return -1;
+- fprintf(f,"%u",sbrk(0));
++ fprintf(f,"%p",sbrk(0));
+
+ ;
+ return 0;
+@@ -6591,7 +6591,7 @@ else
+ #endif
+ if (!(f=fopen("conftest1","w")))
+ return -1;
+- fprintf(f,"%u",sbrk(0));
++ fprintf(f,"%p",sbrk(0));
+ return 0;
+ }
+
+@@ -6625,7 +6625,7 @@ else
+ #include "h/unrandomize.h"
+ #endif
+ if (!(f=fopen("conftest1","w"))) return -1;
+- fprintf(f,"%u",sbrk(0));
++ fprintf(f,"%p",sbrk(0));
+ return 0;
+ }
+
+@@ -6653,8 +6653,9 @@ $as_echo "no" >&6; }
+ as_fn_error $? "exiting" "$LINENO" 5
+ fi
+ fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CSTACK_ADDRESS" >&5
+-$as_echo_n "checking CSTACK_ADDRESS... " >&6; }
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CSTACK_DIRECTION" >&5
++$as_echo_n "checking CSTACK_DIRECTION... " >&6; }
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+@@ -6666,14 +6667,61 @@ else
+
+ #include <stdio.h>
+ #include <stdlib.h>
+- void *
+- foo() {
++
++ unsigned long w;
++
++ void
++ foo(void) {
+ int i;
+- return (void *)&i;
++ w=(unsigned long)&i;
+ }
+
+ int
+ main(int argc,char **argv,char **envp) {
++ void *b;
++ FILE *fp = fopen("conftest1","w");
++ #ifdef CAN_UNRANDOMIZE_SBRK
++ #include "h/unrandomize.h"
++ #endif
++ foo();
++ fprintf(fp,"%d",((unsigned long) &b) > w ? -1 : 1);
++ fclose(fp);
++ return 0;
++ }
++_ACEOF
++if ac_fn_c_try_run "$LINENO"; then :
++ cstack_direction=`cat conftest1`
++else
++ cstack_direction=0
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++ conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++
++
++cat >>confdefs.h <<_ACEOF
++#define CSTACK_DIRECTION $cstack_direction
++_ACEOF
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cstack_direction" >&5
++$as_echo "$cstack_direction" >&6; }
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CSTACK_ADDRESS" >&5
++$as_echo_n "checking CSTACK_ADDRESS... " >&6; }
++if test "$cross_compiling" = yes; then :
++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "cannot run test program while cross compiling
++See \`config.log' for more details" "$LINENO" 5; }
++else
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++ #include <stdio.h>
++ #include <stdlib.h>
++ int
++ main(int argc,char **argv,char **envp) {
+ void *v ;
+ FILE *fp = fopen("conftest1","w");
+ unsigned long i,j;
+@@ -6685,13 +6733,13 @@ else
+ j<<=$PAGEWIDTH;
+ j<<=16;
+ i=(unsigned long)&v;
+- if (foo()>i) i-=j;
+- j--;
+- i+=j;
+- i&=~j;
+- fprintf(fp,"0x%lx",i-1);
+- fclose(fp);
+- return 0;
++ if ($cstack_direction==1) i-=j;
++ j--;
++ i+=j;
++ i&=~j;
++ fprintf(fp,"0x%lx",i-1);
++ fclose(fp);
++ return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_run "$LINENO"; then :
+@@ -6724,12 +6772,6 @@ else
+
+ #include <stdio.h>
+ #include <stdlib.h>
+- void *
+- foo() {
+- int i;
+- return (void *)&i;
+- }
+-
+ int
+ main(int argc,char **argv,char **envp) {
+ void *v ;
+@@ -6743,14 +6785,14 @@ else
+ j<<=$PAGEWIDTH;
+ j<<=16;
+ i=(unsigned long)&v;
+- if (foo()>i) i-=j;
+- j--;
+- i+=j;
+- i&=~j;
+- for (j=0;(i>>j)!=(i>>(sizeof(long)*8-1));j++);
+- fprintf(fp,"%d",j);
+- fclose(fp);
+- return 0;
++ if ($cstack_direction==1) i-=j;
++ j--;
++ i+=j;
++ i&=~j;
++ for (j=0;(i>>j)!=(i>>(sizeof(long)*8-1));j++);
++ fprintf(fp,"%ld",j);
++ fclose(fp);
++ return 0;
+ }
+ _ACEOF
+ if ac_fn_c_try_run "$LINENO"; then :
+@@ -6854,54 +6896,6 @@ _ACEOF
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cstack_alignment" >&5
+ $as_echo "$cstack_alignment" >&6; }
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking CSTACK_DIRECTION" >&5
+-$as_echo_n "checking CSTACK_DIRECTION... " >&6; }
+-if test "$cross_compiling" = yes; then :
+- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-as_fn_error $? "cannot run test program while cross compiling
+-See \`config.log' for more details" "$LINENO" 5; }
+-else
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-
+- #include <stdio.h>
+- #include <stdlib.h>
+- void *
+- foo(void) {
+- int i;
+- return (void *)&i;
+- }
+-
+- int
+- main(int argc,char **argv,char **envp) {
+- char *b;
+- FILE *fp = fopen("conftest1","w");
+- #ifdef CAN_UNRANDOMIZE_SBRK
+- #include "h/unrandomize.h"
+- #endif
+- fprintf(fp,"%d",((long) &b) > ((long) foo()) ? -1 : 1);
+- fclose(fp);
+- return 0;
+- }
+-_ACEOF
+-if ac_fn_c_try_run "$LINENO"; then :
+- cstack_direction=`cat conftest1`
+-else
+- cstack_direction=0
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+- conftest.$ac_objext conftest.beam conftest.$ac_ext
+-fi
+-
+-
+-cat >>confdefs.h <<_ACEOF
+-#define CSTACK_DIRECTION $cstack_direction
+-_ACEOF
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cstack_direction" >&5
+-$as_echo "$cstack_direction" >&6; }
+-
+ # Check whether --enable-immfix was given.
+ if test "${enable_immfix+set}" = set; then :
+ enableval=$enable_immfix;
+@@ -7050,8 +7044,7 @@ int
+ main ()
+ {
+
+- void *v;
+- unsigned long i,j,k,l,m;
++ unsigned long i,j,k,l;
+ FILE *fp = fopen("conftest1","w");
+
+ for (i=2,k=1;i;k=i,i<<=1);
+--- gcl-2.6.12.orig/configure.in
++++ gcl-2.6.12/configure.in
+@@ -1049,7 +1049,7 @@ AC_RUN_IFELSE(
+ FILE *f;
+ if (!(f=fopen("conftest1","w")))
+ return -1;
+- fprintf(f,"%u",sbrk(0));
++ fprintf(f,"%p",sbrk(0));
+ ]])],
+ [HAVE_SBRK=1;AC_MSG_RESULT([yes])],
+ AC_MSG_RESULT([no: WARNING you must be able to emulate sbrk: as on mingw or macosx]),
+@@ -1145,7 +1145,7 @@ if test "$HAVE_SBRK" = "1" ; then
+ #endif
+ if (!(f=fopen("conftest1","w")))
+ return -1;
+- fprintf(f,"%u",sbrk(0));
++ fprintf(f,"%p",sbrk(0));
+ return 0;
+ }
+ ]])],[SBRK=`cat conftest1`])
+@@ -1165,7 +1165,7 @@ if test "$HAVE_SBRK" = "1" ; then
+ #include "h/unrandomize.h"
+ #endif
+ if (!(f=fopen("conftest1","w"))) return -1;
+- fprintf(f,"%u",sbrk(0));
++ fprintf(f,"%p",sbrk(0));
+ return 0;
+ }
+ ]])],[SBRK1=`cat conftest1`])
+@@ -1183,20 +1183,47 @@ if test "$HAVE_SBRK" = "1" ; then
+ AC_MSG_ERROR([exiting])
+ fi
+ fi
+-AC_MSG_CHECKING(CSTACK_ADDRESS)
++
++AC_MSG_CHECKING(CSTACK_DIRECTION)
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE(
+ [[
+ #include <stdio.h>
+ #include <stdlib.h>
+- void *
+- foo() {
++
++ unsigned long w;
++
++ void
++ foo(void) {
+ int i;
+- return (void *)&i;
++ w=(unsigned long)&i;
+ }
+
+ int
+ main(int argc,char **argv,char **envp) {
++ void *b;
++ FILE *fp = fopen("conftest1","w");
++ #ifdef CAN_UNRANDOMIZE_SBRK
++ #include "h/unrandomize.h"
++ #endif
++ foo();
++ fprintf(fp,"%d",((unsigned long) &b) > w ? -1 : 1);
++ fclose(fp);
++ return 0;
++ }]])],
++ [cstack_direction=`cat conftest1`],[cstack_direction=0])
++AC_DEFINE_UNQUOTED(CSTACK_DIRECTION,$cstack_direction,[whether C stack grows up or down])
++AC_MSG_RESULT($cstack_direction)
++
++
++AC_MSG_CHECKING(CSTACK_ADDRESS)
++AC_RUN_IFELSE(
++ [AC_LANG_SOURCE(
++ [[
++ #include <stdio.h>
++ #include <stdlib.h>
++ int
++ main(int argc,char **argv,char **envp) {
+ void *v ;
+ FILE *fp = fopen("conftest1","w");
+ unsigned long i,j;
+@@ -1208,13 +1235,13 @@ AC_RUN_IFELSE(
+ j<<=$PAGEWIDTH;
+ j<<=16;
+ i=(unsigned long)&v;
+- if (foo()>i) i-=j;
+- j--;
+- i+=j;
+- i&=~j;
+- fprintf(fp,"0x%lx",i-1);
+- fclose(fp);
+- return 0;
++ if ($cstack_direction==1) i-=j;
++ j--;
++ i+=j;
++ i&=~j;
++ fprintf(fp,"0x%lx",i-1);
++ fclose(fp);
++ return 0;
+ }]])],
+ [cstack_address=`cat conftest1`],[cstack_address=0])
+ AC_DEFINE_UNQUOTED(CSTACK_ADDRESS,$cstack_address,[starting C stack address])
+@@ -1226,12 +1253,6 @@ AC_RUN_IFELSE(
+ [[
+ #include <stdio.h>
+ #include <stdlib.h>
+- void *
+- foo() {
+- int i;
+- return (void *)&i;
+- }
+-
+ int
+ main(int argc,char **argv,char **envp) {
+ void *v ;
+@@ -1245,14 +1266,14 @@ AC_RUN_IFELSE(
+ j<<=$PAGEWIDTH;
+ j<<=16;
+ i=(unsigned long)&v;
+- if (foo()>i) i-=j;
+- j--;
+- i+=j;
+- i&=~j;
+- for (j=0;(i>>j)!=(i>>(sizeof(long)*8-1));j++);
+- fprintf(fp,"%d",j);
+- fclose(fp);
+- return 0;
++ if ($cstack_direction==1) i-=j;
++ j--;
++ i+=j;
++ i&=~j;
++ for (j=0;(i>>j)!=(i>>(sizeof(long)*8-1));j++);
++ fprintf(fp,"%ld",j);
++ fclose(fp);
++ return 0;
+ }]])],
+ [cstack_bits=`cat conftest1`],[cstack_bits=0])
+ AC_DEFINE_UNQUOTED(CSTACK_BITS,$cstack_bits,[log starting C stack address])
+@@ -1302,33 +1323,6 @@ AC_RUN_IFELSE(
+ AC_DEFINE_UNQUOTED(CSTACK_ALIGNMENT,$cstack_alignment,[C stack alignment])
+ AC_MSG_RESULT($cstack_alignment)
+
+-AC_MSG_CHECKING(CSTACK_DIRECTION)
+-AC_RUN_IFELSE(
+- [AC_LANG_SOURCE(
+- [[
+- #include <stdio.h>
+- #include <stdlib.h>
+- void *
+- foo(void) {
+- int i;
+- return (void *)&i;
+- }
+-
+- int
+- main(int argc,char **argv,char **envp) {
+- char *b;
+- FILE *fp = fopen("conftest1","w");
+- #ifdef CAN_UNRANDOMIZE_SBRK
+- #include "h/unrandomize.h"
+- #endif
+- fprintf(fp,"%d",((long) &b) > ((long) foo()) ? -1 : 1);
+- fclose(fp);
+- return 0;
+- }]])],
+- [cstack_direction=`cat conftest1`],[cstack_direction=0])
+-AC_DEFINE_UNQUOTED(CSTACK_DIRECTION,$cstack_direction,[whether C stack grows up or down])
+-AC_MSG_RESULT($cstack_direction)
+-
+ AC_ARG_ENABLE([immfix],[ --enable-immfix will enable an immediate fixnum table above the C stack])
+
+ AC_ARG_ENABLE([fastimmfix],[ --enable-fastimmfix=XXXX will reject low immediate fixnums unless 2^XXX can be attained],,[enable_fastimmfix=64])
+@@ -1429,8 +1423,7 @@ AC_RUN_IFELSE(
+ #include <stdio.h>
+ ]],
+ [[
+- void *v;
+- unsigned long i,j,k,l,m;
++ unsigned long i,j,k,l;
+ FILE *fp = fopen("conftest1","w");
+
+ for (i=2,k=1;i;k=i,i<<=1);
+--- gcl-2.6.12.orig/h/unrandomize.h
++++ gcl-2.6.12/h/unrandomize.h
+@@ -14,7 +14,7 @@
+ long pers = personality(READ_IMPLIES_EXEC|personality(0xffffffffUL));
+ long flag = ADDR_NO_RANDOMIZE;
+
+- if (sizeof(long)==4) flag|=ADDR_LIMIT_3GB|ADDR_COMPAT_LAYOUT;
++ if (sizeof(long)==4) flag|=ADDR_LIMIT_3GB/* |ADDR_COMPAT_LAYOUT */;
+
+ if (pers==-1) {printf("personality failure %d\n",errno);exit(-1);}
+ if ((pers & flag)!=flag && !getenv("GCL_UNRANDOMIZE")) {
diff --git a/Version_2_6_13pre84.patch b/Version_2_6_13pre84.patch
new file mode 100644
index 0000000..ce8c974
--- /dev/null
+++ b/Version_2_6_13pre84.patch
@@ -0,0 +1,45 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl (2.6.12-86) unstable; urgency=medium
+ .
+ * Version_2_6_13pre83
+Author: Camm Maguire <camm(a)debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: 2019-04-06
+
+--- gcl-2.6.12.orig/configure
++++ gcl-2.6.12/configure
+@@ -4121,6 +4121,7 @@ $as_echo_n "checking working gprof... "
+ powerpc*) if test "$host_cpu" = "powerpc64le" ; then enableval="no"; fi;;
+ s390*) enableval="no";;#mcount smashes float args in make_shortfloat 20180313
+ sh4*) enableval="no";;
++ m68k*) enableval="no";;
+ ia64*) enableval="no";;
+ hppa*) enableval="no";;
+ # arm*) if echo $canonical |grep -q hf$; then enableval="no"; fi;;#FIXME CALL and JUMP24 veneers needed for thumb 20190201 #FIXME mcount compiled as a 24/22 bit reloc even with -mlong-calls, marginally accessible
+--- gcl-2.6.12.orig/configure.in
++++ gcl-2.6.12/configure.in
+@@ -334,6 +334,7 @@ AC_ARG_ENABLE([gprof],[ --enable-gprof
+ powerpc*) if test "$host_cpu" = "powerpc64le" ; then enableval="no"; fi;;
+ s390*) enableval="no";;#mcount smashes float args in make_shortfloat 20180313
+ sh4*) enableval="no";;
++ m68k*) enableval="no";;
+ ia64*) enableval="no";;
+ hppa*) enableval="no";;
+ # arm*) if echo $canonical |grep -q hf$; then enableval="no"; fi;;#FIXME CALL and JUMP24 veneers needed for thumb 20190201 #FIXME mcount compiled as a 24/22 bit reloc even with -mlong-calls, marginally accessible
diff --git a/gcl-2.6.11-asm-signal-h.patch b/gcl-2.6.11-asm-signal-h.patch
index a436811..a06bc94 100644
--- a/gcl-2.6.11-asm-signal-h.patch
+++ b/gcl-2.6.11-asm-signal-h.patch
@@ -1,6 +1,6 @@
---- configure.in.orig 2019-02-13 16:09:16.507200455 -0700
-+++ configure.in 2019-02-13 16:20:34.212035064 -0700
-@@ -1859,7 +1859,7 @@ AC_CHECK_HEADERS(dis-asm.h,
+--- configure.in.orig 2019-04-17 20:22:14.506910168 -0600
++++ configure.in 2019-04-17 20:28:21.673843068 -0600
+@@ -1852,7 +1852,7 @@ AC_CHECK_HEADERS(dis-asm.h,
#if test $use = "386-linux" ; then
AC_CHECK_HEADERS(asm/sigcontext.h)
@@ -9,7 +9,7 @@
AC_MSG_CHECKING([for sigcontext])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
-@@ -1881,6 +1881,7 @@ AC_COMPILE_IFELSE(
+@@ -1874,6 +1874,7 @@ AC_COMPILE_IFELSE(
#include <asm/sigcontext.h>
#endif
#ifdef HAVE_ASM_SIGNAL_H
@@ -17,9 +17,9 @@
#include <asm/signal.h>
#endif
]],
---- configure.orig 2019-02-13 16:18:07.561590362 -0700
-+++ configure 2019-02-13 16:20:39.690976951 -0700
-@@ -9187,7 +9187,8 @@ done
+--- configure.orig 2019-04-17 20:22:22.321887572 -0600
++++ configure 2019-04-17 20:28:21.676843059 -0600
+@@ -9180,7 +9180,8 @@ done
for ac_header in asm/signal.h
do :
@@ -29,7 +29,7 @@
if test "x$ac_cv_header_asm_signal_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_ASM_SIGNAL_H 1
-@@ -9233,6 +9234,7 @@ $as_echo_n "checking for sigcontext... "
+@@ -9226,6 +9227,7 @@ $as_echo_n "checking for sigcontext... "
#include <asm/sigcontext.h>
#endif
#ifdef HAVE_ASM_SIGNAL_H
diff --git a/gcl-2.6.11-extension.patch b/gcl-2.6.11-extension.patch
index 17bb516..05516f8 100644
--- a/gcl-2.6.11-extension.patch
+++ b/gcl-2.6.11-extension.patch
@@ -1,5 +1,5 @@
---- configure.in.orig 2019-02-13 15:56:58.476821549 -0700
-+++ configure.in 2019-02-13 16:01:50.504805986 -0700
+--- configure.in.orig 2019-04-17 20:13:36.617384342 -0600
++++ configure.in 2019-04-17 20:17:42.346687693 -0600
@@ -177,6 +177,7 @@ if test "$LDFLAGS" = "" ; then
LDFLAGS=" "
fi
@@ -8,7 +8,7 @@
AC_PROG_CC
AC_PROG_CPP
AC_SUBST(CC)
-@@ -1632,7 +1633,6 @@ AC_MSG_CHECKING([for isnormal])
+@@ -1626,7 +1627,6 @@ AC_MSG_CHECKING([for isnormal])
AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[
@@ -16,7 +16,7 @@
#include <math.h>
]],
[[
-@@ -1656,7 +1656,6 @@ AC_MSG_CHECKING([for isfinite])
+@@ -1650,7 +1650,6 @@ AC_MSG_CHECKING([for isfinite])
AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[
@@ -24,8 +24,8 @@
#include <math.h>
]],
[[
---- configure.orig 2019-02-13 15:59:06.010504583 -0700
-+++ configure 2019-02-13 16:03:13.014953997 -0700
+--- configure.orig 2019-04-17 20:13:36.634384294 -0600
++++ configure 2019-04-17 20:17:42.351687679 -0600
@@ -674,10 +674,10 @@ GMPDIR
GMP
MAKEINFO
@@ -1152,7 +1152,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
else
-@@ -4261,267 +5258,7 @@ fi
+@@ -4262,267 +5259,7 @@ fi
case $use in
*macosx)
@@ -1421,7 +1421,7 @@
do :
ac_fn_c_check_header_mongrel "$LINENO" "malloc/malloc.h" "ac_cv_header_malloc_malloc_h" "$ac_includes_default"
if test "x$ac_cv_header_malloc_malloc_h" = xyes; then :
-@@ -7692,7 +8429,6 @@ else
+@@ -7686,7 +8423,6 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -1429,7 +1429,7 @@
#include <math.h>
int
-@@ -7766,7 +8502,6 @@ else
+@@ -7760,7 +8496,6 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -1437,8 +1437,8 @@
#include <math.h>
int
---- h/gclincl.h.in.orig 2019-02-13 15:21:18.827321782 -0700
-+++ h/gclincl.h.in 2019-02-13 16:03:03.143055927 -0700
+--- h/gclincl.h.in.orig 2019-04-17 20:09:13.429128683 -0600
++++ h/gclincl.h.in 2019-04-17 20:17:42.352687676 -0600
@@ -377,6 +377,27 @@
/* protect cdr from immfix and speed up type processing */
#undef USE_SAFE_CDR
@@ -1484,8 +1484,8 @@
/* long gmp3 limbs */
#undef __LONG_LONG_LIMB
---- h/include.h.orig 2019-02-13 15:18:32.210984973 -0700
-+++ h/include.h 2019-02-14 08:22:56.442137877 -0700
+--- h/include.h.orig 2019-04-17 20:06:32.780581606 -0600
++++ h/include.h 2019-04-17 20:17:42.353687673 -0600
@@ -43,7 +43,6 @@ Foundation, 675 Mass Ave, Cambridge, MA
#ifdef IN_NUM_CO
diff --git a/gcl-2.6.11-infrastructure.patch b/gcl-2.6.11-infrastructure.patch
index 25423e2..3ea395c 100644
--- a/gcl-2.6.11-infrastructure.patch
+++ b/gcl-2.6.11-infrastructure.patch
@@ -1,12 +1,12 @@
---- configure.in.orig 2019-02-13 15:22:28.711630482 -0700
-+++ configure.in 2019-02-13 15:56:58.476821549 -0700
+--- configure.in.orig 2019-04-17 20:11:28.217747726 -0600
++++ configure.in 2019-04-17 20:13:36.617384342 -0600
@@ -1,4 +1,4 @@
-AC_INIT()
+AC_INIT
AC_PREREQ([2.61])
AC_CONFIG_HEADER(h/gclincl.h)
-@@ -454,9 +454,6 @@ fi
+@@ -455,9 +455,6 @@ fi
AC_MSG_CHECKING([system version (for dynamic loading)])
if machine=`uname -m` ; then true; else machine=unknown ; fi
@@ -16,7 +16,7 @@
if test -f /usr/lib/NextStep/software_version; then
system=NEXTSTEP-`${AWK} '/3/,/3/' /usr/lib/NextStep/software_version`
else
-@@ -531,6 +528,9 @@ AC_CHECK_HEADERS(
+@@ -532,6 +529,9 @@ AC_CHECK_HEADERS(
AC_DEFINE_UNQUOTED(HZ,$hz,[time system constant])])])
AC_MSG_RESULT($hz)])])
@@ -26,7 +26,7 @@
rm -f makedefsafter
-@@ -612,22 +612,22 @@ $CC -c foo.c -o foo.o
+@@ -613,22 +613,22 @@ $CC -c foo.c -o foo.o
if nm foo.o |grep " U " | grep "_cos" >/dev/null || nm foo.o |grep " U " | grep " _getc" >/dev/null ; then
LEADING_UNDERSCORE=1
AC_DEFINE(LEADING_UNDERSCORE,1,[symbol name mangling convention])
@@ -54,7 +54,7 @@
GNU_LD=
fi
rm -f foo.c foo.o foo map
-@@ -756,7 +756,7 @@ if test "$enable_statsysbfd" = "yes" ||
+@@ -757,7 +757,7 @@ if test "$enable_statsysbfd" = "yes" ||
# BFD boolean syntax
#
@@ -63,7 +63,7 @@
AC_RUN_IFELSE(
[AC_LANG_PROGRAM(
[[
-@@ -901,7 +901,7 @@ esac
+@@ -902,7 +902,7 @@ esac
# mechanism, in the PAGE macro. This offset is subtracted from
# addresses, in calculating a page for an address in the heap.
@@ -72,7 +72,7 @@
#### Memory areas and alignment
-@@ -1694,7 +1694,6 @@ AC_RUN_IFELSE(
+@@ -1688,7 +1688,6 @@ AC_RUN_IFELSE(
# To get around this problem, check for both libraries together
# if -lsocket doesn't work by itself.
#--------------------------------------------------------------------
@@ -80,7 +80,7 @@
tcl_checkBoth=0
AC_CHECK_FUNC(connect, tcl_checkSocket=0, tcl_checkSocket=1)
if test "$tcl_checkSocket" = 1; then
-@@ -1734,7 +1733,7 @@ AC_SUBST(RL_LIB)
+@@ -1728,7 +1727,7 @@ AC_SUBST(RL_LIB)
# sockets
@@ -89,7 +89,7 @@
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[
-@@ -1765,7 +1764,7 @@ AC_LINK_IFELSE(
+@@ -1759,7 +1758,7 @@ AC_LINK_IFELSE(
[AC_MSG_RESULT([no])])
@@ -98,7 +98,7 @@
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
-@@ -1817,7 +1816,7 @@ case $system in
+@@ -1811,7 +1810,7 @@ case $system in
esac
@@ -107,7 +107,7 @@
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
-@@ -1830,7 +1829,7 @@ AC_COMPILE_IFELSE(
+@@ -1824,7 +1823,7 @@ AC_COMPILE_IFELSE(
AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
@@ -116,7 +116,7 @@
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
-@@ -1843,7 +1842,7 @@ AC_COMPILE_IFELSE(
+@@ -1837,7 +1836,7 @@ AC_COMPILE_IFELSE(
[AC_MSG_RESULT([no])])
@@ -125,7 +125,7 @@
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
-@@ -1867,7 +1866,7 @@ AC_CHECK_HEADERS(dis-asm.h,
+@@ -1861,7 +1860,7 @@ AC_CHECK_HEADERS(dis-asm.h,
#if test $use = "386-linux" ; then
AC_CHECK_HEADERS(asm/sigcontext.h)
AC_CHECK_HEADERS(asm/signal.h)
@@ -134,7 +134,7 @@
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
-@@ -1879,7 +1878,7 @@ AC_COMPILE_IFELSE(
+@@ -1873,7 +1872,7 @@ AC_COMPILE_IFELSE(
[AC_DEFINE(SIGNAL_H_HAS_SIGCONTEXT,1,[have sigcontext of signal.h])
AC_MSG_RESULT([sigcontext of signal.h])],
[AC_MSG_RESULT([sigcontext NOT of signal.h])
@@ -143,7 +143,7 @@
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
-@@ -2133,7 +2132,8 @@ AC_SUBST(GNU_LD)
+@@ -2127,7 +2126,8 @@ AC_SUBST(GNU_LD)
if test -f h/$use.defs ; then
AC_SUBST(use)
@@ -153,8 +153,8 @@
echo makedefc
cat makedefc
---- configure.orig 2019-02-13 15:22:28.711630482 -0700
-+++ configure 2019-02-13 15:59:06.010504583 -0700
+--- configure.orig 2019-04-17 20:11:28.217747726 -0600
++++ configure 2019-04-17 20:13:36.634384294 -0600
@@ -672,10 +672,10 @@ X_LIBS
XMKMF
GMPDIR
@@ -216,7 +216,7 @@
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
-@@ -4248,51 +4236,6 @@ fi
+@@ -4249,51 +4237,6 @@ fi
$as_echo_n "checking system version (for dynamic loading)... " >&6; }
if machine=`uname -m` ; then true; else machine=unknown ; fi
@@ -268,7 +268,7 @@
if test -f /usr/lib/NextStep/software_version; then
system=NEXTSTEP-`${AWK} '/3/,/3/' /usr/lib/NextStep/software_version`
else
-@@ -4749,6 +4692,117 @@ fi
+@@ -4750,6 +4693,117 @@ fi
done
@@ -386,7 +386,7 @@
rm -f makedefsafter
-@@ -4905,29 +4959,29 @@ if nm foo.o |grep " U " | grep "_cos" >/
+@@ -4906,29 +4960,29 @@ if nm foo.o |grep " U " | grep "_cos" >/
$as_echo "#define LEADING_UNDERSCORE 1" >>confdefs.h
@@ -426,7 +426,7 @@
GNU_LD=
fi
rm -f foo.c foo.o foo map
-@@ -5507,8 +5561,8 @@ $as_echo "#define HAVE_LIBBFD 1" >>confd
+@@ -5508,8 +5562,8 @@ $as_echo "#define HAVE_LIBBFD 1" >>confd
# BFD boolean syntax
#
@@ -437,7 +437,7 @@
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-@@ -7792,8 +7846,6 @@ fi
+@@ -7786,8 +7840,6 @@ fi
# To get around this problem, check for both libraries together
# if -lsocket doesn't work by itself.
#--------------------------------------------------------------------
@@ -446,7 +446,7 @@
tcl_checkBoth=0
ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
if test "x$ac_cv_func_connect" = xyes; then :
-@@ -8015,8 +8067,8 @@ fi
+@@ -8009,8 +8061,8 @@ fi
# sockets
@@ -457,7 +457,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -8063,8 +8115,8 @@ rm -f core conftest.err conftest.$ac_obj
+@@ -8057,8 +8109,8 @@ rm -f core conftest.err conftest.$ac_obj
conftest$ac_exeext conftest.$ac_ext
@@ -468,7 +468,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -8170,8 +8222,8 @@ $as_echo "O_NONBLOCK" >&6; }
+@@ -8164,8 +8216,8 @@ $as_echo "O_NONBLOCK" >&6; }
esac
@@ -479,7 +479,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -8199,8 +8251,8 @@ $as_echo "no" >&6; }
+@@ -8193,8 +8245,8 @@ $as_echo "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -490,7 +490,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -8229,8 +8281,8 @@ fi
+@@ -8223,8 +8275,8 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -501,7 +501,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -8415,8 +8467,8 @@ fi
+@@ -8409,8 +8461,8 @@ fi
done
@@ -512,7 +512,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -8441,8 +8493,8 @@ $as_echo "sigcontext of signal.h" >&6; }
+@@ -8435,8 +8487,8 @@ $as_echo "sigcontext of signal.h" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: sigcontext NOT of signal.h" >&5
$as_echo "sigcontext NOT of signal.h" >&6; }
@@ -523,7 +523,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -9078,7 +9130,7 @@ if test -f h/$use.defs ; then
+@@ -9072,7 +9124,7 @@ if test -f h/$use.defs ; then
ac_config_files="$ac_config_files makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp"
diff --git a/gcl-2.6.12-libselinux.patch b/gcl-2.6.12-libselinux.patch
new file mode 100644
index 0000000..ae947b5
--- /dev/null
+++ b/gcl-2.6.12-libselinux.patch
@@ -0,0 +1,191 @@
+--- ansi-tests/makefile.orig 2019-04-17 20:07:56.872344969 -0600
++++ ansi-tests/makefile 2019-05-05 15:05:15.330524584 -0600
+@@ -1,10 +1,10 @@
+ -include ../makedefs
+
+ test-unixport:
+- echo "(load \"gclload.lsp\")" | ../unixport/saved_ansi_gcl$(EXE) | tee test.out
++ echo "(load \"gclload.lsp\")" | setarch -R ../unixport/saved_ansi_gcl$(EXE) | tee test.out
+
+ test:
+- echo "(load \"gclload.lsp\")" | gcl | tee test.out
++ echo "(load \"gclload.lsp\")" | setarch -R gcl | tee test.out
+
+ clean:
+ rm -f test.out *.fasl *.o *.so *~ *.fn *.x86f *.fasl *.ufsl
+--- clcs/makefile.orig 2014-10-23 15:29:00.000000000 -0600
++++ clcs/makefile 2019-05-05 15:28:33.007845535 -0600
+@@ -8,11 +8,11 @@ FILES:=$(shell ls -1 gcl_clcs_*.lisp | s
+ all: $(addsuffix .c,$(FILES)) $(addsuffix .o,$(FILES))
+
+ saved_clcs_gcl: ../unixport/saved_pcl_gcl$(EXE)
+- echo '(load "package.lisp")(load "myload.lisp")(si::save-system "$@")' | $< $(<D)/
++ echo '(load "package.lisp")(load "myload.lisp")(si::save-system "$@")' | setarch -R $< $(<D)/
+
+ %.h %.data %.c : %.lisp saved_clcs_gcl
+ cp ../h/cmpinclude.h .
+- $(COMPILE_FILE) $<
++ setarch -R $(COMPILE_FILE) $<
+
+ %.o: %.c %.h %.data
+ $(CC) $(CFLAGS) -c $< -o $@
+@@ -27,10 +27,10 @@ sys-proclaim.lisp: $(addsuffix .fn,$(FIL
+ '(compiler::make-all-proclaims "*.fn")' | ../xbin/gcl
+
+ compile: ${LISP}
+- echo '(load "package.lisp")(load "loading.lisp")(jamie-load-clcs :compile)' | ${LISP}
++ echo '(load "package.lisp")(load "loading.lisp")(jamie-load-clcs :compile)' | setarch -R ${LISP}
+
+ saved_full_gcl: ${LISP}
+- echo '(load "package.lisp")(load "loading.lisp")(jamie-load-clcs :compiled)(system::save-system "saved_full_gcl")' | ${LISP}
++ echo '(load "package.lisp")(load "loading.lisp")(jamie-load-clcs :compiled)(system::save-system "saved_full_gcl")' | setarch -R ${LISP}
+
+ clean:
+ rm -f *.o *.fn saved_full_gcl$(EXE) saved_full_gcl cmpinclude.h *.c *.h *.data saved_clcs_gcl$(EXE)
+--- cmpnew/makefile.orig 2014-10-23 15:29:00.000000000 -0600
++++ cmpnew/makefile 2019-05-05 15:37:17.021442257 -0600
+@@ -19,7 +19,7 @@ LISP=$(PORTDIR)/saved_pre_gcl$(EXE)
+ COMPILE_FILE=$(LISP) $(PORTDIR) -system-p -c-file -data-file -h-file -compile
+
+ %.o: $(PORTDIR)/saved_pre_gcl$(EXE) %.lsp
+- $(COMPILE_FILE) $*
++ setarch -R $(COMPILE_FILE) $*
+
+ all: $(OBJS)
+
+@@ -32,16 +32,16 @@ fns: ../cmpnew/gcl_collectfn.o
+ $(MAKE) fns1 -e "FNS=`echo ${OBJS} | sed -e 's:\.o:\.fn:g'`"
+
+ gcl_collectfn.o:
+- $(PORTDIR)/saved_pre_gcl$(EXE) $(PORTDIR)/ -compile $*.lsp
++ setarch -R $(PORTDIR)/saved_pre_gcl$(EXE) $(PORTDIR)/ -compile $*.lsp
+
+ .lisp.o:
+ @ ../xbin/if-exists $(PORTDIR)/saved_pre_gcl$(EXE) \
+- "$(PORTDIR)/saved_pre_gcl$(EXE) $(PORTDIR)/ -compile $*.lisp "
++ "setarch -R $(PORTDIR)/saved_pre_gcl$(EXE) $(PORTDIR)/ -compile $*.lisp "
+
+ sys-proclaim.lisp: fns
+ echo '(in-package "COMPILER")' \
+ '(load "../cmpnew/gcl_collectfn")(load "../lsp/sys-proclaim.lisp")'\
+- '(compiler::make-all-proclaims "*.fn")' | ../xbin/gcl
++ '(compiler::make-all-proclaims "*.fn")' | setarch -R ../xbin/gcl
+
+
+ newfn:
+--- comp/makefile.orig 2014-10-23 15:29:00.000000000 -0600
++++ comp/makefile 2019-05-05 15:03:48.701750576 -0600
+@@ -4,16 +4,16 @@ LISP=../unixport/saved_kcl
+ LOAD='(load "sysdef.lsp")(make::make :bcomp :compile t)'
+
+ all:
+- echo ${LOAD} | ${LISP}
++ echo ${LOAD} | setarch -R ${LISP}
+
+
+ tests:
+ echo ${LOAD}'(load "try1")(load "../tests/all-tests.lsp")(in-package "BCOMP")(do-some-tests)' \
+- '(test-sloop)' | ${LISP}
++ '(test-sloop)' | setarch -R ${LISP}
+
+
+ test1:
+- echo '(load "../tests/try-comp")' | ${LISP}
++ echo '(load "../tests/try-comp")' | setarch -R ${LISP}
+
+
+ TFILES=src/makefile comp/makefile unixport/makefile o/makefile \
+--- gcl-tk/makefile.orig 2019-04-17 20:09:23.753099505 -0600
++++ gcl-tk/makefile 2019-05-05 15:04:24.918656093 -0600
+@@ -22,13 +22,13 @@ CFLAGS1=$(CFLAGS) -I../o -I../h ${TK_INC
+
+ all: gcltksrv tkl.o tinfo.o demos/gc-monitor.o gcltkaux
+ (cd demos ; \
+- echo '(load "../tkl.o")(TK::GET-AUTOLOADS (directory "*.lisp"))' | ../../unixport/$(FLISP))
++ echo '(load "../tkl.o")(TK::GET-AUTOLOADS (directory "*.lisp"))' | setarch -R ../../unixport/$(FLISP))
+
+ .lisp.o:
+- echo "(compile-file \"$*.lisp\" :c-file nil :c-debug nil)" | ../unixport/$(FLISP)
++ echo "(compile-file \"$*.lisp\" :c-file nil :c-debug nil)" | setarch -R ../unixport/$(FLISP)
+
+ .lsp.o:
+- echo "(compile-file \"$*.lsp\" :c-file nil :c-debug nil)" | ../unixport/$(FLISP)
++ echo "(compile-file \"$*.lsp\" :c-file nil :c-debug nil)" | setarch -R ../unixport/$(FLISP)
+
+
+
+--- lsp/makefile.orig 2019-04-17 20:07:52.522357209 -0600
++++ lsp/makefile 2019-05-05 15:04:10.663693281 -0600
+@@ -25,7 +25,7 @@ LISP=$(PORTDIR)/saved_pre_gcl$(EXE)
+ COMPILE_FILE=$(LISP) $(PORTDIR) -system-p -c-file -data-file -h-file -compile
+
+ %.o: $(PORTDIR)/saved_pre_gcl$(EXE) %.lsp
+- $(COMPILE_FILE) $*
++ setarch -R $(COMPILE_FILE) $*
+
+ all: $(OBJS) #$(RL_OBJS)
+
+--- makefile.orig 2019-04-17 20:09:35.392066608 -0600
++++ makefile 2019-05-05 15:46:12.196006447 -0600
+@@ -198,7 +198,7 @@ install1:
+ if gcc --version | grep -i mingw >/dev/null 2>&1 ; then if grep -i oncrpc makedefs >/dev/null 2>&1 ; then cp /mingw/bin/oncrpc.dll $(DESTDIR)$(INSTALL_LIB_DIR)/$(PORTDIR); fi ; fi
+ cd $(DESTDIR)$(INSTALL_LIB_DIR)/$(PORTDIR) && \
+ mv $(FLISP)$(EXE) temp$(EXE) && \
+- echo '(si::reset-sys-paths "$(INSTALL_LIB_DIR)/")(si::save-system "$(FLISP)$(EXE)")' | ./temp$(EXE) && \
++ echo '(si::reset-sys-paths "$(INSTALL_LIB_DIR)/")(si::save-system "$(FLISP)$(EXE)")' | setarch -R ./temp$(EXE) && \
+ rm -f temp$(EXE)
+ if [ -e "unixport/rsym$(EXE)" ] ; then cp unixport/rsym$(EXE) $(DESTDIR)$(INSTALL_LIB_DIR)/unixport/ ; fi
+ # ln $(SYMB) $(INSTALL_LIB_DIR)/$(PORTDIR)/$(FLISP)$(EXE) \
+--- pcl/makefile.orig 2019-04-17 20:06:19.779618194 -0600
++++ pcl/makefile 2019-05-05 15:20:43.440086273 -0600
+@@ -24,15 +24,15 @@ all: $(addsuffix .c,$(AFILES)) $(addsuff
+
+ saved_gcl_pcl: ../unixport/saved_gcl$(EXE)
+ cp ../h/cmpinclude.h .
+- echo $(SETUP) '(pcl::compile-pcl)' | $<
+- echo $(SETUP) '(pcl::load-pcl)(si::save-system "$@")' | $<
++ echo $(SETUP) '(pcl::compile-pcl)' | setarch -R $<
++ echo $(SETUP) '(pcl::load-pcl)(si::save-system "$@")' | setarch -R $<
+
+ $(addsuffix .c,$(AFILES)) $(addsuffix .data,$(AFILES))\
+ $(addsuffix .h,$(AFILES)) $(addsuffix .lsp,$(GFILES)): \
+ $(addsuffix .lisp,$(subst gcl_pcl_impl_low,impl/gcl/gcl_pcl_impl_low,$(FILES)))
+ rm -f *.o *gazonk*
+ cp ../h/cmpinclude.h .
+- echo ${SETUP} '(pcl::compile-pcl)' | ../unixport/saved_gcl$(EXE)
++ echo ${SETUP} '(pcl::compile-pcl)' | setarch -R ../unixport/saved_gcl$(EXE)
+ for i in gazonk* ; do \
+ j=$$(echo $$i | sed 's,\..*$$,,1');k="gazonk$$(echo $$j | cut -f3 -d\_)";\
+ l=$$(echo $$i | sed 's,^.*\.,,1');\
+@@ -57,10 +57,10 @@ remake-sys-files:
+ rm -f *.o *gazonk*
+ cp ../h/cmpinclude.h .
+ echo ${SETUP} '(load "../cmpnew/gcl_collectfn.lsp")(compiler::emit-fn t)' \
+- '(pcl::compile-pcl)' | ../unixport/saved_gcl$(EXE) ../unixport/
++ '(pcl::compile-pcl)' | setarch -R ../unixport/saved_gcl$(EXE) ../unixport/
+ echo ${SETUP} '(load "../cmpnew/gcl_collectfn.lsp") '\
+ '(pcl::load-pcl)(in-package "PCL")(renew-sys-files)' | \
+- ../unixport/saved_gcl$(EXE) ../unixport/
++ setarch -R ../unixport/saved_gcl$(EXE) ../unixport/
+ cp sys-proclaim.lisp xxx
+ cat xxx | sed -e "s/COMPILER::CMP-ANON//g" > sys-proclaim.lisp
+ rm xxx
+--- xgcl-2/makefile.orig 2019-04-17 20:06:10.393644605 -0600
++++ xgcl-2/makefile 2019-05-05 15:04:45.597602150 -0600
+@@ -4,13 +4,13 @@
+ all: objects #docs
+
+ objects: $(LISP)
+- echo '(load "sysdef.lisp")(load "sys-proclaim.lisp")(xlib::compile-xgcl)' | $(LISP)
++ echo '(load "sysdef.lisp")(load "sys-proclaim.lisp")(xlib::compile-xgcl)' | setarch -R $(LISP)
+
+ saved_xgcl: $(LISP)
+- echo '(load "sysdef.lisp")(load "sys-proclaim.lisp")(xlib::compile-xgcl)(xlib::save-xgcl "$@")' | $(LISP)
++ echo '(load "sysdef.lisp")(load "sys-proclaim.lisp")(xlib::compile-xgcl)(xlib::save-xgcl "$@")' | setarch -R $(LISP)
+
+ sys-proclaim.lisp:
+- echo '(load "sysdef.lisp")(compiler::emit-fn t)(xlib::compile-xgcl)(compiler::make-all-proclaims "*.fn")' | $(LISP)
++ echo '(load "sysdef.lisp")(compiler::emit-fn t)(xlib::compile-xgcl)(compiler::make-all-proclaims "*.fn")' | setarch -R $(LISP)
+
+ docs: dwdoc/dwdoccontents.html dwdoc.pdf
+
diff --git a/gcl-2.6.12-ppc64le.patch b/gcl-2.6.12-ppc64le.patch
new file mode 100644
index 0000000..03574f7
--- /dev/null
+++ b/gcl-2.6.12-ppc64le.patch
@@ -0,0 +1,24 @@
+--- h/elf64_ppcle_reloc.h.orig 2014-10-23 15:29:00.000000000 -0600
++++ h/elf64_ppcle_reloc.h 2019-06-25 18:44:50.679703481 -0600
+@@ -1,6 +1,21 @@
+ #define ha(x_) ((((x_) >> 16) + (((x_) & 0x8000) ? 1 : 0)) & 0xffff)
+ #define lo(x_) ((x_) & 0xffff)
++#ifndef R_PPC64_PLTSEQ
++#define R_PPC64_PLTSEQ 119
++#endif
++#ifndef R_PPC64_PLTCALL
++#define R_PPC64_PLTCALL 120
++#endif
+
++ case R_PPC64_PLT16_HA:
++ add_val(where,MASK(16),ha(s+a-p));
++ break;
++ case R_PPC64_PLT16_LO_DS:
++ add_val(where,MASK(16),ha(s+a-toc->st_value));
++ break;
++ case R_PPC64_PLTSEQ:
++ case R_PPC64_PLTCALL:
++ break;
+ case R_PPC64_REL16_HA:
+ store_val(where,MASK(16),ha(s+a-p));
+ break;
diff --git a/gcl-2.6.12-selinux.patch b/gcl-2.6.12-selinux.patch
deleted file mode 100644
index a847a77..0000000
--- a/gcl-2.6.12-selinux.patch
+++ /dev/null
@@ -1,257 +0,0 @@
-diff -durpN gcl-2.6.12.ORIG/clcs/makefile gcl-2.6.12/clcs/makefile
---- gcl-2.6.12.ORIG/clcs/makefile 2014-10-23 15:29:00.000000000 -0600
-+++ gcl-2.6.12/clcs/makefile 2014-10-28 11:50:44.623943474 -0600
-@@ -9,6 +9,7 @@ all: $(addsuffix .c,$(FILES)) $(addsuffi
-
- saved_clcs_gcl: ../unixport/saved_pcl_gcl$(EXE)
- echo '(load "package.lisp")(load "myload.lisp")(si::save-system "$@")' | $< $(<D)/
-+ chcon -t gcl_exec_t $@ || true
-
- %.h %.data %.c : %.lisp saved_clcs_gcl
- cp ../h/cmpinclude.h .
-@@ -31,6 +32,7 @@ compile: ${LISP}
-
- saved_full_gcl: ${LISP}
- echo '(load "package.lisp")(load "loading.lisp")(jamie-load-clcs :compiled)(system::save-system "saved_full_gcl")' | ${LISP}
-+ chcon -t gcl_exec_t $@ || true
-
- clean:
- rm -f *.o *.fn saved_full_gcl$(EXE) saved_full_gcl cmpinclude.h *.c *.h *.data saved_clcs_gcl$(EXE)
-diff -durpN gcl-2.6.12.ORIG/makefile gcl-2.6.12/makefile
---- gcl-2.6.12.ORIG/makefile 2019-02-13 15:33:35.847961582 -0700
-+++ gcl-2.6.12/makefile 2019-02-13 15:34:51.810158459 -0700
-@@ -198,6 +198,7 @@ install1:
- if gcc --version | grep -i mingw >/dev/null 2>&1 ; then if grep -i oncrpc makedefs >/dev/null 2>&1 ; then cp /mingw/bin/oncrpc.dll $(DESTDIR)$(INSTALL_LIB_DIR)/$(PORTDIR); fi ; fi
- cd $(DESTDIR)$(INSTALL_LIB_DIR)/$(PORTDIR) && \
- mv $(FLISP)$(EXE) temp$(EXE) && \
-+ ( chcon -t gcl_exec_t temp$(EXE) || true ) && \
- echo '(si::reset-sys-paths "$(INSTALL_LIB_DIR)/")(si::save-system "$(FLISP)$(EXE)")' | ./temp$(EXE) && \
- rm -f temp$(EXE)
- if [ -e "unixport/rsym$(EXE)" ] ; then cp unixport/rsym$(EXE) $(DESTDIR)$(INSTALL_LIB_DIR)/unixport/ ; fi
-diff -durpN gcl-2.6.12.ORIG/selinux/gcl.fc gcl-2.6.12/selinux/gcl.fc
---- gcl-2.6.12.ORIG/selinux/gcl.fc 1969-12-31 17:00:00.000000000 -0700
-+++ gcl-2.6.12/selinux/gcl.fc 2010-12-29 11:46:30.625141327 -0700
-@@ -0,0 +1,5 @@
-+/usr/lib64/gcl-[^/]+/unixport/saved_.* -- gen_context(system_u:object_r:gcl_exec_t,s0)
-+/usr/lib/gcl-[^/]+/unixport/saved_.* -- gen_context(system_u:object_r:gcl_exec_t,s0)
-+/usr/lib/maxima/[^/]+/binary-gcl/maxima -- gen_context(system_u:object_r:gcl_exec_t,s0)
-+/usr/lib64/maxima/[^/]+/binary-gcl/maxima -- gen_context(system_u:object_r:gcl_exec_t,s0)
-+
-diff -durpN gcl-2.6.12.ORIG/selinux/gcl.if gcl-2.6.12/selinux/gcl.if
---- gcl-2.6.12.ORIG/selinux/gcl.if 1969-12-31 17:00:00.000000000 -0700
-+++ gcl-2.6.12/selinux/gcl.if 2010-12-29 11:46:30.626141206 -0700
-@@ -0,0 +1,146 @@
-+
-+## <summary>policy for gcl</summary>
-+
-+########################################
-+## <summary>
-+## Execute a domain transition to run gcl.
-+## </summary>
-+## <param name="domain">
-+## <summary>
-+## Domain allowed to transition.
-+## </summary>
-+## </param>
-+#
-+interface(`gcl_domtrans',`
-+ gen_require(`
-+ type gcl_t;
-+ type gcl_exec_t;
-+ ')
-+
-+ domtrans_pattern($1,gcl_exec_t,gcl_t)
-+')
-+
-+
-+########################################
-+## <summary>
-+## Do not audit attempts to read,
-+## gcl tmp files
-+## </summary>
-+## <param name="domain">
-+## <summary>
-+## Domain to not audit.
-+## </summary>
-+## </param>
-+#
-+interface(`gcl_dontaudit_read_tmp_files',`
-+ gen_require(`
-+ type gcl_tmp_t;
-+ ')
-+
-+ dontaudit $1 gcl_tmp_t:file read_file_perms;
-+')
-+
-+########################################
-+## <summary>
-+## Allow domain to read, gcl tmp files
-+## </summary>
-+## <param name="domain">
-+## <summary>
-+## Domain to not audit.
-+## </summary>
-+## </param>
-+#
-+interface(`gcl_read_tmp_files',`
-+ gen_require(`
-+ type gcl_tmp_t;
-+ ')
-+
-+ allow $1 gcl_tmp_t:file read_file_perms;
-+')
-+
-+########################################
-+## <summary>
-+## Allow domain to manage gcl tmp files
-+## </summary>
-+## <param name="domain">
-+## <summary>
-+## Domain to not audit.
-+## </summary>
-+## </param>
-+#
-+interface(`gcl_manage_tmp',`
-+ gen_require(`
-+ type gcl_tmp_t;
-+ ')
-+
-+ manage_dirs_pattern($1,gcl_tmp_t,gcl_tmp_t)
-+ manage_files_pattern($1,gcl_tmp_t,gcl_tmp_t)
-+ manage_lnk_files_pattern($1,gcl_tmp_t,gcl_tmp_t)
-+')
-+
-+########################################
-+## <summary>
-+## Execute gcl in the gcl domain, and
-+## allow the specified role the gcl domain.
-+## </summary>
-+## <param name="domain">
-+## <summary>
-+## Domain allowed access
-+## </summary>
-+## </param>
-+## <param name="role">
-+## <summary>
-+## The role to be allowed the gcl domain.
-+## </summary>
-+## </param>
-+## <param name="terminal">
-+## <summary>
-+## The type of the role's terminal.
-+## </summary>
-+## </param>
-+#
-+interface(`gcl_run',`
-+ gen_require(`
-+ type gcl_t;
-+ ')
-+
-+ gcl_domtrans($1)
-+ role $2 types gcl_t;
-+ dontaudit gcl_t $3:chr_file rw_term_perms;
-+')
-+
-+
-+########################################
-+## <summary>
-+## All of the rules required to administrate
-+## an gcl environment
-+## </summary>
-+## <param name="domain">
-+## <summary>
-+## Domain allowed access.
-+## </summary>
-+## </param>
-+## <param name="role">
-+## <summary>
-+## The role to be allowed to manage the gcl domain.
-+## </summary>
-+## </param>
-+## <param name="terminal">
-+## <summary>
-+## The type of the user terminal.
-+## </summary>
-+## </param>
-+## <rolecap/>
-+#
-+interface(`gcl_admin',`
-+ gen_require(`
-+ type gcl_t;
-+ ')
-+
-+ allow $1 gcl_t:process { ptrace signal_perms getattr };
-+ read_files_pattern($1, gcl_t, gcl_t)
-+
-+
-+ gcl_manage_tmp($1)
-+
-+')
-diff -durpN gcl-2.6.12.ORIG/selinux/gcl.te gcl-2.6.12/selinux/gcl.te
---- gcl-2.6.12.ORIG/selinux/gcl.te 1969-12-31 17:00:00.000000000 -0700
-+++ gcl-2.6.12/selinux/gcl.te 2010-12-29 11:46:30.627141086 -0700
-@@ -0,0 +1,45 @@
-+policy_module(gcl,1.0.1)
-+
-+########################################
-+#
-+# Declarations
-+#
-+
-+type gcl_t;
-+type gcl_exec_t;
-+application_domain(gcl_t, gcl_exec_t)
-+role system_r types gcl_t;
-+
-+########################################
-+#
-+# gcl local policy
-+#
-+
-+## internal communication is often done using fifo and unix sockets.
-+allow gcl_t self:fifo_file rw_file_perms;
-+allow gcl_t self:unix_stream_socket create_stream_socket_perms;
-+
-+libs_use_ld_so(gcl_t)
-+libs_use_shared_libs(gcl_t)
-+
-+miscfiles_read_localization(gcl_t)
-+
-+## The GCL memory management and executable dumping routines manipulate memory
-+## in various (usually forbidden) ways.
-+allow gcl_t self:process { execmem execheap };
-+
-+optional_policy(`
-+ unconfined_domain(gcl_t)
-+')
-+
-+optional_policy(`
-+ gen_require(`
-+ type unconfined_t;
-+ type unconfined_devpts_t;
-+ type unconfined_tty_device_t;
-+ role unconfined_r;
-+ ')
-+
-+ gcl_run(unconfined_t, unconfined_r, { unconfined_tty_device_t unconfined_devpts_t })
-+ allow gcl_t gcl_exec_t:file execmod;
-+')
-diff -durpN gcl-2.6.12.ORIG/unixport/makefile gcl-2.6.12/unixport/makefile
---- gcl-2.6.12.ORIG/unixport/makefile 2019-02-13 15:21:32.398187550 -0700
-+++ gcl-2.6.12/unixport/makefile 2019-02-13 15:33:35.849961561 -0700
-@@ -96,6 +96,7 @@ saved_%:raw_% $(RSYM) sys_init.lsp raw_%
- echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"$@\"))" >>foo
- j=$$(ar t lib$*.a |grep ^gcl_);[ "$$j" = "" ] || ar x lib$*.a $$j #accelerator
- $(PORTDIR)/raw_$*$(EXE) $(PORTDIR)/ -libdir $(GCLDIR)/ < foo
-+ chcon -t gcl_exec_t $@ || true
- # check that saved image can be prelinked
- [ "$(PRELINK_CHECK)" = "" ] || \
- ! [ -x /usr/bin/objdump ] || \
-@@ -142,6 +143,7 @@ ifeq ($(GNU_LD),1)
- else
- $(CC) $(LD_FLAGS) -o raw_$*$(EXE) $(filter %.o,$^) -L. $(EXTRA_LD_LIBS) $(LD_LIBS_PRE) -l$* $(LD_LIBS_POST)
- endif
-+ chcon -t gcl_exec_t raw_$*$(EXE) || true
- # diff map_$* map_$*.old >/dev/null || (cp map_$* map_$*.old && rm -f $@ && $(MAKE) $@)
- # cp map_$*.old map_$*
-
diff --git a/gcl-2.6.12-unrandomize.patch b/gcl-2.6.12-unrandomize.patch
index bffa693..59c55ec 100644
--- a/gcl-2.6.12-unrandomize.patch
+++ b/gcl-2.6.12-unrandomize.patch
@@ -1,7 +1,7 @@
---- configure.in.orig 2019-02-13 16:01:50.504805986 -0700
-+++ configure.in 2019-02-13 16:09:16.507200455 -0700
-@@ -1123,8 +1123,10 @@ if test "$HAVE_SBRK" = "1" ; then
- [[
+--- configure.orig 2019-04-17 20:17:42.351687679 -0600
++++ configure 2019-04-17 20:22:22.321887572 -0600
+@@ -7341,8 +7341,10 @@ else
+
#include <stdio.h>
#include <stdlib.h>
+ #define CAN_UNRANDOMIZE_SBRK 1
@@ -11,9 +11,9 @@
+ UNRANDOMIZE_SBRK;
return 0;
}
- ]])],
-@@ -1139,11 +1141,10 @@ if test "$HAVE_SBRK" = "1" ; then
- [[
+
+@@ -7376,11 +7378,10 @@ else
+
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
@@ -25,9 +25,9 @@
+ UNRANDOMIZE_SBRK;
if (!(f=fopen("conftest1","w")))
return -1;
- fprintf(f,"%u",sbrk(0));
-@@ -1160,11 +1161,10 @@ if test "$HAVE_SBRK" = "1" ; then
- [[
+ fprintf(f,"%p",sbrk(0));
+@@ -7411,11 +7412,10 @@ else
+
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
@@ -38,20 +38,39 @@
- #endif
+ UNRANDOMIZE_SBRK;
if (!(f=fopen("conftest1","w"))) return -1;
- fprintf(f,"%u",sbrk(0));
+ fprintf(f,"%p",sbrk(0));
return 0;
-@@ -1190,6 +1190,7 @@ AC_RUN_IFELSE(
- [[
+@@ -7459,7 +7459,7 @@ else
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-
++ #include "h/unrandomize.h"
+ unsigned long w;
+
+ void
+@@ -7472,9 +7472,7 @@ else
+ main(int argc,char **argv,char **envp) {
+ void *b;
+ FILE *fp = fopen("conftest1","w");
+- #ifdef CAN_UNRANDOMIZE_SBRK
+- #include "h/unrandomize.h"
+- #endif
++ UNRANDOMIZE_SBRK;
+ foo();
+ fprintf(fp,"%d",((unsigned long) &b) > w ? -1 : 1);
+ fclose(fp);
+@@ -7512,15 +7510,14 @@ else
+
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
- void *
- foo() {
- int i;
-@@ -1202,9 +1203,7 @@ AC_RUN_IFELSE(
+ int
+ main(int argc,char **argv,char **envp) {
+ void *v ;
FILE *fp = fopen("conftest1","w");
unsigned long i,j;
-
+
- #ifdef CAN_UNRANDOMIZE_SBRK
- #include "h/unrandomize.h"
- #endif
@@ -59,18 +78,17 @@
j=1;
j<<=$PAGEWIDTH;
j<<=16;
-@@ -1227,6 +1226,7 @@ AC_RUN_IFELSE(
- [[
+@@ -7564,15 +7561,14 @@ else
+
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
- void *
- foo() {
- int i;
-@@ -1239,9 +1239,7 @@ AC_RUN_IFELSE(
+ int
+ main(int argc,char **argv,char **envp) {
+ void *v ;
FILE *fp = fopen("conftest1","w");
unsigned long i,j;
-
+
- #ifdef CAN_UNRANDOMIZE_SBRK
- #include "h/unrandomize.h"
- #endif
@@ -78,8 +96,8 @@
j=1;
j<<=$PAGEWIDTH;
j<<=16;
-@@ -1265,11 +1263,10 @@ AC_RUN_IFELSE(
- [[
+@@ -7617,11 +7613,10 @@ else
+
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
@@ -90,10 +108,10 @@
- #endif
+ UNRANDOMIZE_SBRK;
return (long)$cstack_address<0 ? 0 : -1;
- }]])],
- [AC_MSG_RESULT(yes)
-@@ -1284,13 +1281,12 @@ AC_RUN_IFELSE(
- [[
+ }
+ _ACEOF
+@@ -7655,13 +7650,12 @@ else
+
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
@@ -108,29 +126,10 @@
b=alloca(sizeof(b));
c=alloca(sizeof(c));
n=b>c ? b-c : c-b;
-@@ -1309,6 +1305,7 @@ AC_RUN_IFELSE(
- [[
- #include <stdio.h>
- #include <stdlib.h>
-+ #include "h/unrandomize.h"
- void *
- foo(void) {
- int i;
-@@ -1319,9 +1316,7 @@ AC_RUN_IFELSE(
- main(int argc,char **argv,char **envp) {
- char *b;
- FILE *fp = fopen("conftest1","w");
-- #ifdef CAN_UNRANDOMIZE_SBRK
-- #include "h/unrandomize.h"
-- #endif
-+ UNRANDOMIZE_SBRK;
- fprintf(fp,"%d",((long) &b) > ((long) foo()) ? -1 : 1);
- fclose(fp);
- return 0;
---- configure.orig 2019-02-13 16:03:13.014953997 -0700
-+++ configure 2019-02-13 16:18:07.561590362 -0700
-@@ -7340,8 +7340,10 @@ else
-
+--- configure.in.orig 2019-04-17 20:17:42.346687693 -0600
++++ configure.in 2019-04-17 20:22:14.506910168 -0600
+@@ -1124,8 +1124,10 @@ if test "$HAVE_SBRK" = "1" ; then
+ [[
#include <stdio.h>
#include <stdlib.h>
+ #define CAN_UNRANDOMIZE_SBRK 1
@@ -140,9 +139,9 @@
+ UNRANDOMIZE_SBRK;
return 0;
}
-
-@@ -7375,11 +7377,10 @@ else
-
+ ]])],
+@@ -1140,11 +1142,10 @@ if test "$HAVE_SBRK" = "1" ; then
+ [[
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
@@ -154,9 +153,9 @@
+ UNRANDOMIZE_SBRK;
if (!(f=fopen("conftest1","w")))
return -1;
- fprintf(f,"%u",sbrk(0));
-@@ -7410,11 +7411,10 @@ else
-
+ fprintf(f,"%p",sbrk(0));
+@@ -1161,11 +1162,10 @@ if test "$HAVE_SBRK" = "1" ; then
+ [[
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
@@ -167,20 +166,39 @@
- #endif
+ UNRANDOMIZE_SBRK;
if (!(f=fopen("conftest1","w"))) return -1;
- fprintf(f,"%u",sbrk(0));
+ fprintf(f,"%p",sbrk(0));
return 0;
-@@ -7457,6 +7457,7 @@ else
+@@ -1192,7 +1192,7 @@ AC_RUN_IFELSE(
+ [[
+ #include <stdio.h>
+ #include <stdlib.h>
+-
++ #include "h/unrandomize.h"
+ unsigned long w;
+ void
+@@ -1205,9 +1205,7 @@ AC_RUN_IFELSE(
+ main(int argc,char **argv,char **envp) {
+ void *b;
+ FILE *fp = fopen("conftest1","w");
+- #ifdef CAN_UNRANDOMIZE_SBRK
+- #include "h/unrandomize.h"
+- #endif
++ UNRANDOMIZE_SBRK;
+ foo();
+ fprintf(fp,"%d",((unsigned long) &b) > w ? -1 : 1);
+ fclose(fp);
+@@ -1224,15 +1222,14 @@ AC_RUN_IFELSE(
+ [[
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
- void *
- foo() {
- int i;
-@@ -7469,9 +7470,7 @@ else
+ int
+ main(int argc,char **argv,char **envp) {
+ void *v ;
FILE *fp = fopen("conftest1","w");
unsigned long i,j;
-
+
- #ifdef CAN_UNRANDOMIZE_SBRK
- #include "h/unrandomize.h"
- #endif
@@ -188,18 +206,17 @@
j=1;
j<<=$PAGEWIDTH;
j<<=16;
-@@ -7515,6 +7514,7 @@ else
-
+@@ -1255,15 +1252,14 @@ AC_RUN_IFELSE(
+ [[
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
- void *
- foo() {
- int i;
-@@ -7527,9 +7527,7 @@ else
+ int
+ main(int argc,char **argv,char **envp) {
+ void *v ;
FILE *fp = fopen("conftest1","w");
unsigned long i,j;
-
+
- #ifdef CAN_UNRANDOMIZE_SBRK
- #include "h/unrandomize.h"
- #endif
@@ -207,8 +224,8 @@
j=1;
j<<=$PAGEWIDTH;
j<<=16;
-@@ -7574,11 +7572,10 @@ else
-
+@@ -1287,11 +1283,10 @@ AC_RUN_IFELSE(
+ [[
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
@@ -219,10 +236,10 @@
- #endif
+ UNRANDOMIZE_SBRK;
return (long)$cstack_address<0 ? 0 : -1;
- }
- _ACEOF
-@@ -7612,13 +7609,12 @@ else
-
+ }]])],
+ [AC_MSG_RESULT(yes)
+@@ -1306,13 +1301,12 @@ AC_RUN_IFELSE(
+ [[
#include <stdio.h>
#include <stdlib.h>
+ #include "h/unrandomize.h"
@@ -237,27 +254,8 @@
b=alloca(sizeof(b));
c=alloca(sizeof(c));
n=b>c ? b-c : c-b;
-@@ -7658,6 +7654,7 @@ else
-
- #include <stdio.h>
- #include <stdlib.h>
-+ #include "h/unrandomize.h"
- void *
- foo(void) {
- int i;
-@@ -7668,9 +7665,7 @@ else
- main(int argc,char **argv,char **envp) {
- char *b;
- FILE *fp = fopen("conftest1","w");
-- #ifdef CAN_UNRANDOMIZE_SBRK
-- #include "h/unrandomize.h"
-- #endif
-+ UNRANDOMIZE_SBRK;
- fprintf(fp,"%d",((long) &b) > ((long) foo()) ? -1 : 1);
- fclose(fp);
- return 0;
---- h/unrandomize.h.orig 2019-02-13 15:19:44.503254822 -0700
-+++ h/unrandomize.h 2019-02-13 16:14:35.343840903 -0700
+--- h/unrandomize.h.orig 2019-04-17 20:11:26.049753854 -0600
++++ h/unrandomize.h 2019-05-04 11:09:26.514874293 -0600
@@ -1,3 +1,5 @@
+#include <stdio.h>
+#include <stdlib.h>
@@ -277,7 +275,7 @@
- long pers = personality(READ_IMPLIES_EXEC|personality(0xffffffffUL));
- long flag = ADDR_NO_RANDOMIZE;
-
-- if (sizeof(long)==4) flag|=ADDR_LIMIT_3GB|ADDR_COMPAT_LAYOUT;
+- if (sizeof(long)==4) flag|=ADDR_LIMIT_3GB/* |ADDR_COMPAT_LAYOUT */;
-
- if (pers==-1) {printf("personality failure %d\n",errno);exit(-1);}
- if ((pers & flag)!=flag && !getenv("GCL_UNRANDOMIZE")) {
@@ -328,10 +326,10 @@
+ long pers = personality(READ_IMPLIES_EXEC|personality(0xffffffffUL)); \
+ long flag = ADDR_NO_RANDOMIZE; \
+ \
-+ if (sizeof(long)==4) flag|=ADDR_LIMIT_3GB|ADDR_COMPAT_LAYOUT; \
++ if (sizeof(long)==4) flag|=ADDR_LIMIT_3GB/* |ADDR_COMPAT_LAYOUT */; \
+ \
+ if (pers==-1) {printf("personality failure %d\n",errno);exit(-1);} \
-+ if ((pers & flag)!=flag && !getenv("GCL_UNRANDOMIZE")) { \
++ if (/*(pers & flag)!=flag &&*/ !getenv("GCL_UNRANDOMIZE")) { \
+ errno=0; \
+ if (personality(pers | flag) != -1 && (personality(0xffffffffUL) & flag)==flag) { \
+ int i,j,k; \
@@ -388,8 +386,8 @@
- }
- }
-}
---- o/main.c.orig 2019-02-13 15:22:23.263684376 -0700
-+++ o/main.c 2019-02-13 16:17:49.957777033 -0700
+--- o/main.c.orig 2019-04-17 20:10:11.025965895 -0600
++++ o/main.c 2019-05-04 11:34:06.174604494 -0600
@@ -53,6 +53,7 @@ void initialize_process();
#include "include.h"
#include <signal.h>
diff --git a/gcl.spec b/gcl.spec
index e5a3325..5005f8b 100644
--- a/gcl.spec
+++ b/gcl.spec
@@ -1,16 +1,12 @@
# Address randomization breaks gcl's memory management scheme
%undefine _hardened_build
-# SELinux macros
-%global selinuxtype targeted
-%global moduletype contrib
-
# Upstream prerelease number
-%global prerel 79
+%global prerel 84
Name: gcl
Version: 2.6.13
-Release: 0.%{prerel}.2%{?dist}
+Release: 0.%{prerel}.1%{?dist}
Summary: GNU Common Lisp
License: GPL+ and LGPLv2+
@@ -128,6 +124,11 @@ Patch99: Version_2_6_13pre76.patch
Patch100: Version_2_6_13pre77.patch
Patch101: Version_2_6_13pre78.patch
Patch102: Version_2_6_13pre79.patch
+Patch103: Version_2_6_13pre80.patch
+Patch104: Version_2_6_13pre81.patch
+Patch105: Version_2_6_13pre82.patch
+Patch106: Version_2_6_13pre83.patch
+Patch107: Version_2_6_13pre84.patch
### Fedora patches
@@ -143,18 +144,17 @@ Patch502: %{name}-2.6.11-texinfo.patch
# This patch was last sent upstream on 29 Dec 2008. It fixes a large number of
# compile- and run-time problems with the Emacs interface code.
Patch503: %{name}-2.6.11-elisp.patch
-# This patch was last sent upstream on 17 Jan 2009. It adds support for
-# compiling and running on an SELinux-enabled host.
-Patch504: %{name}-2.6.12-selinux.patch
# This is a Fedora-specific patch. Do not delete C files produced from D files
# so they can be pulled into the debuginfo package.
-Patch505: %{name}-2.6.11-debuginfo.patch
+Patch504: %{name}-2.6.11-debuginfo.patch
# This patch was last sent upstream on 13 Oct 2009. It fixes two bugs in the
# reading of PLT information.
-Patch506: %{name}-2.6.11-plt.patch
+Patch505: %{name}-2.6.11-plt.patch
# This patch was last sent upstream on 13 Oct 2009. It fixes several malformed
# function prototypes involving an ellipsis.
-Patch507: %{name}-2.6.11-ellipsis.patch
+Patch506: %{name}-2.6.11-ellipsis.patch
+# Fix a linker problem on ARM platforms.
+Patch507: %{name}-2.6.11-arm.patch
# This patch was last sent upstream on 29 Dec 2008. It updates the autoconf
# and libtool files to newer versions. By itself, this patch accomplishes
# little of interest. However, some of the later patches change configure.in.
@@ -174,8 +174,11 @@ Patch510: %{name}-2.6.12-unrandomize.patch
# between glibc and Linux kernel headers. This patch prevents the kernel
# headers from being used.
Patch511: %{name}-2.6.11-asm-signal-h.patch
-# Fix a linker problem on ARM platforms.
-Patch512: %{name}-2.6.11-arm.patch
+# Turn address randomization off early. GCL is linked with libtirpc, which is
+# linked with libselinux, which has a static initializer that calls malloc()
+# and free() on systems that do not have /sys/fs/selinux or /selinux mounted,
+# or have them mounted read-only.
+Patch512: %{name}-2.6.12-libselinux.patch
BuildRequires: binutils-devel
BuildRequires: binutils-static
@@ -185,7 +188,6 @@ BuildRequires: gmp-devel
BuildRequires: libtirpc-devel
BuildRequires: libXaw-devel
BuildRequires: readline-devel
-BuildRequires: selinux-policy-devel
BuildRequires: tk-devel
BuildRequires: tcl-devel
BuildRequires: tex(latex)
@@ -196,7 +198,10 @@ BuildRequires: emacs
BuildRequires: xemacs
BuildRequires: xemacs-packages-extra
-Requires: gcl-selinux = %{version}-%{release}
+# This can be removed when Fedora 30 reaches EOL
+Obsoletes: gcl-selinux < 2.6.13-0.84.1%{?dist}
+Provides: gcl-selinux = %{version}-%{release}
+
%description
GCL is a Common Lisp currently compliant with the ANSI standard. Lisp
@@ -232,17 +237,6 @@ Provides: %{name}-xemacs-el = %{version}-%{release}
XEmacs mode for interacting with GCL
-%package selinux
-Summary: SELinux policy for GCL images
-BuildArch: noarch
-%{?selinux_requires}
-
-%description selinux
-SELinux policy for GCL images. All programs that dump GCL images to be run on
-SELinux-enabled hosts should Require this package, and give the image the type
-gcl_exec_t.
-
-
%prep
%setup -q -n %{name}
%setup -q -n %{name} -T -D -a 2
@@ -349,12 +343,17 @@ gcl_exec_t.
%patch100 -p1
%patch101 -p1
%patch102 -p1
+%patch103 -p1
+%patch104 -p1
+%patch105 -p1
+%patch106 -p1
+%patch107 -p1
%patch500
%patch501
%patch502
%patch503
-%patch504 -p1
+%patch504
%patch505
%patch506
%patch507
@@ -383,10 +382,12 @@ chmod a+x add-defs add-defs1 config.guess config.sub configure install.sh
chmod a+x bin/info bin/info1 gcl-tk/gcltksrv.in gcl-tk/ngcltksrv mp/gcclab
chmod a+x o/egrep-def utils/replace xbin/*
-
%build
# SGC requires the frame pointer
-export CFLAGS="%{optflags} -fno-omit-frame-pointer"
+export CFLAGS="%{optflags} -fno-omit-frame-pointer -fwrapv"
+%ifarch ppc64le
+CFLAGS="$CFLAGS -mno-pltseq"
+%endif
%configure --enable-readline --enable-ansi --enable-dynsysgmp --enable-xgcl \
--enable-tclconfig=%{_libdir} --enable-tkconfig=%{_libdir}
# FIXME: %%{?_smp_mflags} breaks the build
@@ -399,10 +400,6 @@ make -C info gcl.info
cd xgcl-2
pdflatex dwdoc.tex
-# Build the SELinux policy
-cd ../selinux
-make -f %{_datadir}/selinux/devel/Makefile
-
%install
make install DESTDIR=$RPM_BUILD_ROOT
@@ -443,13 +440,6 @@ pushd $RPM_BUILD_ROOT%{_xemacs_sitelispdir}/gcl
%{_xemacs_bytecompile} *.el
popd
-# Save the policy file away for later installation
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/selinux/packages
-cp -p selinux/gcl.pp $RPM_BUILD_ROOT%{_datadir}/selinux/packages
-bzip2 -9 $RPM_BUILD_ROOT%{_datadir}/selinux/packages/gcl.pp
-mkdir -p $RPM_BUILD_ROOT%{_datadir}/selinux/devel/include/%{moduletype}
-cp -p selinux/gcl.if $RPM_BUILD_ROOT%{_datadir}/selinux/devel/include/%{moduletype}
-
# Help the debuginfo generator
ln -s ../h/cmpinclude.h cmpnew/cmpinclude.h
ln -s ../h/cmpinclude.h lsp/cmpinclude.h
@@ -463,24 +453,6 @@ export QA_SKIP_BUILD_ROOT=1
rm -f /tmp/gazonk_* /tmp/gcl_*
-%pre selinux
-%selinux_relabel_pre -s %{selinuxtype}
-
-
-%post selinux
-%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/gcl.pp.bz2
-
-
-%postun selinux
-if [ $1 = 0 ]; then
- %selinux_modules_uninstall -s %{selinuxtype} gcl
-fi
-
-
-%posttrans selinux
-%selinux_relabel_post -s %{selinuxtype}
-
-
%files
%{_bindir}/gcl
%{_prefix}/lib/gcl*
@@ -501,13 +473,15 @@ fi
%{_xemacs_sitelispdir}/gcl/
%{_xemacs_sitestartdir}/*
-%files selinux
-%license COPYING*
-%{_datadir}/selinux/packages/gcl.pp.bz2
-%{_datadir}/selinux/devel/include/%{moduletype}/gcl.if
-
%changelog
+* Sat Jun 29 2019 Jerry James <loganjerry(a)gmail.com> - 2.6.13-0.84.1
+- Update to 2.6.13pre84 (bz 1674924)
+- Drop the -selinux patch and subpackage, no longer needed
+- Build with -fwrapv
+- Add the -libselinux patch to fix FTBFS if selinuxfs is mounted read-only
+- Build with -mno-pltseq on ppc64le to handle relocation issues
+
* Sat Mar 23 2019 Jerry James <loganjerry(a)gmail.com> - 2.6.13-0.79.2
- Merge -(x)emacs-el subpackages into -(x)emacs
commit 6676828b422c570c5d65d54e4443a5cb28af9fa4
Author: Jerry James <loganjerry(a)gmail.com>
Date: Sun Mar 24 19:42:01 2019 -0600
Merge -(x)emacs-el subpackages into -(x)emacs.
diff --git a/gcl.spec b/gcl.spec
index c10de1a..e5a3325 100644
--- a/gcl.spec
+++ b/gcl.spec
@@ -211,35 +211,26 @@ Requires: %{name} = %{version}-%{release}
Requires: emacs(bin) >= %{_emacs_version}
BuildArch: noarch
+# This can be removed when Fedora 29 reaches EOL
+Obsoletes: %{name}-emacs-el < 2.6.13
+Provides: %{name}-emacs-el = %{version}-%{release}
+
%description emacs
Emacs mode for interacting with GCL
-%package emacs-el
-Summary: Source for Emacs mode for interacting with GCL
-Requires: %{name}-emacs = %{version}-%{release}
-BuildArch: noarch
-
-%description emacs-el
-Source Elisp code for Emacs mode for interacting with GCL
-
-
%package xemacs
Summary: XEmacs mode for interacting with GCL
Requires: %{name} = %{version}-%{release}
Requires: xemacs(bin) >= %{_xemacs_version}, xemacs-packages-extra
BuildArch: noarch
+# This can be removed when Fedora 29 reaches EOL
+Obsoletes: %{name}-xemacs-el < 2.6.13
+Provides: %{name}-xemacs-el = %{version}-%{release}
+
%description xemacs
XEmacs mode for interacting with GCL
-%package xemacs-el
-Summary: Source for XEmacs mode for interacting with GCL
-Requires: %{name}-xemacs = %{version}-%{release}
-BuildArch: noarch
-
-%description xemacs-el
-Source Elisp code for XEmacs mode for interacting with GCL
-
%package selinux
Summary: SELinux policy for GCL images
@@ -502,22 +493,14 @@ fi
%files emacs
%doc elisp/readme
-%dir %{_emacs_sitelispdir}/gcl
-%{_emacs_sitelispdir}/gcl/*.elc
+%{_emacs_sitelispdir}/gcl/
%{_emacs_sitestartdir}/*
-%files emacs-el
-%{_emacs_sitelispdir}/gcl/*.el
-
%files xemacs
%doc elisp/readme
-%dir %{_xemacs_sitelispdir}/gcl
-%{_xemacs_sitelispdir}/gcl/*.elc
+%{_xemacs_sitelispdir}/gcl/
%{_xemacs_sitestartdir}/*
-%files xemacs-el
-%{_xemacs_sitelispdir}/gcl/*.el
-
%files selinux
%license COPYING*
%{_datadir}/selinux/packages/gcl.pp.bz2
@@ -525,6 +508,9 @@ fi
%changelog
+* Sat Mar 23 2019 Jerry James <loganjerry(a)gmail.com> - 2.6.13-0.79.2
+- Merge -(x)emacs-el subpackages into -(x)emacs
+
* Sun Feb 17 2019 Jerry James <loganjerry(a)gmail.com> - 2.6.13-0.79.2
- Drop the -largefile patch, causing crashes
3 years, 11 months