From: Alan Modra Date: Wed, 8 Feb 2023 13:21:04 +0000 (+1030) Subject: coff-sh.c keep_relocs, keep_contents and keep_syms X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ec78da9ce6540bdcc2aeb3e01ffdbbac957cbe07;p=binutils-gdb.git coff-sh.c keep_relocs, keep_contents and keep_syms 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. --- 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; } } }