patches/binutils/2.17/140-better_file_error.patch
author Anthony Foiani <anthony.foiani@gmail.com>
Thu Oct 07 22:37:06 2010 +0200 (2010-10-07)
changeset 2138 2242d87c5404
parent 745 e445c00d134d
permissions -rw-r--r--
scripts: always create lib32 and lib64 symlinks

Unconditionally create the lib32 -> lib/ and lib64 -> lib/ symlinks.

This is reportedly a fix to build a toolchain for a 32-bit target on
a 'pure' 64-bit host (eg. on Fedora FC12, host libs are in lib64/,
and there is no lib -> lib64 symlink, as we can see on other distors,
as Debian). As gcc only puts static host lib in lib64/ (along with
target files in subdirs), we can safely create the symlinks.

Also note that the symlinks are summarily removed at the end
of the build.

Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
[Yann E. MORIN: fix a comment, rephrase the commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 diff -dur binutils-2.17.old/bfd/opncls.c binutils-2.17/bfd/opncls.c
     2 --- binutils-2.17.old/bfd/opncls.c	2006-03-16 13:20:16.000000000 +0100
     3 +++ binutils-2.17/bfd/opncls.c	2007-05-01 18:26:11.000000000 +0200
     4 @@ -158,6 +158,13 @@
     5  {
     6    bfd *nbfd;
     7    const bfd_target *target_vec;
     8 +  struct stat s;
     9 +
    10 +  if (stat (filename, &s) == 0)
    11 +    if (S_ISDIR(s.st_mode)) {
    12 +      bfd_set_error (bfd_error_file_not_recognized);
    13 +      return NULL;
    14 +    }
    15  
    16    nbfd = _bfd_new_bfd ();
    17    if (nbfd == NULL)