Description: 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 Author: Camm Maguire --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: , Bug: Bug-Debian: https://bugs.debian.org/ Bug-Ubuntu: https://launchpad.net/bugs/ Forwarded: Reviewed-By: Last-Update: 2018-03-12 --- gcl-2.6.12.orig/h/elf64_alpha_reloc.h +++ gcl-2.6.12/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: --- gcl-2.6.12.orig/h/elf64_alpha_reloc_special.h +++ gcl-2.6.12/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,Sh 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<