Blob Blame Raw
Description: <short summary of the 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-73) unstable; urgency=medium
 .
   * Version_2_6_13pre62
Author: Camm Maguire <camm@debian.org>

---
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: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2018-03-17

--- gcl-2.6.12.orig/h/elf64_alpha_reloc_special.h
+++ gcl-2.6.12/h/elf64_alpha_reloc_special.h
@@ -71,20 +71,21 @@ label_got_symbols(void *v1,Shdr *sec1,Sh
     sym->st_size=0;
 
   for (*gs=0,sec=sec1;sec<sece;sec++)
-    for (v=v1+sec->sh_offset,ve=v+sec->sh_size,r=v;v<ve;v+=sec->sh_entsize,r=v)
+    if (sec->sh_type==SHT_RELA || sec->sh_type==SHT_REL)
+      for (v=v1+sec->sh_offset,ve=v+sec->sh_size,r=v;v<ve;v+=sec->sh_entsize,r=v)
 
-      if (ELF_R_TYPE(r->r_info)==R_ALPHA_LITERAL) {
+	if (ELF_R_TYPE(r->r_info)==R_ALPHA_LITERAL) {
 
-	if (sec->sh_type!=SHT_RELA || !r->r_addend) {
+	  if (sec->sh_type!=SHT_RELA || !r->r_addend) {
 
-	  sym=sym1+ELF_R_SYM(r->r_info);
+	    sym=sym1+ELF_R_SYM(r->r_info);
 
-	  if (!sym->st_size) {
-	    sym->st_size=++*gs;
-	    massert(!make_got_room_for_stub(sec1,sece,sym,st1,gs));
-	  }
+	    if (!sym->st_size) {
+	      sym->st_size=++*gs;
+	      massert(!make_got_room_for_stub(sec1,sece,sym,st1,gs));
+	    }
 
-	} else {
+	  } else {
 
 	    for (rr=vv=v-sec->sh_entsize;
 		 vv>=v1 && (ELF_R_TYPE(rr->r_info)!=ELF_R_TYPE(r->r_info) ||
@@ -96,9 +97,9 @@ label_got_symbols(void *v1,Shdr *sec1,Sh
 	    massert(!(r->r_addend>>32));
 	    r->r_addend|=(q<<32);
 
-	}
+	  }
 
-      }
+	}
 
   return 0;
   
--- gcl-2.6.12.orig/o/gprof.c
+++ gcl-2.6.12/o/gprof.c
@@ -1,3 +1,5 @@
+#include <string.h>
+
 #include "include.h"
 #include "page.h"
 #include "ptable.h"