diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d2a54c3759..4c8eea2362 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,39 @@ Mon Oct 17 11:38:16 1994 Ian Lance Taylor + * 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 * 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. diff --git a/bfd/oasys.c b/bfd/oasys.c index 6d85443d67..26876e3732 100644 --- a/bfd/oasys.c +++ b/bfd/oasys.c @@ -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