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.14-17) unstable; urgency=medium
 .
   * Version_2_6_15pre16
   * Bug fix: "ftbfs with GCC-15", thanks to Matthias Klose (Closes:
     #1096684).
   * Bug fix: "outdated debconf version constraint; inhibits support for
     debconf-2.0/cdebconf", thanks to Gioele Barabucci (Closes: #1096165).
Author: Camm Maguire <camm@debian.org>
Bug-Debian: https://bugs.debian.org/1096165
Bug-Debian: https://bugs.debian.org/1096684

---
The information above should follow the Patch Tagging Guidelines, please
checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
Bug: <upstream-bugtracker-url>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: (no|not-needed|<patch-forwarded-url>)
Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
Reviewed-By: <name and email of someone who approved/reviewed the patch>
Last-Update: 2025-03-07

--- gcl-2.6.14.orig/configure
+++ gcl-2.6.14/configure
@@ -4547,6 +4547,7 @@ printf "%s\n" "removing $1 from LDFLAGS"
 add_args_to_cflags  -fsigned-char -pipe -fcommon \
                     -fno-builtin-malloc -fno-builtin-free \
                     -fno-PIE -fno-pie -fno-PIC -fno-pic \
+	            -std=gnu17 \
 	            -Wall \
 	            -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
 	            -Wno-unused-but-set-variable
--- gcl-2.6.14.orig/configure.in
+++ gcl-2.6.14/configure.in
@@ -258,6 +258,7 @@ remove_arg_from_ldflags() {
 add_args_to_cflags  -fsigned-char -pipe -fcommon \
                     -fno-builtin-malloc -fno-builtin-free \
                     -fno-PIE -fno-pie -fno-PIC -fno-pic \
+	            -std=gnu17 \
 	            -Wall \
 	            -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
 	            -Wno-unused-but-set-variable
--- gcl-2.6.14.orig/git.tag
+++ gcl-2.6.14/git.tag
@@ -1 +1 @@
-"Version_2_6_15pre15"
+"Version_2_6_15pre16"
--- gcl-2.6.14.orig/h/386-gnu.h
+++ gcl-2.6.14/h/386-gnu.h
@@ -54,11 +54,15 @@
 #endif
 #define PATH_MAX 4096 /*fixme dynamic*/
 #define MAXPATHLEN 4096 /*fixme dynamic*/
-#define MAX_BRK 0x70000000 /*GNU Hurd fragmentation bug*/
+/* #define MAX_BRK 0x70000000 */ /*GNU Hurd fragmentation bug*/
 
 #define RELOC_H "elf32_i386_reloc.h"
 
 #define NEED_STACK_CHK_GUARD
 
 #undef HAVE_D_TYPE /*FIXME defined, but not implemented in readdir*/
-#define NO_FILE_LOCKING /*FIXME*/
+/* #define NO_FILE_LOCKING */ /*FIXME*/
+
+#define INITIALIZE_BRK							\
+  massert(!brk(gcl_alloc_initialized ? core_end :			\
+	       ({extern ufixnum _end;(void *)ROUNDUP((ufixnum)&_end,PAGESIZE);})))
--- gcl-2.6.14.orig/h/mach64_i386_reloc.h
+++ gcl-2.6.14/h/mach64_i386_reloc.h
@@ -6,7 +6,7 @@
   case X86_64_RELOC_UNSIGNED:		// for absolute addresses
 
      if (ri->r_extern || !ri->r_pcrel) 
-      add_val(q,~0L,ri->r_pcrel ? a-rel : a);
+      store_val(q,~0L,ri->r_pcrel ? a-rel : a);
 
     break; 
   case X86_64_RELOC_GOT_LOAD:		// a MOVQ load of a GOT entry
--- gcl-2.6.14.orig/o/alloc.c
+++ gcl-2.6.14/o/alloc.c
@@ -1266,6 +1266,10 @@ gcl_init_alloc(void *cs_start) {
 
 #endif
 
+#ifdef INITIALIZE_BRK
+  INITIALIZE_BRK;
+#endif
+
   update_real_maxpage();
 
   if (gcl_alloc_initialized) {
--- gcl-2.6.14.orig/o/gmp_big.c
+++ gcl-2.6.14/o/gmp_big.c
@@ -461,7 +461,7 @@ integer_quotient_remainder_1(object x, o
 
   if (type_of(x)==t_fixnum && type_of(y)==t_fixnum) {
     fixnum fx=fix(x),fy=fix(y);
-    if (fx!=-fx) {/*MOST_NEGATIVE_FIX*/
+    if (fx!=MOST_NEGATIVE_FIX) {
       if (qp) {
 	fixnum z=fixnum_div(fx,fy,d);
 	if (rp) *rp=make_fixnum(fx-fy*z);
--- gcl-2.6.14.orig/o/sfaslmacho.c
+++ gcl-2.6.14/o/sfaslmacho.c
@@ -65,14 +65,6 @@ store_val(ul *w,ul m,ul v) {
 
 }
 
-static int
-add_val(ul *w,ul m,ul v) {
-
-  return store_val(w,m,v+(*w&m));
-
-}
-
-
 #ifndef _LP64
 /*redirect trampolines gcc-4.0 gives no reloc for stub sections on x86 only*/
 static int
