patches/binutils/2.20/290-ld-stub-crash.patch
author Arnaud Lacombe <lacombar@gmail.com>
Tue Aug 03 06:17:51 2010 +0200 (2010-08-03)
changeset 2064 f5ebe8c429dc
permissions -rw-r--r--
libc/uClibc: add uClibc 0.9.30.3

This version has been released a couple of month ago, but it never reached
crosstool-ng tree. This may be linked to the fact that the current 0.9.30.2,
once patched, has nothing much different from 0.9.30.3, released.

I'm not including any patch with this upgrade, on purpose.

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