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-18) unstable; urgency=medium
 .
   * Version_2_6_15pre17
Author: Camm Maguire <camm@debian.org>

---
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/git.tag
+++ gcl-2.6.14/git.tag
@@ -1 +1 @@
-"Version_2_6_15pre16"
+"Version_2_6_15pre17"
--- gcl-2.6.14.orig/o/big.c
+++ gcl-2.6.14/o/big.c
@@ -47,6 +47,7 @@ read.d: normalize_big_to_object
 #include <stdlib.h>
 #include <string.h>
 #include "include.h"
+#include "num_include.h"
 
 #ifdef STATIC_FUNCTION_POINTERS
 static void* alloc_relblock_static (size_t n) {return alloc_relblock (n);}
--- gcl-2.6.14.orig/o/gprof.c
+++ gcl-2.6.14/o/gprof.c
@@ -7,10 +7,6 @@
 
 static unsigned long gprof_on;
 
-#ifdef DARWIN
-void _mcleanup() {}
-#endif
-
 DEFUN_NEW("MCLEANUP",object,fSmcleanup,SI,0,0,NONE,OO,OO,OO,OO,(void),"") {
 
   extern void _mcleanup(void);
@@ -25,6 +21,10 @@ DEFUN_NEW("MCLEANUP",object,fSmcleanup,S
 
 }
 
+#ifdef DARWIN
+void _mcleanup() {}
+#endif
+
 static inline int
 my_monstartup(unsigned long start,unsigned long end) {
 
--- gcl-2.6.14.orig/o/main.c
+++ gcl-2.6.14/o/main.c
@@ -516,7 +516,9 @@ which(const char *n,char *o) {
 static int ARGC;
 static char **ARGV;
 
+#ifdef CAN_UNRANDOMIZE_SBRK
 #include "unrandomize_headers.h"
+#endif
 
 int
 main(int argc, char **argv, char **envp) {
@@ -942,7 +944,7 @@ FFN(siLcatch_fatal)(int i) {
 
 LFD(siLreset_stack_limits)(void)
 {
-  long i=0;
+  volatile long i=0;
 
   check_arg(0);
   if(catch_fatal <0) catch_fatal=1;
@@ -965,8 +967,10 @@ LFD(siLreset_stack_limits)(void)
     ihs_limit = ihs_org + stack_multiple *  IHSSIZE;
   else
     error("can't reset ihs_limit");
-  if (cs_base==cs_org)
-    cs_org=(void *)&i;
+  if (cs_base==cs_org) {
+    i=(long)&i;
+    cs_org=(void *)i;
+  }
 #ifdef __ia64__
  {
    extern void * GC_save_regs_in_stack();
