Root/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
8if [ $# -ne 1 ]; then
9    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
10    exit 1
11fi
12
13[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
14patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
15
16case "$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;;
22esac
23
24exit 0
25
26@DPATCH@
27Index: 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)
45

Archive Download this file



interactive