30dfb10336b898e1711c11bd1d32c82933306b8e
[openwrt/staging/chunkeey.git] / toolchain / binutils / patches / 2.18 / 300-006_better_file_error.patch
1 #!/bin/sh -e
2 ## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
3 ##
4 ## All lines beginning with `## DP:' are a description of the patch.
5 ## DP: Specify which filename is causing an error if the filename is a
6 ## DP: directory. (#45832)
7
8 if [ $# -ne 1 ]; then
9 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
10 exit 1
11 fi
12
13 [ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
14 patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
15
16 case "$1" in
17 -patch) patch $patch_opts -p1 < $0;;
18 -unpatch) patch $patch_opts -p1 -R < $0;;
19 *)
20 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
21 exit 1;;
22 esac
23
24 exit 0
25
26 @DPATCH@
27 Index: binutils-2.18/bfd/opncls.c
28 ===================================================================
29 --- binutils-2.18.orig/bfd/opncls.c 2007-06-28 09:19:34.818943168 +0200
30 +++ binutils-2.18/bfd/opncls.c 2007-06-28 09:19:35.993764568 +0200
31 @@ -183,6 +183,13 @@
32 {
33 bfd *nbfd;
34 const bfd_target *target_vec;
35 + struct stat s;
36 +
37 + if (stat (filename, &s) == 0)
38 + if (S_ISDIR(s.st_mode)) {
39 + bfd_set_error (bfd_error_file_not_recognized);
40 + return NULL;
41 + }
42
43 nbfd = _bfd_new_bfd ();
44 if (nbfd == NULL)