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~71 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=a45ea865612f7d5eee12dd88d8e35ffa11b240b2;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-60) unstable; urgency=medium * list_order.19 Gbp-Pq: Name list_order.20 --- diff --git a/h/elf64_ppcle_reloc_special.h b/h/elf64_ppcle_reloc_special.h index f2c6c16..93aad64 100644 --- a/h/elf64_ppcle_reloc_special.h +++ b/h/elf64_ppcle_reloc_special.h @@ -16,7 +16,7 @@ find_special_params(void *v,Shdr *sec1,Shdr *sece,const char *sn, Rela *r; void *ve; - massert((sec=get_section(".rela.plt",sec1,sece,sn))); + massert((sec=get_section(".rela.dyn",sec1,sece,sn))); v+=sec->sh_offset; ve=v+sec->sh_size; diff --git a/h/object.h b/h/object.h index 79febb1..74939f2 100755 --- a/h/object.h +++ b/h/object.h @@ -401,9 +401,9 @@ char *tmp_alloc; */ #define ALLOC_ALIGNED(f, size,align) \ - (align <= sizeof(plong) ? (char *)((f)(size)) : \ - (tmp_alloc = (char *)((f)(size+(size ?(align)-1 : 0)))+(align)-1 , \ - (char *)(align * (((unsigned long)tmp_alloc)/align)))) + ({ufixnum _size=size,_align=align;_align <= sizeof(plong) ? (char *)((f)(_size)) : \ + (tmp_alloc = (char *)((f)(_size+(_size ?(_align)-1 : 0)))+(_align)-1 , \ + (char *)(_align * (((unsigned long)tmp_alloc)/_align)));}) #define AR_ALLOC(f,n,type) (type *) \ (ALLOC_ALIGNED(f,(n)*sizeof(type),sizeof(type))) diff --git a/o/fat_string.c b/o/fat_string.c index 13fd6e9..4084cd6 100755 --- a/o/fat_string.c +++ b/o/fat_string.c @@ -47,13 +47,17 @@ DEFUN_NEW("PROFILE",object,fSprofile,SI object ar=sSAprofile_arrayA->s.s_dbind; void *x; + fixnum a,s; if (type_of(ar)!=t_string) FEerror("si:*Profile-array* not a string",0); if( type_of(start_address)!=t_fixnum || type_of(scale)!=t_fixnum) FEerror("Needs start address and scale as args",0); - x=!(fix(start_address)*fix(scale)) ? NULL : (void *) (ar->ust.ust_self); + massert((a=fix(start_address))>=0); + massert((s=fix(scale))>=0); + + x=a&&s ? (void *) (ar->ust.ust_self) : NULL; profil(x, (ar->ust.ust_dim),fix(start_address),fix(scale) << 8); RETURN1(start_address); }