From fb84b2b6348eb7214dbb97baf239d93458aa1df4 Mon Sep 17 00:00:00 2001 From: Camm Maguire Date: Sun, 13 Nov 2022 12:55:14 +0000 Subject: [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.12-68) unstable; urgency=medium * Version_2_6_13pre57 Gbp-Pq: Name Version_2_6_13pre58 --- h/elf64_alpha_reloc_special.h | 2 +- o/cmpaux.c | 4 ++++ o/fasdump.c | 2 +- o/gbc.c | 3 ++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/h/elf64_alpha_reloc_special.h b/h/elf64_alpha_reloc_special.h index a7086ef..69f85f3 100644 --- a/h/elf64_alpha_reloc_special.h +++ b/h/elf64_alpha_reloc_special.h @@ -65,7 +65,7 @@ label_got_symbols(void *v1,Shdr *sec1,Shdr *sece,Sym *sym1,Sym *syme,const char Sym *sym; Shdr *sec; void *v,*ve; - ul q=0,a; + ul a,b; for (sym=sym1;symst_other=sym->st_size=0; diff --git a/o/cmpaux.c b/o/cmpaux.c index 5599171..ac9543a 100755 --- a/o/cmpaux.c +++ b/o/cmpaux.c @@ -348,6 +348,8 @@ call_init(int init_address,object memory,object faslfile) { */ +object *min_cfd_self=NULL; + void do_init(object *statVV) { @@ -386,6 +388,8 @@ do_init(object *statVV) { } data->cfd.cfd_self = statVV; + if (!min_cfd_self || data->cfd.cfd_selfcfd.cfd_self; data->cfd.cfd_fillp= n; statVV[n-1] = data; diff --git a/o/fasdump.c b/o/fasdump.c index e3c149d..d73c016 100755 --- a/o/fasdump.c +++ b/o/fasdump.c @@ -640,7 +640,7 @@ DEFUN_NEW("CLOSE-FASD",object,fSclose_fasd,SI,1,1,NONE,OO,OO,OO,OO,(object ar)," if (type_of(fd->table)==t_vector) /* input uses a vector */ {if (fd->table->v.v_self) - fd->table->v.v_dim=0;/*self can be on the stack, and others write there*/ + gset(fd->table->v.v_self,0,fix(fd->index),aet_object); } else if(fd->direction==sKoutput) diff --git a/o/gbc.c b/o/gbc.c index 0f1507f..30b0dc8 100755 --- a/o/gbc.c +++ b/o/gbc.c @@ -446,6 +446,7 @@ mark_object_address(object *o,int f) { static ufixnum lp; static ufixnum lr; + extern object *min_cfd_self; ufixnum p=page(o); @@ -455,7 +456,7 @@ mark_object_address(object *o,int f) { #ifdef SGC sgc_enabled ? WRITABLE_PAGE_P(lp) : #endif - 1; + (o>=min_cfd_self && o<((object *)core_end)); } if (lr) -- 2.30.2