* oasys.c (oasys_slurp_symbol_table): Use udata.p rather than just

udata.
This commit is contained in:
Ian Lance Taylor 1994-10-17 23:59:36 +00:00
parent 62d396892b
commit b7881f82ee
2 changed files with 43 additions and 6 deletions

View File

@ -1,5 +1,39 @@
Mon Oct 17 11:38:16 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
* elfcode.h (elf_map_symbols): Sort the symbols into a new array,
rather than messing with Elf_Sym_Extra. Store the symbol index in
the udata.i field.
(swap_out_syms): Use outbound_syms as a pointer rather than as an
array. Don't worry about elf_sym_num.
* libelf.h (struct elf_sym_extra): Don't define.
(Elf_Sym_Extra): Don't define.
(struct elf_obj_tdata): Remove sym_extra field.
(elf_sym_extra): Don't define.
* elf32-hppa.c (elf32_hppa_backend_final_write_processing): Use
udata.i rather than elf_sym_extra array.
* syms.c (asymbol): Change udata field into a union.
* bfd-in2.h: Rebuild.
* aoutx.h (NAME(aout,translate_symbol_table)): Use udata.p rather
than just udata.
* bout.c (perform_slip): Likewise.
* hp300hpux.c (MY(slurp_symbol_table)): Likewise.
* ieee.c (ieee_slurp_external_symbols): Likewise.
* linker.c (generic_link_add_symbol_list): Likewise.
(default_indirect_link_order): Likewise.
* oasys.c (oasys_slurp_symbol_table): Likewise.
* reloc16.c (bfd_perform_slip): Likewise.
* srec.c (fillup_symbols): Likewise.
* coffcode.h (get_index): Use udata.i rather than just udata.
(coff_slurp_symbol_table): Likewise.
* coffgen.c (set_index): Likewise.
* ecoff.c (ecoff_set_symbol_info): Likewise.
* elfcode.h (elf_symbol_from_bfd_symbol): Likewise.
* libecoff.h (ecoff_get_sym_index, ecoff_set_sym_index): Likewise.
* som.c (compare_syms): Likewise.
(som_prep_for_fixups): Likewise.
(som_write_fixups): Likewise.
Use a hash table when writing out ELF symbol names.
* elfcode.h (elf_stringtab_init): New static function.
(bfd_new_strtab, bfd_add_to_strtab, bfd_add_2_to_strtab): Remove.
@ -75,6 +109,8 @@ Mon Oct 17 11:38:16 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
* elf32-hppa.c (elf32_hppa_read_symext_info): Use bfd_section
rather than rawdata.
(elf32_hppa_size_stubs): Likewise.
(elf32_hppa_backend_symbol_table_processing): Don't set
symextn_hdr->size; just use sh_size.
* elf32-mips.c (mips_elf_final_write_processing): Use bfd_section
rathern than rawdata.
(mips_elf_section_from_shdr): Likewise.

View File

@ -148,7 +148,7 @@ oasys_slurp_symbol_table (abfd)
{
case RELOCATION_TYPE_ABS:
dest = dest_defined--;
dest->section = &bfd_abs_section;
dest->section = bfd_abs_section_ptr;
dest->flags = 0;
break;
@ -176,14 +176,14 @@ oasys_slurp_symbol_table (abfd)
break;
case RELOCATION_TYPE_UND:
dest = data->symbols + bfd_h_get_16 (abfd, record.symbol.refno);
dest->section = &bfd_und_section;
dest->section = bfd_und_section_ptr;
break;
case RELOCATION_TYPE_COM:
dest = dest_defined--;
dest->name = string_ptr;
dest->the_bfd = abfd;
dest->section = &bfd_com_section;
dest->section = bfd_com_section_ptr;
break;
default:
@ -193,7 +193,7 @@ oasys_slurp_symbol_table (abfd)
}
dest->name = string_ptr;
dest->the_bfd = abfd;
dest->udata = (PTR) NULL;
dest->udata.p = (PTR) NULL;
dest->value = bfd_h_get_32 (abfd, record.symbol.value);
#ifdef UNDERSCORE_HACK
@ -954,13 +954,13 @@ oasys_write_syms (abfd)
bfd_h_put_16 (abfd, index, symbol.refno);
index++;
}
else if (g->section == &bfd_abs_section)
else if (bfd_is_abs_section (g->section))
{
symbol.relb = RELOCATION_TYPE_ABS;
bfd_h_put_16 (abfd, 0, symbol.refno);
}
else if (g->section == &bfd_und_section)
else if (bfd_is_und_section (g->section))
{
symbol.relb = RELOCATION_TYPE_UND;
bfd_h_put_16 (abfd, index, symbol.refno);
@ -1480,6 +1480,7 @@ oasys_sizeof_headers (abfd, exec)
((boolean (*) \
PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int))) \
bfd_true)
#define oasys_update_armap_timestamp bfd_true
#define oasys_bfd_is_local_label bfd_generic_is_local_label
#define oasys_get_lineno _bfd_nosymbols_get_lineno