patches/binutils/2.20/180-only-use-new-ld-dtags.patch.disabled
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jul 12 23:52:24 2011 +0200 (2011-07-12)
branch1.11
changeset 2558 b7317d2fe0e9
permissions -rw-r--r--
scripts, cc/gcc: do not fail on existing symlinks or build.log

If the user builds a toolchain over an existing one, so, without removing
CT_PREFIX_DIR, the build fails as the symlinks already exist, as does the
build.log.

This can also happen (for build.log) if the user first ran in download-
or extract-only.

Patch (with no SoB) originally from:
Phil Wilshire <phil.wilshire@overturenetworks.com>

Modified by me as it did not apply cleanly.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 1ebc2248cc60230cd53ff94ae8f8f1e3261461a3)
     1 Don't generate RPATH if we're going to be generating RUNPATH.
     2 
     3 need to ponder what ramifications this has before enabling it
     4 
     5 --- binutils/bfd/elflink.c
     6 +++ binutils/bfd/elflink.c
     7 @@ -5382,11 +5382,15 @@
     8  
     9  	  indx = _bfd_elf_strtab_add (elf_hash_table (info)->dynstr, rpath,
    10  				      TRUE);
    11 -	  if (indx == (bfd_size_type) -1
    12 -	      || !_bfd_elf_add_dynamic_entry (info, DT_RPATH, indx))
    13 +	  if (indx == (bfd_size_type) -1)
    14  	    return FALSE;
    15  
    16 -	  if  (info->new_dtags)
    17 +	  if (!info->new_dtags)
    18 +	    {
    19 +	      if (!_bfd_elf_add_dynamic_entry (info, DT_RPATH, indx))
    20 +		return FALSE;
    21 +	    }
    22 +	  else
    23  	    {
    24  	      _bfd_elf_strtab_addref (elf_hash_table (info)->dynstr, indx);
    25  	      if (!_bfd_elf_add_dynamic_entry (info, DT_RUNPATH, indx))