# 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 --- 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);