From: Camm Maguire Date: Sun, 13 Nov 2022 12:55:14 +0000 (+0000) Subject: X-Git-Tag: archive/raspbian/2.7.1-4+rpi1~2^2^2~29 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=04d09d5aea48e7aa858a2574503e283fd96df4da;p=gcl27.git 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.12-93) unstable; urgency=medium * Version_2_6_13pre90 Gbp-Pq: Name Version_2_6_13pre90 --- diff --git a/configure b/configure index 2dcc887..cb2d6b7 100755 --- a/configure +++ b/configure @@ -3974,7 +3974,7 @@ $as_echo "removing $1 from LDFLAGS" >&6; } } -add_args_to_cflags -fsigned-char -pipe \ +add_args_to_cflags -fsigned-char -pipe -fcommon \ -fno-builtin-malloc -fno-builtin-free \ -fno-PIE -fno-pie -fno-PIC -fno-pic \ -Wall \ diff --git a/configure.in b/configure.in index 1a9193e..9bfd2bc 100644 --- a/configure.in +++ b/configure.in @@ -258,7 +258,7 @@ remove_arg_from_ldflags() { } -add_args_to_cflags -fsigned-char -pipe \ +add_args_to_cflags -fsigned-char -pipe -fcommon \ -fno-builtin-malloc -fno-builtin-free \ -fno-PIE -fno-pie -fno-PIC -fno-pic \ -Wall \ diff --git a/o/main.c b/o/main.c index dfdfa1b..ae4a144 100755 --- a/o/main.c +++ b/o/main.c @@ -445,20 +445,21 @@ gcl_cleanup(int gc) { } /*gcc boolean expression tail position bug*/ +static char *stack_to_be_allocated; -void * -cclear_stack(unsigned long size) { - void *v=alloca(size); - memset(v,0,size); - return v; +void +get_stack_to_be_allocated(unsigned long size) { + stack_to_be_allocated=alloca(size); } DEFUN_NEW("EQUAL-TAIL-RECURSION-CHECK",object,fSequal_tail_recursion_check,SI,1,1,NONE,II,OO,OO,OO,(fixnum s),"") { object x0=make_list(s/sizeof(object)),x1=make_list(s/sizeof(object)); - char *u=cclear_stack(s),*w; + char *w; + get_stack_to_be_allocated(s); + memset(stack_to_be_allocated,0,s); fLequal(x0,x1); - for (w=u;w