64d8fd0
Description: <short summary of the patch>
64d8fd0
 TODO: Put a short summary on the line above and replace this paragraph
64d8fd0
 with a longer explanation of this change. Complete the meta-information
64d8fd0
 with other relevant fields (see below for details). To make it easier, the
64d8fd0
 information below has been extracted from the changelog. Adjust it or drop
64d8fd0
 it.
64d8fd0
 .
64d8fd0
 gcl (2.6.12-95) unstable; urgency=high
64d8fd0
 .
64d8fd0
   * Version_2_6_13pre90
64d8fd0
   * build under GCL_MEM_MULTIPLE=0.1
64d8fd0
   * Bug fix: "FTBFS: Unrecoverable error: Segmentation violation..",
64d8fd0
     thanks to Lucas Nussbaum (Closes: #952334).
64d8fd0
Author: Camm Maguire <camm@debian.org>
64d8fd0
Bug-Debian: https://bugs.debian.org/952334
64d8fd0
64d8fd0
---
64d8fd0
The information above should follow the Patch Tagging Guidelines, please
64d8fd0
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
64d8fd0
are templates for supplementary fields that you might want to add:
64d8fd0
64d8fd0
Origin: <vendor|upstream|other>, <url of original patch>
64d8fd0
Bug: <url in upstream bugtracker>
64d8fd0
Bug-Debian: https://bugs.debian.org/<bugnumber>
64d8fd0
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
64d8fd0
Forwarded: <no|not-needed|url proving that it has been forwarded>
64d8fd0
Reviewed-By: <name and email of someone who approved the patch>
64d8fd0
Last-Update: 2020-08-23
64d8fd0
64d8fd0
--- gcl-2.6.12.orig/h/elf32_armhf_reloc_special.h
64d8fd0
+++ gcl-2.6.12/h/elf32_armhf_reloc_special.h
64d8fd0
@@ -6,13 +6,15 @@ static ul tz=sizeof(tramp)/sizeof(ul);
64d8fd0
 static ul *
64d8fd0
 next_plt_entry(ul *p,ul *pe) {
64d8fd0
 
64d8fd0
-  ul l0=0xe5bef000,/*ldr pc,[ip,#]*/
64d8fd0
-     l1=0xe5bcf000;/*ldr pc,[lr,#]*/
64d8fd0
+   /* 4778      	bx	pc */ /*optional*/
64d8fd0
+   /* e7fd      	b.n	20dd0 <__fprintf_chk@plt> */ /*optional*/
64d8fd0
+   /*      above when stripped becomes undefined instruction*/
64d8fd0
+   /* e28fc601 	add	ip, pc, #1048576	; 0x100000 */
64d8fd0
+   /* e28ccab0 	add	ip, ip, #176, 20	; 0xb0000 */
64d8fd0
+   /* e5bcf914 	ldr	pc, [ip, #2324]!	; 0x914 */
64d8fd0
 
64d8fd0
-  for (;p
64d8fd0
-  if ((*p&l0)==l0) p++;
64d8fd0
-
64d8fd0
-  return p+1;
64d8fd0
+  for (p=p+2;p<pe && ((*p)>>20)!=0xe28;p++);
64d8fd0
+  return p;
64d8fd0
 
64d8fd0
 }
64d8fd0