guile: updated to 2.0.6

Some patches (disable_goops_optimizations, fix_cross_compilation) don't
seem to be needed anymore. Others (change-install-data-hook, mark-unused-modules)
were updated to work on 2.0.6. Tested by building and running guile under
QEMU with core-image-sato-sdk and also builing guile on MIPS.

(From OE-Core rev: 310f169d3d89f3a4fc6a540974a30c7eb565db3a)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Bogdan Marinescu 2012-07-31 15:33:25 +03:00 committed by Richard Purdie
parent a4b1e34848
commit 2db74c67cb
7 changed files with 23 additions and 132 deletions

View File

@ -22,18 +22,15 @@ Signed-off-by: Song.Li <Song.Li@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/Makefile.am b/meta/Makefile.am
index f26fc44..e603e5c 100644
index a05730d..bd20784 100644
--- a/meta/Makefile.am
+++ b/meta/Makefile.am
@@ -27,7 +27,7 @@ EXTRA_DIST= \
@@ -28,7 +28,7 @@ EXTRA_DIST= \
guild.in guile-config.in
# What we now call `guild' used to be known as `guile-tools'.
-install-data-hook:
+install-exec-hook:
cd $(DESTDIR)$(bindir) && rm -f guile-tools$(EXEEXT) && \
$(LN_S) guild$(EXEEXT) guile-tools$(EXEEXT)
--
1.7.9.5
guild="`echo $(ECHO_N) guild \
| $(SED) -e '$(program_transform_name)'`$(EXEEXT)" ; \
guile_tools="`echo $(ECHO_N) guile-tools \

View File

@ -15,24 +15,25 @@ garbage collector.
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/test-suite/tests/gc.test b/test-suite/tests/gc.test
index 97eeb19..58e4936 100644
index a969752..8c8e13e 100644
--- a/test-suite/tests/gc.test
+++ b/test-suite/tests/gc.test
@@ -80,11 +80,12 @@
(gc) ;; thrice: because the test doesn't succeed with only
@@ -84,11 +84,13 @@
;; one gc round. not sure why.
- (= (let lp ((i 0))
- (if (guard)
- (lp (1+ i))
- i))
- total)))
+ (or (= (let lp ((i 0))
+ (if (guard)
+ (lp (1+ i))
+ i))
+ total)
+ (throw 'unresolved))))
(maybe-gc-flakiness
- (= (let lp ((i 0))
- (if (guard)
- (lp (1+ i))
- i))
- total))))
+ (or (= (let lp ((i 0))
+ (if (guard)
+ (lp (1+ i))
+ i))
+ total)
+ (throw 'unresolved)))))
+
(pass-if "Lexical vars are collectable"
(let ((l (compile

View File

@ -1,32 +0,0 @@
commit f7d8efc630ce45f5d82aae5b2682d261e5541d5f
Author: Andy Wingo <wingo@pobox.com>
Date: Sun Apr 15 13:00:30 2012 -0700
disable optimizations in goops dispatch procedures
* module/oop/goops/dispatch.scm: Disable peval and cse.
Upstream-Status: Backported
diff --git a/module/oop/goops/dispatch.scm b/module/oop/goops/dispatch.scm
index e433b86..b12ab15 100644
--- a/module/oop/goops/dispatch.scm
+++ b/module/oop/goops/dispatch.scm
@@ -1,4 +1,4 @@
-;;;; Copyright (C) 1999, 2000, 2001, 2003, 2006, 2009 Free Software Foundation, Inc.
+;;;; Copyright (C) 1999, 2000, 2001, 2003, 2006, 2009, 2012 Free Software Foundation, Inc.
;;;;
;;;; This library is free software; you can redistribute it and/or
;;;; modify it under the terms of the GNU Lesser General Public
@@ -178,7 +178,9 @@
'())
(acons gf gf-sym '()))))
(define (comp exp vals)
- (let ((p ((@ (system base compile) compile) exp #:env *dispatch-module*)))
+ (let ((p ((@ (system base compile) compile) exp
+ #:env *dispatch-module*
+ #:opts '(#:partial-eval? #f #:cse? #f))))
(apply p vals)))
;; kick it.

View File

@ -1,47 +0,0 @@
commit f3b312a19d70293d7a3407fc4ef479183edd7cca
Author: Ludovic Courtès <ludo@gnu.org>
Date: Wed Jun 20 01:11:44 2012 +0200
Fix cross-compilation of GOOPS-using code.
Fixes <http://bugs.gnu.org/11645>.
Reported by Bogdan A. Marinescu <bogdan.a.marinescu@intel.com>.
* module/oop/goops/dispatch.scm (compute-dispatch-procedure)[comp]:
Wrap `compile' call in (with-target %host-type ...).
Upstream-Status: Backported
diff --git a/module/oop/goops/dispatch.scm b/module/oop/goops/dispatch.scm
index b12ab15..de5359f 100644
--- a/module/oop/goops/dispatch.scm
+++ b/module/oop/goops/dispatch.scm
@@ -25,6 +25,7 @@
#:use-module (oop goops)
#:use-module (oop goops util)
#:use-module (oop goops compile)
+ #:use-module (system base target)
#:export (memoize-method!)
#:no-backtrace)
@@ -178,11 +179,15 @@
'())
(acons gf gf-sym '()))))
(define (comp exp vals)
- (let ((p ((@ (system base compile) compile) exp
- #:env *dispatch-module*
- #:opts '(#:partial-eval? #f #:cse? #f))))
- (apply p vals)))
-
+ ;; When cross-compiling Guile itself, the native Guile must generate
+ ;; code for the host.
+ (with-target %host-type
+ (lambda ()
+ (let ((p ((@ (system base compile) compile) exp
+ #:env *dispatch-module*
+ #:opts '(#:partial-eval? #f #:cse? #f))))
+ (apply p vals)))))
+
;; kick it.
(scan))

View File

@ -1,23 +0,0 @@
ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
Index: guile-2.0.5/lib/stdio.in.h
===================================================================
--- guile-2.0.5.orig/lib/stdio.in.h 2012-01-24 03:06:06.000000000 -0800
+++ guile-2.0.5/lib/stdio.in.h 2012-07-04 12:28:15.617108481 -0700
@@ -711,11 +711,13 @@
_GL_CXXALIAS_SYS (gets, char *, (char *s));
# undef gets
# endif
+# if defined gets
_GL_CXXALIASWARN (gets);
/* It is very rare that the developer ever has full control of stdin,
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89. */
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+# endif
#endif

View File

@ -17,10 +17,7 @@ SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.gz \
file://debian/0002-Mark-Unused-modules-are-removed-gc-test-as-unresolve.patch \
file://debian/0003-Mark-mutex-with-owner-not-retained-threads-test-as-u.patch \
file://opensuse/guile-64bit.patch \
file://guile_2.0.5_fix_sed_error.patch \
file://guile_2.0.5_disable_goops_optimizations.patch \
file://guile_2.0.5_fix_cross_compilation.patch \
file://remove-gets.patch \
file://guile_2.0.6_fix_sed_error.patch \
file://arm_endianness.patch \
file://change-install-data-hook-to-install-exec-hook-in-gui.patch \
"
@ -28,10 +25,8 @@ SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.gz \
# file://debian/0001-Change-guile-to-guile-X.Y-for-info-pages.patch
# file://opensuse/guile-turn-off-gc-test.patch
SRC_URI[md5sum] = "bcf70d54b44c99cb9acd3f63c5486b4b"
SRC_URI[sha256sum] = "2a026ea6cdbc51ca71bcd9787839debfa45ac5db1e26dc00b30ca9b128b10956"
PR = "r5"
SRC_URI[md5sum] = "3438cd4415c0c43ca93a20e845eba7e2"
SRC_URI[sha256sum] = "3ece055145a5020dd36b84f5fbccd4b3846a671960dd5ee55931555f03200950"
inherit autotools gettext
BBCLASSEXTEND = "native"