mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-scheme/guile: remove unused patches
Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at> Closes: https://github.com/gentoo/gentoo/pull/29487 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
committed by
Sam James
parent
9ecc3b0650
commit
25f1073cbe
@@ -1,47 +0,0 @@
|
||||
From f775ab3654357fcaad294b95efb0b1c16de1eda8 Mon Sep 17 00:00:00 2001
|
||||
From: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
Date: Sun, 19 Feb 2017 22:58:40 +0000
|
||||
Subject: guile-snarf: skip -g* arguments to avoid build failure
|
||||
|
||||
* libguile/guile-snarf.in: skip -g* arguments to avoid failure on
|
||||
-ggdb3.
|
||||
|
||||
Bug: https://bugs.gentoo.org/608190
|
||||
Bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25803
|
||||
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
---
|
||||
libguile/guile-snarf.in | 16 ++++++++++++++--
|
||||
1 file changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libguile/guile-snarf.in b/libguile/guile-snarf.in
|
||||
index 47bbc04..22dc1d3 100644
|
||||
--- a/libguile/guile-snarf.in
|
||||
+++ b/libguile/guile-snarf.in
|
||||
@@ -95,10 +95,22 @@ if [ x"$CPP" = x ] ; then cpp="@CPP@" ; else cpp="$CPP" ; fi
|
||||
|
||||
trap "rm -rf $tempdir" 0 1 2 15
|
||||
|
||||
+# filter out -g* flags from commandline
|
||||
+# as some flags like -ggdb3 cause CPP
|
||||
+
|
||||
+cpp_args=""
|
||||
+for arg in "$@"
|
||||
+do
|
||||
+ case "$arg" in
|
||||
+ -g*) ;; # skip debug flag
|
||||
+ *) cpp_args="$cpp_args $arg" ;;
|
||||
+ esac
|
||||
+done
|
||||
+
|
||||
if [ ! "$outfile" = "-" ] ; then
|
||||
- modern_snarf "$@" > $outfile
|
||||
+ modern_snarf $cpp_args > $outfile
|
||||
else
|
||||
- modern_snarf "$@"
|
||||
+ modern_snarf $cpp_args
|
||||
fi
|
||||
|
||||
# zonk outfile if errors occurred
|
||||
--
|
||||
cgit v1.0-41-gc330
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
https://src.fedoraproject.org/rpms/guile/c/7fcab121be7d2bc8e3e48d0da476127b86cec90c?branch=rawhide
|
||||
|
||||
These issues have already been fixed upstream via gnulib imports:
|
||||
|
||||
commit 7e641595cd9b45ce7339e21c20a8ab81af9278f6
|
||||
Author: Andy Wingo <wingo@pobox.com>
|
||||
Date: Wed Feb 15 21:41:24 2017 +0100
|
||||
|
||||
Update Gnulib to v0.1-1157-gb03f418.
|
||||
|
||||
commit a91b95cca2d397c84f8b9bbd602d40209a7092ce
|
||||
Author: Andy Wingo <wingo@pobox.com>
|
||||
Date: Wed Jan 20 21:52:54 2021 +0100
|
||||
|
||||
Update Gnulib to v0.1-4379-g2ef5a9b4b
|
||||
|
||||
Also bump required autoconf version to 2.64, as required by Gnulib.
|
||||
|
||||
--- a/m4/link.m4
|
||||
+++ b/m4/link.m4
|
||||
@@ -22,6 +22,7 @@ AC_DEFUN([gl_FUNC_LINK],
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <unistd.h>
|
||||
+ #include <stdio.h>
|
||||
]],
|
||||
[[int result = 0;
|
||||
if (!link ("conftest.a", "conftest.b/"))
|
||||
--- a/m4/round.m4
|
||||
+++ b/m4/round.m4
|
||||
@@ -57,7 +57,7 @@ int main()
|
||||
* (double) (1U << ((DBL_MANT_DIG + 3) / 5))
|
||||
* (double) (1U << ((DBL_MANT_DIG + 4) / 5));
|
||||
volatile double x = 0.5 - 0.5 / TWO_MANT_DIG;
|
||||
- exit (x < 0.5 && round (x) != 0.0);
|
||||
+ return x < 0.5 && round (x) != 0.0;
|
||||
}]])], [gl_cv_func_round_works=yes], [gl_cv_func_round_works=no],
|
||||
[case "$host_os" in
|
||||
netbsd* | aix*) gl_cv_func_round_works="guessing no";;
|
||||
|
||||
|
||||
Avoid implicit ints in the guile_cv_localtime_cache check. It cause
|
||||
the check to always fail with strict(er) C99 compilers that do not
|
||||
support implicit int.
|
||||
|
||||
Submitted upstream:
|
||||
|
||||
<https://lists.gnu.org/archive/html/bug-guile/2022-12/msg00017.html>
|
||||
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60022>
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1086,7 +1086,7 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <time.h>
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
extern char **environ;
|
||||
-unset_TZ ()
|
||||
+int unset_TZ ()
|
||||
{
|
||||
char **from, **to;
|
||||
for (to = from = environ; (*to = *from); from++)
|
||||
@@ -1095,7 +1095,7 @@ unset_TZ ()
|
||||
}
|
||||
char TZ_GMT0[] = "TZ=GMT0";
|
||||
char TZ_PST8[] = "TZ=PST8";
|
||||
-main()
|
||||
+int main()
|
||||
{
|
||||
time_t now = time ((time_t *) 0);
|
||||
int hour_GMT0, hour_unset;
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
fix compilation on Darwin
|
||||
|
||||
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24862#23
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=612338
|
||||
|
||||
--- guile-2.0.14/libguile/filesys.c
|
||||
+++ guile-2.0.14/libguile/filesys.c
|
||||
@@ -1486,6 +1486,9 @@
|
||||
mode_bits = scm_i_mode_bits (mode);
|
||||
}
|
||||
|
||||
+#ifdef __APPLE__
|
||||
+ open_flags &= O_APPEND|O_SHLOCK|O_EXLOCK|O_CLOEXEC;
|
||||
+#endif
|
||||
SCM_SYSCALL (rv = mkostemp (c_tmpl, open_flags));
|
||||
if (rv == -1)
|
||||
SCM_SYSERROR;
|
||||
--- guile-2.0.14/libguile/stime.c
|
||||
+++ guile-2.0.14/libguile/stime.c
|
||||
@@ -830,6 +830,10 @@
|
||||
|
||||
#ifdef HAVE_POSIX_CPUTIME
|
||||
{
|
||||
+#ifdef __APPLE__
|
||||
+ if (clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &posix_run_time_base) == 0)
|
||||
+ get_internal_run_time = get_internal_run_time_posix_timer;
|
||||
+#else
|
||||
clockid_t dummy;
|
||||
|
||||
/* Only use the _POSIX_CPUTIME clock if it's going to work across
|
||||
@@ -839,6 +843,7 @@
|
||||
get_internal_run_time = get_internal_run_time_posix_timer;
|
||||
else
|
||||
errno = 0;
|
||||
+#endif
|
||||
}
|
||||
#endif /* HAVE_POSIX_CPUTIME */
|
||||
#endif /* HAVE_CLOCKTIME */
|
||||
@@ -1,63 +0,0 @@
|
||||
From f92888853439a8ded221f3423865c78de2a96a14 Mon Sep 17 00:00:00 2001
|
||||
From: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
Date: Sun, 5 Nov 2017 09:30:45 +0000
|
||||
Subject: ia64: Fix crash in thread context switch.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Fixes <https://bugs.gnu.org/29151> and <https://bugs.gentoo.org/613986>.
|
||||
|
||||
Backtrace looks like that:
|
||||
|
||||
Program terminated with signal SIGSEGV, Segmentation fault.
|
||||
#0 0x200000000014a5c0 in scm_ia64_longjmp (JB=0x6000000000817020, VAL=1) at continuations.c:372
|
||||
372 t->pending_rbs_continuation->backing_store,
|
||||
[Current thread is 1 (Thread 0x2000000000049340 (LWP 8190))]
|
||||
(gdb) bt
|
||||
#0 0x200000000014a5c0 in scm_ia64_longjmp (JB=0x6000000000817020, VAL=1) at continuations.c:372
|
||||
#1 0x2000000000148e00 in scm_c_abort (vm=0x60000000000edea0, tag=0x6000000000795ba0, n=0, argv=0x60000fffff7f0ce0, cookie=-1) at control.c:239
|
||||
#2 0x2000000000149070 in scm_at_abort (tag=0x6000000000795ba0, args=0x304) at control.c:258
|
||||
(gdb) print t
|
||||
$2 = (scm_i_thread *) 0x6000000000068000
|
||||
(gdb) print t->pending_rbs_continuation
|
||||
$3 = (scm_t_contregs *) 0xffeb
|
||||
|
||||
The problem here is the value of 't->pending_rbs_continuation' pointer.
|
||||
It's supposed to poin to a register stack pointer or be NULL if not yet
|
||||
backed up.
|
||||
|
||||
The problem is it is never initialized to NULL at creation time and
|
||||
contained garbage on stack. Sometimes people are lucky and have zeros
|
||||
on stack and guile works. But sometimes there is something and guile
|
||||
crashes.
|
||||
|
||||
The fix is trivial: initialize 'pending_rbs_continuation = NULL'
|
||||
at thread registration time (the same way other threads are registered).
|
||||
|
||||
Reported-by: Matt Turner
|
||||
|
||||
* libguile/threads.c (guilify_self_1): Initialize pending_rbs_continuation
|
||||
to avoid crash on ia64.
|
||||
|
||||
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
||||
---
|
||||
libguile/threads.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/libguile/threads.c b/libguile/threads.c
|
||||
index 9ceb5b8..770f62c 100644
|
||||
--- a/libguile/threads.c
|
||||
+++ b/libguile/threads.c
|
||||
@@ -395,6 +395,7 @@ guilify_self_1 (struct GC_stack_base *base, int needs_unregister)
|
||||
t.base = base->mem_base;
|
||||
#ifdef __ia64__
|
||||
t.register_backing_store_base = base->reg_base;
|
||||
+ t.pending_rbs_continuation = 0;
|
||||
#endif
|
||||
t.continuation_root = SCM_EOL;
|
||||
t.continuation_base = t.base;
|
||||
--
|
||||
cgit v1.0-41-gc330
|
||||
|
||||
Reference in New Issue
Block a user