[binutils-gdb] coff-sh.c keep_relocs, keep_contents and keep_syms
Alan Modra
amodra@sourceware.org
Wed Feb 8 23:15:12 GMT 2023
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ec78da9ce6540bdcc2aeb3e01ffdbbac957cbe07
commit ec78da9ce6540bdcc2aeb3e01ffdbbac957cbe07
Author: Alan Modra <amodra@gmail.com>
Date: Wed Feb 8 23:51:04 2023 +1030
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:
---
bfd/coff-sh.c | 12 ------------
1 file changed, 12 deletions(-)
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;
}
}
}
More information about the Binutils-cvs
mailing list