diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2000-05-22 21:19:43 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@axis.com> | 2000-05-22 21:19:43 +0000 |
commit | 5110c57e8e960ab73903ff4e3e1a13fe42012a1f (patch) | |
tree | 12828c145d80a4930b3e108b1855463a9243b544 /gas/config/obj-multi.h | |
parent | e33c03647534a1adde503d5dc1383c2ad37eaf64 (diff) | |
download | gdb-5110c57e8e960ab73903ff4e3e1a13fe42012a1f.zip gdb-5110c57e8e960ab73903ff4e3e1a13fe42012a1f.tar.gz gdb-5110c57e8e960ab73903ff4e3e1a13fe42012a1f.tar.bz2 |
* obj.h (struct format_ops): New members begin, app_file,
s_set_other, s_set_desc, s_get_type, s_set_type,
separate_stab_sections, init_stab_section.
* config/obj-multi.h: Update GPL notice to v2.
(obj_begin): New.
(obj_app_file): New.
(S_SET_SIZE): Test s_set_size for NULL before calling.
(S_SET_ALIGN): Similar for s_set_align.
(S_SET_OTHER): New.
(S_SET_DESC): New.
(S_GET_TYPE): New.
(S_SET_TYPE): New.
(SEPARATE_STAB_SECTIONS): New.
(INIT_STAB_SECTION): New.
(EMIT_SECTION_SYMBOLS): New.
(AOUT_STABS) [OBJ_MAYBE_AOUT]: Define.
* config/obj-elf.h: Update GPL notice to v2.
Mention that this file is included from obj-multi.h.
(obj_begin): Wrap definition in ifndef.
(elf_file_symbol): Constify declaration.
(obj_app_file): Ditto.
(SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB):
Wrap in ifndef SEPARATE_STAB_SECTIONS.
* config/obj-elf.c (elf_s_set_other): New.
(elf_file_symbol): Constify argument.
(elf_separate_stab_sections): New.
(elf_init_stab_section): New.
(elf_format_ops): Add new members. Remove comma at end.
* config/obj-ecoff.c (ecoff_separate_stab_sections): New.
(ecoff_format_ops): Add new fields. Remove comma at end.
Mention inconsistency for emit_section_symbols.
* config/obj-coff.h (c_dot_file_symbol): Constify declaration.
* config/obj-coff.c (c_dot_file_symbol): Constify argument.
(coff_separate_stab_sections): New.
(coff_format_ops): Add new members.
* config/obj-aout.c (obj_aout_sec_sym_ok_for_reloc): New.
(obj_aout_s_set_other): New.
(obj_aout_s_set_desc): New.
(obj_aout_s_get_type): New.
(obj_aout_s_set_type): New.
(obj_aout_separate_stab_sections): New.
(aout_format_ops): New members added. Use obj_aout_process_stab,
not 0. Use obj_aout_sec_sym_ok_for_reloc, not 0.
(obj_aout_frob_symbol): Add ATTRIBUTE_UNUSED to args as
appropriate.
(obj_aout_line, obj_aout_weak, obj_aout_type): Ditto.
Diffstat (limited to 'gas/config/obj-multi.h')
-rw-r--r-- | gas/config/obj-multi.h | 58 |
1 files changed, 53 insertions, 5 deletions
diff --git a/gas/config/obj-multi.h b/gas/config/obj-multi.h index 42b7eb3..3b80f38 100644 --- a/gas/config/obj-multi.h +++ b/gas/config/obj-multi.h @@ -6,7 +6,7 @@ GAS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 1, or (at your option) + the Free Software Foundation; either version 2, or (at your option) any later version. GAS is distributed in the hope that it will be useful, @@ -32,6 +32,16 @@ #define OUTPUT_FLAVOR \ (this_format->flavor) +#define obj_begin() \ + (this_format->begin \ + ? (*this_format->begin) () \ + : (void) 0) + +#define obj_app_file(NAME) \ + (this_format->app_file \ + ? (*this_format->app_file) (NAME) \ + : (void) 0) + #define obj_frob_symbol(S,P) \ (*this_format->frob_symbol) (S, &(P)) @@ -69,21 +79,43 @@ #define S_GET_SIZE \ (*this_format->s_get_size) -#define S_SET_SIZE \ - (*this_format->s_set_size) +#define S_SET_SIZE(S, N) \ + (this_format->s_set_size \ + ? (*this_format->s_set_size) (S, N) \ + : (void) 0) #define S_GET_ALIGN \ (*this_format->s_get_align) -#define S_SET_ALIGN \ - (*this_format->s_set_align) +#define S_SET_ALIGN(S, N) \ + (this_format->s_set_align \ + ? (*this_format->s_set_align) (S, N) \ + : (void) 0) #define S_GET_OTHER \ (*this_format->s_get_other) +#define S_SET_OTHER(S, O) \ + (this_format->s_set_other \ + ? (*this_format->s_set_other) (S, O) \ + : (void) 0) + #define S_GET_DESC \ (*this_format->s_get_desc) +#define S_SET_DESC(S, D) \ + (this_format->s_set_desc \ + ? (*this_format->s_set_desc) (S, D) \ + : (void) 0) + +#define S_GET_TYPE \ + (*this_format->s_get_desc) + +#define S_SET_TYPE(S, T) \ + (this_format->s_set_type \ + ? (*this_format->s_set_type) (S, T) \ + : (void) 0) + #define OBJ_COPY_SYMBOL_ATTRIBUTES(d,s) \ (this_format->copy_symbol_attributes \ ? (*this_format->copy_symbol_attributes) (d, s) \ @@ -94,11 +126,27 @@ ? (*this_format->process_stab) (SEG,W,S,T,O,D) \ : (void) 0) +#define SEPARATE_STAB_SECTIONS \ + ((*this_format->separate_stab_sections) ()) + +#define INIT_STAB_SECTION(S) \ + (this_format->init_stab_section \ + ? (*this_format->init_stab_section) (S) \ + : (void) 0) + +#define EMIT_SECTION_SYMBOLS (this_format->emit_section_symbols) + #ifdef OBJ_MAYBE_ELF /* We need OBJ_SYMFIELD_TYPE so that symbol_get_obj is defined in symbol.c We also need various STAB defines for stab.c */ #include "obj-elf.h" #endif +#ifdef OBJ_MAYBE_AOUT +/* We want aout_process_stab in stabs.c for the aout table. Defining this + macro will have no other effect. */ +#define AOUT_STABS +#endif + #endif /* !OBJ_HEADER */ #endif /* _OBJ_MULTI_H */ |