patches/binutils/2.17a/140-better_file_error.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Dec 12 21:41:16 2011 +0200 (2011-12-12)
branch1.13
changeset 2845 0dc9d4931246
parent 747 d3e603e7c17c
permissions -rw-r--r--
scripts: unset CONFIG_SITE

Some distributions (eg. openSUSE 12.1) systematically export
the CONFIG_SITE environment variable to point to a custom
script setting misc paths for ./configure.

This can, and does, break when cross-compiling for architectures
that are not supported by this script.

The simple workaround is to unset this variable.
NB: buildroot has a similar fix:
http://git.buildroot.org/buildroot/commit/?id=12c9f7dd6dee9c6029b4f9a12d6aac1516911ab4

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 21f4f28e60ec0342133086c9a51e7f0e5b181fb8)
     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)