mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 00:59:15 +08:00
coff keep_relocs and keep_contents
keep_relocs is set by pe_ILF_save_relocs but not used anywhere in the coff/pe code. It is tested by the xcoff backend but not set. keep_contents is only used by the xcoff backend when dealing with the .loader section, and it's easy enough to dispense with it there. keep_contents is set in various places but that's fairly useless when the contents aren't freed anyway until later linker support functions, add_dynamic_symbols and check_dynamic_ar_symbols. There the contents were freed if keep_contents wasn't set. I reckon we can free them unconditionally. * coff-bfd.h (struct coff_section_tdata): Delete keep_relocs and keep_contents. * peicode.h (pe_ILF_save_relocs): Don't set keep_relocs. * xcofflink.c (xcoff_get_section_contents): Cache contents. Return the contents. Update callers. (_bfd_xcoff_canonicalize_dynamic_symtab): Don't set keep_contents for .loader. (xcoff_link_add_dynamic_symbols): Free .loader contents unconditionally. (xcoff_link_check_dynamic_ar_symbols): Likewise.
This commit is contained in:
@ -526,7 +526,6 @@ pe_ILF_save_relocs (pe_ILF_vars * vars,
|
||||
abort ();
|
||||
|
||||
coff_section_data (vars->abfd, sec)->relocs = vars->int_reltab;
|
||||
coff_section_data (vars->abfd, sec)->keep_relocs = true;
|
||||
|
||||
sec->relocation = vars->reltab;
|
||||
sec->reloc_count = vars->relcount;
|
||||
|
Reference in New Issue
Block a user