]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
objcopy: when an invalid bfd target string is used as a target option, print an error...
authorNick Clifton <nickc@redhat.com>
Tue, 9 Sep 2025 07:57:38 +0000 (08:57 +0100)
committerNick Clifton <nickc@redhat.com>
Tue, 9 Sep 2025 07:57:38 +0000 (08:57 +0100)
binutils/objcopy.c

index a3259f96d354dbfe67f3de5a605e4aa2deb2bfba..3c1bcf622ff2c813276109c626bfb7711c5ccc77 100644 (file)
@@ -3876,7 +3876,10 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
   ibfd = bfd_openr (input_filename, target);
   if (ibfd == NULL || bfd_stat (ibfd, in_stat) != 0)
     {
-      bfd_nonfatal_message (input_filename, NULL, NULL, NULL);
+      if (bfd_get_error () == bfd_error_invalid_target && target != NULL)
+       bfd_nonfatal_message (target, NULL, NULL, NULL);
+      else
+       bfd_nonfatal_message (input_filename, NULL, NULL, NULL);
       if (ibfd != NULL)
        bfd_close (ibfd);
       status = 1;
@@ -3951,7 +3954,10 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
        {
          if (ofd >= 0)
            close (ofd);
-         bfd_nonfatal_message (output_filename, NULL, NULL, NULL);
+         if (force_output_target && bfd_get_error () == bfd_error_invalid_target)
+           bfd_nonfatal_message (output_target, NULL, NULL, NULL);
+         else
+           bfd_nonfatal_message (output_filename, NULL, NULL, NULL);
          bfd_close (ibfd);
          status = 1;
          return;
@@ -4036,7 +4042,10 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
        {
          if (ofd >= 0)
            close (ofd);
-         bfd_nonfatal_message (output_filename, NULL, NULL, NULL);
+         if (bfd_get_error () == bfd_error_invalid_target)
+           bfd_nonfatal_message (output_target, NULL, NULL, NULL);
+         else
+           bfd_nonfatal_message (output_filename, NULL, NULL, NULL);
          bfd_close (ibfd);
          status = 1;
          return;