use copy_private_symbol_data in objcopy

Alan Modra amodra@gmail.com
Tue Apr 23 11:41:45 GMT 2024


osympp appearing twice here is not a bug.

	PR 14493
	* objcopy.c (copy_object): Run the symbols through
	bfd_copy_private_symbol_data.

diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index d91ba123c01..634ebae3fc3 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -3380,6 +3380,13 @@ copy_object (bfd *ibfd, bfd *obfd, const bfd_arch_info_type *input_arch)
       symcount = filter_symbols (ibfd, obfd, osympp, isympp, symcount);
     }
 
+  for (i = 0; i < symcount; i++)
+    if (!bfd_copy_private_symbol_data (ibfd, osympp[i], obfd, osympp[i]))
+      {
+	status = 1;
+	return false;
+      }
+
   if (dhandle != NULL)
     {
       bool res;

-- 
Alan Modra
Australia Development Lab, IBM


More information about the Binutils mailing list