generic-poky/meta/packages/binutils/binutils-2.18/binutils-2.16.91.0.6-objcop...

40 lines
1.4 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.
#
# 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/objcopy.c | 8 +++++---
# 1 file changed, 5 insertions(+), 3 deletions(-)
#
Index: src/binutils/objcopy.c
===================================================================
--- src.orig/binutils/objcopy.c 2007-08-09 13:26:03.000000000 +0100
+++ src/binutils/objcopy.c 2007-08-09 16:36:12.000000000 +0100
@@ -2787,8 +2787,9 @@ strip_main (int argc, char *argv[])
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, output_file ? output_file : argv[i],
+ preserve_dates))
+ hold_status = 1;
status = hold_status;
}
else
@@ -3411,7 +3412,8 @@ copy_main (int argc, char *argv[])
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);