aboutsummaryrefslogtreecommitdiff
path: root/gas/obj.h
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/obj.h
parent43e5fbd8b78848c89c1d0305396464039e452688 (diff)
downloadgdb-2ccd2276a42ee8b8cc4b9084735dcf6a2521c2a1.zip
gdb-2ccd2276a42ee8b8cc4b9084735dcf6a2521c2a1.tar.gz
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/obj.h')
-rw-r--r--gas/obj.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gas/obj.h b/gas/obj.h
index 586ed26..e103692 100644
--- a/gas/obj.h
+++ b/gas/obj.h
@@ -42,6 +42,7 @@ struct format_ops {
unsigned dfl_leading_underscore : 1;
unsigned emit_section_symbols : 1;
void (*begin) (void);
+ void (*end) (void);
void (*app_file) (const char *);
void (*frob_symbol) (symbolS *, int *);
void (*frob_file) (void);