forked from Imagelibrary/binutils-gdb
* 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.
This commit is contained in:
@@ -54,9 +54,12 @@ static bfd_vma elf_s_get_size PARAMS ((symbolS *));
|
||||
static void elf_s_set_size PARAMS ((symbolS *, bfd_vma));
|
||||
static bfd_vma elf_s_get_align PARAMS ((symbolS *));
|
||||
static void elf_s_set_align PARAMS ((symbolS *, bfd_vma));
|
||||
static void elf_s_set_other PARAMS ((symbolS *, int));
|
||||
static void elf_copy_symbol_attributes PARAMS ((symbolS *, symbolS *));
|
||||
static int elf_sec_sym_ok_for_reloc PARAMS ((asection *));
|
||||
static void adjust_stab_sections PARAMS ((bfd *, asection *, PTR));
|
||||
static int elf_separate_stab_sections PARAMS ((void));
|
||||
static void elf_init_stab_section PARAMS ((segT));
|
||||
|
||||
#ifdef NEED_ECOFF_DEBUG
|
||||
static boolean elf_get_extr PARAMS ((asymbol *, EXTR *));
|
||||
@@ -233,6 +236,14 @@ elf_s_get_other (sym)
|
||||
return elf_symbol (symbol_get_bfdsym (sym))->internal_elf_sym.st_other;
|
||||
}
|
||||
|
||||
static void
|
||||
elf_s_set_other (sym, other)
|
||||
symbolS *sym;
|
||||
int other;
|
||||
{
|
||||
S_SET_OTHER (sym, other);
|
||||
}
|
||||
|
||||
static void
|
||||
elf_copy_symbol_attributes (dest, src)
|
||||
symbolS *dest, *src;
|
||||
@@ -249,7 +260,7 @@ elf_sec_sym_ok_for_reloc (sec)
|
||||
|
||||
void
|
||||
elf_file_symbol (s)
|
||||
char *s;
|
||||
const char *s;
|
||||
{
|
||||
symbolS *sym;
|
||||
|
||||
@@ -1910,18 +1921,44 @@ sco_id ()
|
||||
|
||||
#endif /* SCO_ELF */
|
||||
|
||||
static int
|
||||
elf_separate_stab_sections ()
|
||||
{
|
||||
#ifdef NEED_ECOFF_DEBUG
|
||||
return (!ECOFF_DEBUGGING);
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
elf_init_stab_section (seg)
|
||||
segT seg;
|
||||
{
|
||||
#ifdef NEED_ECOFF_DEBUG
|
||||
if (!ECOFF_DEBUGGING)
|
||||
#endif
|
||||
obj_elf_init_stab_section (seg);
|
||||
}
|
||||
|
||||
const struct format_ops elf_format_ops =
|
||||
{
|
||||
bfd_target_elf_flavour,
|
||||
0, /* dfl_leading_underscore */
|
||||
1, /* emit_section_symbols */
|
||||
elf_begin,
|
||||
elf_file_symbol,
|
||||
elf_frob_symbol,
|
||||
elf_frob_file,
|
||||
elf_frob_file_after_relocs,
|
||||
elf_s_get_size, elf_s_set_size,
|
||||
elf_s_get_align, elf_s_set_align,
|
||||
elf_s_get_other,
|
||||
elf_s_set_other,
|
||||
0, /* s_get_desc */
|
||||
0, /* s_set_desc */
|
||||
0, /* s_get_type */
|
||||
0, /* s_set_type */
|
||||
elf_copy_symbol_attributes,
|
||||
#ifdef NEED_ECOFF_DEBUG
|
||||
ecoff_generate_asm_lineno,
|
||||
@@ -1930,6 +1967,8 @@ const struct format_ops elf_format_ops =
|
||||
0, /* generate_asm_lineno */
|
||||
0, /* process_stab */
|
||||
#endif
|
||||
elf_separate_stab_sections,
|
||||
elf_init_stab_section,
|
||||
elf_sec_sym_ok_for_reloc,
|
||||
elf_pop_insert,
|
||||
#ifdef NEED_ECOFF_DEBUG
|
||||
@@ -1938,5 +1977,5 @@ const struct format_ops elf_format_ops =
|
||||
0, /* ecoff_set_ext */
|
||||
#endif
|
||||
elf_obj_read_begin_hook,
|
||||
elf_obj_symbol_new_hook,
|
||||
elf_obj_symbol_new_hook
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user