update buildroot to 2017.02.11

This commit is contained in:
jbnadal
2018-05-22 15:35:47 +02:00
parent 4bf1f5e091
commit a3c10bd762
9257 changed files with 433426 additions and 1701 deletions

View File

@@ -0,0 +1,25 @@
Fix support for ARM endianness, otherwise it gives the error
"unknown CPU endianness"
Signed-off-by: Pedro Aguilar <paguilar@paguilar.org>
diff -Nau guile-2.0.11.orig/module/system/base/target.scm guile-2.0.11/module/system/base/target.scm
--- guile-2.0.11.orig/module/system/base/target.scm 2013-02-28 09:42:45.000000000 +0100
+++ guile-2.0.11/module/system/base/target.scm 2014-11-03 23:05:01.789338997 +0100
@@ -70,7 +70,15 @@
((member cpu '("sparc" "sparc64" "powerpc" "powerpc64" "spu"
"mips" "mips64"))
(endianness big))
- ((string-match "^arm.*el" cpu)
+ ((string-match "^arm.*el" cpu)
+ (endianness little))
+ ((string-match "^arm.*eb" cpu)
+ (endianness big))
+ ((string-prefix? "arm" cpu) ;ARMs are LE by default
+ (endianness little))
+ ((string-match "^aarch64.*be" cpu)
+ (endianness big))
+ ((string=? "aarch64" cpu)
(endianness little))
(else
(error "unknown CPU endianness" cpu)))))

View File

@@ -0,0 +1,16 @@
Avoid using scm_from_complex_double(csqrt()) when building with uclibc.
Signed-off-by: Pedro Aguilar <paguilar@paguilar.org>
diff -Nau guile-2.0.11.orig/configure.ac guile-2.0.11/configure.ac
--- guile-2.0.11.orig/configure.ac 2014-03-12 14:36:02.000000000 +0100
+++ guile-2.0.11/configure.ac 2014-11-03 23:59:51.897267207 +0100
@@ -862,7 +862,7 @@
}]])],
[guile_cv_use_csqrt=yes],
[guile_cv_use_csqrt="no, glibc 2.3 bug"],
- [guile_cv_use_csqrt="yes, hopefully (cross-compiling)"])])
+ [guile_cv_use_csqrt="no (cross-compiling)"])])
case $guile_cv_use_csqrt in
yes*)
AC_DEFINE([HAVE_USABLE_CSQRT], 1, [Define to 1 if csqrt is bug-free])

View File

@@ -0,0 +1,64 @@
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

@@ -0,0 +1,22 @@
config BR2_PACKAGE_GUILE
bool "guile"
depends on !BR2_TOOLCHAIN_USES_MUSL # no strtol_l
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # bdwgc
depends on BR2_USE_WCHAR # libunistring
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_LIBUNISTRING
select BR2_PACKAGE_LIBFFI
select BR2_PACKAGE_GMP
select BR2_PACKAGE_BDWGC
select BR2_PACKAGE_LIBTOOL
help
Guile is an interpreter and compiler for the Scheme
programming language, a clean and elegant dialect of Lisp.
http://www.gnu.org/software/guile
comment "guile needs a uClibc or glibc toolchain w/ threads, wchar, dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL

View File

@@ -0,0 +1,2 @@
# Locally calculated after checking pgp signature
sha256 3744f2addc282a0de627aaef048f062982b44564d54ac31ff5217972529ed88b guile-2.0.13.tar.xz

View File

@@ -0,0 +1,59 @@
################################################################################
#
# guile
#
################################################################################
GUILE_VERSION = 2.0.13
GUILE_SOURCE = guile-$(GUILE_VERSION).tar.xz
GUILE_SITE = $(BR2_GNU_MIRROR)/guile
GUILE_INSTALL_STAGING = YES
# For 0002-calculate-csqrt_manually.patch
GUILE_AUTORECONF = YES
GUILE_LICENSE = LGPLv3+
GUILE_LICENSE_FILES = LICENSE COPYING COPYING.LESSER
# libtool dependency is needed because guile uses libltdl
GUILE_DEPENDENCIES = host-guile libunistring libffi gmp bdwgc host-pkgconf libtool
HOST_GUILE_DEPENDENCIES = host-libunistring host-libffi host-gmp host-bdwgc host-flex host-pkgconf host-gettext
# The HAVE_GC* CFLAGS specify that we will use internal callbacks
# instead of the ones provided by
# bdwgc. Eg. HAVE_GC_SET_FINALIZER_NOTIFIER specifies that we won't
# use bdwgc's GC_finalizer_notifier callback. Trying to use these
# specific bdwgc's callbacks breaks guile's building.
GUILE_CFLAGS = \
-DHAVE_GC_SET_FINALIZER_NOTIFIER \
-DHAVE_GC_GET_HEAP_USAGE_SAFE \
-DHAVE_GC_GET_FREE_SPACE_DIVISOR \
-DHAVE_GC_SET_FINALIZE_ON_DEMAND
ifeq ($(BR2_STATIC_LIBS),y)
GUILE_CFLAGS += -DGC_NO_DLOPEN
endif
# Triggers assembler error with -Os
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM)$(BR2_OPTIMIZE_S),yy)
GUILE_CFLAGS += -O2
endif
# It can use readline, but on the condition that it was build against
# ncurses. If both aren't present disable readline support since the
# host readline/ncurses support can poison the build.
ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_READLINE),yy)
GUILE_CONF_OPTS += --with-libreadline-prefix=$(STAGING_DIR)/usr
GUILE_DEPENDENCIES += readline
else
GUILE_CONF_OPTS += --without-libreadline-prefix
endif
GUILE_CONF_ENV += GUILE_FOR_BUILD=$(HOST_DIR)/usr/bin/guile \
CFLAGS="$(TARGET_CFLAGS) $(GUILE_CFLAGS)"
GUILE_CONF_OPTS += \
--with-libltdl-prefix=$(STAGING_DIR)/usr/lib \
--with-libgmp-prefix=$(STAGING_DIR)/usr/lib \
--with-libunistring-prefix=$(STAGING_DIR)/usr/lib
$(eval $(autotools-package))
$(eval $(host-autotools-package))