package/guile: bump to version 3.0.4

Remove patch that is no longer needed as of upstream commit
1c33be992e8120abd20add8021e4d91d226f5b6a which removed the old VM.

We need to add an exclusion rule for guile modules to check-bin-arch
as they appear as valid ELF binaries but with an architecture of
"None".

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
[Thomas:
 - bump to 3.0.4
 - rework how check-bin-arch excludes checking the Guile .go files]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
James Hilliard 2020-02-29 00:05:06 -07:00 committed by Thomas Petazzoni
parent c5b849acb0
commit 84b9f07b87
4 changed files with 5 additions and 66 deletions

View File

@ -1,64 +0,0 @@
libguile/vm-i-system.c: workaround ice ssa corruption while compiling with option -g -O
While compiling with option -g -O, there was a ssa corruption:
..
Unable to coalesce ssa_names 48 and 3476 which are marked as MUST COALESCE.
sp_48(ab) and sp_3476(ab)
guile-2.0.11/libguile/vm-engine.c: In function 'vm_debug_engine':
guile-2.0.11/libguile/vm.c:673:19: internal compiler error: SSA corruption
#define VM_NAME vm_debug_engine
^
guile-2.0.11/libguile/vm-engine.c:39:1: note: in expansion of macro 'VM_NAME'
VM_NAME (SCM vm, SCM program, SCM *argv, int nargs)
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
...
Tweak libguile/vm-i-system.c to add boundary value check to workaround it.
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Fixes Buildroot autobuilder failures on AArch64.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
libguile/vm-i-system.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -625,10 +625,22 @@ VM_DEFINE_INSTRUCTION (47, bind_optionals_shuffle, "bind-optionals/shuffle", 6,
/* now shuffle up, from walk to ntotal */
{
scm_t_ptrdiff nshuf = sp - walk + 1, i;
- sp = (fp - 1) + ntotal + nshuf;
- CHECK_OVERFLOW ();
- for (i = 0; i < nshuf; i++)
- sp[-i] = walk[nshuf-i-1];
+ /* check the value of nshuf to workaround ice ssa corruption */
+ /* while compiling with -O -g */
+ if (nshuf > 0)
+ {
+ sp = (fp - 1) + ntotal + nshuf;
+ CHECK_OVERFLOW ();
+ for (i = 0; i < nshuf; i++)
+ sp[-i] = walk[nshuf-i-1];
+ }
+ else
+ {
+ sp = (fp - 1) + ntotal + nshuf;
+ CHECK_OVERFLOW ();
+ for (i = 0; i < nshuf; i++)
+ sp[-i] = walk[nshuf-i-1];
+ }
}
/* and fill optionals & keyword args with SCM_UNDEFINED */
while (walk <= (fp - 1) + ntotal)
--
1.9.1

View File

@ -1,5 +1,5 @@
# Locally calculated after checking pgp signature
sha256 e8442566256e1be14e51fc18839cd799b966bc5b16c6a1d7a7c35155a8619d82 guile-2.0.14.tar.xz
sha256 6b7947dc2e3d115983846a268b8f5753c12fd5547e42fbf2b97d75a3b79f0d31 guile-3.0.4.tar.xz
# Locally computed
sha256 b51c6f20e6d029cb5b3e5bf235ac562c9a188c5bdc4ffcdc663897772d6e0260 LICENSE
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING

View File

@ -4,7 +4,7 @@
#
################################################################################
GUILE_VERSION = 2.0.14
GUILE_VERSION = 3.0.4
GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz
GUILE_SITE = $(BR2_GNU_MIRROR)/guile
GUILE_INSTALL_STAGING = YES

View File

@ -25,6 +25,9 @@ declare -a IGNORES=(
# it for a different architecture (e.g. i386 grub on x86_64).
"/lib/grub"
"/usr/lib/grub"
# Guile modules are ELF files, with a "None" machine
"/usr/lib/guile"
)
while getopts p:l:r:a:i: OPT ; do