30 lines
1.0 KiB
Diff
30 lines
1.0 KiB
Diff
# 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.
|
|
#
|
|
#Signed-off-by: John Bowler <jbowler@acm.org>
|
|
|
|
--- binutils-2.16/binutils/objcopy.c.orig 2006-01-31 11:15:38.797318519 -0800
|
|
+++ binutils-2.16/binutils/objcopy.c 2006-01-31 11:15:40.463318516 -0800
|
|
@@ -2434,7 +2434,8 @@ strip_main (int argc, char *argv[])
|
|
if (preserve_dates)
|
|
set_times (tmpname, &statbuf);
|
|
if (output_file == NULL)
|
|
- smart_rename (tmpname, argv[i], preserve_dates);
|
|
+ if (smart_rename (tmpname, argv[i], preserve_dates))
|
|
+ hold_status = 1;
|
|
status = hold_status;
|
|
}
|
|
else
|
|
@@ -3013,7 +3014,8 @@ copy_main (int argc, char *argv[])
|
|
{
|
|
if (preserve_dates)
|
|
set_times (tmpname, &statbuf);
|
|
- smart_rename (tmpname, input_filename, preserve_dates);
|
|
+ if (smart_rename (tmpname, input_filename, preserve_dates))
|
|
+ status = 1;
|
|
}
|
|
else
|
|
unlink (tmpname);
|