patches/binutils/2.20.1a/290-ld-stub-crash.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Feb 25 21:19:31 2013 +0100 (2013-02-25)
changeset 3185 f89f8e6f8766
parent 2088 4f21ba5f8e91
permissions -rw-r--r--
Makefile: fix parrallel (-j) installs

Currently, we would remove previously installed patches before
installing the new ones. Unfortunately, that does not play well
with heavily parallel installs.

Now, we consider it is the responsibility of the user to first
uninstall any previous version before installing a new one.

Reported-by: Markos Chandras <markos.chandras@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
jocke@1700
     1
diff -p -c -u -r1.196 elf32-arm.c
yann@2088
     2
yann@2088
     3
diff -durN binutils-2.20.1.orig/bfd/elf32-arm.c binutils-2.20.1/bfd/elf32-arm.c
yann@2088
     4
--- binutils-2.20.1.orig/bfd/elf32-arm.c	2010-02-22 09:06:48.000000000 +0100
yann@2088
     5
+++ binutils-2.20.1/bfd/elf32-arm.c	2010-08-17 19:32:25.000000000 +0200
yann@2088
     6
@@ -3194,11 +3194,15 @@
jocke@1700
     7
 
jocke@1700
     8
 	  /* We have an extra 2-bytes reach because of
jocke@1700
     9
 	     the mode change (bit 24 (H) of BLX encoding).  */
jocke@1700
    10
+	  /* A stub is needed only if this call is not throught a PLT
jocke@1700
    11
+	     entry, because PLT stubs handle mode switching
jocke@1700
    12
+	     already.  */
jocke@1700
    13
 	  if (branch_offset > (ARM_MAX_FWD_BRANCH_OFFSET + 2)
jocke@1700
    14
 	      || (branch_offset < ARM_MAX_BWD_BRANCH_OFFSET)
jocke@1700
    15
-	      || ((r_type == R_ARM_CALL) && !globals->use_blx)
jocke@1700
    16
-	      || (r_type == R_ARM_JUMP24)
jocke@1700
    17
-	      || (r_type == R_ARM_PLT32))
jocke@1700
    18
+	      || ( (((r_type == R_ARM_CALL) && !globals->use_blx)
jocke@1700
    19
+		    || (r_type == R_ARM_JUMP24)
jocke@1700
    20
+		    || (r_type == R_ARM_PLT32))
jocke@1700
    21
+		   && !use_plt))
jocke@1700
    22
 	    {
jocke@1700
    23
 	      stub_type = (info->shared | globals->pic_veneer)
jocke@1700
    24
 		/* PIC stubs.  */