patches/binutils/2.20/290-ld-stub-crash.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Aug 23 14:32:16 2010 +0200 (2010-08-23)
changeset 2100 f9fcfc002c8a
permissions -rw-r--r--
debug/gdb: install dependable libs in a generic target static libs dir

For now, ncurses is the only dependable target library built for gdb.
But expat is coming, and there's no reason to install each library in
its own place.

So, install ncurses in a generic directory, where other dependable
libraries can be installed as well.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
jocke@1700
     1
diff -p -c -u -r1.196 elf32-arm.c
jocke@1700
     2
--- a/bfd/elf32-arm.c	22 May 2009 11:58:44 -0000	1.196
jocke@1700
     3
+++ b/bfd/elf32-arm.c	12 Jun 2009 13:18:20 -0000
jocke@1700
     4
@@ -3175,11 +3175,15 @@ arm_type_of_stub (struct bfd_link_info *
jocke@1700
     5
 
jocke@1700
     6
 	  /* We have an extra 2-bytes reach because of
jocke@1700
     7
 	     the mode change (bit 24 (H) of BLX encoding).  */
jocke@1700
     8
+	  /* A stub is needed only if this call is not throught a PLT
jocke@1700
     9
+	     entry, because PLT stubs handle mode switching
jocke@1700
    10
+	     already.  */
jocke@1700
    11
 	  if (branch_offset > (ARM_MAX_FWD_BRANCH_OFFSET + 2)
jocke@1700
    12
 	      || (branch_offset < ARM_MAX_BWD_BRANCH_OFFSET)
jocke@1700
    13
-	      || ((r_type == R_ARM_CALL) && !globals->use_blx)
jocke@1700
    14
-	      || (r_type == R_ARM_JUMP24)
jocke@1700
    15
-	      || (r_type == R_ARM_PLT32))
jocke@1700
    16
+	      || ( (((r_type == R_ARM_CALL) && !globals->use_blx)
jocke@1700
    17
+		    || (r_type == R_ARM_JUMP24)
jocke@1700
    18
+		    || (r_type == R_ARM_PLT32))
jocke@1700
    19
+		   && !use_plt))
jocke@1700
    20
 	    {
jocke@1700
    21
 	      stub_type = (info->shared | globals->pic_veneer)
jocke@1700
    22
 		/* PIC stubs.  */