aboutsummaryrefslogtreecommitdiff
path: root/gas/output-file.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2023-02-01 23:11:30 +1030
committerAlan Modra <amodra@gmail.com>2023-02-02 08:48:29 +1030
commit2ccd2276a42ee8b8cc4b9084735dcf6a2521c2a1 (patch)
tree8c5ed1376ca686bcf7d232e14ecbd3105f068539 /gas/output-file.c
parent43e5fbd8b78848c89c1d0305396464039e452688 (diff)
downloadfsf-binutils-gdb-2ccd2276a42ee8b8cc4b9084735dcf6a2521c2a1.zip
fsf-binutils-gdb-2ccd2276a42ee8b8cc4b9084735dcf6a2521c2a1.tar.gz
fsf-binutils-gdb-2ccd2276a42ee8b8cc4b9084735dcf6a2521c2a1.tar.bz2
gas obj_end
Provide a way for config/obj-* to clean up at end of assembly, and do so for ELF. * obj.h (struct format_ops): Add "end". * config/obj-aout.c (aout_format_ops): Init new field. * config/obj-coff.c (coff_format_ops): Likewise. * config/obj-ecoff.c (ecoff_format_ops): Likewise. * config/obj-elf.c (elf_format_ops): Likewise. (elf_begin): Move later in file. Clear some more variables. (comment_section): Make file scope. (free_section_idx): Rewrite. (elf_adjust_symtab): Expand str_htab_create call and use free_section_idx as delete function. (elf_frob_file_after_relocs): Don't clean up groups.indexes here. (elf_end): New function. * config/obj-elf.h (obj_end): Define. * config/obj-multi.h (obj_end): Define. * output-file.c (output_file_close): Call obj_end.
Diffstat (limited to 'gas/output-file.c')
-rw-r--r--gas/output-file.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gas/output-file.c b/gas/output-file.c
index 88f4011..664bc88 100644
--- a/gas/output-file.c
+++ b/gas/output-file.c
@@ -110,6 +110,9 @@ output_file_close (void)
#ifdef md_end
md_end ();
#endif
+#ifdef obj_end
+ obj_end ();
+#endif
macro_end ();
expr_end ();
read_end ();