Revert part of commit 8e885fece150

Alan Modra amodra@gmail.com
Tue Aug 26 12:23:59 GMT 2025


After commit 5e83077d552e we no longer choose a "plugin" target in
objcopy so ibfd->target_defaults can again be used to test whether the
user supplied a target.

	PR 33230
	* objcopy.c (copy_file): Revert change adding a target_defaulted
	variable and passing down to..
	(copy_archive, copy_object): ..here.  Remove target_defaulted
	parameter.  Use ibfd->target_defaulted.

diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 51d87d6d359..c6fc5082ba7 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -2654,8 +2654,7 @@ set_long_section_mode (bfd *output_bfd, bfd *input_bfd, enum long_section_name_h
    Returns TRUE upon success, FALSE otherwise.  */
 
 static bool
-copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch,
-	     bool target_defaulted)
+copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch)
 {
   bfd_vma start;
   long symcount;
@@ -2806,7 +2805,7 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch,
       imach = 0;
     }
   if (!bfd_set_arch_mach (obfd, iarch, imach)
-      && (target_defaulted
+      && (ibfd->target_defaulted
 	  || bfd_get_arch (ibfd) != bfd_get_arch (obfd)))
     {
       if (bfd_get_arch (ibfd) == bfd_arch_unknown)
@@ -3609,8 +3608,7 @@ fail:
 static bool
 copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
 	      bool force_output_target,
-	      const bfd_arch_info_type *input_arch,
-	      bool target_defaulted)
+	      const bfd_arch_info_type *input_arch)
 {
   struct name_list
     {
@@ -3759,8 +3757,7 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
 	ok_object = false;
       if (ok_object)
 	{
-	  ok = copy_object (this_element, output_element, input_arch,
-			    target_defaulted);
+	  ok = copy_object (this_element, output_element, input_arch);
 
 	  if (!ok && bfd_get_arch (this_element) == bfd_arch_unknown)
 	    /* Try again as an unknown object file.  */
@@ -3861,8 +3858,6 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
   char **core_matching;
   off_t size = get_file_size (input_filename);
   const char *target = input_target;
-  bool target_defaulted = (!input_target
-			   || strcmp (input_target, "default") == 0);
 
   if (size < 1)
     {
@@ -3967,7 +3962,7 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
 	}
 
       if (!copy_archive (ibfd, obfd, output_target, force_output_target,
-			 input_arch, target_defaulted))
+			 input_arch))
 	status = 1;
       return;
     }
@@ -4048,7 +4043,7 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
       if (ibfd->lto_type == lto_slim_ir_object)
 	ok_object = false;
       if (ok_object
-	  ? !copy_object (ibfd, obfd, input_arch, target_defaulted)
+	  ? !copy_object (ibfd, obfd, input_arch)
 	  : !copy_unknown_file (ibfd, obfd,
 				in_stat->st_size, in_stat->st_mode))
 	status = 1;

-- 
Alan Modra


More information about the Binutils mailing list