Files
8sa1-binutils-gdb/bfd
Ian Lance Taylor eb4267a3f9 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.
	Change all callers to use elf_stringtab_init or
	_bfd_stringtab_add, and get stringtab lengths using
	_bfd_stringtab_size.
	(elf_fake_sections): Change ignored argument to pointer to
	boolean, and set the boolean to true if an error occurs.  If an
	error has already occurred, don't do anything.
	(assign_section_numbers): Just set sh_size, not contents.
	(elf_compute_section_file_positions): Pass the address of a
	boolean to elf_fake_sections.  Pass the address of a
	bfd_strtab_hash to swap_out_syms.  Write out the .strtab section.
	(prep_headers): Change shstrtab to bfd_strtab_hash.
	(swap_out_syms): Take a pointer to a bfd_strtab_hash as an
	argument.  Set it to the symbol names.
	(NAME(bfd_elf,write_object_contents)): Write out the section
	header names using _bfd_stringtab_emit.
	(elf_debug_section): Remove first argument; get the section name
	via the bfd_section pointer.  Change caller.
	(elf_bfd_final_link): Write out the symbol names using
	_bfd_stringtab_emit.  Likewise for the .dynstr section contents.
	Free the symbol names at the end of the function.
	(elf_link_input_bfd): Remove the last argument, output_names,
	from relocate_section.  Save the old symbol contents before
	calling elf_link_output_sym, and restore them afterward.
	* libelf.h (struct elf_link_hash_table): Change dynstr field to
	struct bfd_strtab_hash.
	(struct elf_backend_data): Remove last argument, output_names,
	from elf_backend_relocate_section field.
	(struct strtab): Don't define.
	(struct elf_obj_tdata): Change strtab_ptr field to struct
	bfd_strtab_hash.
	* elf32-hppa.c (elf32_hppa_relocate_section): Remove last
	argument, output_names.
	* elf32-i386.c (elf_i386_relocate_section): Likewise.
	* elf32-mips.c (mips_elf_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1994-10-17 22:03:14 +00:00
..
1994-09-14 20:26:54 +00:00
1994-05-04 19:37:36 +00:00
1991-05-18 02:58:02 +00:00
1991-05-18 02:58:02 +00:00
1993-11-05 19:51:52 +00:00
1994-02-28 23:49:08 +00:00
1993-11-23 08:06:20 +00:00
1991-03-21 21:11:25 +00:00
1994-03-15 15:13:13 +00:00
1994-03-15 15:13:13 +00:00
1993-04-24 02:10:09 +00:00
1993-02-04 20:59:55 +00:00
1991-10-01 03:43:11 +00:00
1991-10-01 03:43:11 +00:00
1991-10-01 03:43:11 +00:00
1991-10-25 07:16:56 +00:00
1991-10-01 03:43:11 +00:00
1992-08-25 22:04:53 +00:00
1991-05-18 02:58:02 +00:00
1994-05-16 19:34:13 +00:00
1993-04-29 15:48:35 +00:00
1991-12-18 23:01:07 +00:00
1993-11-05 19:51:52 +00:00
1994-05-16 16:35:36 +00:00
1994-07-05 21:50:43 +00:00
1994-09-14 20:26:40 +00:00
1994-04-20 18:38:22 +00:00
1993-12-02 02:19:25 +00:00
1994-07-14 21:35:54 +00:00
1993-08-07 22:45:02 +00:00
1994-03-15 15:13:13 +00:00
1991-11-22 04:59:56 +00:00
1994-09-29 16:30:12 +00:00
1993-08-07 22:38:22 +00:00
1994-10-14 23:17:15 +00:00