summaryrefslogtreecommitdiffstats
path: root/meta/packages/binutils/binutils-2.18/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
blob: 768f556ad92f06ee2d3708e63ec560f9de170348 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# strip (and objcopy) fail to set the error code if there is no
# output file name and the rename of the stripped (or copied) file
# fails, yet the command fails to do anything.  This fixes both
# objcopy and strip.
#
# modification by bero: Ported to 2.16.91.0.6
#
#Signed-off-by: John Bowler <jbowler@acm.org>
#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
--- binutils-2.18.orig/binutils/objcopy.c
+++ binutils-2.18/binutils/objcopy.c
@@ -2787,8 +2787,8 @@
 	  if (preserve_dates)
 	    set_times (tmpname, &statbuf);
 	  if (output_file != tmpname)
-	    smart_rename (tmpname, output_file ? output_file : argv[i],
-			  preserve_dates);
+	    if(smart_rename (tmpname, argv[i], preserve_dates))
+              hold_status = 1;
 	  status = hold_status;
 	}
       else
@@ -3411,7 +3411,8 @@
       if (preserve_dates)
 	set_times (tmpname, &statbuf);
       if (tmpname != output_filename)
-	smart_rename (tmpname, input_filename, preserve_dates);
+	  if (smart_rename (tmpname, input_filename, preserve_dates))
+            status = 1;
     }
   else
     unlink_if_ordinary (tmpname);