coff-sh.c keep_relocs, keep_contents and keep_syms

Message ID Y+QszzU2zl+ApZy4@squeak.grove.modra.org
State Repeat Merge
Headers
Series coff-sh.c keep_relocs, keep_contents and keep_syms |

Checks

Context Check Description
snail/binutils-gdb-check warning Git am fail log

Commit Message

Alan Modra Feb. 8, 2023, 11:14 p.m. UTC
  keep_relocs and keep_contents are unused nowadays except by
xcofflink.c, and I can't see a reason why keep_syms needs to be set.
The external syms are read and used by sh_relax_section and used by
sh_relax_delete_bytes.  There doesn't appear to be any way that
freeing them will cause trouble.

	* coff-sh.c (sh_relax_section): Don't set keep_relocs,
	keep_contents or keep_syms.
	(sh_relax_delete_bytes): Don't set keep_contents.
  

Patch

diff --git a/bfd/coff-sh.c b/bfd/coff-sh.c
index cc6faac4e80..314b796ac8b 100644
--- a/bfd/coff-sh.c
+++ b/bfd/coff-sh.c
@@ -905,12 +905,7 @@  sh_relax_section (bfd *abfd,
 	 the linker is run.  */
 
       coff_section_data (abfd, sec)->relocs = internal_relocs;
-      coff_section_data (abfd, sec)->keep_relocs = true;
-
       coff_section_data (abfd, sec)->contents = contents;
-      coff_section_data (abfd, sec)->keep_contents = true;
-
-      obj_coff_keep_syms (abfd) = true;
 
       /* Replace the jsr with a bsr.  */
 
@@ -1027,12 +1022,7 @@  sh_relax_section (bfd *abfd,
       if (swapped)
 	{
 	  coff_section_data (abfd, sec)->relocs = internal_relocs;
-	  coff_section_data (abfd, sec)->keep_relocs = true;
-
 	  coff_section_data (abfd, sec)->contents = contents;
-	  coff_section_data (abfd, sec)->keep_contents = true;
-
-	  obj_coff_keep_syms (abfd) = true;
 	}
     }
 
@@ -1435,8 +1425,6 @@  sh_relax_delete_bytes (bfd *abfd,
 	      if (val > addr && val < toaddr)
 		bfd_put_32 (abfd, val - count,
 			    ocontents + irelscan->r_vaddr - o->vma);
-
-	      coff_section_data (abfd, o)->keep_contents = true;
 	    }
 	}
     }