patches/binutils/2.17/140-better_file_error.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Oct 09 19:17:49 2008 +0000 (2008-10-09)
changeset 914 0b164a321177
parent 745 e445c00d134d
permissions -rw-r--r--
Remove CT_BROKEN.
Only one component is actually BROKEN (libelf), make it depend on EXPERIMENTAL, but state BROKEN in the prompt.
ltrace (which depends on libelf) is now marked as EXPERIMENTAL, with the reference to the BROKEN libelf in the help entry.

/trunk/docs/overview.txt | 6 0 6 0 ------
/trunk/config/debug/ltrace.in | 7 4 3 0 ++++---
/trunk/config/global/ct-behave.in | 8 0 8 0 --------
/trunk/config/tools/libelf.in | 5 3 2 0 +++--
4 files changed, 7 insertions(+), 19 deletions(-)
yann@55
     1
diff -dur binutils-2.17.old/bfd/opncls.c binutils-2.17/bfd/opncls.c
yann@55
     2
--- binutils-2.17.old/bfd/opncls.c	2006-03-16 13:20:16.000000000 +0100
yann@55
     3
+++ binutils-2.17/bfd/opncls.c	2007-05-01 18:26:11.000000000 +0200
yann@55
     4
@@ -158,6 +158,13 @@
yann@55
     5
 {
yann@55
     6
   bfd *nbfd;
yann@55
     7
   const bfd_target *target_vec;
yann@55
     8
+  struct stat s;
yann@55
     9
+
yann@55
    10
+  if (stat (filename, &s) == 0)
yann@55
    11
+    if (S_ISDIR(s.st_mode)) {
yann@55
    12
+      bfd_set_error (bfd_error_file_not_recognized);
yann@55
    13
+      return NULL;
yann@55
    14
+    }
yann@55
    15
 
yann@55
    16
   nbfd = _bfd_new_bfd ();
yann@55
    17
   if (nbfd == NULL)