From: Camm Maguire Date: Thu, 11 Aug 2022 17:16:42 +0000 (+0100) Subject: X-Git-Tag: archive/raspbian/2.6.12-124+rpi1^2~54 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=a39186570cd17ace6cebe44a755a8099c3cc7ae2;p=gcl.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-70) unstable; urgency=medium * Version_2_6_13pre59 Gbp-Pq: Name Version_2_6_13pre60 --- diff --git a/h/elf64_alpha_reloc.h b/h/elf64_alpha_reloc.h index 9c5e8f82..03a33570 100644 --- a/h/elf64_alpha_reloc.h +++ b/h/elf64_alpha_reloc.h @@ -29,7 +29,7 @@ } else *gote=s+a; s=(gote-got)*sizeof(*got); - massert(!(s&~MASK(16))); + massert(!(s&~MASK(15))); store_val(where,MASK(16),s); break; case R_ALPHA_GPRELHIGH: diff --git a/h/elf64_alpha_reloc_special.h b/h/elf64_alpha_reloc_special.h index 31264997..726a9d20 100644 --- a/h/elf64_alpha_reloc_special.h +++ b/h/elf64_alpha_reloc_special.h @@ -62,7 +62,6 @@ static int label_got_symbols(void *v1,Shdr *sec1,Shdr *sece,Sym *sym1,Sym *syme,const char *st1,const char *sn,ul *gs) { Rela *r,*rr; - Sym *sym; Shdr *sec; void *v,*ve,*vv; ul b,q; @@ -80,8 +79,12 @@ label_got_symbols(void *v1,Shdr *sec1,Shdr *sece,Sym *sym1,Sym *syme,const char vv-=sec->sh_entsize,rr=vv); b=sizeof(r->r_addend)*4; - q=vv>=v1 ? (rr->r_addend>>b) : ++*gs; - massert(!make_got_room_for_stub(sec1,sece,sym,st1,gs)); + if (vv>=v1) + q=rr->r_addend>>b; + else { + q=++*gs; + massert(!make_got_room_for_stub(sec1,sece,sym1+ELF_R_SYM(r->r_info),st1,gs)); + } massert(*gs==q || !r->r_addend); massert(!(r->r_addend>>b)); r->r_addend|=(q<