189857Sobrien2001-12-31  Jakub Jelinek  <jakub@redhat.com>
289857Sobrien
389857Sobrien	* elflink.h (elf_bfd_final_link): Check if dynobj is not NULL
489857Sobrien	before looking for .eh_frame_hdr section.
589857Sobrien	* elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): If
689857Sobrien	.eh_frame_hdr section is being stripped from output, don't do
789857Sobrien	anything.
889857Sobrien
989857Sobrien2001-12-27  Tom Rix  <trix@redhat.com>
1089857Sobrien
1189857Sobrien	* coff-rs6000.c (xcoff_generate_rtinit): Clean data_buffer alloc/free.
1289857Sobrien	* coff64-rs6000.c (xcoff64_generate_rtinit): Same.
1389857Sobrien	(xcoff_write_archive_contents_big): Rewrite.
1489857Sobrien	(xcoff_write_armap_big): Rewrite.
1589857Sobrien	(xcoff_write_one_armap_big): Delete.
1689857Sobrien	* libxcoff.h : Clean up.
1789857Sobrien
1889857Sobrien2001-12-21  Tom Rix  <trix@redhat.com>
1989857Sobrien
2089857Sobrien        * xcofflink.c (bfd_xcoff_link_generate_rtinit): New function.
2189857Sobrien	Interface to linker for generation of __rtinit.
2289857Sobrien	* libxcoff.h (struct xcoff_backend_data_rec): Add new ops to xcoff
2389857Sobrien	backend to generate special linker symbol __rtinit.
2489857Sobrien	* coff-rs6000.c (bfd_xcoff_backend_data, bfd_pmac_xcoff_backend_data)
2589857Sobrien	:  Add new rtinit ops
2689857Sobrien	* coff64-rs6000.c (bfd_xcoff_aix5_backend_data,
2789857Sobrien	bfd_xcoff_backend_data): Same.
2889857Sobrien	* bfd-in.h: Add bfd_xcoff_link_generate_rtinit.
2989857Sobrien	* bfd-in2.h : Regenerate.
3089857Sobrien
3189857Sobrien2001-12-21  Jakub Jelinek  <jakub@redhat.com>
3289857Sobrien
3389857Sobrien	* elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix dst_mask for
3489857Sobrien	R_SPARC_DISP32.  Support R_SPARC_PLT32.
3589857Sobrien	(sparc_reloc_map): Add BFD_RELOC_16_PCREL and BFD_RELOC_SPARC_PLT32.
3689857Sobrien	(elf32_sparc_check_relocs): Handle R_SPARC_PLT32.
3789857Sobrien	(elf32_sparc_relocate_section): Likewise.
3889857Sobrien	* elf64-sparc.c (sparc64_elf_howto_table): Fix dst_mask for
3989857Sobrien	R_SPARC_DISP32.  Support R_SPARC_PLT32 and R_SPARC_PLT64.
4089857Sobrien	(sparc_reloc_map): Add BFD_RELOC_16_PCREL, BFD_RELOC_64_PCREL
4189857Sobrien	and BFD_RELOC_SPARC_PLT32.
4289857Sobrien	(sparc64_elf_check_relocs): Handle R_SPARC_PLT32 and R_SPARC_PLT64.
4389857Sobrien	(sparc64_elf_relocate_section): Likewise.
4489857Sobrien	* reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SPARC_PLT32.
4589857Sobrien	* bfd-in2.h, libbfd.h: Rebuilt.
4689857Sobrien
4789857Sobrien2001-12-20  Tom Rix  <trix@redhat.com>
4889857Sobrien
4989857Sobrien	* coffcode.h (coff_compute_section_file_positions): Add special AIX
5089857Sobrien	loader alignment of text section.
5189857Sobrien
5289857Sobrien2001-12-20  Jason Thorpe  <thorpej@wasabisystems.com>
5389857Sobrien
5489857Sobrien	* config.bfd (mips-dec-netbsd*): Delete alias for mips*el-*-netbsd*.
5589857Sobrien
5689857Sobrien	* config.bfd (arm-*-netbsdelf*): Add target.
5789857Sobrien	* configure.in: Include netbsd-core.lo for native arm-*-netbsd*.
5889857Sobrien	* configure: Regenerate.
5989857Sobrien
6089857Sobrien2001-12-20  Alan Modra  <amodra@bigpond.net.au>
6189857Sobrien
6289857Sobrien	* elfcode.h (elf_slurp_symbol_table): Test elf_elfsections for NULL,
6389857Sobrien	as can happen with a core file, before dereferencing.
6489857Sobrien
6589857Sobrien2001-12-19  Michael Snyder  <msnyder@redhat.com>
6689857Sobrien
6789857Sobrien	* elf32-i386.c (elf_i386_grok_psinfo): Fix copy-and-paste error:
6889857Sobrien	target is i386 (not mips), and size of descdata is 124 (not 128).
6989857Sobrien
7089857Sobrien2001-12-19  Jakub Jelinek  <jakub@redhat.com>
7189857Sobrien
7289857Sobrien	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): If new_size
7389857Sobrien	is 0, temporarily grow it to minimal CIE size.
7489857Sobrien	(_bfd_elf_write_section_eh_frame): If input .eh_frame section would
7589857Sobrien	end up empty, build a fake minimal CIE.
7689857Sobrien
7789857Sobrien2001-12-19  Steve Ellcey  <sje@cup.hp.com>
7889857Sobrien
7989857Sobrien	* config.bfd (bfd_elf32_ia64_hpux_big_vec): New vector for
8089857Sobrien	ia64*-*-hpux* target.
8189857Sobrien	(bfd_elf64_ia64_hpux_big_vec): Likewise.
8289857Sobrien	* targets.c: Ditto.
8389857Sobrien	* configure.in: Ditto.
8489857Sobrien	* configure: Regenerate
8589857Sobrien	* elfxx-ia64.c (elfNN_ia64_final_write_processing): Replace use of
8689857Sobrien	alloca with bfd_malloc.
8789857Sobrien	(get_local_sym_hash): Likewise.
8889857Sobrien	(elfNN_hpux_post_process_headers): New function.
8989857Sobrien	#include elfNN-target.h again with values for IA64 HP-UX vector.
9089857Sobrien
9189857Sobrien2001-12-18  Michael Snyder  <msnyder@redhat.com>
9289857Sobrien
9389857Sobrien        * elf.c (assign_file_positions_for_segments): Don't sort PT_NOTE
9489857Sobrien        sections of corefiles.  Also it makes no sense to sort if count == 1.
9589857Sobrien
9689857Sobrien2001-12-18  H.J. Lu <hjl@gnu.org>
9789857Sobrien
9889857Sobrien	* elf.c (_bfd_elf_copy_private_bfd_data): Also copy GP.
9989857Sobrien
10089857Sobrien2001-12-18  H.J. Lu <hjl@gnu.org>
10189857Sobrien
10289857Sobrien	* elf.c (_bfd_elf_copy_private_bfd_data): Update comments.
10389857Sobrien
10489857Sobrien2001-12-18  H.J. Lu <hjl@gnu.org>
10589857Sobrien
10689857Sobrien	* elf-bfd.h (_bfd_elf_copy_private_bfd_data): New. Prototype.
10789857Sobrien	(_bfd_mips_elf_copy_private_bfd_data): Removed.
10889857Sobrien
10989857Sobrien	* elf.c (_bfd_elf_copy_private_bfd_data): New. Copy e_flags in
11089857Sobrien	the ELF header.
11189857Sobrien
11289857Sobrien	* elf32-i370.c (??_elf_copy_private_bfd_data): Removed.
11389857Sobrien	(bfd_elf??_bfd_copy_private_bfd_data): Removed.
11489857Sobrien	* elf32-m32r.c: Likewise.
11589857Sobrien	* elf32-m68k.c: Likewise.
11689857Sobrien	* elf32-mcore.c: Likewise.
11789857Sobrien	* elf32-mips.c: Likewise.
11889857Sobrien	* elf32-ppc.c: Likewise.
11989857Sobrien	* elf32-v850.c: Likewise.
12089857Sobrien	* elf64-ppc.c: Likewise.
12189857Sobrien	* elf64-sparc.c: Likewise.
12289857Sobrien	* elfxx-ia64.c: Likewise.
12389857Sobrien
12489857Sobrien	* elf64-mips.c (bfd_elf64_bfd_copy_private_bfd_data): Removed.
12589857Sobrien
12689857Sobrien	* elfxx-target.h (bfd_elfNN_bfd_copy_private_bfd_data): Defined
12789857Sobrien	to _bfd_elf_copy_private_bfd_data.
12889857Sobrien
12989857Sobrien2001-12-18  Martin Schwidefsky  <schwidefsky@de.ibm.com>
13089857Sobrien
13189857Sobrien	* elf32-s390 (elf_s390_check_relocs): Pass addend to
13289857Sobrien	gc_record_vtentry.
13389857Sobrien	* elf64-s390 (elf_s390_check_relocs): Likewise.
13489857Sobrien	Fix by Andreas Jaeger <aj@suse.de>.
13589857Sobrien
13689857Sobrien2001-12-18  Jason Thorpe  <thorpej@wasabisystems.com>
13789857Sobrien
13889857Sobrien	* configure.host: Correctly match all NetBSD/mips
13989857Sobrien	hosts.
14089857Sobrien
14189857Sobrien2001-12-18  matthew green  <mrg@eterna.com.au>
14289857Sobrien
14389857Sobrien	* config.bfd (m68*-*-netbsdelf*): New target.
14489857Sobrien	(m68*-*-netbsd): Also include bfd_elf32_m68k_vec.
14589857Sobrien	(m68*-*-netbsdaout*): New alias for m68*-*-netbsd.
14689857Sobrien
14789857Sobrien2001-12-18  Jakub Jelinek  <jakub@redhat.com>
14889857Sobrien
14989857Sobrien	* elflink.h (size_dynamic_sections): Skip anonymous version tag.
15089857Sobrien	(elf_link_assign_sym_version): Don't count anonymous version tag.
15189857Sobrien
15289857Sobrien2001-12-18  Jakub Jelinek  <jakub@redhat.com>
15389857Sobrien
15489857Sobrien	* elf-eh-frame.c (struct cie): Add make_lsda_relative.
15589857Sobrien	(struct eh_cie_fde): Add lsda_encoding, lsda_offset,
15689857Sobrien	make_lsda_relative.
15789857Sobrien	(read_value, write_value): New.
15889857Sobrien	(_bfd_elf_discard_section_eh_frame): Inicialize
15989857Sobrien	lsda_encoding, lsda_offset and make_lsda_relative.
16089857Sobrien	(_bfd_elf_eh_frame_section_offset): If make_lsda_relative,
16189857Sobrien	request no dynamic reloc for LSDA field of FDE.
16289857Sobrien	(_bfd_elf_write_section_eh_frame): Handle make_lsda_relative.
16389857Sobrien	If a non-DW_EH_PE_absptr value is 0, don't adjust it by base
16489857Sobrien	or pcrel.  Fix address computation for DW_EH_PE_pcrel relocs.
16589857Sobrien	Update LSDA field if LSDA encoding is DW_EH_PE_pcrel, because
16689857Sobrien	. might have changed due to deleted FDE or CIEs.
16789857Sobrien
16889857Sobrien2001-12-18  Jakub Jelinek  <jakub@redhat.com>
16989857Sobrien
17089857Sobrien	* elf-strtab.c (struct elf_strtab_hash_entry): Add u.next.
17189857Sobrien	(last_eq): Remove.
17289857Sobrien	(_bfd_elf_strtab_finalize): Don't use a hash table for last
17389857Sobrien	character chains, instead use an array.
17489857Sobrien
17589857Sobrien2001-12-18  Jason Thorpe  <thorpej@wasabisystems.com>
17689857Sobrien
17789857Sobrien	* elf.c (elfcore_netbsd_get_lwpid): New function.
17889857Sobrien	(elfcore_grok_netbsd_procinfo): New function.
17989857Sobrien	(elfcore_grok_netbsd_note): New function.
18089857Sobrien	(elfcore_read_notes): Call elfcore_grok_netbsd_note to process
18189857Sobrien	NetBSD ELF core file notes.
18289857Sobrien
18389857Sobrien2001-12-18  Alan Modra  <amodra@bigpond.net.au>
18489857Sobrien
18589857Sobrien	* elfcode.h (struct bfd_preserve): New.
18689857Sobrien	(elf_object_p): Replace preserved_* vars with instance of above.
18789857Sobrien	Save and restore arch_info pointer rather than arch, mach so that
18889857Sobrien	more cases can be restored.  Save and restore new section_tail,
18989857Sobrien	section_htab structure, and init appropriately.  Move "rest of
19089857Sobrien	section header" code so that i_shdrp needs no NULL initialisation.
19189857Sobrien	Free old section_htab on success.
19289857Sobrien	* elfcore.h (elf_core_file_p): Likewise.
19389857Sobrien
19489857Sobrien2001-12-17  Tom Rix  <trix@redhat.com>
19589857Sobrien
19689857Sobrien	* coffcode.h (sec_to_styp_flags): Add STYP_EXCEPT and STYP_TYPCHK for
19789857Sobrien	xcoff.
19889857Sobrien
19989857Sobrien2001-12-17  Jakub Jelinek  <jakub@redhat.com>
20089857Sobrien
20189857Sobrien	* elf-bfd.h (elf_discarded_section): Define.
20289857Sobrien	* elflink.h (elf_link_input_bfd): Use it.
20389857Sobrien	(elf_reloc_symbol_deleted_p): Likewise.
20489857Sobrien
20589857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Don't warn about
20689857Sobrien	overflows for pc relative relocs against discarded sections.
20789857Sobrien
20889857Sobrien2001-12-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
20989857Sobrien
21089857Sobrien	* elf32-mips.c (_bfd_mips_elf_relocate_section): Formatting.
21189857Sobrien	* elf64-mips.c: Add most of the fixes and tweaks done in elf32-mips.c
21289857Sobrien	over the last months. Add some code for mips16 handling.
21389857Sobrien	(mips_elf64_check_mips16_stubs): New function.
21489857Sobrien	(mips_elf64_stub_section_p): Likewise.
21589857Sobrien	(mips_elf64_calculate_relocation): Change interface to support mips16.
21689857Sobrien	(mips_elf64_perform_relocation): Likewise.
21789857Sobrien
21889857Sobrien2001-12-17  Alan Modra  <amodra@bigpond.net.au>
21989857Sobrien
22089857Sobrien	Support for more than 64k ELF sections.
22189857Sobrien	* elf-bfd.h (elf_size_info <swap_symbol_out>): Add shndx param.
22289857Sobrien	(bfd_elf32_swap_symbol_in): Likewise.
22389857Sobrien	(bfd_elf32_swap_symbol_out): Likewise.
22489857Sobrien	(bfd_elf64_swap_symbol_in): Likewise.
22589857Sobrien	(bfd_elf64_swap_symbol_out): Likewise.
22689857Sobrien	(elf_reloc_cookie): Add locsym_shndx field.  Make locsyms a PTR.
22789857Sobrien	(elf_obj_tdata): Add num_elf_sections, symtab_shndx_hdr and
22889857Sobrien	symtab_shndx_section.
22989857Sobrien	(elf_numsections): Define.
23089857Sobrien	(elf_symtab_shndx): Define.
23189857Sobrien	* elf.c (setup_group): Use elf_numsections rather than header e_shnum.
23289857Sobrien	(bfd_elf_find_section): Likewise.
23389857Sobrien	(bfd_section_from_elf_index): Likewise.
23489857Sobrien	(bfd_section_from_shdr): Likewise.  Handle SHT_SYMTAB_SHNDX.
23589857Sobrien	(bfd_section_from_r_symndx): Read symbol shndx extension, and
23689857Sobrien	translate st_shndx for > SHN_HIRESERVE.
23789857Sobrien	(assign_section_numbers): Skip reserved sections.  Assign
23889857Sobrien	symtab_shndx_section and elf_numsections.  Exclude reserved
23989857Sobrien	sections from e_shnum.  Set up symtab_shndx_hdr.
24089857Sobrien	(_bfd_elf_compute_section_file_positions): Handle symtab_shndx_hdr.
24189857Sobrien	(map_sections_to_segments): Don't map eh_frame_hdr unless required.
24289857Sobrien	(assign_file_positions_except_relocs): Use elf_numsections rather
24389857Sobrien	than header e_shnum.  Skip reserved sections and symtab_shndx_section.
24489857Sobrien	(prep_headers): Set name for symtab_shndx_hdr.
24589857Sobrien	(_bfd_elf_assign_file_positions_for_relocs): Use elf_numsections.
24689857Sobrien	(_bfd_elf_write_object_contents): Likewise.  Skip reserved sections.
24789857Sobrien	(_bfd_elf_section_from_bfd_section): Check bfd_{abs,com,und}_section
24889857Sobrien	first.  Use elf_section_data if available.  Use elf_numsections.
24989857Sobrien	Start scan at index 1.
25089857Sobrien	(copy_private_bfd_data ): Comment fixes.
25189857Sobrien	(MAP_ONESYMTAB): Define above SHN_HIOS.
25289857Sobrien	(MAP_DYNSYMTAB): Likewise.
25389857Sobrien	(MAP_STRTAB): Likewise.
25489857Sobrien	(MAP_SHSTRTAB): Likewise.
25589857Sobrien	(MAP_SYM_SHNDX): New define.
25689857Sobrien	(_bfd_elf_copy_private_symbol_data): Handle symtab_shndx_section.
25789857Sobrien	(swap_out_syms): Swap out SHT_SYMTAB_SHNDX section too.
25889857Sobrien	* elfcode.h (elf_swap_symbol_in): Add shndx param, and handle shndx
25989857Sobrien	extension.
26089857Sobrien	(elf_swap_symbol_out): Likewise.
26189857Sobrien	(elf_object_p): Set elf_numsections, and use instead of e_shnum.
26289857Sobrien	Initialialise reserved elf_elfsections to point at shdr[0].  Remove
26389857Sobrien	redundant bfd_release calls.
26489857Sobrien	(elf_slurp_symbol_table): Read symbol shndx extension, and use with
26589857Sobrien	elf_swap_symbol_in.  Translate st_shndx for > SHN_HIRESERVE too.
26689857Sobrien	* elflink.h (elf_link_is_defined_archive_symbol): Read symbol shndx
26789857Sobrien	extension, and use with elf_swap_symbol_in.
26889857Sobrien	(elf_link_record_local_dynamic_symbol): Likewise.
26989857Sobrien	(elf_link_add_object_symbols): Likewise.  Also translate st_shndx
27089857Sobrien	for elf sections > SHN_HIRESERVE.
27189857Sobrien	(NAME(bfd_elf,size_dynamic_sections)): Adjust elf_swap_symbol_out
27289857Sobrien	call.
27389857Sobrien	(struct elf_final_link_info): Add locsym_shndx and symshndxbuf.
27489857Sobrien	(elf_bfd_final_link): Allocate the above, and tidy code allocating
27589857Sobrien	other buffers.  Use elf_numsections instead of e_shnum.  Adjust
27689857Sobrien	elf_swap_symbol_out calls.
27789857Sobrien	(elf_link_output_sym): Swap out symbol shndx extension too.
27889857Sobrien	(elf_link_flush_output_syms): And flush them to disk.
27989857Sobrien	(elf_link_output_extsym): Use SHN_BAD.  Adjust elf_swap_symbol_out
28089857Sobrien	calls.
28189857Sobrien	(elf_gc_mark): Read symbol shndx extension, and use with
28289857Sobrien	elf_swap_symbol_in.
28389857Sobrien	(elf_link_input_bfd): Likewise,  Translate st_shndx for elf sections
28489857Sobrien	> SHN_HIRESERVE too.  Use SHN_BAD.
28589857Sobrien	(elf_reloc_symbol_deleted_p): Use symbol shndx extensions with
28689857Sobrien	elf_swap_symbol_in.  Translate st_shndx > SHN_HIRESERVE too.
28789857Sobrien	(elf_bfd_discard_info): Read symbol shndx extension.  Don't attempt
28889857Sobrien	to continue after a bfd error.
28989857Sobrien	* elf-m10200.c (mn10200_elf_relax_section): Only read local syms.
29089857Sobrien	Stash them immediately to symtab_hdr->contents rather than later
29189857Sobrien	in multiple places.  Clean up afterwards.  Read symbol shndx
29289857Sobrien	extension, and use with swap_symbol_in.  Translate SHN_UNDEF,
29389857Sobrien	SHN_ABS, SHN_COMMON and elf sections > SHN_HIRESERVE to bfd
29489857Sobrien	sections too.  Remove dead code.
29589857Sobrien	(mn10200_elf_relax_delete_bytes): Use symbol shndx extension
29689857Sobrien	when swapping in symbols.  Tidy code adjusting global syms.
29789857Sobrien	Don't swap in global syms.
29889857Sobrien	(mn10200_elf_symbol_address_p): Likewise.  Remove extsyms param.
29989857Sobrien	(mn10200_elf_get_relocated_section_contents): Read symbol shndx
30089857Sobrien	extension, and use with swap_symbol_in.  Rename "size" -> "amt"
30189857Sobrien	to maximize code in common with other files.  Translate st_shndx
30289857Sobrien	for > SHN_HIRESERVE too.  Remove dead code.
30389857Sobrien	* elf-m10300.c (mn10300_elf_relax_section): Only read local syms.
30489857Sobrien	Stash them immediately to symtab_hdr->contents rather than later
30589857Sobrien	in multiple places.  Clean up afterwards.  Read symbol shndx
30689857Sobrien	extension, and use with swap_symbol_in.  Remove dead code.
30789857Sobrien	(mn10300_elf_relax_delete_bytes): As for elf-m10200.c.
30889857Sobrien	(mn10300_elf_symbol_address_p): Likewise.
30989857Sobrien	(mn10300_elf_get_relocated_section_contents): Likewise.
31089857Sobrien	* elf32-h8300.c (elf32_h8_relax_section): As for elf-m10300.c.
31189857Sobrien	(elf32_h8_relax_delete_bytes): Likewise.
31289857Sobrien	(elf32_h8_symbol_address_p): Likewise.
31389857Sobrien	(elf32_h8_get_relocated_section_contents): Likewise.
31489857Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Read symbol shndx
31589857Sobrien	extension, and use with swap_symbol_in.
31689857Sobrien	* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
31789857Sobrien	* elf32-i370.c (i370_elf_finish_dynamic_sections): Adjust call to
31889857Sobrien	bfd_elf32_swap_symbol_out.
31989857Sobrien	* elf32-m32r.c (m32r_elf_get_relocated_section_contents): Translate
32089857Sobrien	elf sections > SHN_HIRESERVE too.
32189857Sobrien	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Only read
32289857Sobrien	local syms.  Read symbol shndx extension, and use with swap_symbol_in.
32389857Sobrien	* elf32-mips.c (_bfd_mips_elf_final_write_processing): Use
32489857Sobrien	elf_numsections rather than header e_shnum.
32589857Sobrien	* elf32-sh.c (sh_elf_relax_section): As for elf-m10300.c.
32689857Sobrien	(sh_elf_relax_delete_bytes): Likewise.
32789857Sobrien	(sh_elf_get_relocated_section_contents): Likewise.  Only read local
32889857Sobrien	symbols.
32989857Sobrien	* elf32-v850.c (v850_elf_symbol_processing): Use an unsigned int to
33089857Sobrien	hold section index.  Use elf_numsections rather than e_shnum.
33189857Sobrien	Rename "index" -> "indx" to avoid shadowing warning.
33289857Sobrien	(v850_elf_add_symbol_hook): Likewise.
33389857Sobrien	* elf64-alpha.c (elf64_alpha_relax_section): Only read local syms.
33489857Sobrien	Read symbol shndx extension, and use with swap_symbol_in.
33589857Sobrien	* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
33689857Sobrien	Translate SHN_COMMON and elf sections > SHN_HIRESERVE too.
33789857Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
33889857Sobrien	(elfNN_ia64_aix_add_symbol_hook): Use elf_numsections.
33989857Sobrien
34089857Sobrien	* elf-m10300.c (mn10300_elf_gc_mark_hook): Remove unnecessary checks
34189857Sobrien	before calling bfd_section_from_elf_index on local syms.
34289857Sobrien	* elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
34389857Sobrien	* elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
34489857Sobrien	* elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
34589857Sobrien	* elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
34689857Sobrien	* elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
34789857Sobrien	* elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
34889857Sobrien	* elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
34989857Sobrien	* elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
35089857Sobrien	* elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
35189857Sobrien	* elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
35289857Sobrien	* elf32-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
35389857Sobrien	* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
35489857Sobrien	* elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
35589857Sobrien	* elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
35689857Sobrien	* elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
35789857Sobrien	* elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
35889857Sobrien	* elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
35989857Sobrien	* elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
36089857Sobrien	* elf64-mips.c (mips_elf64_gc_mark_hook): Likewise.
36189857Sobrien	* elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
36289857Sobrien	* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
36389857Sobrien	* elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
36489857Sobrien	* elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
36589857Sobrien
36689857Sobrien2001-12-17  Alan Modra  <amodra@bigpond.net.au>
36789857Sobrien
36889857Sobrien	Hash bfd sections for fast lookup and create.
36989857Sobrien	* bfd.c (struct _bfd): Add section_htab, section_tail.
37089857Sobrien	* libbfd-in.h (_bfd_delete_bfd): Declare.
37189857Sobrien	(bfd_section_hash_newfunc): Declare.
37289857Sobrien	* opncls.c (_bfd_new_bfd): Free memory on failure.  Init
37389857Sobrien	section_htab and section_tail.
37489857Sobrien	(_bfd_delete_bfd): New function.
37589857Sobrien	(bfd_openr): Use it.
37689857Sobrien	(bfd_fdopenr): Likewise.
37789857Sobrien	(bfd_openstreamr): Likewise.
37889857Sobrien	(bfd_openw): Likewise.
37989857Sobrien	(bfd_close): Likewise.
38089857Sobrien	(bfd_close_all_done): Likewise.
38189857Sobrien	(bfd_release): Comment.
38289857Sobrien	* section.c (struct section_hash_entry): New.
38389857Sobrien	(bfd_section_hash_newfunc): New function.
38489857Sobrien	(section_hash_lookup): Define.
38589857Sobrien	(bfd_section_init): New function, split out from
38689857Sobrien	bfd_make_section_anyway.
38789857Sobrien	(bfd_get_section_by_name): Lookup via hash table.
38889857Sobrien	(bfd_get_unique_section_name): Likewise.
38989857Sobrien	(bfd_make_section_old_way): Rewrite to use hash table.
39089857Sobrien	(bfd_make_section_anyway): Likewise.
39189857Sobrien	(bfd_make_section): Likewise.  Return NULL for attempts to make
39289857Sobrien	BFD_{ABS,COM,UND,IND}_SECTION_NAME.
39389857Sobrien	(_bfd_strip_section_from_output): Adjust section_tail if needed.
39489857Sobrien	* configure.in: Bump bfd version.
39589857Sobrien	* configure: Regenerate.
39689857Sobrien	* libbfd.h: Regenerate.
39789857Sobrien	* bfd-in2.h: Regenerate.
39889857Sobrien
39989857Sobrien2001-12-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
40089857Sobrien
40189857Sobrien	* elf64-mips.c (mips_elf64_link_hash_entry): New link hash.
40289857Sobrien	(mips_elf64_high): New Function.
40389857Sobrien	(mips_elf64_higher): Likewise.
40489857Sobrien	(mips_elf64_highest): Likewise.
40589857Sobrien	(mips_elf64_info_to_howto_rel): Likewise.
40689857Sobrien	(mips_elf64_info_to_howto_rela): Likewise.
40789857Sobrien	(mips_elf64_write_rel): Likewise.
40889857Sobrien	(mips_elf64_write_rela): Likewise.
40989857Sobrien	(mips_elf64_link_hash_newfunc): Likewise.
41089857Sobrien	(mips_elf64_hi16_reloc): Likewise.
41189857Sobrien	(mips_elf64_higher_reloc): Likewise.
41289857Sobrien	(mips_elf64_highest_reloc): Likewise.
41389857Sobrien	(mips_elf64_gprel16_reloc): Likewise.
41489857Sobrien	(mips_elf64_gprel16_reloca): Likewise.
41589857Sobrien	(mips_elf64_literal_reloc): Likewise.
41689857Sobrien	(mips_elf64_gprel32_reloc): Likewise.
41789857Sobrien	(mips_elf64_shift6_reloc): Likewise.
41889857Sobrien	(mips_elf64_got16_reloc): Likewise.
41989857Sobrien	(mips_elf64_assign_gp): Likewise.
42089857Sobrien	(mips_elf64_final_gp): Likewise.
42189857Sobrien	(gprel16_with_gp): Likewise.
42289857Sobrien	(mips_elf64_additional_program_headers): Likewise.
42389857Sobrien	(mips_elf64_link_hash_table_create): Likewise.
42489857Sobrien	(mips_elf64_got_offset_from_index): Likewise.
42589857Sobrien	(_mips_elf64_got_info): Likewise.
42689857Sobrien	(mips_elf64_sign_extend): Likewise.
42789857Sobrien	(mips_elf64_overflow_p): Likewise.
42889857Sobrien	(mips_elf64_global_got_index): Likewise.
42989857Sobrien	(mips_elf64_sort_hash_table_f): Likewise.
43089857Sobrien	(mips_elf64_sort_hash_table): Likewise.
43189857Sobrien	(mips_elf64_swap_msym_out): Likewise.
43289857Sobrien	(mips_elf64_create_local_got_entry): Likewise.
43389857Sobrien	(mips_elf64_local_got_index): Likewise.
43489857Sobrien	(mips_elf64_got_page): Likewise.
43589857Sobrien	(mips_elf64_got16_entry): Likewise.
43689857Sobrien	(mips_elf64_local_relocation_p): Likewise.
43789857Sobrien	(mips_elf64_next_relocation): Likewise.
43889857Sobrien	(mips_elf64_create_dynamic_relocation): Likewise.
43989857Sobrien	(mips_elf64_calculate_relocation): Likewise.
44089857Sobrien	(mips_elf64_obtain_contents): Likewise.
44189857Sobrien	(mips_elf64_perform_relocation): Likewise.
44289857Sobrien	(mips_elf64_relocate_section): Likewise.
44389857Sobrien	(mips_elf64_create_dynamic_sections): Likewise.
44489857Sobrien	(mips_elf64_adjust_dynamic_symbol): Likewise.
44589857Sobrien	(mips_elf64_always_size_sections): Likewise.
44689857Sobrien	(mips_elf64_size_dynamic_sections): Likewise.
44789857Sobrien	(mips_elf64_finish_dynamic_symbol): Likewise.
44889857Sobrien	(mips_elf64_finish_dynamic_sections): Likewise.
44989857Sobrien	(mips_elf64_gc_mark_hook): Likewise.
45089857Sobrien	(mips_elf64_gc_sweep_hook): Likewise.
45189857Sobrien	(mips_elf64_create_got_section): Likewise.
45289857Sobrien	(mips_elf64_record_global_got_symbol): Likewise.
45389857Sobrien	(mips_elf64_create_msym_section): Likewise.
45489857Sobrien	(mips_elf64_allocate_dynamic_relocations): Likewise.
45589857Sobrien	(mips_elf64_check_relocs): Likewise.
45689857Sobrien	(mips_elf64_output_extsym): Likewise.
45789857Sobrien	(mips_elf64_swap_gptab_in): Likewise.
45889857Sobrien	(mips_elf64_swap_gptab_out): Likewise.
45989857Sobrien	(gptab_compare): Likewise.
46089857Sobrien	(mips_elf64_final_link): Likewise.
46189857Sobrien	(prev_reloc_addend): Remenber addend of previous parts of a combined
46289857Sobrien	reloc.
46389857Sobrien	(ELF_MIPS_GP_OFFSET): New define.
46489857Sobrien	(STUB_LW,STUB_MOVE,STUB_JALR,STUB_LI16): Likewise.
46589857Sobrien	(MIPS_FUNCTION_STUB_SIZE): Likewise.
46689857Sobrien	(mips_elf64_howto_rel): Fix HOWTO defines.
46789857Sobrien	(mips_elf64_howto_rela): Likewise.
46889857Sobrien	(mips_elf64_swap_reloca_out): Fix signedness.
46989857Sobrien	(mips_elf64_be_swap_reloc_in): Use ELF64* instead of ELF32*.
47089857Sobrien	(mips_elf64_be_swap_reloca_in): Likewise.
47189857Sobrien	(mips_elf64_be_swap_reloc_out): Likewise. Preserve extended type info.
47289857Sobrien	(mips_elf64_be_swap_reloca_out): Likewise.
47389857Sobrien
47489857Sobrien2001-12-15  Jakub Jelinek  <jakub@redhat.com>
47589857Sobrien
47689857Sobrien	* elf-bfd.h (_bfd_elf_maybe_strip_eh_frame_hdr): New prototype.
47789857Sobrien	* elf-eh-frame.c (struct eh_frame_hdr_info): Add strip.
47889857Sobrien	(_bfd_elf_discard_section_eh_frame): Don't create .eh_frame_hdr
47989857Sobrien	sec_info here.  Free ehbuf.
48089857Sobrien	(_bfd_elf_discard_section_eh_frame_hdr): Don't size the section
48189857Sobrien	if hdr_info->strip.
48289857Sobrien	(_bfd_elf_maybe_strip_eh_frame_hdr): New.
48389857Sobrien	* elflink.h (size_dynamic_sections): Call it.
48489857Sobrien
48589857Sobrien2001-12-14  Alan Modra  <amodra@bigpond.net.au>
48689857Sobrien
48789857Sobrien	* elflink.h (elf_bfd_discard_info): Fix segfault when dynobj NULL.
48889857Sobrien
48989857Sobrien2001-12-13  Jakub Jelinek  <jakub@redhat.com>
49089857Sobrien
49189857Sobrien	* elf-bfd.h (enum elf_link_info_type): New.
49289857Sobrien	(struct bfd_elf_section_data): Remove stab_info and merge_info
49389857Sobrien	fields, add sec_info and sec_info_type.
49489857Sobrien	(struct elf_obj_tdata): Add eh_frame_hdr field.
49589857Sobrien	(_bfd_elf_discard_section_eh_frame): New prototype.
49689857Sobrien	(_bfd_elf_discard_section_eh_frame_hdr): Likewise.
49789857Sobrien	(_bfd_elf_eh_frame_section_offset): Likewise.
49889857Sobrien	(_bfd_elf_write_section_eh_frame): Likewise.
49989857Sobrien	(_bfd_elf_write_section_eh_frame_hdr): Likewise.
50089857Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf-eh-frame.lo.
50189857Sobrien	(BFD32_BACKENDS_CFILES): Add elf-eh-frame.c.
50289857Sobrien	(elf-eh-frame.lo): New.
50389857Sobrien	* Makefile.in: Rebuilt.
50489857Sobrien	* configure.in (elf): Add elf-eh-frame.lo.
50589857Sobrien	* configure: Rebuilt.
50689857Sobrien	* elf.c (_bfd_elf_print_private_bfd_data): Support PT_GNU_EH_FRAME.
50789857Sobrien	(map_sections_to_segments): Create PT_GNU_EH_FRAME if requested.
50889857Sobrien	(get_program_header_size): Take into account PT_GNU_EH_FRAME
50989857Sobrien	segment.
51089857Sobrien	(_bfd_elf_rela_local_sym): Use sec_info_type and sec_info.
51189857Sobrien	(_bfd_elf_rel_local_sym): Likewise.
51289857Sobrien	(_bfd_elf_section_offset): Likewise.  Call
51389857Sobrien	_bfd_elf_eh_frame_section_offset too.
51489857Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Use sec_info_type and
51589857Sobrien	sec_info.
51689857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
51789857Sobrien	* elf-eh-frame.c: New file.
51889857Sobrien	* elflink.h (elf_link_add_object_symbols): Don't optimize SHF_MERGE
51989857Sobrien	.stab sections.  Set sec_info_type, use sec_info instead
52089857Sobrien	of merge_info and stab_info.
52189857Sobrien	(elf_link_create_dynamic_sections): Create .eh_frame_hdr section
52289857Sobrien	if --eh-frame-hdr.
52389857Sobrien	(elf_bfd_final_link): Write .eh_frame_hdr section.
52489857Sobrien	(elf_link_sec_merge_syms): Use sec_info_type and sec_info.
52589857Sobrien	(elf_link_input_bfd): Likewise.
52689857Sobrien	Call _bfd_elf_write_section_eh_frame to write .eh_frame sections.
52789857Sobrien	(elf_bfd_discard_info): Add output_bfd argument.
52889857Sobrien	Call _bfd_elf_discard_section_eh_frame and
52989857Sobrien	_bfd_elf_discard_section_eh_frame_hdr.
53089857Sobrien	(elf_section_ignore_discarded_relocs): Use sec_info_type, not section
53189857Sobrien	names.
53289857Sobrien	* bfd-in.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Adjust
53389857Sobrien	prototypes.
53489857Sobrien	* bfd-in2.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Likewise.
53589857Sobrien
53689857Sobrien2001-12-12  Richard Henderson  <rth@redhat.com>
53789857Sobrien
53889857Sobrien	* syms.c (_bfd_generic_read_minisymbols): Early return for
53989857Sobrien	no symbols.  Patch from FreeBSD folk; exact origin unknown.
54089857Sobrien
54189857Sobrien2001-12-11  Alan Modra  <amodra@bigpond.net.au>
54289857Sobrien
54389857Sobrien	* elfcode.h (elf_swap_ehdr_out): Adjust value written for e_shnum
54489857Sobrien	and e_shstrndx if out of range.
54589857Sobrien	(elf_object_p): Read extended values for e_shnum and e_shstrndx
54689857Sobrien	from the first section header.  Allocate space in elf_elfsections
54789857Sobrien	for reserved sections and set to NULLs.
54889857Sobrien	(elf_write_shdrs_and_ehdr): Set overflow fields in first section
54989857Sobrien	header.  Skip reserved sections in elf_elfsections.  Remove
55089857Sobrien	duplicate size calculation.
55189857Sobrien
55289857Sobrien2001-12-07  Geoffrey Keating  <geoffk@redhat.com>
55389857Sobrien	    Richard Henderson  <rth@redhat.com>
55489857Sobrien	    Corinna Vinschen  <vinschen@redhat.com>
55589857Sobrien
55689857Sobrien	* Makefile.am: Add support for xstormy16.
55789857Sobrien	* archures.c: Add support for xstormy16.
55889857Sobrien	* config.bfd: Add support for xstormy16.
55989857Sobrien	* configure.in: Add support for xstormy16.
56089857Sobrien	* reloc.c: Add support for xstormy16.
56189857Sobrien	* targets.c: Add support for xstormy16.
56289857Sobrien	* cpu-xstormy16.c: New file.
56389857Sobrien	* elf32-xstormy16.c: New file.
56489857Sobrien	* Makefile.in: Regenerated.
56589857Sobrien	* bfd-in2.h: Regenerated.
56689857Sobrien	* configure: Regenerated.
56789857Sobrien	* libbfd.h: Regenerated.
56889857Sobrien
56989857Sobrien2001-12-07  Nick Clifton  <nickc@cambridge.redhat.com>
57089857Sobrien
57189857Sobrien	* elf.c (assign_file_positions_for_segments): Combine sentance
57289857Sobrien	fragments into a single sentance in order to permit better
57389857Sobrien	translation into foreign languages.
57489857Sobrien
57589857Sobrien2001-12-07  Jim Blandy  <jimb@redhat.com>
57689857Sobrien
57789857Sobrien	* elf32-s390.c (elf32_s390_grok_prstatus): New function.
57889857Sobrien	(elf_backend_grok_prstatus): Define.
57989857Sobrien
58089857Sobrien2001-12-07  Jakub Jelinek  <jakub@redhat.com>
58189857Sobrien
58289857Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Revert
58389857Sobrien	2001-09-14 change.
58489857Sobrien
58589857Sobrien2001-12-07  Jakub Jelinek  <jakub@redhat.com>
58689857Sobrien
58789857Sobrien	* elf.c (_bfd_elf_rela_local_sym): Only call
58889857Sobrien	_bfd_merged_section_offset if merge_info is non-NULL.
58989857Sobrien	(_bfd_elf_rel_local_sym, _bfd_elf_section_offset): New.
59089857Sobrien	* elf-bfd.h (_bfd_elf_rel_local_sym, _bfd_elf_section_offset): New
59189857Sobrien	prototypes.
59289857Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Use
59389857Sobrien	_bfd_elf_section_offset.
59489857Sobrien	(elf32_arm_relocate_section): Use _bfd_elf_rel_local_sym.
59589857Sobrien	* elf32-i386.c (elf_i386_relocate_section): Use
59689857Sobrien	_bfd_elf_section_offset and _bfd_elf_rel_local_sym.
59789857Sobrien	* elf32-sh.c (sh_elf_relocate_section): Likewise.
59889857Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Use
59989857Sobrien	_bfd_elf_section_offset.
60089857Sobrien	* elf32-cris.c (cris_elf_relocate_section): Likewise.
60189857Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
60289857Sobrien	* elf32-i370.c (i370_elf_relocate_section): Likewise.
60389857Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
60489857Sobrien	* elf32-mips.c (mips_elf_create_dynamic_relocation): Likewise.
60589857Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
60689857Sobrien	* elf32-s390.c (elf_s390_relocate_section): Likewise.
60789857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
60889857Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
60989857Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
61089857Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
61189857Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
61289857Sobrien	* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
61389857Sobrien
61489857Sobrien2001-12-07  Alan Modra  <amodra@bigpond.net.au>
61589857Sobrien
61689857Sobrien	* elf32-hppa.c (clobber_millicode_symbols): Don't do anything if
61789857Sobrien	already forced local.
61889857Sobrien
61989857Sobrien2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
62089857Sobrien
62189857Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Combine
62289857Sobrien	fragmented sentence parts into a whole sentence to permit
62389857Sobrien	better translation into foreign languages.
62489857Sobrien
62589857Sobrien2001-12-06  Hans-Peter Nilsson  <hp@bitrange.com>
62689857Sobrien
62789857Sobrien	* configure: Regenerate.
62889857Sobrien	* Makefile.in: Regenerate.
62989857Sobrien
63089857Sobrien2001-12-05  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
63189857Sobrien
63289857Sobrien	* Makefile.am: split up BFD_LIBS like statements in BFD32_LIBS and
63389857Sobrien	BFD64_LIBS, make the latter depending on the availability of BFD64.
63489857Sobrien	Add archive64.c source file.
63589857Sobrien	* archive64.c: New file implementing bfd_elf64_archive_slurp_armap
63689857Sobrien	and bfd_elf64_archive_write_armap, code from elf64-mips.c
63789857Sobrien	* archive.c (bfd_slurp_armap): Add ELF64 archive support.
63889857Sobrien	* config.bfd (mips*-*-irix6*): Allow with BFD64 only.
63989857Sobrien	(mips64*el-*-linux*): Likewise.
64089857Sobrien	(mips*el-*-linux*): Likewise. Reorder entries.
64189857Sobrien	* configure.in (bfd_libs): Define in dependency of BFD64 and
64289857Sobrien	AC_SUBST it.
64389857Sobrien	* elf64-mips.c (mips_elf64_slurp_armap): Remove, use
64489857Sobrien	bfd_elf64_archive_slurp_armap instead.
64589857Sobrien	(mips_elf64_write_armap): Remove, use bfd_elf64_archive_write_armap
64689857Sobrien	instead.
64789857Sobrien
64889857Sobrien2001-12-04  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
64989857Sobrien
65089857Sobrien	* config.bfd: Remove trailing blanks.
65189857Sobrien	* elf32-mips.c (gprel16_with_gp): Remove superfluous casts.
65289857Sobrien
65389857Sobrien2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
65489857Sobrien
65589857Sobrien	* elf32-d10v.c (elf_d10v_howto_table): Adjust bit-size of
65689857Sobrien	R_D10V_10_PCREL_L, R_D10V_10_PCREL_R, R_D10V_18,
65789857Sobrien	R_D10V_18_PCREL.  Check 10_PCREL relocations as signed.
65889857Sobrien	Disable pointless overflow checking of NONE and 32.
65989857Sobrien
66089857Sobrien2001-12-04  Alan Modra  <amodra@bigpond.net.au>
66189857Sobrien
66289857Sobrien	* reloc.c (bfd_install_relocation): Correct reloc address test.
66389857Sobrien	(bfd_perform_relocation): Formatting fix.
66489857Sobrien	* bfd-in2.h: Regenerate for 2001-12-02 reloc.c change.
66589857Sobrien
66689857Sobrien2001-12-03  Nick Clifton  <nickc@cambridge.redhat.com>
66789857Sobrien
66889857Sobrien	* configure.in (LINGUAS): Add tr.
66989857Sobrien	* configure: Regenerate.
67089857Sobrien	* po/tr.po: Import from translation project's web site.
67189857Sobrien
67289857Sobrien2001-12-03  Alan Modra  <amodra@bigpond.net.au>
67389857Sobrien
67489857Sobrien	* elf32-hppa.c (hppa_get_stub_entry): Remove debug message that
67589857Sobrien	happens to trigger on undefined symbols.
67689857Sobrien	(final_link_relocate): Return bfd_reloc_undefined for undefined
67789857Sobrien	stubs.
67889857Sobrien	(elf32_hppa_relocate_section): Don't say we can't handle a reloc
67989857Sobrien	if we have already warned about an undefined symbol.
68089857Sobrien
68189857Sobrien2001-12-02  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
68289857Sobrien
68389857Sobrien	* elf32-mips.c (NEWABI_P): New define.
68489857Sobrien	(USE_REL): Remove, replaced by
68589857Sobrien	(elf_backend_may_use_rel_p): New define.
68689857Sobrien	(elf_backend_may_use_rela_p): Likewise.
68789857Sobrien	(elf_backend_default_use_rela_p): Likewise.
68889857Sobrien	(elf_mips_howto_table): Rename to elf_mips_howto_table_rel.
68989857Sobrien	Fix some relocation definitions.
69089857Sobrien	(elf_mips_howto_table_rela): New RELA relocation definitions for
69189857Sobrien	NewABI support.
69289857Sobrien	(mips32_64bit_reloc): Use the renamed elf_mips_howto_table_rel.
69389857Sobrien	(bfd_elf32_bfd_reloc_type_lookup): Likewise.
69489857Sobrien	(mips_rtype_to_howto): Likewise.
69589857Sobrien	(_bfd_mips_elf_relocate_section): Likewise.
69689857Sobrien	(_bfd_mips_elf_object_p): Typo.
69789857Sobrien	(elf_backend_sign_extend_vma): Reordered together with many other
69889857Sobrien	defines nearby to resemble the order of declaration in the header
69989857Sobrien	file.
70089857Sobrien
70189857Sobrien2001-12-02  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
70289857Sobrien
70389857Sobrien	* coff-mips.c (mips_bfd_reloc_type_lookup): Replace
70489857Sobrien	BFD_RELOC_MIPS_GPREL by BFD_RELOC_GPREL16.
70589857Sobrien	* pe-mips.c (mips_bfd_reloc_type_lookup): Likewise.
70689857Sobrien	* elf32-mips.c (mips_reloc_map): Likewise. Replace
70789857Sobrien	BFD_RELOC_MIPS_GPREL32 by BFD_RELOC_GPREL32.
70889857Sobrien	* elf64-mips.c (mips_reloc_map): Likewise.
70989857Sobrien	* reloc.c (BFD_RELOC_MIPS_GPREL): Remove.
71089857Sobrien	(BFD_RELOC_MIPS_GPREL32): Remove.
71189857Sobrien
71289857Sobrien2001-11-30  H.J. Lu <hjl@gnu.org>
71389857Sobrien
71489857Sobrien	* elflink.h (elf_add_default_symbol): New.
71589857Sobrien	(elf_link_add_object_symbols): Call elf_add_default_symbol ()
71689857Sobrien	to create an indirect symbol from the default for the symbol
71789857Sobrien	with the default version if needed.
71889857Sobrien
71989857Sobrien2001-11-29  "Peter.Schauer" <Peter.Schauer@regent.e-technik.tu-muenchen.de>
72089857Sobrien
72189857Sobrien	* elf.c (elfcore_grok_prstatus): Do not overwite the core signal
72289857Sobrien	if it has already been set by another thread.
72389857Sobrien
72489857Sobrien2001-11-28  Jakub Jelinek  <jakub@redhat.com>
72589857Sobrien
72689857Sobrien	* elf64-alpha.c (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Defined.
72789857Sobrien	(elf64_alpha_relocate_section): Translate local_got_entries
72889857Sobrien	for STT_SECTION symbol to SHF_MERGE section the first time
72989857Sobrien	we see it.
73089857Sobrien	* elfxx-ia64.c (struct elfNN_ia64_local_hash_entry): Add
73189857Sobrien	sec_merge_done.
73289857Sobrien	(get_local_sym_hash): New, extracted from get_dyn_sym_info.
73389857Sobrien	(get_dyn_sym_info): Use it.
73489857Sobrien	(elfNN_ia64_relocate_section): Translate local dyn entries
73589857Sobrien	for STT_SECTION symbol to SHF_MERGE section the first time
73689857Sobrien	we see it.
73789857Sobrien
73889857Sobrien2001-11-27  H.J. Lu <hjl@gnu.org>
73989857Sobrien
74089857Sobrien	* elflink.h (elf_bfd_discard_info): Skip if the input bfd isn't
74189857Sobrien	ELF.
74289857Sobrien
74389857Sobrien2001-11-26  Jeffrey A Law  (law@cygnus.com)
74489857Sobrien
74589857Sobrien	* stabs.c (_bfd_discard_section_stabs): Use PARAMS in function
74689857Sobrien	prototypes.
74789857Sobrien
74889857Sobrien2001-11-24  Alan Modra  <amodra@bigpond.net.au>
74989857Sobrien
75089857Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Decrease default stub
75189857Sobrien	group sizes to accommodate c++.
75289857Sobrien
75389857Sobrien2001-11-23  Jakub Jelinek  <jakub@redhat.com>
75489857Sobrien
75589857Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Don't clear
75689857Sobrien	relocations in non-alloced sections against global symbols
75789857Sobrien	defined in shared library being built.
75889857Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
75989857Sobrien
76089857Sobrien2001-11-23  Jakub Jelinek  <jakub@redhat.com>
76189857Sobrien
76289857Sobrien	* elf.c (_bfd_elf_rela_local_sym): New.
76389857Sobrien	* elflink.h (elf_link_input_bfd): Don't consider empty
76489857Sobrien	merged sections as removed in relocation tests.
76589857Sobrien	* elf-bfd.h (_bfd_elf_rela_local_sym): Add prototype.
76689857Sobrien	* elf32-i386.c (elf_i386_relocate_section): Handle relocs
76789857Sobrien	against STT_SECTION symbol of SHF_MERGE section.
76889857Sobrien	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
76989857Sobrien	* elf32-avr.c (elf32_avr_relocate_section): Call
77089857Sobrien	_bfd_elf_rela_local_sym.
77189857Sobrien	* elf32-cris.c (cris_elf_relocate_section): Likewise.
77289857Sobrien	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
77389857Sobrien	* elf32-fr30.c (fr30_final_link_relocate): Likewise.
77489857Sobrien	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
77589857Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
77689857Sobrien	* elf32-i370.c (i370_elf_relocate_section): Likewise.
77789857Sobrien	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
77889857Sobrien	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
77989857Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
78089857Sobrien	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
78189857Sobrien	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
78289857Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
78389857Sobrien	* elf32-s390.c (elf_s390_relocate_section): Likewise.
78489857Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
78589857Sobrien	* elf32-v850.c (v850_elf_relocate_section): Likewise.
78689857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
78789857Sobrien	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
78889857Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
78989857Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
79089857Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
79189857Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
79289857Sobrien	* elf-hppa.h (elf_hppa_relocate_section): Likewise.
79389857Sobrien	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
79489857Sobrien	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
79589857Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
79689857Sobrien	* elf32-sh.c (sh_elf_relocate_section): Likewise for
79789857Sobrien	!partial_inplace relocs. Handle relocs against STT_SECTION
79889857Sobrien	symbol of SHF_MERGE for partial_inplace relocs.
79989857Sobrien
80089857Sobrien2001-11-21  Nick Clifton  <nickc@cambridge.redhat.com>
80189857Sobrien
80289857Sobrien	* po/Make-in (distclean): Move SRC-POTFILES.in and
80389857Sobrien	BLD-POTFILES.in to maintainer-clean target.
80489857Sobrien
80589857Sobrien2001-11-21  Alan Modra  <amodra@bigpond.net.au>
80689857Sobrien
80789857Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Test r_symndx rather
80889857Sobrien	than sym_sec->output_section to detect relocs against discarded
80989857Sobrien	sections.
81089857Sobrien
81189857Sobrien2001-11-19  H.J. Lu  <hjl@gnu.org>
81289857Sobrien
81389857Sobrien	* elflink.h (elf_link_input_bfd): Assert r_symndx != 0 when
81489857Sobrien	discarding relocations.
81589857Sobrien
81689857Sobrien2001-11-19  Nick Clifton  <nickc@cambridge.redhat.com>
81789857Sobrien
81889857Sobrien	* section.c (bfd_is_const_section): New macro.  Return true if the
81989857Sobrien	given seciton is one of the special, constant, sections.
82089857Sobrien	* bfd-in2.h: Regenerate.
82189857Sobrien	* coffgen.c (coff_count_linenumbers): Use bfd_is_const_section.
82289857Sobrien	(coff_write_native_symbol): Use bfd_is_const_section.
82389857Sobrien
82489857Sobrien2001-11-19  Alan Modra  <amodra@bigpond.net.au>
82589857Sobrien
82689857Sobrien	* elf32-hppa.c (clobber_millicode_symbols): Dec dynstr refcount.
82789857Sobrien
82889857Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Don't consider undefined
82989857Sobrien	millicode syms as candidates for import stubs.
83089857Sobrien
83189857Sobrien	* elf32-hppa.c (PLABEL_PLT_ENTRY_SIZE): Delete.
83289857Sobrien	(allocate_PIC_calls): Rename to allocate_plt_static.
83389857Sobrien	(allocate_dynrelocs): Move most of code handling .plt entries to..
83489857Sobrien	(allocate_plt_static): ..here.  Don't drop plabel entries.
83589857Sobrien
83689857Sobrien2001-11-19  Hans-Peter Nilsson  <hp@bitrange.com>
83789857Sobrien
83889857Sobrien	* mmo.c: Adjust documentation tags to use texinfo 4 features.
83989857Sobrien
84089857Sobrien2001-11-16  Nick Clifton  <nickc@cambridge.redhat.com>
84189857Sobrien
84289857Sobrien	* section.c (bfd_is_const_section): New macro.  Return true if the
84389857Sobrien	section pointer refers to one of the special, constant sections.
84489857Sobrien	* bfd-in2.h: Regenerate.
84589857Sobrien
84689857Sobrien	* coffgen.c (coff_count_linenumbers): Only update the line number
84789857Sobrien	count in non-special sections.
84889857Sobrien	(coff_write_native_symbol): Only update the line number file
84989857Sobrien	position in non-special sections.
85089857Sobrien
85189857Sobrien2001-11-15  Daniel Jacobowitz  <drow@mvista.com>
85289857Sobrien
85389857Sobrien	* elflink.h (elf_reloc_symbol_deleted_p): Catch all relocs against
85489857Sobrien	local syms from discarded sections.  Update comment.
85589857Sobrien
85689857Sobrien2001-11-15  Alan Modra  <amodra@bigpond.net.au>
85789857Sobrien
85889857Sobrien	* po/SRC-POTFILES.in: Regenerate.
85989857Sobrien
86089857Sobrien	* elflink.h (elf_link_input_bfd): Complain about all relocs
86189857Sobrien	against local syms from discarded sections.  K&R fixes.
86289857Sobrien	(elf_reloc_symbol_deleted_p): Don't try to swap in external syms.
86389857Sobrien	K&R fixes.
86489857Sobrien
86589857Sobrien2001-11-15  Alexandre Oliva  <aoliva@redhat.com>
86689857Sobrien
86789857Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Disregard
86889857Sobrien	overflows in the .stab section.
86989857Sobrien
87089857Sobrien2001-11-14  Daniel Jacobowitz  <drow@mvista.com>
87189857Sobrien
87289857Sobrien	* bfd-in.h (bfd_elf32_discard_info): Add prototype.
87389857Sobrien	(bfd_elf64_discard_info): Likewise.
87489857Sobrien	* bfd-in2.h: Regenerate.
87589857Sobrien	* elf-bfd.h (struct elf_reloc_cookie): New.
87689857Sobrien	(struct elf_backend_data): Add elf_backend_discard_info,
87789857Sobrien	elf_backend_ignore_discarded_relocs, and elf_backend_write_section.
87889857Sobrien	(_bfd_elf32_reloc_symbol_deleted_p): Add prototype.
87989857Sobrien	(_bfd_elf64_reloc_symbol_deleted_p): Likewise.
88089857Sobrien	* elf32-mips.c (_bfd_elf32_mips_discard_info): New.
88189857Sobrien	(_bfd_elf32_mips_ignore_discarded_relocs): New.
88289857Sobrien	(_bfd_elf32_mips_write_section): New.
88389857Sobrien	(elf_backend_discard_info): Define.
88489857Sobrien	(elf_backend_ignore_discarded_relocs): Define.
88589857Sobrien	(elf_backend_write_section): Define.
88689857Sobrien	* elfcode.h (elf_bfd_discard_info): Define.
88789857Sobrien	(elf_reloc_symbol_deleted_p): Define.
88889857Sobrien	* elflink.h (elf_link_input_bfd): Check
88989857Sobrien	elf_section_ignore_discarded_relocs.  Call
89089857Sobrien	bed->elf_backend_write_section if available.
89189857Sobrien	(elf_reloc_symbol_deleted_p): New.
89289857Sobrien	(elf_bfd_discard_info): New.
89389857Sobrien	(elf_section_ignore_discarded_relocs): New.
89489857Sobrien	* elfxx-target.h (elf_backend_discard_info): Define.
89589857Sobrien	(elf_backend_ignore_discarded_relocs): Define.
89689857Sobrien	(elf_backend_write_section): Define.
89789857Sobrien	(elfNN_bed): Add elf_backend_discard_info,
89889857Sobrien	elf_backend_ignore_discarded_relocs, and
89989857Sobrien	elf_backend_write_section.
90089857Sobrien	* libbfd-in.h (_bfd_discard_section_stabs): Add prototype.
90189857Sobrien	* libbfd.h: Regenerate.
90289857Sobrien	* stabs.c (_bfd_discard_section_stabs): New.
90389857Sobrien
90489857Sobrien2001-11-14  Martin Schwidefsky  <schwidefsky@de.ibm.com>
90589857Sobrien
90689857Sobrien	* elf32-s390.c (elf_s390_relocate_section): Use the "unresolved_reloc"
90789857Sobrien	scheme to get rid of an ugly complicated test.
90889857Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
90989857Sobrien
91089857Sobrien2001-11-14  Andreas Jaeger  <aj@suse.de>
91189857Sobrien
91289857Sobrien	* cpu-i386.c (bfd_x86_64_arch_intel_syntax,bfd_x86_64_arch): Use
91389857Sobrien	x86-64 for display.
91489857Sobrien
91589857Sobrien2001-11-14  Jakub Jelinek  <jakub@redhat.com>
91689857Sobrien
91789857Sobrien	* dwarf2.c (struct line_head) [total_length]: Change type to
91889857Sobrien	bfd_vma.
91989857Sobrien	(struct dwarf2_debug): Add dwarf_str_buffer and dwarf_str_size.
92089857Sobrien	(struct comp_unit): Add stash and offset_size.
92189857Sobrien	(read_8_bytes): Return bfd_vma.
92289857Sobrien	(read_indirect_string): New.
92389857Sobrien	(read_attribute): Handle DW_FORM_strp.
92489857Sobrien	(decode_line_info): Support 64-bit DWARF format.
92589857Sobrien	(_bfd_dwarf2_find_nearest_line): Likewise.
92689857Sobrien	(parse_comp_unit): Set offset_size and stash.
92789857Sobrien
92889857Sobrien2001-11-13  Keith Walker <keith.walker@arm.com>
92989857Sobrien
93089857Sobrien	* dwarf2.c (read_attribute_value): New function to handle
93189857Sobrien	DW_FORM_indirect.
93289857Sobrien	(read_attribute): Use it.
93389857Sobrien
93489857Sobrien2001-11-13  Geoffrey Keating  <geoffk@redhat.com>
93589857Sobrien
93689857Sobrien	* dwarf2.c (decode_line_info): Properly deal with unknown standard
93789857Sobrien	opcodes.
93889857Sobrien
93989857Sobrien2001-11-13  John Marshall  <jmarshall@acm.org>
94089857Sobrien	    Alan Modra  <amodra@bigpond.net.au>
94189857Sobrien
94289857Sobrien	* section.c (bfd_make_section_anyway): Don't increment section_id
94389857Sobrien	and the BFD's section_count if adding the section failed.
94489857Sobrien	* vms.c (vms_new_section_hook): Adjust for bfd_make_section_anyway
94589857Sobrien	change.
94689857Sobrien
94789857Sobrien2001-11-12  Orjan Friberg  <orjanf@axis.com>
94889857Sobrien
94989857Sobrien	* elf32-cris.c (cris_elf_grok_prstatus): Adjust values to match new
95089857Sobrien	core dump format.
95189857Sobrien
95289857Sobrien2001-11-11  H.J. Lu <hjl@gnu.org>
95389857Sobrien
95489857Sobrien	* elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Call
95589857Sobrien	_bfd_elf_strtab_size instead of _bfd_stringtab_size.
95689857Sobrien
95789857Sobrien	* elf64-sparc.c (sparc64_elf_size_dynamic_sections): Change
95889857Sobrien	dynstr type to `struct elf_strtab_hash *'.
95989857Sobrien
96089857Sobrien2001-11-11  Hans-Peter Nilsson  <hp@bitrange.com>
96189857Sobrien
96289857Sobrien	* elf-strtab.c (_bfd_elf_strtab_finalize): Make first variable i
96389857Sobrien	size_t.  Rename second i to j.
96489857Sobrien
96589857Sobrien2001-11-10  Jeffrey A Law  (law@cygnus.com)
96689857Sobrien
96789857Sobrien	* binary.c: Include safe-ctype.h after bfd.h and sysdep.h.
96889857Sobrien
96989857Sobrien2001-11-10  Alan Modra  <amodra@bigpond.net.au>
97089857Sobrien
97189857Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Don't copy STN_UNDEF
97289857Sobrien	relocs into shared libs.
97389857Sobrien	* elf32-cris.c (cris_elf_relocate_section): Likewise.
97489857Sobrien	* elf32-i370.c (i370_elf_relocate_section): Likewise.
97589857Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
97689857Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
97789857Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
97889857Sobrien	* elf32-sh.c (sh_elf_relocate_section): Likewise.
97989857Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
98089857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
98189857Sobrien	* elf64-s390.c (elf_s390_relocate_section): Likewise.
98289857Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
98389857Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
98489857Sobrien	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
98589857Sobrien
98689857Sobrien	* elf.c (bfd_section_from_r_symndx): New function.
98789857Sobrien	* elf-bfd.h (LOCAL_SYM_CACHE_SIZE): Define.
98889857Sobrien	(struct sym_sec_cache): New.
98989857Sobrien	(bfd_section_from_r_symndx): Declare.
99089857Sobrien	(struct bfd_elf_section_data): Change local_dynrel type to PTR.
99189857Sobrien	* elflink.h (elf_link_input_bfd): Don't test for removed linkonce
99289857Sobrien	relocs when relocatable.  Don't	zero entire reloc, just zero the
99389857Sobrien	addend and sym.
99489857Sobrien	* elf32-hppa.c (struct elf32_hppa_link_hash_table): Add sym_sec.
99589857Sobrien	(elf32_hppa_link_hash_table_create): Init it.
99689857Sobrien	(elf32_hppa_check_relocs): Track dynamic relocs needed for local
99789857Sobrien	syms on a per-section basis as we do for globals.
99889857Sobrien	(elf32_hppa_gc_sweep_hook): Update for local_dynrel change.
99989857Sobrien	(allocate_dynrelocs): Warning fix.
100089857Sobrien	(elf32_hppa_size_dynamic_sections): Don't allocate relocs when
100189857Sobrien	section has been discarded.
100289857Sobrien	(elf32_hppa_relocate_section): Don't copy STN_UNDEF relocs
100389857Sobrien	into shared libs.
100489857Sobrien	* elf32-i386.c (struct elf_i386_link_hash_table): Add sym_sec.
100589857Sobrien	(elf_i386_link_hash_table_create): Init it.
100689857Sobrien	(elf_i386_check_relocs): Track dynamic relocs needed for local
100789857Sobrien	syms on a per-section basis as we do for globals.
100889857Sobrien	(elf_i386_gc_sweep_hook): Update for local_dynrel change.
100989857Sobrien	Remove dead code.
101089857Sobrien	(allocate_dynrelocs): Warning fix.
101189857Sobrien	(elf_i386_size_dynamic_sections): Don't allocate relocs when
101289857Sobrien	section has been discarded.
101389857Sobrien	(elf_i386_relocate_section): Don't copy STN_UNDEF relocs
101489857Sobrien	into shared libs.
101589857Sobrien	* elf32-s390.c (struct elf_s390_link_hash_table): Add sym_sec.
101689857Sobrien	(elf_s390_link_hash_table_create): Init it.
101789857Sobrien	(elf_s390_check_relocs): Track dynamic relocs needed for local
101889857Sobrien	syms on a per-section basis as we do for globals.
101989857Sobrien	(elf_s390_gc_sweep_hook): Update for local_dynrel change.
102089857Sobrien	Remove dead code.
102189857Sobrien	(allocate_dynrelocs): Warning fix.
102289857Sobrien	(elf_s390_size_dynamic_sections): Don't allocate relocs when
102389857Sobrien	section has been discarded.
102489857Sobrien	(elf_s390_relocate_section): Don't copy STN_UNDEF relocs
102589857Sobrien	into shared libs.
102689857Sobrien	* elf64-ppc.c (struct ppc_link_hash_table): Add sym_sec.
102789857Sobrien	(ppc64_link_hash_table_create): Init it.
102889857Sobrien	(ppc64_elf_check_relocs): Track dynamic relocs needed for local
102989857Sobrien	syms on a per-section basis as we do for globals.
103089857Sobrien	(ppc64_elf_gc_sweep_hook): Update for local_dynrel change.
103189857Sobrien	(allocate_dynrelocs): Call the correct record_dynamic_dymbol
103289857Sobrien	function.  Warning fix.
103389857Sobrien	(ppc64_elf_size_dynamic_sections): Don't allocate relocs when
103489857Sobrien	section has been discarded.
103589857Sobrien	(ppc64_elf_relocate_section): Don't copy STN_UNDEF relocs
103689857Sobrien	into shared libs.
103789857Sobrien	* elf64-s390.c (struct elf_s390_link_hash_table): Add sym_sec.
103889857Sobrien	(elf_s390_link_hash_table_create): Init it.
103989857Sobrien	(elf_s390_check_relocs): Track dynamic relocs needed for local
104089857Sobrien	syms on a per-section basis as we do for globals.
104189857Sobrien	(elf_s390_gc_sweep_hook): Update for local_dynrel change.
104289857Sobrien	Remove dead code.
104389857Sobrien	(allocate_dynrelocs): Warning fix.
104489857Sobrien	(elf_s390_size_dynamic_sections): Don't allocate relocs when
104589857Sobrien	section has been discarded.
104689857Sobrien	(elf_s390_relocate_section): Don't copy STN_UNDEF relocs
104789857Sobrien	into shared libs.
104889857Sobrien
104989857Sobrien2001-11-08  Martin Schwidefsky  <schwidefsky@de.ibm.com>
105089857Sobrien
105189857Sobrien	* elf32-s390: Major rework that introduces all recent changes to
105289857Sobrien	the s390 backends.  Get a closer match to elf32-i386.
105389857Sobrien	(elf_s390_relocate_section): Make use of dynamic section short-cuts.
105489857Sobrien	Localise vars, and delay setting.  Better error reporting, replace
105589857Sobrien	BFD_ASSERT with abort.  Check ELF_LINK_HASH_DEF_DYNAMIC to see if a
105689857Sobrien	symbol is not defined in the regular object file and tread the weak
105789857Sobrien	definition as the normal one.  Don't discard relocs for undefweak or
105889857Sobrien	undefined symbols and check !DEF_REGULAR as well as DEF_DYNAMIC in
105989857Sobrien	test for avoided copy relocs.  Reinstate fudge for unresolved relocs
106089857Sobrien	in debugging sections.
106189857Sobrien	(elf32_s390_adjust_dynamic_symbol): Handle nocopyreloc.  Don't do copy
106289857Sobrien	reloc processing for weakdefs.  Remove redundant casts and aborts.
106389857Sobrien	Delay setting of vars until needed.  Move creation of dynamic symbols
106489857Sobrien	and allocation of .plt and .rela.plt to allocate_dynrelocs.  Replace
106589857Sobrien	BFD_ASSERT with abort.  Discard .plt entries for everything with
106689857Sobrien	plt.refcount <= 0.
106789857Sobrien	(elf_s390_check_relocs):  Don't allocate space for dynamic relocs,
106889857Sobrien	.got or .relgot here but do it in allocate_dynrelocs.  Reference count
106989857Sobrien	possible .plt and .got entries.  Don't test input section SEC_READONLY
107089857Sobrien	here to try to avoid copy relocs, and keep dyn_relocs regardless of
107189857Sobrien	ELF_LINK_NON_GOT_REF.  Don't set DF_TEXTREL here.  Delay setting of
107289857Sobrien	variables until needed.  Remove separate switch stmt for creating .got
107389857Sobrien	section.  Initialise local_got_refcounts to 0.  Cache pointer to
107489857Sobrien	"sreloc" section in elf_section_data. Tweak condition under which .got
107589857Sobrien	created.  Report files with bad relocation section names.
107689857Sobrien	(elf_s390_finish_dynamic_symbol): Don't copy relocs for symbols that
107789857Sobrien	have been forced local.  Use same test to decide if we can use a
107889857Sobrien	relative reloc for got as elf_s390_relocate_section.  Expand SHN_UNDEF
107989857Sobrien	comment.  Move expressions out of function calls.  Replace BFD_ASSERT
108089857Sobrien	with abort.
108189857Sobrien	(elf_s390_finish_dynamic_sections): Migrate common code out of switch
108289857Sobrien	statement.  Replace BFD_ASSERT with abort.
108389857Sobrien	(elf_s390_size_dynamic_sections): Call readonly_dynrelocs. Rename "i"
108489857Sobrien	to "ibfd".  Allocate space for local dyn relocs.  Use DF_TEXTREL flag
108589857Sobrien	instead of looking up section names for DT_TEXTREL.  Replace
108689857Sobrien	BFD_ASSERT with abort.  Zero out the dynamic allocated content space.
108789857Sobrien	Add a comment to remind us that one day this ought to be fixed.
108889857Sobrien	(struct elf_s390_link_hash_entry): Rename "root" to "elf".
108989857Sobrien	(struct elf_s390_link_hash_table): Likewise.
109089857Sobrien	(elf_s390_link_hash_newfunc): Rename to link_hash_newfunc and get
109189857Sobrien	rid of unnecessary casts.
109289857Sobrien	(struct elf_s390_dyn_relocs): Add "sec", and "pc_count" fields.
109389857Sobrien	Remove "section" field.
109489857Sobrien	(elf_s390_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
109589857Sobrien	Reference count possible .plt entries.  Don't deallocate .got and
109689857Sobrien	.relgot space here.
109789857Sobrien	(struct elf_s390_pcrel_relocs_copied): Rename to elf_s390_dyn_relocs.
109889857Sobrien	Update comment.
109989857Sobrien	(struct elf_s390_link_hash_entry): Rename pcrel_relocs_copied to
110089857Sobrien	dyn_relocs.
110189857Sobrien	(elf_s390_discard_copies):  Delete.
110289857Sobrien	(elf_s390_link_hash_traverse): Delete.
110389857Sobrien	(bfd_elf32_bfd_final_link): Delete.  (ie. use regular final link
110489857Sobrien	rather than gc variety).
110589857Sobrien	(struct elf_s390_link_hash_table): Add sgot, sgotplt, srelgot, splt,
110689857Sobrien	srelplt, sdynbss, srelbss fields.
110789857Sobrien	(elf_s390_link_hash_table_create): Init them.
110889857Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
110989857Sobrien	(allocate_dynrelocs): New function.
111089857Sobrien	(create_got_section): New function.
111189857Sobrien	(elf_backend_can_refcount): Define.
111289857Sobrien	(elf_backend_copy_indirect_symbol): Define.
111389857Sobrien	(elf_s390_copy_indirect_symbol): New function.
111489857Sobrien	(elf_s390_create_dynamic_sections): New function.
111589857Sobrien	(readonly_dynrelocs): New function.
111689857Sobrien	* elf64-s390.c: Likewise.
111789857Sobrien
111889857Sobrien2001-11-07  Jakub Jelinek  <jakub@redhat.com>
111989857Sobrien
112089857Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf-strtab.lo.
112189857Sobrien	(BFD32_BACKENDS_CFILES): Add elf-strtab.c.
112289857Sobrien	(elf-strtab.lo): Add rule.
112389857Sobrien	* Makefile.in: Rebuilt.
112489857Sobrien	* configure.in (elf): Add elf-strtab.lo.
112589857Sobrien	* configure: Rebuilt.
112689857Sobrien	* elf-bfd.h (elf_strtab_hash): Forward declare.
112789857Sobrien	(struct elf_link_hash_table): Change dynstr type to
112889857Sobrien	struct elf_strtab_hash *.
112989857Sobrien	(struct elf_obj_tdata): Change strtab_ptr type to
113089857Sobrien	struct elf_strtab_hash *.
113189857Sobrien	(_bfd_elf_strtab_init, _bfd_elf_strtab_free, _bfd_elf_strtab_add,
113289857Sobrien	_bfd_elf_strtab_addref, _bfd_elf_strtab_delref,
113389857Sobrien	_bfd_elf_strtab_clear_all_refs, _bfd_elf_strtab_size,
113489857Sobrien	_bfd_elf_strtab_offset, _bfd_elf_strtab_emit,
113589857Sobrien	_bfd_elf_strtab_finalize): New prototypes.
113689857Sobrien	* elf-strtab.c: New file.
113789857Sobrien	* elflink.h (elf_link_add_object_symbols): Use _bfd_elf_strtab_add
113889857Sobrien	and _bfd_elf_strtab_size instead of _bfd_stringtab calls.
113989857Sobrien	Call _bfd_elf_strtab_delref if DT_NEEDED entry is not needed or
114089857Sobrien	when forcing dynamic symbol to local.
114189857Sobrien	(elf_link_create_dynamic_sections): Call
114289857Sobrien	_bfd_elf_strtab_init instead of elf_stringtab_init.
114389857Sobrien	(elf_link_record_local_dynamic_symbol): Likewise, change
114489857Sobrien	dynstr type.  Use _bfd_elf_strtab functions instead of
114589857Sobrien	_bfd_stringtab calls.
114689857Sobrien	(size_dynamic_sections): Use _bfd_elf_strtab functions instead of
114789857Sobrien	_bfd_stringtab calls.  For DT_RUNPATH and Verdaux vda_name fields,
114889857Sobrien	call _bfd_elf_strtab_addref.  Call elf_finalize_dynstr.
114989857Sobrien	(elf_adjust_dynstr_offsets, elf_finalize_dynstr): New functions.
115089857Sobrien	(elf_fix_symbol_flags): Call _bfd_elf_strtab_delref when forcing
115189857Sobrien	dynamic symbol to local.
115289857Sobrien	(elf_link_assign_sym_version): Likewise.
115389857Sobrien	(elf_bfd_final_link): Call _bfd_elf_strtab_emit instead of
115489857Sobrien	_bfd_stringtab_emit.
115589857Sobrien	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Change dynstr
115689857Sobrien	type.  Call _bfd_elf_strtab functions instead of
115789857Sobrien	_bfd_stringtab functions.
115889857Sobrien	* elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
115989857Sobrien	* elf.c (_bfd_elf_init_reloc_shdr): Likewise.
116089857Sobrien	(elf_fake_sections): Likewise.
116189857Sobrien	(assign_section_numbers): Call _bfd_elf_strtab_clear_all_refs
116289857Sobrien	on shstrtab hash table, call _bfd_elf_strtab_addref on each section
116389857Sobrien	name in the output.  Call _bfd_elf_strtab_finalize and
116489857Sobrien	use _bfd_elf_strtab_offset to finalize sh_name section header fields.
116589857Sobrien	(_bfd_elf_compute_section_file_positions): Use _bfd_elf_strtab_size
116689857Sobrien	instead of _bfd_stringtab_size.
116789857Sobrien	(prep_headers): Change shstrtab type.
116889857Sobrien	Use _bfd_elf_strtab calls instead of _bfd_stringtab calls.
116989857Sobrien
117089857Sobrien2001-11-07  Alan Modra  <amodra@bigpond.net.au>
117189857Sobrien
117289857Sobrien	* elflink.h (elf_link_input_bfd <removed linkonce relocs>): Fix
117389857Sobrien	bad symtab segfault.  Formatting and warning fixes.  Improve
117489857Sobrien	error message for internationalisation.
117589857Sobrien
117689857Sobrien2001-11-06  H.J. Lu  (hjl@gnu.org)
117789857Sobrien
117889857Sobrien	* elflink.h (elf_link_input_bfd): Complain about relocs against
117989857Sobrien	discarded sections.
118089857Sobrien
118189857Sobrien2001-11-03  Alan Modra  <amodra@bigpond.net.au>
118289857Sobrien
118389857Sobrien	* elfxx-target.h (elfNN_bed): Correct want_got_sym, want_dynbss order.
118489857Sobrien
118589857Sobrien2001-11-02  H.J. Lu  <hjl@gnu.org>
118689857Sobrien
118789857Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Don't create
118889857Sobrien	dynamic relocation for symbols defined in regular objects when
118989857Sobrien	creating executables.
119089857Sobrien
119189857Sobrien2001-11-02  Nick Clifton  <nickc@cambridge.redhat.com>
119289857Sobrien
119389857Sobrien	* configure.in (ALL_LINGUAS): Add "fr".
119489857Sobrien	* configure: Regenerate.
119589857Sobrien	* po/fr.po: New file.
119689857Sobrien
119789857Sobrien	* coffgen.c (coff_object_p): Add comment to H.J.'s recent patch.
119889857Sobrien
119989857Sobrien2001-11-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
120089857Sobrien
120189857Sobrien	* som.c (setup_sections): Initialize subspace_sections.
120289857Sobrien
120389857Sobrien2001-11-02  H.J. Lu  (hjl@gnu.org)
120489857Sobrien
120589857Sobrien	* coffgen.c (coff_object_p): Return 0 if the header is too big.
120689857Sobrien
120789857Sobrien2001-11-02  Hans-Peter Nilsson  <hp@axis.com>
120889857Sobrien
120989857Sobrien	* elfcore.h (elf_core_file_p): Preserve and clear abfd section
121089857Sobrien	information.  Save bfd arch and mach values.  Restore on error.
121189857Sobrien
121289857Sobrien2001-11-02  Alan Modra  <amodra@bigpond.net.au>
121389857Sobrien
121489857Sobrien	* elf32-hppa.c (hppa_handle_PIC_calls): Rename to mark_PIC_calls.
121589857Sobrien	(allocate_PIC_calls): New function.
121689857Sobrien	(allocate_dynrelocs): Don't allocate pic_call plt entries here.
121789857Sobrien	(elf32_hppa_size_dynamic_sections): Call allocate_PIC_calls.
121889857Sobrien	(elf32_hppa_finish_dynamic_symbol): Remove dead code.
121989857Sobrien
122089857Sobrien2001-11-02  Hans-Peter Nilsson  <hp@axis.com>
122189857Sobrien
122289857Sobrien	* elf32-cris.c (cris_elf_grok_prstatus): New function.
122389857Sobrien	(cris_elf_grok_psinfo): New function.
122489857Sobrien	(elf_backend_grok_prstatus): Define.
122589857Sobrien	(elf_backend_grok_psinfo): Define.
122689857Sobrien
122789857Sobrien2001-11-01  Alan Modra  <amodra@bigpond.net.au>
122889857Sobrien
122989857Sobrien	* elf64-ppc.c (ppc64_elf_relocate_section): Correct branch
123089857Sobrien	prediction bits.
123189857Sobrien
123289857Sobrien2001-10-31  Chris Demetriou  <cgd@demetriou.com>
123389857Sobrien
123489857Sobrien	* elf32-mips.c (_bfd_mips_elf_hi16_reloc): Handle PC-relative
123589857Sobrien	relocations properly.
123689857Sobrien
123789857Sobrien2001-10-31  H.J. Lu <hjl@gnu.org>
123889857Sobrien
123989857Sobrien	* elflink.h (elf_link_output_extsym): Don't clear the visibility
124089857Sobrien	field for relocateable.
124189857Sobrien
124289857Sobrien2001-11-01  Alan Modra  <amodra@bigpond.net.au>
124389857Sobrien
124489857Sobrien	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Don't count
124589857Sobrien	.plt relocs in DT_RELASZ.
124689857Sobrien
124789857Sobrien2001-10-29  NIIBE Yutaka  <gniibe@m17n.org>
124889857Sobrien
124989857Sobrien	* config.bfd: Supports sh3/sh4/sh3eb/sh4eb-unknown-linux-gnu
125089857Sobrien	targets.
125189857Sobrien
125289857Sobrien2001-10-31  Nick Clifton  <nickc@cambridge.redhat.com>
125389857Sobrien
125489857Sobrien	* targets.c: Fix typo: bfd_mmo_mmix_vec => bfd_mmo_vec.
125589857Sobrien
125689857Sobrien2001-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
125789857Sobrien
125889857Sobrien	* Makefile.am (ALL_MACHINES): Add cpu-mmix.lo.
125989857Sobrien	(BFD64_BACKENDS): Add elf64-mmix.lo and mmo.lo.
126089857Sobrien	(BFD64_BACKENDS_CFILES): Add elf64-mmix.c and mmo.c.
126189857Sobrien	Regenerate dependencies.
126289857Sobrien	* configure.in (bfd_elf64_mmix_vec, bfd_mmo_vec): New vectors.
126389857Sobrien	* config.bfd: [BFD64] (mmix-*-*): New case.
126489857Sobrien	* cpu-mmix.c, mmo.c, elf64-mmix.c: New files.
126589857Sobrien	* archures.c (enum bfd_architecture): Add bfd_arch_mmix.
126689857Sobrien	(bfd_mmix_arch): Declare.
126789857Sobrien	(bfd_archures_list): Add bfd_mmix_arch.
126889857Sobrien	* targets.c (enum bfd_flavour): Add bfd_target_mmo_flavour.
126989857Sobrien	(bfd_elf64_mmix_vec, bfd_mmo_vec): Declare.
127089857Sobrien	(bfd_target_vect) [BFD64]: Add bfd_elf64_mmix_vec and
127189857Sobrien	bfd_mmo_mmix_vec.
127289857Sobrien	* reloc.c: Add MMIX relocations.
127389857Sobrien	* bfd.c (struct _bfd, tdata): Add mmo_data.
127489857Sobrien	* Makefile.in: Regenerate.
127589857Sobrien	* configure: Regenerate.
127689857Sobrien	* libbfd.h: Regenerate.
127789857Sobrien	* bfd-in2.h: Regenerate.
127889857Sobrien	* configure: Rebuild.
127989857Sobrien
128089857Sobrien2001-10-30  Richard Earnshaw (rearnsha@arm.com)
128189857Sobrien
128289857Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Set the LMA based on the
128389857Sobrien	p_paddr of the segment that contains it.
128489857Sobrien	(copy_private_bfd_data): If the LMA for a segment is known, use it
128589857Sobrien	for matching sections to segments.
128689857Sobrien	(assign_file_positions_for_segments): Use the LMA when adjusting
128789857Sobrien	for inter-section alignment padding.
128889857Sobrien
128989857Sobrien2001-10-29  Kazu Hirata  <kazu@hxi.com>
129089857Sobrien
129189857Sobrien	* README: Fix a typo.
129289857Sobrien
129389857Sobrien2001-10-24  Richard Henderson  <rth@redhat.com>
129489857Sobrien
129589857Sobrien	* peXXigen.c (_bfd_XX_print_private_bfd_data_common): Copy
129689857Sobrien	timestamp to time_t for ctime.
129789857Sobrien
129889857Sobrien2001-10-24  Hans-Peter Nilsson  <hp@axis.com>
129989857Sobrien
130089857Sobrien	* elf32-cris.c (cris_reloc_type_lookup): Change loop to use
130189857Sobrien	unsigned, increasing index.
130289857Sobrien
130389857Sobrien2001-10-23  H.J. Lu <hjl@gnu.org>
130489857Sobrien
130589857Sobrien	* elf32-mips.c (_bfd_mips_elf_modify_segment_map): Check
130689857Sobrien	m != NULL before accessing it.
130789857Sobrien
130889857Sobrien2001-10-23  Alan Modra  <amodra@bigpond.net.au>
130989857Sobrien
131089857Sobrien	* elflink.h (elf_link_input_bfd): Zero the reloc instead of doing
131189857Sobrien	bfd_reloc_type_lookup (bfd, BFD_RELOC_NONE) as bfd_reloc_type_lookup
131289857Sobrien	doesn't accept BFD_RELOC_* on some targets, eg. hppa.
131389857Sobrien
131489857Sobrien	* elf32-hppa.c (elf32_hppa_link_hash_entry): Remove plt_abs.
131589857Sobrien	(hppa_link_hash_newfunc): Likewise.
131689857Sobrien	(elf32_hppa_finish_dynamic_symbol): Likewise.
131789857Sobrien	(allocate_dynrelocs): Always allocate .got relocs if shared.
131889857Sobrien	(elf32_hppa_relocate_section): Output them too.  Similarly
131989857Sobrien	consolidate .plt reloc code, and no longer initialise .plt
132089857Sobrien	when a reloc is output.
132189857Sobrien	(elf32_hppa_finish_dynamic_symbol): Only initialise .plt entries
132289857Sobrien	when no reloc is output.
132389857Sobrien
132489857Sobrien	From Herbert Xu <herbert@gondor.apana.org.au>
132589857Sobrien	* elf32-hppa.c (final_link_relocate): Call bfd_set_error for
132689857Sobrien	unreachable branches.
132789857Sobrien
132889857Sobrien2001-10-22  H.J. Lu <hjl@gnu.org>
132989857Sobrien
133089857Sobrien	* configure.in (WIN32LIBADD): Use -L../libiberty for
133189857Sobrien	mips*-*-linux*.
133289857Sobrien	* configure: Rebuild.
133389857Sobrien
133489857Sobrien2001-10-21  H.J. Lu <hjl@gnu.org>
133589857Sobrien
133689857Sobrien	* configure.in (WIN32LIBADD): Include -L../libiberty/pic -liberty
133789857Sobrien	if shared library is enabled only for Linux hosts.
133889857Sobrien	* configure: Rebuild.
133989857Sobrien
134089857Sobrien2001-10-21  H.J. Lu <hjl@gnu.org>
134189857Sobrien
134289857Sobrien	* configure.in (WIN32LIBADD): Check if PICFLAG is defined in
134389857Sobrien	../libiberty/Makefile instead of $enable_shared.
134489857Sobrien	* configure: Rebuild.
134589857Sobrien
134689857Sobrien2001-10-21  H.J. Lu <hjl@gnu.org>
134789857Sobrien
134889857Sobrien	* elf32-cris.c (cris_reloc_type_lookup): Use int for index.  Cover
134989857Sobrien	index 0.
135089857Sobrien
135189857Sobrien2001-10-20  H.J. Lu <hjl@gnu.org>
135289857Sobrien
135389857Sobrien	* configure.in (WIN32LIBADD): Include -L../libiberty/pic -liberty
135489857Sobrien	if shared library is enabled.
135589857Sobrien	* configure: Rebuild.
135689857Sobrien
135789857Sobrien2001-10-20  H.J. Lu <hjl@gnu.org>
135889857Sobrien
135989857Sobrien	* elf32-cris.c (cris_reloc_type_lookup): Allow index 0.
136089857Sobrien
136189857Sobrien2001-10-19  H.J. Lu <hjl@gnu.org>
136289857Sobrien
136389857Sobrien	* elfcode.h (elf_object_p): Don't clear D_PAGED if the section
136489857Sobrien	size is empty.
136589857Sobrien
136689857Sobrien2001-10-18  H.J. Lu <hjl@gnu.org>
136789857Sobrien
136889857Sobrien	* elf32-i370.c (i370_elf_relocate_section): Ignore R_XXX_NONE.
136989857Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
137089857Sobrien
137189857Sobrien2001-10-18  Jakub Jelinek  <jakub@redhat.com>
137289857Sobrien
137389857Sobrien	* section.c (_bfd_strip_section_from_output): Don't count
137489857Sobrien	SEC_EXCLUDE sections as references.  Set SEC_EXCLUDE.
137589857Sobrien
137689857Sobrien2001-10-17  Alan Modra  <amodra@bigpond.net.au>
137789857Sobrien
137889857Sobrien	* elf-m10200.c (mn10200_elf_relax_section): Cast assignment to
137989857Sobrien	Elf_Internal_Shdr.contents now that it's no longer a PTR.
138089857Sobrien	* elf-m10300.c (mn10300_elf_relax_section): Likewise.
138189857Sobrien	* elf32-h8300.c (elf32_h8_relax_section): Likewise.
138289857Sobrien	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
138389857Sobrien	* elf32-sh.c (sh_elf_relax_section): Likewise.
138489857Sobrien	* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
138589857Sobrien	* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
138689857Sobrien	* elf.c (setup_group): Warning fixes.
138789857Sobrien	* elflink.h (elf_link_sort_relocs): Likewise.
138889857Sobrien	* pdp11.c (slurp_reloc_table): Likewise.
138989857Sobrien
139089857Sobrien2001-10-16  Jeff Holcomb  <jeffh@redhat.com>
139189857Sobrien
139289857Sobrien	* elflink.h (elf_link_sort_relocs): Remove unnecessary pointer
139389857Sobrien	casts.
139489857Sobrien
139589857Sobrien2001-10-15  H.J. Lu <hjl@gnu.org>
139689857Sobrien
139789857Sobrien	* elflink.h (elf_link_input_bfd): Set type to BFD_RELOC_NONE
139889857Sobrien	for relocations against discarded link-once section.
139989857Sobrien
140089857Sobrien2001-10-15  Alan Modra  <amodra@bigpond.net.au>
140189857Sobrien
140289857Sobrien	* elf32-i386.c (elf_i386_relocate_section): Report some detail on
140389857Sobrien	bfd_reloc_outofrange and similar errors.
140489857Sobrien
140589857Sobrien	* elf.c (_bfd_elf_link_hash_copy_indirect): Test ind->root.type
140689857Sobrien	rather than ind->weakdef.
140789857Sobrien	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
140889857Sobrien	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
140989857Sobrien	* elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
141089857Sobrien	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
141189857Sobrien	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
141289857Sobrien
141389857Sobrien2001-10-15  Alan Modra  <amodra@bigpond.net.au>
141489857Sobrien	    H.J. Lu  <hjl@gnu.org>
141589857Sobrien
141689857Sobrien	* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Merge dyn_reloc
141789857Sobrien	counts for aliases instead of aborting.
141889857Sobrien	* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
141989857Sobrien	* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
142089857Sobrien
142189857Sobrien	* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Set plt.offset
142289857Sobrien	to -1 for non-function symbols.
142389857Sobrien	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
142489857Sobrien	* elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
142589857Sobrien	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
142689857Sobrien	* elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
142789857Sobrien	* elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
142889857Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Refer to
142989857Sobrien	plt.offset instead of plt.refcount when setting to -1.
143089857Sobrien
143189857Sobrien2001-10-12  Nick Clifton  <nickc@cambridge.redhat.com>
143289857Sobrien
143389857Sobrien	* elf32-arm.h (elf32_arm_relocate_section): Treat R_ARM_THM_PC22
143489857Sobrien	like R_ARM_PC24.  Include reloc number in error message about
143589857Sobrien	unresolvable relocs.
143689857Sobrien
143789857Sobrien2001-10-10  Jakub Jelinek  <jakub@redhat.com>
143889857Sobrien
143989857Sobrien	* elflink.h (elf_link_sort_cmp2): Don't mix PLT and non-PLT
144089857Sobrien	relocations against the same symbol in .rel{,a}.dyn section.
144189857Sobrien
144289857Sobrien2001-10-10  Kazu Hirata  <kazu@hxi.com>
144389857Sobrien
144489857Sobrien	* aout-encap.c: Fix comment typos.
144589857Sobrien	* aoutx.h: Likewise.
144689857Sobrien	* archive.c: Likewise.
144789857Sobrien	* bout.c: Likewise.
144889857Sobrien	* coff64-rs6000.c: Likewise.
144989857Sobrien	* coffcode.h: Likewise.
145089857Sobrien	* coffgen.c: Likewise.
145189857Sobrien	* cofflink.c: Likewise.
145289857Sobrien	* coff-mips.c: Likewise.
145389857Sobrien	* ecoff.c: Likewise.
145489857Sobrien	* elf32-m32r.c: Likewise.
145589857Sobrien	* libcoff-in.h: Likewise.
145689857Sobrien	* libecoff.h: Likewise.
145789857Sobrien	* libxcoff.h: Likewise.
145889857Sobrien	* nlm32-i386.c: Likewise.
145989857Sobrien	* pdp11.c: Likewise.
146089857Sobrien	* section.c: Likewise.
146189857Sobrien	* som.c: Likewise.
146289857Sobrien	* som.h: Likewise.
146389857Sobrien	* bfd-in2.h: Regenerate.
146489857Sobrien	* libcoff.h: Likewise.
146589857Sobrien
146689857Sobrien2001-10-10  Alan Modra  <amodra@bigpond.net.au>
146789857Sobrien
146889857Sobrien	* elf.c (elf_map_symbols): Don't create new section symbols; Use
146989857Sobrien	existing section syms.  Update comments.
147089857Sobrien	(copy_private_bfd_data): Formatting fixes.
147189857Sobrien	(elfcore_grok_win32pstatus): Likewise.
147289857Sobrien	(swap_out_syms): Likewise.  Remove unnecessary level of braces.
147389857Sobrien
147489857Sobrien2001-10-09  Alan Modra  <amodra@bigpond.net.au>
147589857Sobrien
147689857Sobrien	* elf-bfd.h (struct bfd_elf_section_data): Rename "group" to
147789857Sobrien	"group_name".
147889857Sobrien	(elf_group_name): Define.
147989857Sobrien	(elf_next_in_group): Define.
148089857Sobrien	* elf.c: Make use of elf_group_name and elf_next_in_group throughout.
148189857Sobrien	(setup_group): Don't use sec->lineno for SHT_GROUP section to store
148289857Sobrien	first member section; Instead use elf_next_in_group.
148389857Sobrien	(bfd_section_from_shdr): Likewise.
148489857Sobrien	(set_group_contents): Likewise.  Use elf_section_syms, not sec->symbol.
148589857Sobrien
148689857Sobrien2001-10-09  Alan Modra  <amodra@bigpond.net.au>
148789857Sobrien
148889857Sobrien	* elf-bfd.h (struct bfd_elf_section_data): Add "group" and
148989857Sobrien	"next_in_group".  Fix gp and gp_size comments.
149089857Sobrien	* elf.c (union elf_internal_group): New.
149189857Sobrien	(setup_group): New function.
149289857Sobrien	(_bfd_elf_make_section_from_shdr): Set BFD flags for SHT_GROUP.
149389857Sobrien	Call setup_group for SHF_GROUP sections.
149489857Sobrien	(bfd_section_from_shdr): Build a BFD section for SHT_GROUP.
149589857Sobrien	(elf_fake_sections): Set header type for SEC_GROUP, and header
149689857Sobrien	flags for sections in a group.
149789857Sobrien	(set_group_contents): New function.
149889857Sobrien	(_bfd_elf_compute_section_file_positions): Call it.
149989857Sobrien	(assign_section_numbers): Set sh_link for SHT_GROUP.
150089857Sobrien
150189857Sobrien	* elflink.h (gc_mark_hook): Handle section groups.
150289857Sobrien	* elfxx-target.h: Add SEC_GROUP to applicable_flags.
150389857Sobrien	* section.c (SEC_GROUP): Define.
150489857Sobrien	(struct sec): Comment fixes.
150589857Sobrien	* bfd-in2.h: Regenerate.
150689857Sobrien
150789857Sobrien	* elf.c (bfd_elf_print_symbol): Formatting fix; migrate expression
150889857Sobrien	out of function args.
150989857Sobrien	(_bfd_elf_canonicalize_reloc): Similarly.
151089857Sobrien	(_bfd_elf_get_symtab): Here too.
151189857Sobrien	(_bfd_elf_canonicalize_dynamic_symtab): And here.
151289857Sobrien	* elfcode.h (elf_slurp_symbol_table): Don't recalculate size for
151389857Sobrien	bfd_bread, and remove unnecessary cast.
151489857Sobrien
151589857Sobrien2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
151689857Sobrien
1517130561Sobrien	* config.bfd (targ_cpu): Add arm9e-*-elf.
151889857Sobrien
151989857Sobrien2001-10-06  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
152089857Sobrien
152189857Sobrien	* dwarf2.c (comp_unit_find_nearest_line): Check for end of
152289857Sobrien	compilation unit.
152389857Sobrien
152489857Sobrien2001-10-06  Alan Modra  <amodra@bigpond.net.au>
152589857Sobrien
152689857Sobrien	* bfd.c (bfd_assert): Report bfd version.
152789857Sobrien	(_bfd_abort): Likewise.
152889857Sobrien
152989857Sobrien	* elflink.h (elf_link_input_bfd): Don't zero discarded link-once
153089857Sobrien	section sym values.  Instead replace any relocs against them with
153189857Sobrien	relocs against STN_UNDEF, which has a zero value.
153289857Sobrien
153389857Sobrien	* elf32-arc.c (elf_arc_howto_table): Set partial_inplace for all
153489857Sobrien	relocs.
153589857Sobrien
153689857Sobrien2001-10-05  Jeff Law <law@redhat.com>
153789857Sobrien
153889857Sobrien	* som.h (som_exec_data): New field "version_id".
153989857Sobrien	* som.c (som_object_setup): Record the version_id if it
154089857Sobrien	exists.
154189857Sobrien	(som_prep_headers): Do not initialize version_id here.
154289857Sobrien	(som_finish_writing): Initialize version_id here.
154389857Sobrien
154489857Sobrien2000-10-05  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
154589857Sobrien
154689857Sobrien	* elf32-mips.c (elf_mips_howto_table): Fix some relocation howtos
154789857Sobrien	according to the MIPS/SGI ELF64 ABI Draft.
154889857Sobrien	(mips_elf_sort_hash_table): Typo.
154989857Sobrien
155089857Sobrien2001-10-04  Alan Modra  <amodra@bigpond.net.au>
155189857Sobrien
155289857Sobrien	* elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): Comment typo.
155389857Sobrien
155489857Sobrien	* elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): Bail out after
155589857Sobrien	copying flags if this is a weakdef.
155689857Sobrien
155789857Sobrien2001-10-04  Alan Modra  <amodra@bigpond.net.au>
155889857Sobrien
155989857Sobrien	* elf-bfd.h (struct elf_link_hash_entry): Reorganise for better
156089857Sobrien	packing.
156189857Sobrien
156289857Sobrien	* elf32-mips.c (mips_elf_record_global_got_symbol): Set got.offset
156389857Sobrien	to 1 rather than 0 to avoid confusing copy_indirect_symbol.
156489857Sobrien	(mips_elf_sort_hash_table_f): Compare got.offset against 1.
156589857Sobrien
156689857Sobrien	* Makefile.am (BFD_H_DEPS): Add symcat.h.  Ensure everything
156789857Sobrien	depends on $(BFD_H) $(BFD_H_DEPS) $(LOCAL_H_DEPS), not just those
156889857Sobrien	backends we configure.  Run "make dep-am".
156989857Sobrien	(install-data-local): Install symcat.h.
157089857Sobrien	* dep-in.sed: Remove symcat.h from dependencies.
157189857Sobrien	* Makefile.in: Regenerate.
157289857Sobrien
157389857Sobrien2001-10-03  Vassili Karpov  <malc@pulsesoft.com>
157489857Sobrien
157589857Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Handle nocopyreloc.
157689857Sobrien
157789857Sobrien2001-10-03  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
157889857Sobrien
157989857Sobrien	* elf64-mips.c (elf_backend_may_use_rela_p): New define.
158089857Sobrien	(elf_backend_default_use_rela_p): New define.
158189857Sobrien
158289857Sobrien2001-10-03  Alan Modra  <amodra@bigpond.net.au>
158389857Sobrien
158489857Sobrien	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Fix typos in last
158589857Sobrien	change.
158689857Sobrien
158789857Sobrien	* configure.in (AC_OUTPUT <bfd-in3.h>): Remove version.h.
158889857Sobrien	* configure: Regenerate.
158989857Sobrien	* Makefile.am (BFD_H_FILES): Add version.h.
159089857Sobrien	* Makefile.in: Regenerate.
159189857Sobrien	* po/SRC-POTFILES.in: Regenerate.
159289857Sobrien
159389857Sobrien	* elflink.h (elf_fix_symbol_flags): Copy flags to weakdef using
159489857Sobrien	elf_backend_copy_indirect_symbol so that backend has a chance to
159589857Sobrien	copy other necessary fields.
159689857Sobrien	* elf-bfd.h (struct elf_backend_data): Update description of
159789857Sobrien	elf_backend_copy_indirect_symbol.
159889857Sobrien	* elf.c (_bfd_elf_link_hash_copy_indirect): Bail out after
159989857Sobrien	copying flags if this is a weakdef.
160089857Sobrien	* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
160189857Sobrien	(elfNN_ia64_aix_add_symbol_hook): Use elf_link_hash_lookup rather
160289857Sobrien	than bfd_link_hash_lookup.
160389857Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't do copy
160489857Sobrien	reloc processing for weakdefs.
160589857Sobrien	* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
160689857Sobrien	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
160789857Sobrien
160889857Sobrien2001-10-02  Alan Modra  <amodra@bigpond.net.au>
160989857Sobrien
161089857Sobrien	* elf64-ppc.c (ppc64_elf_check_relocs): Use a local var and cast
161189857Sobrien	result of ELF64_R_TYPE to enum before using in a switch.
161289857Sobrien	(ppc64_elf_gc_mark_hook): Likewise.
161389857Sobrien	(ppc64_elf_gc_sweep_hook): Likewise.
161489857Sobrien	(ppc64_elf_reloc_type_class): Likewise.
161589857Sobrien
161689857Sobrien2001-10-02  Alan Modra  <amodra@bigpond.net.au>
161789857Sobrien
161889857Sobrien	* version.h: New file.
161989857Sobrien	* bfd-in.h: (BFD_VERSION): Substitute bfd_version.
162089857Sobrien	(BFD_VERSION_DATE): Define.
162189857Sobrien	(BFD_VERSION_STRING): Define.
162289857Sobrien	* configure.in: AC_SUBST bfd_version, bfd_version_date and
162389857Sobrien	bfd_version_string.
162489857Sobrien	(AC_OUTPUT <bfd-in3.h>): Depend on version.h.
162589857Sobrien	* bfd-in2.h: Regenerate.
162689857Sobrien	* configure: Regenerate.
162789857Sobrien	* Makefile.am: Run "make dep-am".
162889857Sobrien	* Makefile.in: Regenerate.
162989857Sobrien
163089857Sobrien	* bfd-in.h: Include "symcat.h".
163189857Sobrien	(CONCAT4): Redefine as for old CAT4.
163289857Sobrien	* aout-arm.c: Use equivalent CONCAT* macro in place of CAT* macros.
163389857Sobrien	Add warning regarding whitespace.
163489857Sobrien	* aout-cris.c: Likewise.
163589857Sobrien	* aout-ns32k.c: Likewise.
163689857Sobrien	* aout-sparcle.c: Likewise.
163789857Sobrien	* aout-tic30.c: Likewise.
163889857Sobrien	* aout0.c: Likewise.
163989857Sobrien	* armnetbsd.c: Likewise.
164089857Sobrien	* demo64.c: Likewise.
164189857Sobrien	* elf-bfd.h: Likewise.
164289857Sobrien	* gen-aout.c: Likewise.
164389857Sobrien	* host-aout.c: Likewise.
164489857Sobrien	* hp300bsd.c: Likewise.
164589857Sobrien	* hp300hpux.c: Likewise.
164689857Sobrien	* i386aout.c: Likewise.
164789857Sobrien	* i386bsd.c: Likewise.
164889857Sobrien	* i386dynix.c: Likewise.
164989857Sobrien	* i386freebsd.c: Likewise.
165089857Sobrien	* i386linux.c: Likewise.
165189857Sobrien	* i386lynx.c: Likewise.
165289857Sobrien	* i386mach3.c: Likewise.
165389857Sobrien	* i386netbsd.c: Likewise.
165489857Sobrien	* libaout.h: Likewise.
165589857Sobrien	* m68k4knetbsd.c: Likewise.
165689857Sobrien	* m68klinux.c: Likewise.
165789857Sobrien	* m68klynx.c: Likewise.
165889857Sobrien	* m68knetbsd.c: Likewise.
165989857Sobrien	* m88kmach3.c: Likewise.
166089857Sobrien	* mipsbsd.c: Likewise.
166189857Sobrien	* newsos3.c: Likewise.
166289857Sobrien	* ns32knetbsd.c: Likewise.
166389857Sobrien	* pc532-mach.c: Likewise.
166489857Sobrien	* pdp11.c: Likewise.
166589857Sobrien	* riscix.c: Likewise.
166689857Sobrien	* sparclinux.c: Likewise.
166789857Sobrien	* sparclynx.c: Likewise.
166889857Sobrien	* sparcnetbsd.c: Likewise.
166989857Sobrien	* sunos.c: Likewise.
167089857Sobrien	* targets.c: Likewise.
167189857Sobrien	* vaxnetbsd.c: Likewise.
167289857Sobrien	* vms-hdr.c: Likewise.
167389857Sobrien
167489857Sobrien2001-10-01  Alan Modra  <amodra@bigpond.net.au>
167589857Sobrien
167689857Sobrien	* bfd-in.h: Remove comments regarding generated files.
167789857Sobrien	* libbfd-in.h: Likewise.
167889857Sobrien	* libcoff-in.h: Likewise.
167989857Sobrien	* bfd-in2.h: Regenerate.
168089857Sobrien	* libbfd.h: Likewise.
168189857Sobrien	* libcoff.h: Likewise.
168289857Sobrien
168389857Sobrien2001-09-30  kaz Kojima  <kkojima@rr.iij4u.or.jp>
168489857Sobrien	    Hans-Peter Nilsson  <hp@bitrange.com>
168589857Sobrien
168689857Sobrien	* elf32-sh.c (sh_elf_howto_table, R_SH_REL32): Make
168789857Sobrien	partial_inplace, matching assembler output.  Set src_mask to
168889857Sobrien	all ones.
168989857Sobrien	(sh_elf_relocate_section): Delete misplaced comment.
169089857Sobrien	For relocatable linking against section symbol, call
169189857Sobrien	_bfd_relocate_contents for partial_inplace relocs and adjust
169289857Sobrien	rel->r_addend for others.
169389857Sobrien	<case R_SH_DIR32, R_SH_REL32>: Fetch partial_inplace addend with
169489857Sobrien	bfd_get_32, not at rel->r_addend.
169589857Sobrien
169689857Sobrien2001-09-30  Alan Modra  <amodra@bigpond.net.au>
169789857Sobrien
169889857Sobrien	* elf.c (_bfd_elf_link_hash_copy_indirect): Set ind refcounts to
169989857Sobrien	the old dir refcount, so we indirectly set them to init_refcount.
170089857Sobrien	Short-circuit asserts when we've just verified they are true.
170189857Sobrien
170289857Sobrien2001-09-29  Alan Modra  <amodra@bigpond.net.au>
170389857Sobrien
170489857Sobrien	* section.c (struct sec): Remove kept_section.
170589857Sobrien	(STD_SECTION): Remove kept_section initialisation.
170689857Sobrien	(bfd_make_section_anyway): Here too.
170789857Sobrien	* ecoff.c (bfd_debug_section): Remove kept_section initialisation.
170889857Sobrien	* cofflink.c (_bfd_coff_link_input_bfd): Don't test kept_section.
170989857Sobrien	* elflink.h (elf_link_input_bfd): Set discarded link-once section
171089857Sobrien	symbols to zero, and remove all code involved with kept_section
171189857Sobrien	and tracking section symbol values.
171289857Sobrien	* bfd-in2.h: Regenerate.
171389857Sobrien	* configure.in: Bump version number.
171489857Sobrien	* configure: Regenerate.
171589857Sobrien
171689857Sobrien2001-09-29  Alan Modra  <amodra@bigpond.net.au>
171789857Sobrien
171889857Sobrien	* elf64-ppc.c (struct ppc_dyn_relocs): New.
171989857Sobrien	(IS_ABSOLUTE_RELOC): Define.
172089857Sobrien	(struct ppc_link_hash_entry): New.
172189857Sobrien	(struct ppc_link_hash_table): New.
172289857Sobrien	(ppc_hash_table): Define.
172389857Sobrien	(link_hash_newfunc): New function.
172489857Sobrien	(ppc64_elf_link_hash_table_create): New function.
172589857Sobrien	(create_got_section): New function.
172689857Sobrien	(ppc64_elf_create_dynamic_sections): Call create_got_section.  Stash
172789857Sobrien	pointers to our dynamic sections in hash table.
172889857Sobrien	(ppc64_elf_copy_indirect_symbol): New function.
172989857Sobrien	(ppc64_elf_check_relocs): Remove DEBUG code.  Use short-cuts to
173089857Sobrien	dynamic sections.  Localise vars.  Modify code for refcounts
173189857Sobrien	starting from zero.  Don't allocate here, or force symbols dynamic.
173289857Sobrien	Don't copy all relocs if shared, select ones we need.  Add code
173389857Sobrien	to track possible copy relocs for non-shared link.
173489857Sobrien	(ppc64_elf_gc_mark_hook): Update comment.
173589857Sobrien	(ppc64_elf_gc_sweep_hook): Sweep dynrelocs too.
173689857Sobrien	(ppc64_elf_adjust_dynamic_symbol): Remove DEBUG code.  Rewrite .plt
173789857Sobrien	code for reference counting garbage collection.  Don't create .plt
173889857Sobrien	entries for functions that don't comply with ABI naming convention,
173989857Sobrien	and don't allocate .plt space here.  Use short-cuts to dynamic
174089857Sobrien	sections.  If possible, keep dynamic relocations instead of using
174189857Sobrien	copy relocs.  Remove confused comments.
174289857Sobrien	(ppc_adjust_dynindx): Delete.
174389857Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
174489857Sobrien	(allocate_dynrelocs): New function.
174589857Sobrien	(readonly_dynrelocs): New function.
174689857Sobrien	(ppc64_elf_size_dynamic_sections): Rewrite.  Allocate local .got
174789857Sobrien	space here, and call allocate_dynrelocs to allocate space for
174889857Sobrien	global .plt, .got and reloc sections.  Use short-cuts to dynamic
174989857Sobrien	sections.  Call readonly_dynrelocs to determine whether we need
175089857Sobrien	DT_TEXTREL.  Don't generate section symbols here, the generic
175189857Sobrien	ELF linker code does it for us.
175289857Sobrien	(ppc64_elf_final_link): Call regular ELF backend linker rather than
175389857Sobrien	gc variety, since we do our own .got handling.
175489857Sobrien	(ppc64_elf_relocate_section): Remove DEBUG code.  Make use of
175589857Sobrien	dynamic section short-cuts.  Localise vars, and delay setting.
175689857Sobrien	Handle unknown relocs in main switch statement.  Replace ugly
175789857Sobrien	complicated tests for unresolvable relocs with a simple direct
175889857Sobrien	scheme using "unresolved_reloc" var.  Test ELF_ST_VISIBILITY
175989857Sobrien	before allowing an undefined sym in a shared lib.  Do R_*_DS tests
176089857Sobrien	after main switch, when we've set addend.  Do non-addend insn
176189857Sobrien	tweaks before main swithc.  Ignore input_section->vma when
176289857Sobrien	calculating reloc offsets as it's always zero.  Rewrite dynamic
176389857Sobrien	reloc handling.  Consolidate R_*_HA handling.  Handle more relocs.
176489857Sobrien	(ppc64_elf_finish_dynamic_symbol): Remove DEBUG code.  Make use
176589857Sobrien	of dynamic section short-cuts.  Reorganise .plt handling code.
176689857Sobrien	Remove confused comments.  Take note of ELF_LINK_FORCED_LOCAL.
176789857Sobrien	Move expressions out of swap_reloca_out function calls.
176889857Sobrien	(ppc64_elf_reloc_type_class): New function.
176989857Sobrien	(ppc64_elf_info_to_howto): Move common expression to local var.
177089857Sobrien	(ppc64_elf_finish_dynamic_sections): Remove DEBUG code.  Make use
177189857Sobrien	of dynamic section short-cuts.  Don't fiddle with section syms
177289857Sobrien	here as the ELF linker does it for us.
177389857Sobrien	(elf_backend_can_refcount): Define.
177489857Sobrien	(bfd_elf64_bfd_link_hash_table_create): Define.
177589857Sobrien	(elf_backend_copy_indirect_symbol): Define.
177689857Sobrien	(elf_backend_reloc_type_class): Define.
177789857Sobrien	(elf_backend_*, bfd_elf64_bfd_* defines): Sort.
177889857Sobrien
177989857Sobrien2001-09-29  Alan Modra  <amodra@bigpond.net.au>
178089857Sobrien
178189857Sobrien	* elf-bfd.h (struct elf_link_local_dynamic_entry): Add init_refcount.
178289857Sobrien	(struct elf_backend_data): Add can_refcount.
178389857Sobrien	* elf.c (_bfd_elf_link_hash_newfunc): Get rid of a few casts.  Set
178489857Sobrien	got.refcount and plt.refcount from init_refcount.
178589857Sobrien	(_bfd_elf_link_hash_table_init): Set up init_refcount.
178689857Sobrien	(_bfd_elf_link_hash_copy_indirect): Reference got/plt.refcount
178789857Sobrien	rather than got/plt.offset, and test for <= 0 rather than -1.
178889857Sobrien	* elflink.h (size_dynamic_sections): Set init_refcount to -1.
178989857Sobrien	* elfxx-target.h (elf_backend_can_refcount): Define.
179089857Sobrien	(elfNN_bed): Init can_refcount.
179189857Sobrien	* linker.c (_bfd_link_hash_newfunc): Get rid of a few casts.
179289857Sobrien	(_bfd_generic_link_hash_newfunc): Likewise.
179389857Sobrien	* elf32-cris.c (cris_elf_check_relocs): Modify for refcounts
179489857Sobrien	starting from zero.
179589857Sobrien	(elf_backend_can_refcount): Define.
179689857Sobrien	* elf32-hppa.c (elf32_hppa_check_relocs): Modify for refcounts
179789857Sobrien	starting from zero.
179889857Sobrien	(elf32_hppa_copy_indirect_symbol): Make static to agree with
179989857Sobrien	prototype.
180089857Sobrien	(elf_backend_can_refcount): Define.
180189857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Modify for refcounts
180289857Sobrien	starting from zero.
180389857Sobrien	(allocate_dynrelocs): Set plt/got.offset rather than *.refcount.
180489857Sobrien	(elf_i386_finish_dynamic_symbol): Expand SHN_UNDEF comment.
180589857Sobrien	(elf_i386_finish_dynamic_sections): Use local var so line < 80 chars.
180689857Sobrien	(elf_backend_can_refcount): Define.
180789857Sobrien	(elf_i386_copy_indirect_symbol): Make static to agree with
180889857Sobrien	prototype.  Formatting fix.
180989857Sobrien	* elf32-m68k.c (elf_m68k_check_relocs): Modify for refcounts
181089857Sobrien	starting from zero.
181189857Sobrien	(elf_backend_can_refcount): Define.
181289857Sobrien	* elf32-ppc.c (ppc_elf_check_relocs): Modify for refcounts
181389857Sobrien	starting from zero.
181489857Sobrien	(elf_backend_can_refcount): Define.
181589857Sobrien	* elf32-s390.c (elf_s390_check_relocs): Modify for refcounts
181689857Sobrien	starting from zero.
181789857Sobrien	(elf_backend_can_refcount): Define.
181889857Sobrien	* elf64-s390.c (elf_s390_check_relocs): Modify for refcounts
181989857Sobrien	starting from zero.
182089857Sobrien	(elf_backend_can_refcount): Define.
182189857Sobrien	* elf64-x86-64.c (elf64_x86_64_check_relocs): Modify for refcounts
182289857Sobrien	starting from zero.
182389857Sobrien	(elf_backend_can_refcount): Define.
182489857Sobrien
182589857Sobrien	* som.c (som_write_symbol_strings): Cast current_offset in
182689857Sobrien	bfd_seek call to match param type.
182789857Sobrien
182889857Sobrien2001-09-28  J. Brobecker <brobecker@gnat.com>
182989857Sobrien
183089857Sobrien	* som.c (som_write_symbol_strings): Fix incorrect type of
183189857Sobrien	current_offset to match the function definition. Fixes a build
183289857Sobrien	failure on HPUX-11.00.
183389857Sobrien
183489857Sobrien2001-09-28  Richard Henderson  <rth@redhat.com>
183589857Sobrien
183689857Sobrien	* elfxx-target.h [section_flags]: Add SEC_ARCH_BIT_0, SEC_SMALL_DATA,
183789857Sobrien	SEC_MERGE, SEC_STRINGS.
183889857Sobrien
183989857Sobrien	* section.c (SEC_ARCH_BIT_0): New; replace unused SEC_BALIGN.
184089857Sobrien	* bfd-in2.h: Rebuild.
184189857Sobrien
184289857Sobrien2001-09-28  Alan Modra  <amodra@bigpond.net.au>
184389857Sobrien
184489857Sobrien	* elf64-x86-64.c (elf64_x86_64_reloc_type_lookup): Don't map bfd
184589857Sobrien	reloc code using x86_64_reloc_map.
184689857Sobrien
184789857Sobrien	* elf32-hppa.c (elf32_hppa_check_relocs): Update comment since we
184889857Sobrien	no longer allocate here.  Localise some vars to blocks where they
184989857Sobrien	are used.
185089857Sobrien	(elf32_hppa_adjust_dynamic_symbol): Correct a comment.  Delay
185189857Sobrien	setting of vars until needed.
185289857Sobrien	(allocate_dynrelocs): Don't create a .plt entry without a reloc
185389857Sobrien	when symbol visibilty makes a function local.
185489857Sobrien	(elf32_hppa_finish_dynamic_symbol): Move expressions out of
185589857Sobrien	swap_reloca_out function calls.
185689857Sobrien	(elf32_hppa_relocate_section): Likewies.  Comment typo fix.
185789857Sobrien	(elf32_hppa_finish_dynamic_sections): Migrate common code out of
185889857Sobrien	switch statement.
185989857Sobrien
186089857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Update comment since we
186189857Sobrien	no longer allocate here.  Localise some vars to blocks where they
186289857Sobrien	are used.  Remove separate switch stmt for creating .got sec.
186389857Sobrien	(elf_i386_adjust_dynamic_symbol): Correct a comment.  Remove
186489857Sobrien	redundant casts and aborts.  Delay setting of vars until needed.
186589857Sobrien	(allocate_dynrelocs): Remove redundant casts and aborts.
186689857Sobrien	(elf_i386_size_dynamic_sections): Move comment.
186789857Sobrien	(elf_i386_finish_dynamic_symbol): Move expressions out of function
186889857Sobrien	calls.
186989857Sobrien	(elf_i386_relocate_section): Likewise.  Comment typo fix.
187089857Sobrien	(elf_i386_finish_dynamic_sections): Migrate common code out of
187189857Sobrien	switch statement.
187289857Sobrien	(elf_backend_* defines): Sort.
187389857Sobrien
187489857Sobrien	* elf32-i386.c (allocate_dynrelocs): Don't create a .plt entry
187589857Sobrien	without a reloc when symbol visibilty makes a function local.
187689857Sobrien
187789857Sobrien2001-09-27  Nick Clifton  <nickc@cambridge.redhat.com>
187889857Sobrien
187989857Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix detection of
188089857Sobrien	conflicting float flags.
188189857Sobrien
188289857Sobrien2001-09-26  Alan Modra  <amodra@bigpond.net.au>
188389857Sobrien
188489857Sobrien	* elf32-i386 (elf_i386_copy_indirect_symbol): New function.
188589857Sobrien	(elf_backend_copy_indirect_symbol): Define.
188689857Sobrien	(struct elf_i386_link_hash_entry): Rename "root" to "elf".
188789857Sobrien	(struct elf_i386_link_hash_table): Likewise.
188889857Sobrien	(link_hash_newfunc): Get rid of unnecessary casts.
188989857Sobrien	(elf_i386_link_hash_table_create): Likewise.
189089857Sobrien	(elf_i386_check_relocs): Initialise local_got_refcounts to 0.
189189857Sobrien	Don't test input section SEC_READONLY here to try to avoid copy
189289857Sobrien	relocs, and keep dyn_relocs regardleas of ELF_LINK_NON_GOT_REF.
189389857Sobrien	(elf_i386_adjust_dynamic_symbol): Check output section SEC_READONLY
189489857Sobrien	here to properly test whether we need copy relocs.  Do so for weak
189589857Sobrien	syms too.
189689857Sobrien
189789857Sobrien	* elf32-hppa (elf32_hppa_copy_indirect_symbol): New function.
189889857Sobrien	(elf_backend_copy_indirect_symbol): Define.
189989857Sobrien	(struct elf32_hppa_link_hash_table): Rename "root" to "elf".
190089857Sobrien	(stub_hash_newfunc): Get rid of unnecessary casts.
190189857Sobrien	(hppa_link_hash_newfunc): Likewise.
190289857Sobrien	(elf32_hppa_check_relocs): Initialise local_got_refcounts to 0.
190389857Sobrien	Don't test input section SEC_READONLY here to try to avoid copy
190489857Sobrien	relocs, and keep dyn_relocs regardleas of ELF_LINK_NON_GOT_REF.
190589857Sobrien	(elf32_hppa_adjust_dynamic_symbol): Check output section SEC_READONLY
190689857Sobrien	here to properly test whether we need copy relocs.  Do so for weak
190789857Sobrien	syms too.
190889857Sobrien
190989857Sobrien2001-09-26  Alan Modra  <amodra@bigpond.net.au>
191089857Sobrien
191189857Sobrien	* bfd.c (_bfd_default_error_handlerl): Define using VPARAMS,
191289857Sobrien	VA_OPEN, VA_FIXEDARG, VA_CLOSE.
191389857Sobrien	(bfd_archive_filename): Cast bfd_malloc arg to the correct size.
191489857Sobrien
191589857Sobrien2001-09-25  Jakub Jelinek  <jakub@redhat.com>
191689857Sobrien
191789857Sobrien	* elf64-sparc.c (sparc64_elf_build_plt): Fix .plt[32768+] slot
191889857Sobrien	computation.
191989857Sobrien
192089857Sobrien2001-09-25  H.J. Lu  <hjl@gnu.org>
192189857Sobrien
192289857Sobrien	* bfd-in2.h: Regenerated.
192389857Sobrien
192489857Sobrien2001-09-25  Alan Modra  <amodra@bigpond.net.au>
192589857Sobrien
192689857Sobrien	* elf32-i386.c: Add comment re linker function names and ordering.
192789857Sobrien	(elf_i386_link_hash_newfunc): Rename to link_hash_newfunc.
192889857Sobrien	(elf_i386_grok_prstatus): Move before linker functions.
192989857Sobrien	(elf_i386_grok_psinfo): Likewise.
193089857Sobrien	(elf_i386_fake_sections): Move so that functions are ordered.
193189857Sobrien	(elf_i386_reloc_type_class): Likewise.  Comment function purpose.
193289857Sobrien
193389857Sobrien2001-09-25  Alan Modra  <amodra@bigpond.net.au>
193489857Sobrien
193589857Sobrien	* elf32-hppa.c: Rename occurrences of "hplink" to "htab"
193689857Sobrien	throughout file.
193789857Sobrien
193889857Sobrien	* elf32-hppa.c: (LONG_BRANCH_PIC_IN_SHLIB): Delete.  Remove all
193989857Sobrien	code handling this option.
194089857Sobrien	(LONG_BRANCH_VIA_PLT): Likewise.
194189857Sobrien	(RELATIVE_DYNRELOCS): Define as zero.
194289857Sobrien	(struct elf32_hppa_dyn_reloc_entry): Add "sec", and
194389857Sobrien	"pc_count" fields.  Remove "section" field.
194489857Sobrien	(elf32_hppa_link_hash_entry): Rename reloc_entries to dyn_relocs.
194589857Sobrien	(elf32_hppa_check_relocs): Don't allocate space for dynamic
194689857Sobrien	relocs here.  Instead, record all needed dynamic relocs via
194789857Sobrien	dyn_relocs and local_dynrel.  Cache pointer to "sreloc" section
194889857Sobrien	in elf_section_data.
194989857Sobrien	(elf32_hppa_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
195089857Sobrien	(allocate_plt_and_got_and_discard_relocs): Rename to
195189857Sobrien	allocate_dynrelocs.  Allocate rather than discarding dyn relocs.
195289857Sobrien	(readonly_dynrelocs): New function.
195389857Sobrien	(elf32_hppa_size_dynamic_sections): Mark output_bfd unused.
195489857Sobrien	Call readonly_dynrelocs to determine need for DT_TEXTREL.
195589857Sobrien	Rename "i" to "ibfd".  Allocate space for local dyn relocs.
195689857Sobrien	(elf32_hppa_relocate_section): Make use of cached sreloc.
195789857Sobrien	(elf32_hppa_reloc_type_class): New function.
195889857Sobrien	(elf_backend_reloc_type_class): Define.
195989857Sobrien
196089857Sobrien2001-09-25  Alan Modra  <amodra@bigpond.net.au>
196189857Sobrien
196289857Sobrien	* elf-bfd.h (struct bfd_elf_section_data): Add "local_dynrel"
196389857Sobrien	and "sreloc" fields.
196489857Sobrien	* elf32-i386.c (struct elf_i386_dyn_relocs): Add "sec", and
196589857Sobrien	"pc_count" fields.  Remove "section" field.
196689857Sobrien	(elf_i386_check_relocs): Don't set DF_TEXTREL here.  Don't
196789857Sobrien	allocate space for dynamic relocs here.  Instead, record all
196889857Sobrien	needed dynamic relocs via dyn_relocs and local_dynrel.  Cache
196989857Sobrien	pointer to "sreloc" section in elf_section_data.
197089857Sobrien	(elf_i386_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
197189857Sobrien	(allocate_plt_and_got_and_discard_relocs): Rename to
197289857Sobrien	allocate_dynrelocs.  Allocate rather than discarding dyn relocs.
197389857Sobrien	(readonly_dynrelocs): New function.
197489857Sobrien	(elf_i386_size_dynamic_sections): Call readonly_dynrelocs.
197589857Sobrien	Rename "i" to "ibfd".  Allocate space for local dyn relocs.
197689857Sobrien	(elf_i386_relocate_section): Make use of cached sreloc.
197789857Sobrien
197889857Sobrien2001-09-24  Alan Modra  <amodra@bigpond.net.au>
197989857Sobrien
198089857Sobrien	* elf-bfd.h (elf_backend_reloc_type_class): Pass in the entire
198189857Sobrien	reloc rather than just the type.
198289857Sobrien	(_bfd_elf_reloc_type_class): Likewise.
198389857Sobrien	* elf.c (_bfd_elf_reloc_type_class): Likewise.
198489857Sobrien	* elf32-arm.h (elf32_arm_reloc_type_class): Likewise.
198589857Sobrien	* elf32-cris.c (elf_cris_reloc_type_class): Likewise.
198689857Sobrien	* elf32-i386.c (elf_i386_reloc_type_class): Likewise.
198789857Sobrien	* elf32-m68k.c (elf32_m68k_reloc_type_class): Likewise.
198889857Sobrien	* elf32-ppc.c (ppc_elf_reloc_type_class): Likewise.
198989857Sobrien	* elf32-s390.c (elf_s390_reloc_type_class): Likewise.
199089857Sobrien	* elf32-sh.c (sh_elf_reloc_type_class): Likewise.
199189857Sobrien	* elf32-sparc.c (elf32_sparc_reloc_type_class): Likewise.
199289857Sobrien	* elf64-alpha.c (elf64_alpha_reloc_type_class): Likewise.
199389857Sobrien	* elf64-s390.c (elf_s390_reloc_type_class): Likewise.
199489857Sobrien	* elf64-sparc.c (sparc64_elf_reloc_type_class): Likewise.
199589857Sobrien	* elf64-x86-64.c (elf64_x86_64_reloc_type_class): Likewise.
199689857Sobrien	* elfxx-ia64.c (elfNN_ia64_reloc_type_class): Likewise.
199789857Sobrien	* elflink.h: Formatting fixes.
199889857Sobrien	(elf_link_sort_relocs): Make "count" and "size" bfd_size_type.
199989857Sobrien	Call bfd_zmalloc rather than calloc.  Remove unnecessary cast of
200089857Sobrien	o->contents to PTR.  Update call to elf_backend_reloc_type_class.
200189857Sobrien
200289857Sobrien2001-09-22  John Reiser  <jreiser@BitWagon.com>
200389857Sobrien
200489857Sobrien	* elfcode.h (elf_object_p): Allow for no section header at all in
200589857Sobrien	non-ET_REL files.  Honor 0 for e_shnum, e_shstrndx, e_shoff.
200689857Sobrien
200789857Sobrien2001-09-21  Nick Clifton  <nickc@cambridge.redhat.com>
200889857Sobrien
200989857Sobrien	* elfxx-ia64.c: Fix compile time warning messages.
201089857Sobrien	* coff-mcore.c: Fix compile time warning messages.
201189857Sobrien	* coff-ppc.c: Fix compile time warning messages.
201289857Sobrien	* coffcode.h: Fix compile time warning messages.
201389857Sobrien	* elf32-mips.c: Fix compile time warning messages.
201489857Sobrien	* elf64-alpha.c: Fix compile time warning messages.
201589857Sobrien	* libbfd.c: Fix compile time warning messages.
201689857Sobrien	* bfd-in2.h: Regenerate.
201789857Sobrien
201889857Sobrien2001-09-21  Alan Modra  <amodra@bigpond.net.au>
201989857Sobrien
202089857Sobrien	* Makefile.am: Run "make dep-am".
202189857Sobrien	* Makefile.in: Regenerate.
202289857Sobrien
202389857Sobrien	* aoutx.h: Formatting fixes.
202489857Sobrien	* merge.c (_bfd_merged_section_offset): Break line at 80 chars.
202589857Sobrien
202689857Sobrien	* linker.c: Replace bfd_get_filename with bfd_archive_filename
202789857Sobrien	in error message.
202889857Sobrien
202989857Sobrien2001-09-21  Alan Modra  <amodra@bigpond.net.au>
203089857Sobrien
203189857Sobrien	* bfd.c (bfd_archive_filename): New function.
203289857Sobrien	* bfd-in2.h: Regenerate.
203389857Sobrien	* aout-adobe.c: Replace bfd_get_filename with bfd_archive_filename
203489857Sobrien	in error messages where the bfd is an input bfd.
203589857Sobrien	* aout-cris.c: Likewise.
203689857Sobrien	* coff-arm.c: Likewise.
203789857Sobrien	* coff-mcore.c: Likewise.
203889857Sobrien	* coff-ppc.c: Likewise.
203989857Sobrien	* coff-rs6000.c: Likewise.
204089857Sobrien	* coff-sh.c: Likewise.
204189857Sobrien	* coff-tic54x.c: Likewise.
204289857Sobrien	* coff-tic80.c: Likewise.
204389857Sobrien	* coff64-rs6000.c: Likewise.
204489857Sobrien	* coffcode.h: Likewise.
204589857Sobrien	* coffgen.c: Likewise.
204689857Sobrien	* cofflink.c: Likewise.
204789857Sobrien	* ecofflink.c: Likewise.
204889857Sobrien	* elf-hppa.h: Likewise.
204989857Sobrien	* elf.c: Likewise.
205089857Sobrien	* elf32-arm.h: Likewise.
205189857Sobrien	* elf32-cris.c: Likewise.
205289857Sobrien	* elf32-gen.c: Likewise.
205389857Sobrien	* elf32-hppa.c: Likewise.
205489857Sobrien	* elf32-i370.c: Likewise.
205589857Sobrien	* elf32-i386.c: Likewise.
205689857Sobrien	* elf32-m32r.c: Likewise.
205789857Sobrien	* elf32-mcore.c: Likewise.
205889857Sobrien	* elf32-mips.c: Likewise.
205989857Sobrien	* elf32-ppc.c: Likewise.
206089857Sobrien	* elf32-s390.c: Likewise.
206189857Sobrien	* elf32-sh.c: Likewise.
206289857Sobrien	* elf32-sparc.c: Likewise.
206389857Sobrien	* elf32-v850.c: Likewise.
206489857Sobrien	* elf64-alpha.c: Likewise.
206589857Sobrien	* elf64-gen.c: Likewise.
206689857Sobrien	* elf64-ppc.c: Likewise.
206789857Sobrien	* elf64-s390.c: Likewise.
206889857Sobrien	* elf64-sparc.c: Likewise.
206989857Sobrien	* elf64-x86-64.c: Likewise.
207089857Sobrien	* elflink.h: Likewise.
207189857Sobrien	* elfxx-ia64.c: Likewise.
207289857Sobrien	* ieee.c: Likewise.
207389857Sobrien	* ihex.c: Likewise.
207489857Sobrien	* libbfd.c: Likewise.
207589857Sobrien	* pdp11.c: Likewise.
207689857Sobrien	* pe-mips.c: Likewise.
207789857Sobrien	* peicode.h: Likewise.
207889857Sobrien	* srec.c: Likewise.
207989857Sobrien	* xcofflink.c: Likewise.
208089857Sobrien
208189857Sobrien	* elf32-arm.h: Make _bfd_error_handler calls K&R compatible.
208289857Sobrien
208389857Sobrien	* elflink.c (_bfd_elf_create_linker_section): Better grammar for
208489857Sobrien	error message.
208589857Sobrien
208689857Sobrien	* coff-mcore.c (coff_mcore_relocate_section): Internalionalise
208789857Sobrien	error message.
208889857Sobrien
208989857Sobrien	* elf64-sparc.c (sparc64_elf_add_symbol_hook): Constify stt_types.
209089857Sobrien	Consolidate error messages, and split long messages to two lines.
209189857Sobrien
209289857Sobrien2001-09-20  John Reiser  <jreiser@BitWagon.com>
209389857Sobrien
209489857Sobrien	* elf32-i386.c (elf_i386_relocate_section): Coordinate info->symbolic
209589857Sobrien	and info->allow_shlib_undefined.
209689857Sobrien	* elf32-cris.c: Likewise.
209789857Sobrien	* elf32-hppa.c: Likewise.
209889857Sobrien	* elf32-m68k.c: Likewise.
209989857Sobrien	* elf32-mips.c: Likewise.
210089857Sobrien	* elf32-ppc.c: Likewise.
210189857Sobrien	* elf32-s390.c: Likewise.
210289857Sobrien	* elf32-sh.c: Likewise.
210389857Sobrien	* elf32-sparc.c: Likewise.
210489857Sobrien	* elf64-alpha.c: Likewise.
210589857Sobrien	* elf64-hppa.c: Likewise.
210689857Sobrien	* elf64-ppc.c: Likewise.
210789857Sobrien	* elf64-s390.c: Likewise.
210889857Sobrien	* elf64-sparc.c: Likewise.
210989857Sobrien	* elf64-x86-64.c: Likewise.
211089857Sobrien	* elfxx-ia64.c: Likewise.
211189857Sobrien
211289857Sobrien2001-09-18  Bruno Haible  <haible@clisp.cons.org>
211389857Sobrien
211489857Sobrien	* aoutx.h: Include "safe-ctype.h" instead of <ctype.h>.
211589857Sobrien	(aout_link_write_symbols): Use ISDIGIT instead of isdigit.
211689857Sobrien	* archive.c: Include "safe-ctype.h" instead of <ctype.h>.
211789857Sobrien	(_bfd_generic_read_ar_hdr_mag): Use ISDIGIT instead of isdigit.
211889857Sobrien	* archures.c: Include "safe-ctype.h" instead of <ctype.h>.
211989857Sobrien	(bfd_default_scan): Use ISDIGIT instead of isdigit.
212089857Sobrien	* bfd.c: Include "safe-ctype.h" instead of <ctype.h>.
212189857Sobrien	(bfd_scan_vma): Use ISXDIGIT/ISDIGIT/ISLOWER instead of
212289857Sobrien	isxdigit/isdigit/islower.
212389857Sobrien	* binary.c: Include "safe-ctype.h" instead of <ctype.h>.
212489857Sobrien	(mangle_name): Use ISALNUM instead of isalnum.
212589857Sobrien	* cpu-v850.c: Include "safe-ctype.h" instead of <ctype.h>.
212689857Sobrien	(scan): Use ISDIGIT instead of isdigit.
212789857Sobrien	* hosts/alphavms.h: Don't include <ctype.h>.
212889857Sobrien	* ieee.c: Include "safe-ctype.h" instead of <ctype.h>.
212989857Sobrien	(ieee_object_p): Use TOUPPER instead of toupper.
213089857Sobrien	* ihex.c: Include "safe-ctype.h" instead of <ctype.h>.
213189857Sobrien	(ihex_bad_byte): Use ISPRINT instead of isprint.
213289857Sobrien	* merge.c: Don't include <ctype.h>.
213389857Sobrien	* oasys.c: Include "safe-ctype.h" instead of <ctype.h>.
213489857Sobrien	(oasys_write_sections): Use ISDIGIT instead of isdigit.
213589857Sobrien	* pdp11.c: Include "safe-ctype.h" instead of <ctype.h>.
213689857Sobrien	(aout_link_write_symbols): Use ISDIGIT instead of isdigit.
213789857Sobrien	* ppcboot.c: Include "safe-ctype.h" instead of <ctype.h>.
213889857Sobrien	(mangle_name): Use ISALNUM instead of isalnum.
213989857Sobrien	* som.c: Include "safe-ctype.h" instead of <ctype.h>.
214089857Sobrien	(som_set_reloc_info): Use ISUPPER/ISLOWER/ISDIGIT instead of
214189857Sobrien	isupper/islower/isdigit.
214289857Sobrien	(som_decode_symclass): Use TOUPPER instead of toupper.
214389857Sobrien	* srec.c: Include "safe-ctype.h" instead of <ctype.h>.
214489857Sobrien	(srec_bad_byte): Use ISPRINT instead of isprint.
214589857Sobrien	(srec_scan): Use ISSPACE instead of isspace.
214689857Sobrien	* stabs.c: Include "safe-ctype.h" instead of <ctype.h>.
214789857Sobrien	(_bfd_link_section_stabs): Use ISDIGIT instead of isdigit.
214889857Sobrien	* syms.c: Include "safe-ctype.h"
214989857Sobrien	(islower, toupper): Remove macro definitions.
215089857Sobrien	(bfd_decode_symclass): Use TOUPPER instead of toupper.
215189857Sobrien	* vms-gsd.c: Don't include <ctype.h>.
215289857Sobrien	* vms-hdr.c: Include "safe-ctype.h" instead of <ctype.h>.
215389857Sobrien	(_bfd_vms_write_hdr): Use ISLOWER/TOUPPER instead of
215489857Sobrien	islower/toupper.
215589857Sobrien	* vms-tir.c: Don't include <ctype.h>.
215689857Sobrien
215789857Sobrien2001-09-18  Alan Modra  <amodra@bigpond.net.au>
215889857Sobrien
215989857Sobrien	* libbfd.c (bfd_bread): New function replacing bfd_read without
216089857Sobrien	redundant params.  Allow reads up to (size_t) -2 in length.
216189857Sobrien	(bfd_bwrite): Similarly for bfd_write.
216289857Sobrien	(real_read): Return a size_t.
216389857Sobrien	(bfd_read): Call bfd_bread.
216489857Sobrien	(bfd_write): Call bfd_bwrite.
216589857Sobrien	(warn_deprecated): New function to annoy everybody.
216689857Sobrien	(bfd_get_file_window): Don't call bfd_set_error unnecessarily.
216789857Sobrien	* bfd-in.h (bfd_bread, bfd_bwrite, warn_deprecated): Declare.
216889857Sobrien	(bfd_read, bfd_write): Define as macro.
216989857Sobrien	* aix386-core.c: Replace calls to bfd_read with bfd_bread, and
217089857Sobrien	likewise for bfd_write.  Ensure function args are correct size by
217189857Sobrien	using casts or local vars.  In some cases, remove unnecessary
217289857Sobrien	casts.  Formatting fixes, in some cases removing a large expression
217389857Sobrien	from function args by using a local var.  Replace CONST with const.
217489857Sobrien	Modify variable types to avoid warings.  Use casts to avoid
217589857Sobrien	warnings when using negative numbers in unsigned expressions.
217689857Sobrien	* aout-adobe.c: Likewise.
217789857Sobrien	* aout-arm.c: Likewise.
217889857Sobrien	* aout-cris.c: Likewise.
217989857Sobrien	* aout-encap.c: Likewise.
218089857Sobrien	* aout-ns32k.c: Likewise.
218189857Sobrien	* aout-target.h: Likewise.
218289857Sobrien	* aout-tic30.c: Likewise.
218389857Sobrien	* aoutf1.h: Likewise.
218489857Sobrien	* aoutx.h: Likewise.
218589857Sobrien	* archive.c: Likewise.
218689857Sobrien	* archures.c: Likewise.
218789857Sobrien	* bfd-in.h: Likewise.
218889857Sobrien	* bfd.c: Likewise.
218989857Sobrien	* binary.c: Likewise.
219089857Sobrien	* bout.c: Likewise.
219189857Sobrien	* cache.c: Likewise.
219289857Sobrien	* cisco-core.c: Likewise.
219389857Sobrien	* coff-a29k.c: Likewise.
219489857Sobrien	* coff-alpha.c: Likewise.
219589857Sobrien	* coff-arm.c: Likewise.
219689857Sobrien	* coff-h8300.c: Likewise.
219789857Sobrien	* coff-h8500.c: Likewise.
219889857Sobrien	* coff-i386.c: Likewise.
219989857Sobrien	* coff-i860.c: Likewise.
220089857Sobrien	* coff-i960.c: Likewise.
220189857Sobrien	* coff-ia64.c: Likewise.
220289857Sobrien	* coff-m68k.c: Likewise.
220389857Sobrien	* coff-m88k.c: Likewise.
220489857Sobrien	* coff-mcore.c: Likewise.
220589857Sobrien	* coff-mips.c: Likewise.
220689857Sobrien	* coff-ppc.c: Likewise.
220789857Sobrien	* coff-rs6000.c: Likewise.
220889857Sobrien	* coff-sh.c: Likewise.
220989857Sobrien	* coff-sparc.c: Likewise.
221089857Sobrien	* coff-stgo32.c: Likewise.
221189857Sobrien	* coff-tic30.c: Likewise.
221289857Sobrien	* coff-tic54x.c: Likewise.
221389857Sobrien	* coff-tic80.c: Likewise.
221489857Sobrien	* coff-w65.c: Likewise.
221589857Sobrien	* coff-z8k.c: Likewise.
221689857Sobrien	* coff64-rs6000.c: Likewise.
221789857Sobrien	* coffcode.h: Likewise.
221889857Sobrien	* coffgen.c: Likewise.
221989857Sobrien	* cofflink.c: Likewise.
222089857Sobrien	* coffswap.h: Likewise.
222189857Sobrien	* corefile.c: Likewise.
222289857Sobrien	* cpu-arc.c: Likewise.
222389857Sobrien	* cpu-h8300.c: Likewise.
222489857Sobrien	* cpu-h8500.c: Likewise.
222589857Sobrien	* cpu-i960.c: Likewise.
222689857Sobrien	* cpu-ia64-opc.c: Likewise.
222789857Sobrien	* cpu-ns32k.c: Likewise.
222889857Sobrien	* cpu-pdp11.c: Likewise.
222989857Sobrien	* cpu-pj.c: Likewise.
223089857Sobrien	* cpu-sh.c: Likewise.
223189857Sobrien	* cpu-w65.c: Likewise.
223289857Sobrien	* cpu-z8k.c: Likewise.
223389857Sobrien	* dwarf1.c: Likewise.
223489857Sobrien	* dwarf2.c: Likewise.
223589857Sobrien	* ecoff.c: Likewise.
223689857Sobrien	* ecofflink.c: Likewise.
223789857Sobrien	* ecoffswap.h: Likewise.
223889857Sobrien	* elf-bfd.h: Likewise.
223989857Sobrien	* elf-hppa.h: Likewise.
224089857Sobrien	* elf-m10200.c: Likewise.
224189857Sobrien	* elf-m10300.c: Likewise.
224289857Sobrien	* elf.c: Likewise.
224389857Sobrien	* elf32-arc.c: Likewise.
224489857Sobrien	* elf32-arm.h: Likewise.
224589857Sobrien	* elf32-avr.c: Likewise.
224689857Sobrien	* elf32-cris.c: Likewise.
224789857Sobrien	* elf32-fr30.c: Likewise.
224889857Sobrien	* elf32-gen.c: Likewise.
224989857Sobrien	* elf32-h8300.c: Likewise.
225089857Sobrien	* elf32-hppa.c: Likewise.
225189857Sobrien	* elf32-i370.c: Likewise.
225289857Sobrien	* elf32-i386.c: Likewise.
225389857Sobrien	* elf32-i860.c: Likewise.
225489857Sobrien	* elf32-m32r.c: Likewise.
225589857Sobrien	* elf32-m68k.c: Likewise.
225689857Sobrien	* elf32-mcore.c: Likewise.
225789857Sobrien	* elf32-mips.c: Likewise.
225889857Sobrien	* elf32-openrisc.c: Likewise.
225989857Sobrien	* elf32-pj.c: Likewise.
226089857Sobrien	* elf32-ppc.c: Likewise.
226189857Sobrien	* elf32-s390.c: Likewise.
226289857Sobrien	* elf32-sh-lin.c: Likewise.
226389857Sobrien	* elf32-sh.c: Likewise.
226489857Sobrien	* elf32-sparc.c: Likewise.
226589857Sobrien	* elf32-v850.c: Likewise.
226689857Sobrien	* elf64-alpha.c: Likewise.
226789857Sobrien	* elf64-hppa.c: Likewise.
226889857Sobrien	* elf64-mips.c: Likewise.
226989857Sobrien	* elf64-ppc.c: Likewise.
227089857Sobrien	* elf64-s390.c: Likewise.
227189857Sobrien	* elf64-sparc.c: Likewise.
227289857Sobrien	* elf64-x86-64.c: Likewise.
227389857Sobrien	* elfarm-nabi.c: Likewise.
227489857Sobrien	* elfcode.h: Likewise.
227589857Sobrien	* elfcore.h: Likewise.
227689857Sobrien	* elflink.c: Likewise.
227789857Sobrien	* elflink.h: Likewise.
227889857Sobrien	* elfxx-ia64.c: Likewise.
227989857Sobrien	* elfxx-target.h: Likewise.
228089857Sobrien	* format.c: Likewise.
228189857Sobrien	* hash.c: Likewise.
228289857Sobrien	* hp300hpux.c: Likewise.
228389857Sobrien	* hppabsd-core.c: Likewise.
228489857Sobrien	* hpux-core.c: Likewise.
228589857Sobrien	* i386aout.c: Likewise.
228689857Sobrien	* i386dynix.c: Likewise.
228789857Sobrien	* i386linux.c: Likewise.
228889857Sobrien	* i386lynx.c: Likewise.
228989857Sobrien	* i386mach3.c: Likewise.
229089857Sobrien	* i386msdos.c: Likewise.
229189857Sobrien	* i386os9k.c: Likewise.
229289857Sobrien	* ieee.c: Likewise.
229389857Sobrien	* ihex.c: Likewise.
229489857Sobrien	* irix-core.c: Likewise.
229589857Sobrien	* libaout.h: Likewise.
229689857Sobrien	* libbfd-in.h: Likewise.
229789857Sobrien	* libbfd.c: Likewise.
229889857Sobrien	* libcoff-in.h: Likewise.
229989857Sobrien	* libecoff.h: Likewise.
230089857Sobrien	* libieee.h: Likewise.
230189857Sobrien	* libnlm.h: Likewise.
230289857Sobrien	* libpei.h: Likewise.
230389857Sobrien	* libxcoff.h: Likewise.
230489857Sobrien	* linker.c: Likewise.
230589857Sobrien	* lynx-core.c: Likewise.
230689857Sobrien	* m68klinux.c: Likewise.
230789857Sobrien	* merge.c: Likewise.
230889857Sobrien	* mipsbsd.c: Likewise.
230989857Sobrien	* netbsd-core.c: Likewise.
231089857Sobrien	* nlm.c: Likewise.
231189857Sobrien	* nlm32-alpha.c: Likewise.
231289857Sobrien	* nlm32-i386.c: Likewise.
231389857Sobrien	* nlm32-ppc.c: Likewise.
231489857Sobrien	* nlm32-sparc.c: Likewise.
231589857Sobrien	* nlmcode.h: Likewise.
231689857Sobrien	* nlmswap.h: Likewise.
231789857Sobrien	* ns32k.h: Likewise.
231889857Sobrien	* oasys.c: Likewise.
231989857Sobrien	* opncls.c: Likewise.
232089857Sobrien	* osf-core.c: Likewise.
232189857Sobrien	* pc532-mach.c: Likewise.
232289857Sobrien	* pdp11.c: Likewise.
232389857Sobrien	* pe-mips.c: Likewise.
232489857Sobrien	* peXXigen.c: Likewise.
232589857Sobrien	* peicode.h: Likewise.
232689857Sobrien	* ppcboot.c: Likewise.
232789857Sobrien	* ptrace-core.c: Likewise.
232889857Sobrien	* reloc.c: Likewise.
232989857Sobrien	* reloc16.c: Likewise.
233089857Sobrien	* riscix.c: Likewise.
233189857Sobrien	* rs6000-core.c: Likewise.
233289857Sobrien	* sco5-core.c: Likewise.
233389857Sobrien	* section.c: Likewise.
233489857Sobrien	* som.c: Likewise.
233589857Sobrien	* sparclinux.c: Likewise.
233689857Sobrien	* sparclynx.c: Likewise.
233789857Sobrien	* srec.c: Likewise.
233889857Sobrien	* stabs.c: Likewise.
233989857Sobrien	* sunos.c: Likewise.
234089857Sobrien	* syms.c: Likewise.
234189857Sobrien	* targets.c: Likewise.
234289857Sobrien	* tekhex.c: Likewise.
234389857Sobrien	* trad-core.c: Likewise.
234489857Sobrien	* versados.c: Likewise.
234589857Sobrien	* vms-gsd.c: Likewise.
234689857Sobrien	* vms-hdr.c: Likewise.
234789857Sobrien	* vms-misc.c: Likewise.
234889857Sobrien	* vms-tir.c: Likewise.
234989857Sobrien	* vms.c: Likewise.
235089857Sobrien	* vms.h: Likewise.
235189857Sobrien	* xcofflink.c: Likewise.
235289857Sobrien	* bfd-in2.h: Regenerate.
235389857Sobrien	* libbfd.h: Regenerate.
235489857Sobrien	* libcoff.h: Regenerate.
235589857Sobrien
235689857Sobrien	* bfd.c (struct _bfd): Make "where" and "origin" unsigned.
235789857Sobrien	* bfd-in.h (file_ptr): Change from a long int to a bfd_signed_vma.
235889857Sobrien	(ufile_ptr): Define.
235989857Sobrien	(bfd_tell): Return a ufile_ptr.
236089857Sobrien	* libbfd.c (bfd_tell): Likewise.
236189857Sobrien	(bfd_seek): Use bfd_size_type locals.  Don't call bfd_set_error
236289857Sobrien	unnecessarily.
236389857Sobrien	* aix386-core.c: Test != 0 for bfd_seek errors rather than < 0.
236489857Sobrien	* aoutf1.h: Likewise.
236589857Sobrien	* som.c: Likewise.
236689857Sobrien	* cache.c (bfd_cache_lookup_worker): Guard against abfd->where
236789857Sobrien	larger than unsigned long can represent.
236889857Sobrien
236989857Sobrien	* libbfd.c (bfd_malloc): Take a bfd_size_type arg.  Error if
237089857Sobrien	size overflows size_t.
237189857Sobrien	(bfd_realloc): Likewise.
237289857Sobrien	(bfd_zmalloc): Likewise.
237389857Sobrien	* opncls.c (bfd_alloc): Likewise.
237489857Sobrien	(bfd_zalloc): Likewise.
237589857Sobrien	* libbfd-in.h (bfd_malloc, bfd_realloc, bfd_zmalloc): Update.
237689857Sobrien	(bfd_alloc, bfd_zalloc): Update.
237789857Sobrien
237889857Sobrien	* libbfd.c (bfd_get_8): Mask with 0xff in case char is more than
237989857Sobrien	8 bits.
238089857Sobrien	(bfd_get_signed_8): Likewise.
238189857Sobrien	(H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8,
238289857Sobrien	H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8,
238389857Sobrien	H_GET_64, H_GET_32, H_GET_16, H_GET_8,
238489857Sobrien	H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Define and use.
238589857Sobrien	* libaout.h: Likewise define and use here.
238689857Sobrien	* aout-adobe.c: Use H_GET_* and H_PUT_* macros.
238789857Sobrien	* aout-arm.c: Likewise.
238889857Sobrien	* aout-encap.c: Likewise.
238989857Sobrien	* aout-ns32k.c: Likewise.
239089857Sobrien	* aout-tic30.c: Likewise.
239189857Sobrien	* aoutf1.h: Likewise.
239289857Sobrien	* aoutx.h: Likewise.
239389857Sobrien	* bout.c: Likewise.
239489857Sobrien	* coff-alpha.c: Likewise.
239589857Sobrien	* coff-h8300.c: Likewise.
239689857Sobrien	* coff-h8500.c: Likewise.
239789857Sobrien	* coff-i960.c: Likewise.
239889857Sobrien	* coff-ia64.c: Likewise.
239989857Sobrien	* coff-m88k.c: Likewise.
240089857Sobrien	* coff-mips.c: Likewise.
240189857Sobrien	* coff-ppc.c: Likewise.
240289857Sobrien	* coff-rs6000.c: Likewise.
240389857Sobrien	* coff-sh.c: Likewise.
240489857Sobrien	* coff-sparc.c: Likewise.
240589857Sobrien	* coff-stgo32.c: Likewise.
240689857Sobrien	* coff-tic30.c: Likewise.
240789857Sobrien	* coff-tic80.c: Likewise.
240889857Sobrien	* coff-w65.c: Likewise.
240989857Sobrien	* coff-z8k.c: Likewise.
241089857Sobrien	* coff64-rs6000.c: Likewise.
241189857Sobrien	* coffgen.c: Likewise.
241289857Sobrien	* cofflink.c: Likewise.
241389857Sobrien	* coffswap.h: Likewise.
241489857Sobrien	* ecoff.c: Likewise.
241589857Sobrien	* ecoffswap.h: Likewise.
241689857Sobrien	* elf.c: Likewise.
241789857Sobrien	* elf32-mips.c: Likewise.
241889857Sobrien	* elf64-mips.c: Likewise.
241989857Sobrien	* hp300hpux.c: Likewise.
242089857Sobrien	* i386dynix.c: Likewise.
242189857Sobrien	* i386lynx.c: Likewise.
242289857Sobrien	* i386msdos.c: Likewise.
242389857Sobrien	* i386os9k.c: Likewise.
242489857Sobrien	* libpei.h: Likewise.
242589857Sobrien	* nlm32-alpha.c: Likewise.
242689857Sobrien	* nlm32-i386.c: Likewise.
242789857Sobrien	* nlm32-ppc.c: Likewise.
242889857Sobrien	* nlmcode.h: Likewise.
242989857Sobrien	* nlmswap.h: Likewise.
243089857Sobrien	* oasys.c: Likewise.
243189857Sobrien	* pdp11.c: Likewise.
243289857Sobrien	* pe-mips.c: Likewise.
243389857Sobrien	* peXXigen.c: Likewise.
243489857Sobrien	* peicode.h: Likewise.
243589857Sobrien	* riscix.c: Likewise.
243689857Sobrien	* sunos.c: Likewise.
243789857Sobrien	* xcofflink.c: Likewise.
243889857Sobrien	* elfcode.h: (put_word, get_word, put_signed_word, get_signed_word):
243989857Sobrien	Rename to H_PUT_WORD, H_GET_WORD, H_PUT_SIGNED_WORD, H_GET_SIGNED_WORD.
244089857Sobrien	* coff-rs6000.c (PUTWORD, PUTHALF, PUTBYTE): Don't define. Use
244189857Sobrien	equivalent H_PUT_* macro instead.
244289857Sobrien	(GETWORD, GETHALF, GETBYTE): Similarly.
244389857Sobrien	* coff64-rs6000.c (PUTWORD, PUTHALF, PUTBYTE): Likewise.
244489857Sobrien	(GETWORD, GETHALF, GETBYTE): Likewise.
244589857Sobrien	* coffswap.h (PUTWORD, PUTHALF, PUTBYTE): Likewise.
244689857Sobrien
244789857Sobrien	* bfd-in.h (struct orl): Change "pos" to a union.
244889857Sobrien	* archive.c (_bfd_compute_and_write_armap): Use it instead of casts.
244989857Sobrien	(bsd_write_armap): Here too.
245089857Sobrien	(coff_write_armap): And here.
245189857Sobrien	* coff-rs6000.c (xcoff_write_armap_old): And here.
245289857Sobrien	(xcoff_write_one_armap_big): And here.
245389857Sobrien	(xcoff_write_armap_big): And here.
245489857Sobrien	* ecoff.c (_bfd_ecoff_write_armap): And here.
245589857Sobrien	* elf64-mips.c (mips_elf64_write_armap): And here.
245689857Sobrien
245789857Sobrien	* aoutf1.h (sunos_set_arch_mach): Make "mach" param an enum.
245889857Sobrien	* elf-m10300.c (elf_mn10300_mach): Return an unsigned long.
245989857Sobrien	* elf32-h8300.c (elf32_h8_mach): Likewise.
246089857Sobrien	* elf32-mips.c (elf_mips_mach): Likewise.
246189857Sobrien	* sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
246289857Sobrien
246389857Sobrien	* aix386-core.c (aix386_core_file_p): Remove redundant bfd_release
246489857Sobrien	calls.
246589857Sobrien	(aix386_core_vec): Typo fix.
246689857Sobrien
246789857Sobrien	* aout-arm.c: Include libaout.h and aout/aout64.h after N_TXTADDR
246889857Sobrien	etc. to avoid redefined macro warning.
246989857Sobrien	(MY(put_reloc)): Use bfd_vma for "value" rather than long.
247089857Sobrien	(MY(fix_pcrel_26)): Likewise.
247189857Sobrien	* aout-ns32k.c (MY(put_reloc)): Likewise.
247289857Sobrien	* aout-cris.c (MY(swap_ext_reloc_out)): Likewise for r_addend.
247389857Sobrien	* aoutx.h (NAME(aout,swap_ext_reloc_out)): Likewise.
247489857Sobrien	* coff-arm.c (coff_arm_relocate_section): Likewise for my_offset.
247589857Sobrien
247689857Sobrien	* aout-encap.c: Include "file", not <file> for binutils headers.
247789857Sobrien	(encap_object_p): Half baked attempt to fix compile errors in
247889857Sobrien	code dealing with "magic".
247989857Sobrien
248089857Sobrien	* aout-ns32k.c: Include "file", not <file> for binutils headers.
248189857Sobrien	(_bfd_ns32k_relocate_contents): get_data and put_data manipulate
248289857Sobrien	bfd_vma's rather than longs.
248389857Sobrien	* cpu-ns32k.c (ns32k_sign_extend): Delete.
248489857Sobrien	(_bfd_ns32k_get_displacement): Return a bfd_vma, don't pass in offset.
248589857Sobrien	(_bfd_ns32k_get_immediate): Likewise.  Add code for 8 byte values,
248689857Sobrien	remove case 3.
248789857Sobrien	(_bfd_ns32k_put_displacement): Accept a bfd_vma, don't pass in offset.
248889857Sobrien	Use unsigned comparisons.
248989857Sobrien	(bfd_ns32k_put_immediate): Likewise, and add code for 8 byte values.
249089857Sobrien	(do_ns32k_reloc): get_data and put_data operate on bfd_vma's.
249189857Sobrien	(_bfd_do_ns32k_reloc_contents): Likewise.
249289857Sobrien	* ns32k.h (_bfd_ns32k_get_displacement): Update prototype.
249389857Sobrien	(_bfd_ns32k_get_immediate): Likewise.
249489857Sobrien	(_bfd_ns32k_put_displacement): Likewise.
249589857Sobrien	(_bfd_ns32k_put_immediate): Likewise.
249689857Sobrien	(bfd_reloc_status_type): Likewise.
249789857Sobrien
249889857Sobrien	* aoutx.h (NAME(aout,find_nearest_line)): Rename 'p' to 'colon'
249989857Sobrien	to avoid shadowing.
250089857Sobrien	* pdp11.c (NAME(aout,find_nearest_line)): Likewise.
250189857Sobrien	* coff-h8300.c (h8300_reloc16_extra_cases): Remove shadowing "value".
250289857Sobrien	* coff-ppc.c (enum ref_category): Rename "data" to "tocdata" to
250389857Sobrien	avoid shadowing.
250489857Sobrien	(record_toc): Use a bfd_signed_vma for our_toc_offset.
250589857Sobrien	* coffcode.h (coff_write_relocs): Rename "i" to avoid shadowing.
250689857Sobrien	* elf.c (bfd_elf_get_bfd_needed_list): Rename "link" var to avoid
250789857Sobrien	shadow warning.
250889857Sobrien	(_bfd_elfcore_strndup): Likewise for "dup".
250989857Sobrien	* elf32-cris.c (cris_elf_relocate_section): "symname" instead of
251089857Sobrien	"name" to avoid shadowing.
251189857Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Remove duplicate
251289857Sobrien	definition of "off".
251389857Sobrien	* elf32-i386.c (elf_i386_relocate_section): Likewise.
251489857Sobrien	* elf32-mips.c (_bfd_mips_elf_modify_segment_map): Remove duplicate
251589857Sobrien	definition of "s".
251689857Sobrien	(_bfd_mips_elf_final_link): Rename "i" to "j".  Remove duplicate
251789857Sobrien	"secpp".
251889857Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Rename inner "indx"
251989857Sobrien	to avoid shadowing.
252089857Sobrien	* elflink.h (elf_link_add_object_symbols): Rename "link" to "shlink"
252189857Sobrien	to avoid shadowing.
252289857Sobrien	(elf_link_input_bfd): Likewise.
252389857Sobrien	(elf_bfd_final_link): Remove duplicate innermost "off" var.
252489857Sobrien	* oasys.c (oasys_write_data): Rename innermost "p" to "sym".
252589857Sobrien	* reloc16.c (bfd_coff_reloc16_relax_section): Rename "i" param to
252689857Sobrien	"input_section".
252789857Sobrien	* som.c (som_prep_for_fixups): Rename inner "i" to "j".
252889857Sobrien	* sunos.c (sunos_add_dynamic_symbols): Localise "s" var.
252989857Sobrien	(sunos_write_dynamic_symbol): Remove unused vars.
253089857Sobrien	* syms.c (_bfd_stab_section_find_nearest_line): Remove duplicate
253189857Sobrien	innermost "directory_name" and "file_name" vars.
253289857Sobrien	* tekhex.c (first_phase): Rename local var "type" to "stype".
253389857Sobrien	(tekhex_write_object_contents): Rename innermost "s" to "sym".
253489857Sobrien	* vms-gsd.c (vms_secflag_by_name): Change "size" param to "hassize",
253589857Sobrien	doing comparison at caller.
253689857Sobrien	(vms_esecflag_by_name): Likewise.
253789857Sobrien	* vms-tir.c (etir_sto): Rename innermost "psect" to "psect1".
253889857Sobrien	* xcofflink.c (xcoff_link_input_bfd): Delete duplicate innermost "o".
253989857Sobrien	(xcoff_write_global_symbol): Rename "p" param to "inf".
254089857Sobrien
254189857Sobrien	* cisco-core.c: Add missing prototypes.
254289857Sobrien	(cisco_core_file_failing_command): Add ATTRIBUTE_UNUSED.
254389857Sobrien	(cisco_core_file_failing_signal): Likewise.
254489857Sobrien	(cisco_core_file_matches_executable_p): Likewise.
254589857Sobrien	* hpux-core.c (hpux_core_core_file_failing_signal): Likewise.
254689857Sobrien	* netbsd-core.c (netbsd_core_file_matches_executable_p): Likewise.
254789857Sobrien	* osf-core.c (osf_core_core_file_matches_executable_p): Likewise.
254889857Sobrien	* sco5-core.c (sco5_core_file_matches_executable_p): Likewise.
254989857Sobrien
255089857Sobrien	* coff-arm.c (coff_arm_link_hash_table): Use bfd_size_type for
255189857Sobrien	thumb_glue_size and arm_glue_size.
255289857Sobrien	* elf32-arm.h (elf32_arm_link_hash_table): Likewise here.
255389857Sobrien
255489857Sobrien	* coff64-rs6000.c: Group prototypes together.
255589857Sobrien
255689857Sobrien	* coffcode.h (coff_set_arch_mach): Add ATTRIBUTE_UNUSED.
255789857Sobrien	(buy_and_read): Remove "seek" param.  Change "size" to bfd_size_type.
255889857Sobrien
255989857Sobrien	* cpu-arc.c: Add missing prototypes.
256089857Sobrien	* cpu-h8500.c: Likewise.
256189857Sobrien	* cpu-i960.c: Likewise.
256289857Sobrien	* cpu-pj.c: Likewise.
256389857Sobrien	* cpu-sh.c: Likewise.
256489857Sobrien	* cpu-w65.c: Likewise.
256589857Sobrien	* cpu-z8k.c: Likewise.
256689857Sobrien	* elf32-fr30.c: Likewise.
256789857Sobrien	* elf32-h8300.c: Likewise.
256889857Sobrien	* elf32-i370.c: Likewise.
256989857Sobrien	* hpux-core.c: Likewise.
257089857Sobrien	* versados.c: Likewise.
257189857Sobrien
257289857Sobrien	* cpu-h8300.c (bfd_default_scan_num_mach): Don't declare.
257389857Sobrien	* cpu-h8500.c: Likewise.
257489857Sobrien	* cpu-i960.c: Likewise.
257589857Sobrien	* cpu-z8k.c: Likewise.
257689857Sobrien
257789857Sobrien	* cpu-ia64-opc.c: Correct comment.
257889857Sobrien
257989857Sobrien	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove unused var.
258089857Sobrien
258189857Sobrien	* elf-bfd.h (elf_size_info): Change count param of write_out_phdrs
258289857Sobrien	to unsigned.
258389857Sobrien	(bfd_elf32_write_out_phdrs): Likewise.
258489857Sobrien	(bfd_elf64_write_out_phdrs): Likewise.
258589857Sobrien	(elf_linker_section_pointers): Change addend to bfd_vma.
258689857Sobrien	(_bfd_elf_find_pointer_linker_section): Likewise.
258789857Sobrien	(_bfd_elfcore_make_pseudosection): Change size param to size_t and
258889857Sobrien	filepos to unsigned file_ptr.
258989857Sobrien	(_bfd_elfcore_strndup): Change max param to size_t.
259089857Sobrien	* elf.c (_bfd_elfcore_make_pseudosection): As above.
259189857Sobrien	(_bfd_elfcore_strndup): Likewise.
259289857Sobrien	(_bfd_elf_find_pointer_linker_section): Likewise.
259389857Sobrien
259489857Sobrien	* elf-hppa.h (elf_hppa_relocate_insn): Return an int, and change
259589857Sobrien	insn and sym_value to ints.
259689857Sobrien
259789857Sobrien	* elf.c (elf_read): Make "offset" param a file_ptr, "size" a
259889857Sobrien	bfd_size_type.
259989857Sobrien	(elfcore_read_notes): Likewise.
260089857Sobrien
260189857Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Change sym_flags
260289857Sobrien	param from unsigned char to int.
260389857Sobrien	(elf32_arm_relocate_section): If USE_REL, cast "rel" appropriately
260489857Sobrien	for info_to_howto call.
260589857Sobrien	(add_dynamic_entry): Define macro.
260689857Sobrien	(elf32_arm_size_dynamic_sections): Use add_dynamic_entry.
260789857Sobrien
260889857Sobrien	* elf32-cris.c (add_dynamic_entry): Define macro.
260989857Sobrien	(elf_cris_size_dynamic_sections): Use add_dynamic_entry.
261089857Sobrien
261189857Sobrien	* elf32-h8300.c (elf32_h8_final_write_processing): Make static.
261289857Sobrien	(elf32_h8_object_p): Likewise.
261389857Sobrien	(elf32_h8_merge_private_bfd_data): Likewise.
261489857Sobrien	(elf32_h8_relax_section): Cast gap to int so signed comparisons work.
261589857Sobrien
261689857Sobrien	* elf32-hppa.c (add_dynamic_entry): Define macro.
261789857Sobrien	(elf32_hppa_size_dynamic_sections): Use it.
261889857Sobrien	* elf32-i370.c (add_dynamic_entry): Define macro.
261989857Sobrien	(i370_elf_size_dynamic_sections): Use it.
262089857Sobrien	(i370_noop): Make static.
262189857Sobrien	* elf32-i386.c (add_dynamic_entry): Define macro.
262289857Sobrien	(elf_i386_size_dynamic_sections): Use it.
262389857Sobrien	* elf32-m68k.c (add_dynamic_entry): Define macro.
262489857Sobrien	(elf_m68k_size_dynamic_sections): Use it.
262589857Sobrien	* elf32-ppc.c (add_dynamic_entry): Define macro.
262689857Sobrien	(ppc_elf_size_dynamic_sections): Use it.
262789857Sobrien	* elf32-s390.c (add_dynamic_entry): Define macro.
262889857Sobrien	(elf_s390_size_dynamic_sections): Use it.
262989857Sobrien	* elf64-alpha.c (add_dynamic_entry): Define macro.
263089857Sobrien	(elf64_alpha_size_dynamic_sections): Use it.
263189857Sobrien	* elf64-hppa.c (add_dynamic_entry): Define macro.
263289857Sobrien	(elf64_hppa_size_dynamic_sections): Use it.
263389857Sobrien	* elf64-ppc.c (add_dynamic_entry): Define macro.
263489857Sobrien	(ppc64_elf_size_dynamic_sections): Use it.
263589857Sobrien	* elf64-s390.c (add_dynamic_entry): Define macro.
263689857Sobrien	(elf_s390_size_dynamic_sections): Use it.
263789857Sobrien	* elf64-sparc.c (add_dynamic_entry): Define macro.
263889857Sobrien	(sparc64_elf_size_dynamic_sections): Use it.
263989857Sobrien	* elf64-x86-64.c (add_dynamic_entry): Define macro.
264089857Sobrien	(elf64_x86_64_size_dynamic_sections): Use it.
264189857Sobrien	* elfxx-ia64.c (add_dynamic_entry): Define macro.
264289857Sobrien	(elfNN_ia64_size_dynamic_sections): Use it.
264389857Sobrien
264489857Sobrien	* elf32-v850.c (SEXT24): Modify to avoid signed/unsigned warning.
264589857Sobrien	(v850_elf_perform_relocation): Make "r_type" param unsigned.
264689857Sobrien
264789857Sobrien	* elf64-mips.c (mips_elf64_slurp_one_reloc_table): Just return
264889857Sobrien	false if the first malloc fails rather than going via error_return.
264989857Sobrien
265089857Sobrien	* elf64-sparc.c (sparc64_elf_plt_entry_offset): Use a bfd_vma for
265189857Sobrien	"index" param.
265289857Sobrien	(sparc64_elf_plt_ptr_offset): Likewise, and for "max" param too.
265389857Sobrien
265489857Sobrien	* elflink.h (elf_link_input_bfd): s/ingored/ignored/ in error message.
265589857Sobrien
265689857Sobrien	* elfxx-ia64.c (global_sym_index): Return a long.
265789857Sobrien
265889857Sobrien	* ieee.c (get_symbol): Use int rather than char param.
265989857Sobrien	(ieee_slurp_sections): Move "section" var to inner blocks.
266089857Sobrien	(copy_expression): Don't init "value" to zero or worry about
266189857Sobrien	clearing to zero after using.
266289857Sobrien	(ieee_write_debug_part): Rename "output_buffer" to "obuff" to avoid
266389857Sobrien	shadowing.
266489857Sobrien
266589857Sobrien	* ihex.c (ihex_write_record): Make "count" var a size_t, "addr" an
266689857Sobrien	unsigned int.
266789857Sobrien
266889857Sobrien	* libbfd-in.h (BFD_ALIGN): Add cast to avoid signed/unsigned warning.
266989857Sobrien	(bfd_write_bigendian_4byte_int): Pass an unsigned int value param.
267089857Sobrien
267189857Sobrien	* mipsbsd.c (mips_fix_jmp_addr): Add "error_message" param.
267289857Sobrien
267389857Sobrien	* pc532-mach.c (MYNSX): Delete.
267489857Sobrien	(ns32kaout_bfd_reloc_type_lookup): Define prototype without MYNSX.
267589857Sobrien	(write_object_contents): Correct prototype.
267689857Sobrien
267789857Sobrien	* peicode.h (pe_ILF_build_a_bfd): Use an unsigned int param rather
267889857Sobrien	than unsigned short.
267989857Sobrien
268089857Sobrien	* section.c (bfd_set_section_contents): Remove redundant
268189857Sobrien	"offset < 0" test.  Check that "count" doesn't overflow size_t.
268289857Sobrien	(bfd_get_section_contents): Likewise.
268389857Sobrien
268489857Sobrien	* som.c (som_fixup_formats): Add missing braces.
268589857Sobrien	(som_reloc_addend): Pass a bfd_vma for "addend".
268689857Sobrien
268789857Sobrien	* srec.c (srec_write_record): Pass "type" as an unsigned int.
268889857Sobrien	(srec_write_symbols): Remove an unnecessary var.
268989857Sobrien
269089857Sobrien	* targets.c (_bfd_target_vector): Sort entries.  Sort externs
269189857Sobrien	to match.
269289857Sobrien	* configure.in: Sort to match.  Bump version number.
269389857Sobrien	* configure: Regenerate.
269489857Sobrien
269589857Sobrien	* tekhex.c (move_section_contents): Assert offset == 0.
269689857Sobrien
269789857Sobrien	* versados.c (new_symbol_string): Constify arg.
269889857Sobrien	(process_esd): Use bfd_und_section_ptr rather than &bfd_und_section.
269989857Sobrien	(versados_get_symbol_info): Make static.
270089857Sobrien	(versados_print_symbol): Likewise.
270189857Sobrien	(versados_get_reloc_upper_bound): Likewise.
270289857Sobrien	(versados_canonicalize_reloc): Likewise.
270389857Sobrien
270489857Sobrien2001-09-18  Nick Clifton  <nickc@cambridge.redhat.com>
270589857Sobrien
270689857Sobrien	* elflink.h (elf_link_input_bfd): Fix typo in error message.
270789857Sobrien
270889857Sobrien2001-09-17  H.J. Lu  <hjl@gnu.org>
270989857Sobrien
271089857Sobrien	* dwarf1.c (parse_die): Take a new arg for the end of the
271189857Sobrien	section. Return false if die is beyond the section.
271289857Sobrien	(parse_functions_in_unit): Pass the end of the section to
271389857Sobrien	parse_die ().
271489857Sobrien	(_bfd_dwarf1_find_nearest_line): Likewise.
271589857Sobrien
271689857Sobrien2001-09-14  Michael Rauch <mrauch@netbsd.org>
271789857Sobrien
271889857Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Treat R_SPARC_UA32
271989857Sobrien	just like R_SPARC_32.
272089857Sobrien
272189857Sobrien2001-09-14  Kevin Lo <kevlo@openbsd.org>
272289857Sobrien
272389857Sobrien	* configure.bfd: Add arm-openbsd target.
272489857Sobrien
272589857Sobrien2001-09-14  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
272689857Sobrien
272789857Sobrien	* config.bfd: Change machine triplets from mips*el*-* to mips*el-*.
272889857Sobrien	Add support for mips64.
272989857Sobrien
273089857Sobrien2001-09-13  Alexandre Oliva  <aoliva@redhat.com>
273189857Sobrien
273289857Sobrien	* elf32-openrisc.c (ELF_MACHINE_ALT1): Define as EM_OPENRISC_OLD.
273389857Sobrien
273489857Sobrien2001-09-12  Alexandre Oliva  <aoliva@redhat.com>
273589857Sobrien
273689857Sobrien	* elf.c (prep_headers): Get the machine code from the elf
273789857Sobrien	backend data.
273889857Sobrien	* elf-m10200.c (ELF_MACHINE_CODE): Redefine to EM_MN10200.
273989857Sobrien	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10200.
274089857Sobrien	* elf-m10300.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
274189857Sobrien	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
274289857Sobrien	* elf-arc.c (arc_elf_final_write_processing): Don't override
274389857Sobrien	e_machine, it's now properly set in prep_headers.
274489857Sobrien	* elf32-avr.c (elf32_avr_object_p): Accept both EM_AVR and
274589857Sobrien	EM_AVR_OLD.
274689857Sobrien	(ELF_MACHINE_ALT1): Define to EM_AVR_OLD.
274789857Sobrien	* elf-d10v.c (ELF_MACHINE_CODE): Redefine to EM_D10V.
274889857Sobrien	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_D10V.
274989857Sobrien	* elf-d30v.c (ELF_MACHINE_CODE): Redefine to EM_D30V.
275089857Sobrien	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_D30V.
275189857Sobrien	* elf-fr30.c (ELF_MACHINE_CODE): Redefine to EM_FR30.
275289857Sobrien	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_FR30.
275389857Sobrien	* elf-m32r.c (ELF_MACHINE_CODE): Redefine to EM_M32R.
275489857Sobrien	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_M32R.
275589857Sobrien	* elf32-pj.c (ELF_MACHINE_ALT1): DEfine to EM_PJ_OLD.
275689857Sobrien	* elf-v850.c (ELF_MACHINE_CODE): Redefine to EM_V850.
275789857Sobrien	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_V850.
275889857Sobrien
275989857Sobrien2001-09-11  Richard Henderson  <rth@redhat.com>
276089857Sobrien
276189857Sobrien	* elf64-alpha.c (elf64_alpha_section_flags): New.
276289857Sobrien	(elf64_alpha_fake_sections): Map SEC_SMALL_DATA to SHF_ALPHA_GPREL.
276389857Sobrien
276489857Sobrien2001-09-11  Richard Henderson  <rth@redhat.com>
276589857Sobrien
276689857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Do not
276789857Sobrien	apply HINT relocations against dynamic symbols.
276889857Sobrien
276989857Sobrien2001-09-11  H.J. Lu  <hjl@gnu.org>
277089857Sobrien
277189857Sobrien	* linker.c (link_action): Change COMMON_ROW\defw from CREF to COM.
277289857Sobrien
277389857Sobrien2001-09-09  Richard Henderson  <rth@redhat.com>
277489857Sobrien
277589857Sobrien	* elf64-alpha.c: Delete all unused ERIC_neverdef and rth_notdef code.
277689857Sobrien
277789857Sobrien	* elf64-alpha.c (elf64_alpha_relax_with_lituse): Nop out gpdisp
277889857Sobrien	following a call to a near function.
277989857Sobrien
278089857Sobrien2001-09-08  Richard Henderson  <rth@redhat.com>
278189857Sobrien
278289857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Soft fail
278389857Sobrien	relocation errors.  Fail gp-relative relocations against
278489857Sobrien	dynamic symbols.
278589857Sobrien
278689857Sobrien2001-09-08  Alan Modra  <amodra@bigpond.net.au>
278789857Sobrien
278889857Sobrien	* elf32-i386.c (elf_i386_relocate_section): Check !DEF_REGULAR
278989857Sobrien	as well as DEF_DYNAMIC in test for avoided copy relocs.
279089857Sobrien	(allocate_plt_and_got_and_discard_relocs): Likewise.
279189857Sobrien	* elf32-hppa.c (elf_i386_relocate_section): Likewise.
279289857Sobrien	(allocate_plt_and_got_and_discard_relocs): Likewise.
279389857Sobrien
279489857Sobrien2001-09-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
279589857Sobrien
279689857Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Fix overflow handling
279789857Sobrien	of R_MIPS_PC16.
279889857Sobrien
279989857Sobrien2001-09-06  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
280089857Sobrien
280189857Sobrien	* elf64-mips.c (mips_elf64_howto_table_rel): Fix relocation HOWTO
280289857Sobrien	definitions.
280389857Sobrien	(mips_elf64_howto_table_rel): Likewise.
280489857Sobrien
280589857Sobrien2001-09-05  Tom Rix <trix@redhat.com>
280689857Sobrien
280789857Sobrien	* xcofflink.c (bfd_xcoff_import_symbol): Handle import file XMC_XO
280889857Sobrien	and syscall symbols.
280989857Sobrien	(write_global_symbol) : Same.
281089857Sobrien	(bfd_xcoff_export_symbol): Remove unused syscall param.
281189857Sobrien	* libxcoff.h: Change prototype of bfd_xcoff_export symbol and
281289857Sobrien	bfd_xcoff_import_symbol.
281389857Sobrien	* bfd-in.h: Same.
281489857Sobrien	* bfd-in2.h : Regenerate.
281589857Sobrien
281689857Sobrien2001-09-04  Richard Henderson  <rth@redhat.com>
281789857Sobrien
281889857Sobrien	* elf64-alpha.c (SKIP_HOWTO): New.
281989857Sobrien	(elf64_alpha_howto_table): Use it to remove dead ECOFF relocs.
282089857Sobrien	Fix sizes of 16-bit mem format relocs.
282189857Sobrien	(elf64_alpha_reloc_map): Update to match.
282289857Sobrien	(elf64_alpha_relax_with_lituse): Use GPREL16 as appropriate.
282389857Sobrien	(elf64_alpha_relax_without_lituse): Likewise.
282489857Sobrien	(elf64_alpha_check_relocs): Handle GPREL16.
282589857Sobrien	(elf64_alpha_relocate_section): Likewise.
282689857Sobrien	* reloc.c (BFD_RELOC_ALPHA_USER_*): Remove.
282789857Sobrien	(BFD_RELOC_ALPHA_GPREL_HI16, BFD_RELOC_ALPHA_GPREL_LO16): New.
282889857Sobrien	* bfd-in2.h, libbfd.h: Rebuild.
282989857Sobrien
283089857Sobrien2001-09-04  Jeff Law <law@redhat.com>
283189857Sobrien
283289857Sobrien	* elf32-h8300.c (elf32_h8_relax_section): New function.
283389857Sobrien	(elf32_h8_relax_delete_bytes): Likewise.
283489857Sobrien	(elf32_h8_symbol_address_p): Likewise.
283589857Sobrien	(elf32_h8_get_relocated_section_contents): Likewise.
283689857Sobrien	(bfd_elf32_bfd_relax_section): Define.
283789857Sobrien	(bfd_elf32_bfd_get_relocated_section_contents): Likewise.
283889857Sobrien
283989857Sobrien	* elf32-h8300.c (special): New function.
284089857Sobrien	(h8_elf_howto_table): Use it for SPECIAL_FUNCTION field in
284189857Sobrien	all relocations.
284289857Sobrien	(elf32_h8_final_link_relocate): Treat R_H8_DIR24A8 like 32bit
284389857Sobrien	relocations.  Fix problems with the true 24bit reloc R_H8_DIR24R8.
284489857Sobrien	Fix minor problems with 8bit and 16bit PC relative relocations.
284589857Sobrien
284689857Sobrien2001-09-01  Andreas Jaeger  <aj@suse.de>
284789857Sobrien
284889857Sobrien	* vms-tir.c: Add missing prototypes.
284989857Sobrien	* vms-hdr.c: Likewise.
285089857Sobrien	* vms-gsd.c: Likewise.
285189857Sobrien	* vms-misc.c: Likewise.
285289857Sobrien
285389857Sobrien2001-08-31  H.J. Lu  <hjl@gnu.org>
285489857Sobrien
285589857Sobrien	* elf32-mips.c (_bfd_mips_elf_check_relocs): Report filename
285689857Sobrien	with bad relocation.
285789857Sobrien
285889857Sobrien2001-08-31  Eric Christopher  <echristo@redhat.com>
285989857Sobrien	    Jason Eckhardt  <jle@redhat.com>
286089857Sobrien
2861130561Sobrien	* archures.c: Add mipsisa32 and mipsisa64. Remove mips32,
286289857Sobrien	mips32_4k and mips64.
2863130561Sobrien	* aoutx.h: Remove bfd_mach_mips32, bfd_mach_mips32_4k,
286489857Sobrien	bfd_mach_mips64.  Add bfd_mach_mipsisa32, bfd_mach_mipsisa64.
2865130561Sobrien	* cpu-mips.c: Ditto.
2866130561Sobrien	* elf32-mips.c (_bfd_mips_elf_final_write_processing): Ditto.
2867130561Sobrien	* bfd-in2.h: Regenerate.
286889857Sobrien
286989857Sobrien2001-08-31  Jakub Jelinek  <jakub@redhat.com>
287089857Sobrien
287189857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Duplicate memory
287289857Sobrien	value into R_ALPHA_RELATIVE's addend.
287389857Sobrien	(elf64_alpha_finish_dynamic_symbol): Likewise.
287489857Sobrien
287589857Sobrien2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
287689857Sobrien
287789857Sobrien	* elf32-arm.h (elf32_arm_relocate_section): Do not rightshift
287889857Sobrien	recomputed addend during relocatable link if not USE_REL.
287989857Sobrien
288089857Sobrien	* elflink.h (elf_gc_propagate_vtable_entries_used): Fix off-by-one
288189857Sobrien	error.
288289857Sobrien
288389857Sobrien2001-08-30  H.J. Lu  <hjl@gnu.org>
288489857Sobrien
288589857Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Revert the last
288689857Sobrien	2 changes.
288789857Sobrien	(_bfd_mips_elf_adjust_dynamic_symbol): Allocate dynamic
288889857Sobrien	relocations for weak definitions.
288989857Sobrien
289089857Sobrien2001-08-30  H.J. Lu  <hjl@gnu.org>
289189857Sobrien
289289857Sobrien	* Makefile.am (BFD32_BACKENDS): Add elf32-h8300.lo.
289389857Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-h8300.c.
289489857Sobrien	* Makefile.in: Rebuild.
289589857Sobrien
289689857Sobrien2001-08-30  H.J. Lu  <hjl@gnu.org>
289789857Sobrien
289889857Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Don't create
289989857Sobrien	dynamic relocation for undefined weak symbols when creating
290089857Sobrien	executables. Check h->root.root.type, instead of h->root.type.
290189857Sobrien
290289857Sobrien2001-08-29  Joel Sherrill <joel@OARcorp.com>
290389857Sobrien
290489857Sobrien	* config.bfd (i[3456]86-*-rtems*, m68*-*-rtems*): Change
290589857Sobrien	default from coff to elf.
290689857Sobrien
290789857Sobrien2001-08-29  Jeff Law <law@redhat.com>
290889857Sobrien
290989857Sobrien	* elf32-h8300.c (h8_elf_howto_table): Add new PC relative
291089857Sobrien	relocations.
291189857Sobrien	(h8_reloc_map): Similarly.
291289857Sobrien	(elf32_h8_final_link_relocate): Remove incorrect overflow tests.
291389857Sobrien	Add support for PC relative relocations.
291489857Sobrien
291589857Sobrien	* elf32-h8300.c: Put all prototypes together.
291689857Sobrien	(elf32_h8_info_to_howto): Parameter elf_reloc is used.
291789857Sobrien	(elf32_h8_final_link_relocate): New function for linker.
291889857Sobrien	(elf32_h8_relocate_section): Similarly.
291989857Sobrien	(elf_backend_relocate_section): Define.
292089857Sobrien
292189857Sobrien	* cpu-h8300.c (h8300_scan, compatible): Prototype.
292289857Sobrien	(h8300_scan): Handle architecture:machine encodings typically
292389857Sobrien	found in linker scripts.
292489857Sobrien	* elf.c (prep_headers): Do not try to do H8 machine recognition
292589857Sobrien	here.
292689857Sobrien	* elf32-h8300.c:  Add some missing prototypes.
292789857Sobrien	(elf32_h8_mach, elf32_h8_final_write_processing): New functions.
292889857Sobrien	(elf32_h8_object_p): Similarly.
292989857Sobrien
293089857Sobrien2001-08-29  Tom Rix <trix@redhat.com>
293189857Sobrien
293289857Sobrien	* xcofflink.c (xcoff_link_add_symbols):  Fix XTY_LD symbol that
293389857Sobrien	does not follow a XTY_SD.
293489857Sobrien
293589857Sobrien2001-08-29  Alan Modra  <amodra@bigpond.net.au>
293689857Sobrien
293789857Sobrien	* targmatch.sed: Delete case statements.
293889857Sobrien	* config.bfd <powerpc-*-aix* entry>: Select 64 bit xcoff for
293989857Sobrien	aix4.3 and above.
294089857Sobrien
294189857Sobrien2001-08-29  J"orn Rennecke <amylaar@redhat.com>
294289857Sobrien
294389857Sobrien	* Makefile.am (elf32-h8300.lo): New target.
294489857Sobrien	* config.bfd (h8300*-*-elf): New case.
294589857Sobrien	* configure.in (bfd_elf32_h8300_vec): New case.
294689857Sobrien	* elf.c (prep_headers): Add case for bfd_arch_h8300.
294789857Sobrien	* reloc.c (BFD_RELOC_H8_DIR16A8): New relocation.
294889857Sobrien	(BFD_RELOC_H8_DIR16R8, BFD_RELOC_H8_DIR24A8): Likewise.
294989857Sobrien	(BFD_RELOC_H8_DIR24R8, BFD_RELOC_H8_DIR32A16): Likewise.
295089857Sobrien	* targets.c (bfd_target bfd_elf32_h8300_vec): New extern declaration.
295189857Sobrien	* elf32-h8300.c: New file.
295289857Sobrien	* Makefile.in, bfd-in2.h, libbfd.h, configure: Regenerated.
295389857Sobrien
295489857Sobrien2001-08-28  Nick Clifton  <nickc@cambridge.redhat.com>
295589857Sobrien
295689857Sobrien	* sparclynx.c: Add missing prototypes.
295789857Sobrien	* coff-mcore.c: Add missing prototypes.
295889857Sobrien	* elf32-pj.c: Add missing prototypes.
295989857Sobrien	* nlm32-sparc.c: Add missing prototypes.
296089857Sobrien	* oasys.c: Add missing prototypes.
296189857Sobrien	* pdp11.c: Add missing prototypes.
296289857Sobrien	* pe-mips.c: Add missing prototypes.
296389857Sobrien	* riscix.c: Add missing prototypes.
296489857Sobrien
296589857Sobrien2001-08-27  Daniel Jacobowitz  <drow@mvista.com>
296689857Sobrien
296789857Sobrien	* elf32-i386.c: Add missing prototypes.
296889857Sobrien	* elf32-ppc.c: Likewise.
296989857Sobrien	* elf32-sh-lin.c: Likewise.
297089857Sobrien	* elfarm-nabi.c: Likewise.
297189857Sobrien
297289857Sobrien2001-08-27  Daniel Jacobowitz  <drow@mvista.com>
297389857Sobrien
297489857Sobrien	* elf32-i386.c (elf_i386_grok_prstatus): New function.
297589857Sobrien	(elf_i386_grok_psinfo): New function.
297689857Sobrien	(elf_backend_grok_prstatus): Define.
297789857Sobrien	(elf_backend_grok_psinfo): Likewise.
297889857Sobrien	* elf32-ppc.c (ppc_elf_grok_prstatus): New function.
297989857Sobrien	(ppc_elf_grok_psinfo): New function.
298089857Sobrien	(elf_backend_grok_prstatus): Define.
298189857Sobrien	(elf_backend_grok_psinfo): Likewise.
298289857Sobrien	* elf32-sh-lin.c (elf32_shlin_grok_prstatus): New function.
298389857Sobrien	(elf32_shlin_grok_psinfo): New function.
298489857Sobrien	(elf_backend_grok_prstatus): Define.
298589857Sobrien	(elf_backend_grok_psinfo): Likewise.
298689857Sobrien	* elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): New function.
298789857Sobrien	(elf32_arm_nabi_grok_psinfo): New function.
298889857Sobrien	(elf_backend_grok_prstatus): Define.
298989857Sobrien	(elf_backend_grok_psinfo): Likewise.
299089857Sobrien
299189857Sobrien2001-08-27  H.J. Lu  <hjl@gnu.org>
299289857Sobrien
299389857Sobrien	* elf32-mips.c (mips_elf_create_dynamic_relocation): Add more
299489857Sobrien	sanity check.
299589857Sobrien	(mips_elf_calculate_relocation): Create dynamic relocation for
299689857Sobrien	symbols with weak definition or the ELF_LINK_HASH_DEF_REGULAR
299789857Sobrien	bit is not set.
299889857Sobrien
299989857Sobrien2001-08-27  H.J. Lu  <hjl@gnu.org>
300089857Sobrien
300189857Sobrien	* elf32-mips.c (_bfd_mips_elf_hide_symbol): Add prototype.
300289857Sobrien	(_bfd_mips_elf_copy_indirect_symbol): Likewise.
300389857Sobrien	(_bfd_elf32_mips_grok_prstatus): Likewise.
300489857Sobrien	(_bfd_elf32_mips_grok_psinfo): Likewise.
300589857Sobrien	(_bfd_mips_elf_hide_symbol): Make it static and cast to
300689857Sobrien	`struct mips_elf_link_hash_entry *'.
300789857Sobrien	(_bfd_mips_elf_copy_indirect_symbol): Make it static.
300889857Sobrien
300989857Sobrien2001-08-27  Nick Clifton  <nickc@cambridge.redhat.com>
301089857Sobrien
301189857Sobrien	* mipsbsd.c: Add missing prototypes.
301289857Sobrien	* hp300hpux.c: Add missing prototypes.
301389857Sobrien	* i386aout.c: Add missing prototypes.
301489857Sobrien	* i386lynx.c: Add missing prototypes.
301589857Sobrien	* i386mach3.c: Add missing prototypes.
301689857Sobrien	* i386msdos.c: Add missing prototypes.
301789857Sobrien	* i386os9k.c: Add missing prototypes.
301889857Sobrien
301989857Sobrien2001-08-27  Linus Nordberg  <linus@swox.se>
302089857Sobrien	    Torbjorn Granlund  <tege@swox.com>
302189857Sobrien	    Staffan Ulfberg  <staffanu@swox.se>
302289857Sobrien	    Alan Modra  <amodra@bigpond.net.au>
302389857Sobrien
302489857Sobrien	* config.bfd: Add powerpc64 target.  Add powerpc64 vectors to
302589857Sobrien	targ64_selvecs for 32 bit powerpc targets.
302689857Sobrien	* Makefile.am (BFD64_BACKENDS): Add elf64-ppc.lo.
302789857Sobrien	(BFD64_BACKENDS_CFILES): Add elf64-ppc.c.
302889857Sobrien	Run "make dep-am".
302989857Sobrien	* Makefile.in: Regenerate.
303089857Sobrien	* configure.in: Add elf64_powerpc vecs.
303189857Sobrien	* configure: Regenerate.
303289857Sobrien	* cpu-powerpc.c: Default to bfd_mach_ppc_620 entry for 64 bit.
303389857Sobrien	* elf.c (prep_headers): EM_PPC64 for 64 bit ppc elf target.
303489857Sobrien	* targets.c: Add bfd_elf64_powerpc_vec and bfd_elf64_powerpcle_vec.
303589857Sobrien	* elf64-ppc.c: New file.
303689857Sobrien	* reloc.c: Add powerpc64 relocs.
303789857Sobrien	* libbfd.h: Regenerate.
303889857Sobrien	* bfd-in2.h: Regenerate.
303989857Sobrien
304089857Sobrien2001-08-27  Andreas Schwab  <schwab@suse.de>
304189857Sobrien
304289857Sobrien	* elf32-m68k.c (elf32_m68k_check_relocs): Set DF_TEXTREL if the
304389857Sobrien	reloc is against read-only section.
304489857Sobrien	(elf32_m68k_size_dynamic_sections): Use DF_TEXTREL flag instead of
304589857Sobrien	looking up section names for DT_TEXTREL.
304689857Sobrien	(elf32_m68k_reloc_type_class): New function.
304789857Sobrien	(elf_backend_reloc_type_class): Define.
304889857Sobrien
304989857Sobrien2001-08-27  Andreas Jaeger  <aj@suse.de>
305089857Sobrien
305189857Sobrien	* elf64-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the
305289857Sobrien	reloc is against read-only section.
305389857Sobrien	(elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of
305489857Sobrien	looking up section names for DT_TEXTREL.
305589857Sobrien	(elf_s390_reloc_type_class): New.
305689857Sobrien	(elf_backend_reloc_type_class): Define.
305789857Sobrien
305889857Sobrien	* elf32-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the
305989857Sobrien	reloc is against read-only section.
306089857Sobrien	(elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of
306189857Sobrien	looking up section names for DT_TEXTREL.
306289857Sobrien	(elf_s390_reloc_type_class): New.
306389857Sobrien	(elf_backend_reloc_type_class): Define.
306489857Sobrien
306589857Sobrien	* elf32-ppc.c (ppc_elf_check_relocs): Set DF_TEXTREL if the reloc
306689857Sobrien	is against read-only section.
306789857Sobrien	(ppc_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
306889857Sobrien	looking up section names for DT_TEXTREL.
306989857Sobrien	(ppc_elf_reloc_type_class): New.
307089857Sobrien	(elf_backend_reloc_type_class): Define.
307189857Sobrien
307289857Sobrien2001-08-26  Andreas Jaeger  <aj@suse.de>
307389857Sobrien
307489857Sobrien	* elf32-cris.c (cris_elf_check_relocs): Set DF_TEXTREL if the
307589857Sobrien	reloc is against read-only section.
307689857Sobrien	(elf_cris_size_dynamic_sections): Use DF_TEXTREL flag instead of
307789857Sobrien	looking up section names for DT_TEXTREL.
307889857Sobrien	(elf_cris_reloc_type_class): New.
307989857Sobrien	(elf_backend_reloc_type_class): Define.
308089857Sobrien
308189857Sobrien	* elf32-sh.c (sh_elf_check_relocs): Set DF_TEXTREL if the reloc is
308289857Sobrien	against read-only section.
308389857Sobrien	(elf_backend_reloc_type_class): Define.
308489857Sobrien	(sh_elf_reloc_type_class): New.
308589857Sobrien	(sh_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
308689857Sobrien	looking up section names for DT_TEXTREL.
308789857Sobrien
308889857Sobrien	* elf32-arm.h (elf32_arm_check_relocs): Set DF_TEXTREL if the
308989857Sobrien	reloc is against read-only section.
309089857Sobrien	(elf32_arm_size_dynamic_sections): Use DF_TEXTREL flag instead of
309189857Sobrien	looking up section names for DT_TEXTREL.
309289857Sobrien	(elf32_arm_reloc_type_class): New.
309389857Sobrien	(elf_backend_reloc_type_class): Define.
309489857Sobrien
309589857Sobrien2001-08-25  Andreas Jaeger  <aj@suse.de>
309689857Sobrien
309789857Sobrien	* oasys.c: Add missing prototypes.
309889857Sobrien
309989857Sobrien	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Add unused
310089857Sobrien	attribute for parameter.
310189857Sobrien	* elf.c (_bfd_elf_reloc_type_class): Likewise.
310289857Sobrien
310389857Sobrien	* versados.c (get_4): Make static.
310489857Sobrien	(get_10): Make static.
310589857Sobrien	Add missing prototypes.
310689857Sobrien	(process_esd): Fix call to versados_new_symbol.
310789857Sobrien
310889857Sobrien2001-08-25  Nick Clifton  <nickc@cambridge.redhat.com>
310989857Sobrien
311089857Sobrien	* coff-a29k.c: Add missing prototypes.
311189857Sobrien	* coff-apollo.c: Add missing prototypes.
311289857Sobrien	* coff-arm.c: Add missing prototypes.
311389857Sobrien	* coff-i860.c: Add missing prototypes.
311489857Sobrien	* coff-rs6000.c: Add missing prototypes.
311589857Sobrien	* coff-tic80.c: Add missing prototypes.
311689857Sobrien	* elf-m10200.c: Add missing prototypes.
311789857Sobrien	* elf-m10300.c: Add missing prototypes.
311889857Sobrien	* elf32-arm.h: Add missing prototypes.
311989857Sobrien	* elf32-d10v.c: Add missing prototypes.
312089857Sobrien	* elf32-m32r.c: Add missing prototypes.
312189857Sobrien	* elf32-mcore.c: Add missing prototypes.
312289857Sobrien	* elf32-openrisc.c: Add missing prototypes.
312389857Sobrien	* elf32-sh.c: Add missing prototypes.
312489857Sobrien	* elf32-sparc.c: Add missing prototypes.
312589857Sobrien	* elf32-v850.c: Add missing prototypes.
312689857Sobrien	* elfarm-nabi.c: Add missing prototypes.
312789857Sobrien	* elfarm-oabi.c: Add missing prototypes.
312889857Sobrien
312989857Sobrien2001-08-25  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
313089857Sobrien
313189857Sobrien	* elf32-mips.c (elf_mips_abi_name): Return the right ABI string for
313289857Sobrien	E_MIPS_ABI_O64 and E_MIPS_ABI_EABI64
313389857Sobrien
313489857Sobrien2001-08-24  H.J. Lu  <hjl@gnu.org>
313589857Sobrien
313689857Sobrien	* elf.c (_bfd_elf_merge_sections): Fail if not using an ELF
313789857Sobrien	hash structure.
313889857Sobrien
313989857Sobrien2001-08-24  Nick Clifton  <nickc@cambridge.redhat.com>
314089857Sobrien
314189857Sobrien	* elf-bfd.h (elf_hash_table): Revert definition.
314289857Sobrien	(is_elf_hash_table): New macro.
314389857Sobrien	* elflink.h (elf_link_add_object_symbols): Test
314489857Sobrien	is_elf_hash_table before accessing ELF only fields in hash
314589857Sobrien	structure.
314689857Sobrien	(elf_link_create_dynamic_sections): Fail if not using an ELF
314789857Sobrien	hash structure.
314889857Sobrien	(elf_add_dynamic_entry): Fail if not using an ELF hash
314989857Sobrien	structure.
315089857Sobrien	(elf_link_record_local_dynamic_symbol): Fail if not using an
315189857Sobrien	ELF hash structure.
315289857Sobrien	(size_dynamic_sections): Fail if not using an ELF hash
315389857Sobrien	structure.
315489857Sobrien	(elf_adjust_dynamic_symbol): Fail if not using an ELF
315589857Sobrien	hash structure.
315689857Sobrien	(elf_bfd_final_link): Fail if not using an ELF hash
315789857Sobrien	structure.
315889857Sobrien
315989857Sobrien2001-08-24  H.J. Lu  <hjl@gnu.org>
316089857Sobrien
316189857Sobrien	* elf-bfd.h (elf_hash_table): Return NULL if the linker hash
316289857Sobrien	table is not an ELF linker hash table.
316389857Sobrien
316489857Sobrien	* elf.c (_bfd_elf_link_hash_table_init): Set the linker hash
316589857Sobrien	table type to bfd_link_elf_hash_table.
316689857Sobrien
316789857Sobrien	* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Revert
316889857Sobrien	the last change.
316989857Sobrien
317089857Sobrien	* linker.c (_bfd_link_hash_table_init): Set the linker hash
317189857Sobrien	table type to bfd_link_generic_hash_table.
317289857Sobrien
317389857Sobrien2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
317489857Sobrien
317589857Sobrien	* bfd.c (bfd_alt_mach_code): New function.
317689857Sobrien	* bfd-in2.h: Rebuilt.
317789857Sobrien
317889857Sobrien2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
317989857Sobrien
318089857Sobrien	* elf-m10300.c (mn10300_elf_relocate_section): Test the right
318189857Sobrien	`type' field in the hash entry when deciding whether to follow a
318289857Sobrien	link.
318389857Sobrien
318489857Sobrien2001-08-24  Jakub Jelinek  <jakub@redhat.com>
318589857Sobrien
318689857Sobrien	* elflink.h (elf_link_sort_cmp1): Sort RELATIVE relocs first, not
318789857Sobrien	last.
318889857Sobrien	(elf_link_sort_relocs): Adjust accordingly.
318989857Sobrien
319089857Sobrien	* elf64-alpha.c (struct alpha_elf_link_hash_entry): Add reltext flag.
319189857Sobrien	(elf64_alpha_check_relocs): Set it if section this reloc is against
319289857Sobrien	is read-only.  Set DF_TEXTREL if a RELATIVE reloc is needed against
319389857Sobrien	read-only section.
319489857Sobrien	(elf64_alpha_calc_dynrel_sizes): Set DF_TEXTREL flag if relocation
319589857Sobrien	is is against read-only section.
319689857Sobrien	(elf64_alpha_size_dynamic_sections): Use DF_TEXTREL flag, don't
319789857Sobrien	check section names.
319889857Sobrien	(elf64_alpha_reloc_type_class): New.
319989857Sobrien	(elf_backend_reloc_type_class): Define.
320089857Sobrien
320189857Sobrien2001-08-24  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
320289857Sobrien
320389857Sobrien	* linker.c (_bfd_generic_link_add_archive_symbols): Replace alloca()
320489857Sobrien	by bfd_malloc().
320589857Sobrien
320689857Sobrien2001-08-23  Andreas Jaeger  <aj@suse.de>
320789857Sobrien
320889857Sobrien	* elf64-x86-64.c (elf64_x86_64_check_relocs): Set DF_TEXTREL if
320989857Sobrien	the reloc is against read-only section.
321089857Sobrien	(elf64_x86_64_size_dynamic_sections): Use DF_TEXTREL flag instead
321189857Sobrien	of looking up section names for DT_TEXTREL.
321289857Sobrien	(elf64_x86_64_reloc_type_class): New.
321389857Sobrien	(elf_backend_reloc_type_class): Define.
321489857Sobrien
321589857Sobrien2001-08-23  H.J. Lu  <hjl@gnu.org>
321689857Sobrien
321789857Sobrien	* syms.c (bfd_print_symbol_vandf): Add abfd to arg.
321889857Sobrien	* bfd-in2.h (bfd_print_symbol_vandf): Regenerated.
321989857Sobrien
322089857Sobrien	* aoutx.h (NAME(aout,print_symbol)): Pass abfd to
322189857Sobrien	bfd_print_symbol_vandf.
322289857Sobrien	* coffgen.c (coff_print_symbol): Likewise.
322389857Sobrien	* elf.c (bfd_elf_print_symbol): Likewise.
322489857Sobrien	* ieee.c (ieee_print_symbol): Likewise.
322589857Sobrien	* nlmcode.h (nlm_print_symbol): Likewise.
322689857Sobrien	* oasys.c (oasys_print_symbol): Likewise.
322789857Sobrien	* pdp11.c (NAME(aout,print_symbol)): Likewise.
322889857Sobrien	* som.c (som_print_symbol): Likewise.
322989857Sobrien	* srec.c (srec_print_symbol): Likewise.
323089857Sobrien	* tekhex.c (tekhex_print_symbol): Likewise.
323189857Sobrien	* versados.c (versados_print_symbol): Likewise.
323289857Sobrien	* vms.c (vms_print_symbol): Likewise.
323389857Sobrien
323489857Sobrien	* elf.c (_bfd_elf_print_private_bfd_data): Replace fprintf_vma
323589857Sobrien	with bfd_fprintf_vma.
323689857Sobrien	(bfd_elf_print_symbol): Likewise.
323789857Sobrien	* syms.c (bfd_print_symbol_vandf): Likewise.
323889857Sobrien
323989857Sobrien2001-08-23  Nick Clifton  <nickc@cambridge.redhat.com>
324089857Sobrien
324189857Sobrien	* aoutf1.h (sunos_write_object_contents): Silence compile time
324289857Sobrien	warning.
324389857Sobrien	* libaout.h (N_SET_DYNAMIC): Silence compile time warning.
324489857Sobrien
324589857Sobrien	* bout.c: Add missing function prototypes.  Fix formatting.
324689857Sobrien	* coff-z8k.c: Add missing function prototypes.  Fix formatting.
324789857Sobrien	* coff-w65.c: Add missing function prototypes.  Fix formatting.
324889857Sobrien	* coff-h8500.c: Add missing function prototypes.  Fix formatting.
324989857Sobrien	* coff-h8300.c: Add missing function prototypes.  Fix formatting.
325089857Sobrien	* coff-tic54x.c: Add missing function prototypes.  Fix formatting.
325189857Sobrien	* coff-tic30.c: Add missing function prototypes.  Fix formatting.
325289857Sobrien	* coff-m68k.c: Add missing function prototypes.  Fix formatting.
325389857Sobrien	* coff-rs6000.c: Add missing function prototypes.  Fix formatting.
325489857Sobrien	* coff-sh.c: Add missing function prototypes.  Fix formatting.
325589857Sobrien
325689857Sobrien2001-08-23  Jakub Jelinek  <jakub@redhat.com>
325789857Sobrien
325889857Sobrien	* elf-bfd.h (enum elf_reloc_type_class): New.
325989857Sobrien	(struct elf_backend_data): Add elf_backend_reloc_type_class.
326089857Sobrien	(_bfd_elf_reloc_type_class): New.
326189857Sobrien	* elfxx-target.h (elf_backend_reloc_type_class): Define.
326289857Sobrien	(elfNN_bed): Add elf_backend_reloc_type_class.
326389857Sobrien	* elf.c (_bfd_elf_reloc_type_class): New.
326489857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc
326589857Sobrien	is against read-only section.
326689857Sobrien	(elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of
326789857Sobrien	looking up section names for DT_TEXTREL.
326889857Sobrien	(elf_i386_reloc_type_class): New.
326989857Sobrien	(elf_backend_reloc_type_class): Define.
327089857Sobrien	* elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the
327189857Sobrien	reloc is against read-only section.
327289857Sobrien	(elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of
327389857Sobrien	looking up section names for DT_TEXTREL.
327489857Sobrien	(elf32_sparc_reloc_type_class): New.
327589857Sobrien	(elf_backend_reloc_type_class): Define.
327689857Sobrien	* elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the
327789857Sobrien	reloc is against read-only section.
327889857Sobrien	(sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
327989857Sobrien	looking up section names for DT_TEXTREL.
328089857Sobrien	(sparc64_elf_reloc_type_class): New.
328189857Sobrien	(elf_backend_reloc_type_class): Define.
328289857Sobrien	* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field.
328389857Sobrien	(elfNN_ia64_hash_table_create): Clear ia64_info.
328489857Sobrien	(get_reloc_section): Set DF_TEXTREL if the reloc is against read-only
328589857Sobrien	section.
328689857Sobrien	(elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag
328789857Sobrien	instead of looking up section names for DT_TEXTREL.
328889857Sobrien	(elfNN_ia64_reloc_type_class): New.
328989857Sobrien	(elf_backend_reloc_type_class): Define.
329089857Sobrien	* elflink.h (size_dynamic_sections): Add spare DT_NULL tags.
329189857Sobrien	(struct elf_link_sort_rela): New.
329289857Sobrien	(elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New.
329389857Sobrien	(elf_bfd_final_link): Call elf_link_sort_relocs.
329489857Sobrien	Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if
329589857Sobrien	necessary.
329689857Sobrien
329789857Sobrien2001-08-23  Nick Clifton  <nickc@cambridge.redhat.com>
329889857Sobrien
329989857Sobrien	* configure.in (x86-bsdi): No corefile support.
330089857Sobrien	* configure: Regenerate.
330189857Sobrien
330289857Sobrien2001-08-22  Nick Clifton  <nickc@cambridge.redhat.com>
330389857Sobrien
330489857Sobrien	* coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add missing
330589857Sobrien	comma.
330689857Sobrien
330789857Sobrien2001-08-21  Mark Elbrecht  <snowball3@bigfoot.com>
330889857Sobrien
330989857Sobrien	* coff-go32.c: Make DWARF2 sections use an alignment of 0.  Set
331089857Sobrien	the alignment of dwarf2 linkonce sections to 0.
331189857Sobrien	* coff-sto32.c: Likewise.
331289857Sobrien
331389857Sobrien2001-08-20  Andreas Jaeger  <aj@suse.de>
331489857Sobrien
331589857Sobrien	* coff-sparc.c: Add missing prototypes.
331689857Sobrien	* elf32-s390.c: Likewise.
331789857Sobrien	* elf32-i960.c: Likewise.
331889857Sobrien	* aout-target.h: Likewise.
331989857Sobrien
332089857Sobrien2001-08-20  H.J. Lu  <hjl@gnu.org>
332189857Sobrien
332289857Sobrien	* elf-bfd.h (elf_obj_tdata): Add num_section_syms.
332389857Sobrien	(elf_num_section_syms): New for num_section_syms.
332489857Sobrien
332589857Sobrien	* elf.c (elf_map_symbols): Set num_section_syms.
332689857Sobrien	(_bfd_elf_symbol_from_bfd_symbol): Check num_section_syms for
332789857Sobrien	the section symbol index.
332889857Sobrien
332989857Sobrien2001-08-20  Nick Clifton  <nickc@cambridge.redhat.com>
333089857Sobrien
333189857Sobrien	* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Never
333289857Sobrien	select the generic has table creator.  All elf backends need elf
333389857Sobrien	specific fields in the hash table.
333489857Sobrien
333589857Sobrien2001-08-20  Alan Modra  <amodra@bigpond.net.au>
333689857Sobrien
333789857Sobrien	* archive.c (offsetof): Remove define.
333889857Sobrien	* elf.c: Likewise.
333989857Sobrien	* oasys.c: Likewise
334089857Sobrien	* sysdep.h (offsetof): Define.
334189857Sobrien
334289857Sobrien2001-08-17  Alan Modra  <amodra@bigpond.net.au>
334389857Sobrien
334489857Sobrien	* bfd.c (bfd_get_gp_size): Return an unsigned int.
334589857Sobrien	(bfd_set_gp_size): Make param unsigned.
334689857Sobrien	* bfd-in2.h: Regenerate.
334789857Sobrien	* elf32-ppc.c (ppc_elf_add_symbol_hook): Use elf_gp_size rather
334889857Sobrien	than calling bfd_get_gp_size.
334989857Sobrien	* elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise.
335089857Sobrien	* elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise.
335189857Sobrien
335289857Sobrien2001-08-17  Alan Modra  <amodra@bigpond.net.au>
335389857Sobrien
335489857Sobrien	* linker.c (default_fill_link_order): Handle four byte fill value.
335589857Sobrien
335689857Sobrien2001-08-17  Alan Modra  <amodra@bigpond.net.au>
335789857Sobrien
335889857Sobrien	* elf64-sparc.c (sparc64_elf_output_arch_syms): Add missing
335989857Sobrien	prototype.
336089857Sobrien	* nlm32-alpha.c (nlm_alpha_write_external): Fix warning.
336189857Sobrien
336289857Sobrien	* elf64-mips.c (UNUSED_RELOC): Define.
336389857Sobrien	(mips_elf64_howto_table_rel): Use it.
336489857Sobrien	(mips_elf64_howto_table_rela): Here too.
336589857Sobrien	(mips_elf64_write_relocs): Fix signed/unsigned warning.
336689857Sobrien
336789857Sobrien	* coffcode.h (coff_write_object_contents): Add ATTRIBUTE_UNUSED to
336889857Sobrien	silence warning.
336989857Sobrien	* coffgen.c (coff_print_symbol): Fix warnings.
337089857Sobrien	(coff_find_nearest_line): Likewise.
337189857Sobrien	* cofflink.c (_bfd_coff_link_input_bfd): Likewise.
337289857Sobrien	* coff-alpha.c (alpha_convert_external_reloc): Likewise.
337389857Sobrien	* format.c (bfd_check_format_matches): Likewise.
337489857Sobrien	(bfd_set_format): Likewise.
337589857Sobrien	* coff-ia64.c: Add missing prototypes.
337689857Sobrien	* elf64-alpha.c (struct alpha_elf_link_hash_entry): Make addend
337789857Sobrien	signed to silence warnings.
337889857Sobrien	(elf64_alpha_relocate_section): Likewise.
337989857Sobrien	(elf64_alpha_find_reloc_at_ofs): Fix warnings.
338089857Sobrien	(elf64_alpha_add_symbol_hook): Likewise.
338189857Sobrien	(elf64_alpha_final_link): Likewise.
338289857Sobrien	(elf64_alpha_relax_section): Remove redundant assign to info.gotent.
338389857Sobrien	(elf64_alpha_merge_gots): Add ATTRIBUTE_UNUSED to unused args.
338489857Sobrien	(elf64_alpha_size_got_sections): Likewise.
338589857Sobrien	* elfxx-ia64.c: Add missing prototypes.
338689857Sobrien	(elfNN_ia64_relocate_section): Fix warning.
338789857Sobrien	(elfNN_ia64_unwind_entry_compare): Make params const.
338889857Sobrien
338989857Sobrien2001-08-17  Alan Modra  <amodra@bigpond.net.au>
339089857Sobrien
339189857Sobrien	* config.bfd (targ64_selvecs): New.
339289857Sobrien	<powerpc-*-aix* entry>: Use it here instead of ineffectual #ifdef.
339389857Sobrien
339489857Sobrien	* bfd-in.h (BFD_VERSION): Remove wrong comment.
339589857Sobrien	(BFD_DEFAULT_TARGET_SIZE): New.
339689857Sobrien	(BFD_ARCH_SIZE): Comment.
339789857Sobrien	* configure.in (target_size): New.  Set instead of target64 in
339889857Sobrien	selvecs case statement.  Set target64 from it.
339989857Sobrien	(bfd_default_target_size): New.  Set from taget_size. AC_SUBST.
340089857Sobrien	* bfd-in2.h: Regenerate.
340189857Sobrien	* configure: Regenerate.
340289857Sobrien
340389857Sobrien2001-08-17  Alan Modra  <amodra@bigpond.net.au>
340489857Sobrien
340589857Sobrien	* bfd.c (enum bfd_error): Add bfd_error_wrong_object_format.
340689857Sobrien	(bfd_errmsgs): Add corresponding message.
340789857Sobrien	* archive.c (bfd_generic_archive_p): Don't release bfd_ardata when
340889857Sobrien	finding an archive that contains different format object files.
340989857Sobrien	Return bfd_error_wrong_object_format for this case.
341089857Sobrien	* format.c: Formatting fixes.  s/CONST/const/.
341189857Sobrien	(bfd_check_format_matches): Accept archives that give
341289857Sobrien	bfd_error_wrong_object_format if no full match is found.  Tidy
341389857Sobrien	code handling matching_vector.  Don't return a pointer to freed
341489857Sobrien	memory in `matching'.  Handle ambiguous matches as for partial
341589857Sobrien	archive matches.
341689857Sobrien	* bfd-in2.h: Regenerate.
341789857Sobrien
341889857Sobrien2001-08-15  Alan Modra  <amodra@bigpond.net.au>
341989857Sobrien
342089857Sobrien	* libieee.h (common_header_type): Add last_byte field.
342189857Sobrien
342289857Sobrien	* ieee.c: Add missing prototypes.  Some format fixes.
342389857Sobrien	(struct output_buffer_struct): Move for availability to prototypes.
342489857Sobrien	(ieee_part_after): New function.
342589857Sobrien	(ieee_slurp_debug): Use it here.
342689857Sobrien	(ieee_seek): Pass in ieee_data_struct rather than bfd.  Use
342789857Sobrien	ieee_part_after to set last_byte to one past end of current part.
342889857Sobrien	Update callers.
342989857Sobrien	(ieee_pos): Pass in ieee_data_struct rather than bfd.
343089857Sobrien	Update callers.
343189857Sobrien	(parse_expression): Don't go beyond the end of the current part.
343289857Sobrien	(ieee_slurp_external_symbols): Correct type passed to read_2bytes.
343389857Sobrien	(ieee_get_symtab_upper_bound, ieee_get_symtab,
343489857Sobrien	ieee_get_symbol_info, ieee_print_symbol, ieee_new_section_hook,
343589857Sobrien	ieee_get_reloc_upper_bound, ieee_canonicalize_reloc, block,
343689857Sobrien	ieee_set_section_contents, ieee_write_object_contents,
343789857Sobrien	ieee_make_empty_symbol): Make static.
343889857Sobrien	(ieee_archive_p): Correct comments regarding bfd_read.
343989857Sobrien	(ieee_object_p): Similarly.
344089857Sobrien	(ieee_mkobject): Move it.  Clear output_ptr_start, output_ptr,
344189857Sobrien	output_ptr_end, input_ptr_start, input_ptr, input_ptr_end,
344289857Sobrien	input_bfd, output_bfd, output_buffer.
344389857Sobrien	(do_as_repeat): Write out ieee_set_current_pc_enum value as for
344489857Sobrien	do_with_relocs, ie. as a symbol for relocatable files.
344589857Sobrien	(ieee_vec): Add comments showing functions referenced by macros.
344689857Sobrien
344789857Sobrien2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
344889857Sobrien
344989857Sobrien	* aout-tic30.c: Add missing prototypes.  Fix formatting.
345089857Sobrien	* aout-ns32k.c: Add missing prototypes.  Fix formatting.
345189857Sobrien	* peXXigen.c: Add missining prototypes.  Fix formatting.
345289857Sobrien	* aout-adobe.c: Add missining prototypes.  Fix formatting.
345389857Sobrien
345489857Sobrien2001-08-13  Nick Clifton  <nickc@cambridge.redhat.com>
345589857Sobrien
345689857Sobrien	* elf32-v850.c: Add missing function prototypes.
345789857Sobrien	Fix some formatting.
345889857Sobrien
345989857Sobrien	* cpu-v850.c: Add missing function prototype.
346089857Sobrien	Fix some formatting.
346189857Sobrien
346289857Sobrien2001-08-11  Nick Clifton  <nickc@cambridge.redhat.com>
346389857Sobrien
346489857Sobrien	* elf-bfd.h (struct elf_backend_data): Add new fields
346589857Sobrien	'elf_backend_sprintf_vma' and 'elf_backend_fprintf_vma'.
346689857Sobrien	(bfd_elf_sprintf_vma): Rename function prototype to
346789857Sobrien	'_bfd_elf_sprintf_vma'.
346889857Sobrien	(bfd_elf_fprintf_vma): Rename function prototype to
346989857Sobrien	'_bfd_elf_fprintf_vma'.
347089857Sobrien	* bfd.c (bfd_sprintf_vma): Do not invoke bfd_elf_sprintf_vma
347189857Sobrien	directly, instead indirect via the elf_backend_data structure.
347289857Sobrien	(bfd_fprintf_vma): Do not invoke bfd_elf_fprintf_vma directly,
347389857Sobrien	instead indirect via the elf_backend_data structure.
347489857Sobrien	* elf.c (bfd_elf_sprintf_vma): Rename to _bfd_elf_sprintf_vma.
347589857Sobrien	(bfd_elf_fprintf_vma): Rename to _bfd_elf_fprintf_vma.
347689857Sobrien	* elfxx-target.h (elf_backend_sprintf_vma): Initialise if not
347789857Sobrien	already defined.
347889857Sobrien	(elf_backend_fprintf_vma): Initialise if not already defined.
347989857Sobrien	(struct elf_backend_data): Initialise the
348089857Sobrien	elf_backend_sprintf_vma and elf_backend_fprintf_vma fields.
348189857Sobrien
348289857Sobrien2001-08-10  Andreas Jaeger  <aj@suse.de>
348389857Sobrien
348489857Sobrien	* elf64-sparc.c: Add missing prototypes.
348589857Sobrien	* elf32-cris.c: Likewise.
348689857Sobrien	* elf32-i370.c: Likewise.
348789857Sobrien	* elf64-hppa.c: Likewise.
348889857Sobrien	* elf64-s390.c: Likewise.
348989857Sobrien
349089857Sobrien2001-08-10  Andreas Jaeger  <aj@suse.de>
349189857Sobrien
349289857Sobrien	* elf64-x86-64.c (elf64_x86_64_elf_object_p): Make static.
349389857Sobrien	Add prototypes where needed.
349489857Sobrien
349589857Sobrien2001-08-10  H.J. Lu  <hjl@gnu.org>
349689857Sobrien
349789857Sobrien	* bfd.c (bfd_sprintf_vma): Fix a typo in the last change.
349889857Sobrien	(bfd_fprintf_vma): Likewise.
349989857Sobrien
350089857Sobrien2001-08-10  H.J. Lu  <hjl@gnu.org>
350189857Sobrien
350289857Sobrien	* bfd.c (bfd_sprintf_vma): Don't return void.
350389857Sobrien	(bfd_fprintf_vma): Likewise.
350489857Sobrien
350589857Sobrien2001-08-10  Andreas Jaeger  <aj@suse.de>
350689857Sobrien
350789857Sobrien	* configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
350889857Sobrien	to build warnings.
350989857Sobrien	* configure: Regenerate.
351089857Sobrien
351189857Sobrien2001-08-10  Alan Modra  <amodra@bigpond.net.au>
351289857Sobrien
351389857Sobrien	* elf.c (bfd_elf_sprintf_vma): Add ATTRIBUTE_UNUSED to quiet
351489857Sobrien	warning if not BFD64.  Add braces so emacs auto format works.
351589857Sobrien	(bfd_elf_fprintf_vma): Likewise.
351689857Sobrien
351789857Sobrien	* libxcoff.h (struct xcoff_backend_data_rec): Constify src param
351889857Sobrien	of _xcoff_swap_ld*.
351989857Sobrien	* coff-rs6000.c (xcoff_swap_ldhdr_in): Modify type of external
352089857Sobrien	param to agree with libxcoff.h.
352189857Sobrien	(xcoff_swap_ldhdr_out): Likewise.
352289857Sobrien	(xcoff_swap_ldsym_in): Likewise.
352389857Sobrien	(xcoff_swap_ldsym_out): Likewise.
352489857Sobrien	(xcoff_swap_ldrel_in): Likewise.
352589857Sobrien	(xcoff_swap_ldrel_out): Likewise.
352689857Sobrien	(xcoff_create_csect_from_smclas): Likewise.
352789857Sobrien	* coff64-rs6000.c: Add missing prototypes.
352889857Sobrien	(xcoff64_swap_ldhdr_in): Modify type of external param to agree
352989857Sobrien	with libxcoff.h.
353089857Sobrien	(xcoff64_swap_ldhdr_out): Likewise.
353189857Sobrien	(xcoff64_swap_ldsym_in): Likewise.
353289857Sobrien	(xcoff64_swap_ldsym_out): Likewise.
353389857Sobrien	(xcoff64_swap_ldrel_in): Likewise.
353489857Sobrien	(xcoff64_swap_ldrel_out): Likewise.
353589857Sobrien	(xcoff64_ppc_relocate_section): Make static.
353689857Sobrien	(xcoff64_slurp_armap): Likewise.
353789857Sobrien	(xcoff64_archive_p): Likewise.
353889857Sobrien	(xcoff64_openr_next_archived_file): Likewise.
353989857Sobrien	(xcoff64_sizeof_headers): Likewise.
354089857Sobrien	(xcoff64_is_lineno_count_overflow): Likewise.
354189857Sobrien	(xcoff64_is_reloc_count_overflow): Likewise.
354289857Sobrien	(xcoff64_loader_symbol_offset): Likewise.
354389857Sobrien	(xcoff64_loader_reloc_offset): Likewise.
354489857Sobrien	* elf64-gen.c: Add missing prototypes.
354589857Sobrien
354689857Sobrien2001-08-09  H.J. Lu  <hjl@gnu.org>
354789857Sobrien
354889857Sobrien	* elf.c (bfd_elf_sprintf_vma): Check ELFCLASS64 only in BFD64.
354989857Sobrien	(bfd_elf_fprintf_vma): Likewise.
355089857Sobrien
355189857Sobrien2001-08-09  H.J. Lu  <hjl@gnu.org>
355289857Sobrien
355389857Sobrien	* bfd-in.h (bfd_elf_sprintf_vma, bfd_elf_fprintf_vma): Moved
355489857Sobrien	to ...
355589857Sobrien	* elf-bfd.h: Here.
355689857Sobrien	* bfd-in2.h: Regenerated.
355789857Sobrien
355889857Sobrien2001-08-09  H.J. Lu  <hjl@gnu.org>
355989857Sobrien
356089857Sobrien	* bfd-in.h (bfd_sprintf_vma): New prototype.
356189857Sobrien	(bfd_fprintf_vma): Likewise.
356289857Sobrien	(bfd_elf_sprintf_vma): Likewise.
356389857Sobrien	(bfd_elf_fprintf_vma): Likewise.
356489857Sobrien	(bfd_printf_vma): New. Defined with bfd_fprintf_vma.
356589857Sobrien	* bfd-in2.h: Regenerated.
356689857Sobrien
356789857Sobrien	* bfd.c (bfd_sprintf_vma): New. Defined.
356889857Sobrien	(bfd_fprintf_vma): Likewise.
356989857Sobrien
357089857Sobrien	* elf.c (bfd_elf_sprintf_vma): New. Defined.
357189857Sobrien	(bfd_elf_fprintf_vma): Likewise.
357289857Sobrien
357389857Sobrien2001-08-09  Alan Modra  <amodra@bigpond.net.au>
357489857Sobrien
357589857Sobrien	* coff-rs6000.c: Add missing prototypes.
357689857Sobrien	(xcoff_ppc_relocate_section, xcoff_is_lineno_count_overflow,
357789857Sobrien	xcoff_is_reloc_count_overflow, xcoff_loader_symbol_offset,
357889857Sobrien	xcoff_loader_reloc_offset): Make static.
357989857Sobrien	* dwarf1.c: Add missing prototypes.
358089857Sobrien	* dwarf2.c: Add missing prototypes.
358189857Sobrien	(struct abbrev_info): Move definition.
358289857Sobrien	(struct attr_abbrev, ABBREV_HASH_SIZE, ATTR_ALLOC_CHUNK): Likewise.
358389857Sobrien	* elf.c: Add missing prototypes.
358489857Sobrien	* elf32-gen.c: Likewise.
358589857Sobrien	* elf32-i386.c: Likewise.
358689857Sobrien	* elf32-ppc.c: Likewise.
358789857Sobrien	(ppc_elf_sort_rela): Use PTR instead of "void *".
358889857Sobrien	* elflink.h: Add missing prototypes.  Formatting fixes.
358989857Sobrien	* merge.c: Add missing prototypes.
359089857Sobrien	(last4_eq): Use PTR instead of "void *".
359189857Sobrien	(last_eq): Likewise.
359289857Sobrien	* syms.c: Add missing prototypes.
359389857Sobrien
359489857Sobrien2001-08-09  Nick Clifton  <nickc@cambridge.redhat.com>
359589857Sobrien
359689857Sobrien	* bfd.c: Fix formatting.
359789857Sobrien	* bfd-in2.h: Regenerate.
359889857Sobrien
359989857Sobrien2001-08-09  Nick Clifton  <nickc@cambridge.redhat.com>
360089857Sobrien
360189857Sobrien	* elf32-arc.c (R_ARC_B22_PCREL): Change 'partial_inplace' to
360289857Sobrien	true (this target uses REL relocations) and 'pcrel_offset' to
360389857Sobrien	false (the PC is implied, not stored in the offset).
360489857Sobrien
360589857Sobrien2001-08-08  Alan Modra  <amodra@bigpond.net.au>
360689857Sobrien
360789857Sobrien	1999-10-19  Linus Nordberg  <linus@swox.se>
360889857Sobrien	* elf-bfd.h (struct elf_backend_data): Add want_got_sym.
360989857Sobrien	* elfxx-target.h (elf_backend_want_got_sym): Define.
361089857Sobrien	(elfNN_bed): Add elf_backend_want_got_sym.
361189857Sobrien	* elflink.c (_bfd_elf_create_got_section): Define
361289857Sobrien	_GLOBAL_OFFSET_TABLE_ only if bed->want_got_sym.
361389857Sobrien
361489857Sobrien2001-08-08  Alexandre Oliva  <aoliva@redhat.com>
361589857Sobrien
361689857Sobrien	* dwarf2.c (struct dwarf2_debug): Add sec, sec_info_ptr and syms.
361789857Sobrien	(find_rela_addend): New function.
361889857Sobrien	(parse_comp_unit): Call it to find the abbrev offset addend.
361989857Sobrien	(_bfd_dwarf2_find_nearest_line): Initialize and maintain the new
362089857Sobrien	members of dwarf2_debug as debugging information is read.
362189857Sobrien
362289857Sobrien2001-08-07  Nick Clifton  <nickc@cambridge.redhat.com>
362389857Sobrien
362489857Sobrien	* coff-sh.c (sh_coff_reloc_type_lookup): Provide for sh-coff
362589857Sobrien	targets as well as sh-pe.
362689857Sobrien
362789857Sobrien2001-08-03  Ben Harris <bjh21@netbsd.org>
362889857Sobrien
362989857Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Include offset of
363089857Sobrien	reloc from start of section when computing value for R_ARM_REL32
363189857Sobrien	reloc.
363289857Sobrien
363389857Sobrien2001-08-03  Alan Modra  <amodra@bigpond.net.au>
363489857Sobrien
363589857Sobrien	From  H.J. Lu  <hjl@gnu.org>
363689857Sobrien	* elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Don't
363789857Sobrien	keep relocs for undefined syms if there are no dynamic sections in
363889857Sobrien	executable.
363989857Sobrien	* elf32-hppa.c (allocate_plt_and_got_and_discard_relocs): Likewise.
364089857Sobrien
364189857Sobrien2001-08-02  Paul Sokolovsky  <paul.sokolovsky@technologist.com>
364289857Sobrien
364389857Sobrien	* cofflink.c (coff_link_check_ar_symbols): also search for
364489857Sobrien	__imp__symbol as well as _symbol.
364589857Sobrien	* linker.c (_bfd_generic_link_add_archive_symbols): also
364689857Sobrien	search for __imp__symbol as well as _symbol.
364789857Sobrien
364889857Sobrien2001-08-01  Adam Nemet  <anemet@lnxw.com>
364989857Sobrien
365089857Sobrien	* elf.c (elf_sort_sections): Return zero only as the last step.
365189857Sobrien
365289857Sobrien2001-08-01  Nick Clifton  <nickc@cambridge.redhat.com>
365389857Sobrien
365489857Sobrien	* config.bfd (arm-vxworks): Change name of define from VXWORKS to
365589857Sobrien	ARM_COFF_BUGFIX.
365689857Sobrien	(arm-epoc-pe): Define ARM_COFF_BUGFIX.
365789857Sobrien	coff-arm.c (coff_arm_relocate_section): Replace VXWORKS with
365889857Sobrien	ARM_COFF_BUGFIX.
365989857Sobrien
366089857Sobrien2001-07-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
366189857Sobrien
366289857Sobrien	* libecoff.h (_bfd_ecoff_styp_to_sec_flags): Changed return type
366389857Sobrien	to match corresponding bfd_coff_backend data member.
366489857Sobrien
366589857Sobrien2001-07-24  Alan Modra  <amodra@bigpond.net.au>
366689857Sobrien
366789857Sobrien	* Makefile.am: Update dependencies with "make dep-am".
366889857Sobrien	* Makefile.in: Regenerate
366989857Sobrien
367089857Sobrien2001-07-15  H.J. Lu  <hjl@gnu.org>
367189857Sobrien
367289857Sobrien	* Makefile.am (po/SRC-POTFILES.in): Use tmp.src instead of tmp.
367389857Sobrien	(po/BLD-POTFILES.in): Use tmp.bld instead of tmp.
367489857Sobrien	* Makefile.in: Regenerate.
367589857Sobrien
367689857Sobrien2001-07-11  H.J. Lu  <hjl@gnu.org>
367789857Sobrien
367889857Sobrien	* elf64-alpha.c (elf64_alpha_check_relocs): Set the ALLOC|LOAD
367989857Sobrien	flags when creating the reloc section if the ALLOC flag in the
368089857Sobrien	source section is set.
368189857Sobrien
368289857Sobrien2001-07-11  Steve Ellcey  <sje@cup.hp.com>
368389857Sobrien
368489857Sobrien	* reloc.c (bfd_reloc_code_type): Add IA64 relocs
368589857Sobrien	BFD_RELOC_IA64_LTOFF_FPTR32MSB and BFD_RELOC_IA64_LTOFF_FPTR32LSB
368689857Sobrien	* bfd-in2.h: Regenerate.
368789857Sobrien	* libbfd.h: Regenerate.
368889857Sobrien	* elfxx-ia64.c (ia64_howto_table): Define how to handle
368989857Sobrien	new relocations.
369089857Sobrien	(elfNN_ia64_reloc_type_lookup): Handle new relocations.
369189857Sobrien	(elfNN_ia64_check_relocs): Likewise.
369289857Sobrien	(elfNN_ia64_install_value): Likewise.
369389857Sobrien	(elfNN_ia64_relocate_section): Likewise.
369489857Sobrien
369589857Sobrien2001-07-11  Jakub Jelinek  <jakub@redhat.com>
369689857Sobrien
369789857Sobrien	* elf32-sparc.c (_bfd_sparc_elf_howto_table): Remove support for
369889857Sobrien	R_SPARC_UA64.
369989857Sobrien	(elf32_sparc_check_relocs): Likewise.
370089857Sobrien	Only create .rela section for alloced sections in shared libraries.
370189857Sobrien	(elf32_sparc_relocate_section): Likewise.
370289857Sobrien	Remove redundant check.
370389857Sobrien	Optimize unaligned reloc usage.
370489857Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Remove redundant
370589857Sobrien	check.
370689857Sobrien
370789857Sobrien2001-07-11  H.J. Lu  <hjl@gnu.org>
370889857Sobrien
370989857Sobrien	* elf64-alpha.c (elf64_alpha_check_relocs): Only use the same
371089857Sobrien	ALLOC|LOAD flags as the source section for debugging sections
371189857Sobrien	when creating the reloc section.
371289857Sobrien
371389857Sobrien2001-07-05  Jim Wilson  <wilson@redhat.com>
371489857Sobrien
371589857Sobrien	* linker.c (_bfd_generic_link_add_one_symbol, case BIG): Use
371689857Sobrien	the section of the bigger symbol.
371789857Sobrien
371889857Sobrien	* syms.c (bfd_is_local_label): Return false if BSF_SECTION_SYM.
371989857Sobrien
372089857Sobrien2001-07-05  Nick Clifton  <nickc@cambridge.redhat.com>
372189857Sobrien
372289857Sobrien	* peicode.h (coff_swap_scnhdr_in): For sections containing
372389857Sobrien	uninitialised data, only set their size to s_paddr if this does
372489857Sobrien	not reset their size to zero.  MS's latest compilers will set
372589857Sobrien	s_paddr to zero.
372689857Sobrien
372789857Sobrien2001-07-04  H.J. Lu  <hjl@gnu.org>
372889857Sobrien
3729130561Sobrien	* elf32-mips.c (_bfd_mips_elf_final_write_processing):
373089857Sobrien	Handle bfd_mach_mips4400, bfd_mach_mips4600 and
373189857Sobrien	bfd_mach_mips5000.
373289857Sobrien
373389857Sobrien2001-07-03  Mark Elbrecht  <snowball3@softhome.net>
373489857Sobrien
373589857Sobrien	* bfd.c (bfd_get_sign_extend_vma): Support DJGPP COFF targets.
373689857Sobrien
373789857Sobrien	* cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols from
373889857Sobrien	sections being discarded.
373989857Sobrien
374089857Sobrien2001-06-30  Alan Modra  <amodra@bigpond.net.au>
374189857Sobrien
374289857Sobrien	* elfcore.h (elf_core_file_p): Call bfd_section_from_phdr directly
374389857Sobrien	instead of _bfd_elfcore_section_from_phdr.
374489857Sobrien	* elf-bfd.h (_bfd_elfcore_section_from_phdr): Remove.
374589857Sobrien	* elf.c (_bfd_elfcore_section_from_phdr): Remove.
374689857Sobrien	(_bfd_elfcore_make_pseudosection): Expedite tail-call.
374789857Sobrien	(elfcore_grok_prstatus): Likewise.
374889857Sobrien	(elfcore_grok_lwpstatus): Likewise.
374989857Sobrien	(bfd_get_elf_phdr_upper_bound): Likewise.
375089857Sobrien	(elfcore_make_note_pseudosection): Formatting.
375189857Sobrien	(_bfd_elfcore_strndup): Formatting.
375289857Sobrien	* elf32-mips.c (mips_elf_sym_is_global): Formatting.
375389857Sobrien	(_bfd_elf32_mips_grok_prstatus): Expedite tail-call.
375489857Sobrien
375589857Sobrien2001-06-29  Daniel Jacobowitz  <drow@mvista.com>
375689857Sobrien
375789857Sobrien	* elf-bfd.h: Add prototypes for _bfd_elfcore_make_pseudosection
375889857Sobrien	and _bfd_elfcore_strndup.
375989857Sobrien	(struct elf_backend_data): Add elf_backend_grok_prstatus
376089857Sobrien	and elf_backend_grok_psinfo.
376189857Sobrien	* elf.c (_bfd_elfcore_make_pseudosection): New function.
376289857Sobrien	(elfcore_grok_prstatus): Use it.
376389857Sobrien	(elfcore_make_note_pseudosection): Likewise.
376489857Sobrien	(elfcore_strndup):  Rename to...
376589857Sobrien	(_bfd_elfcore_strndup): Here, and make global.
376689857Sobrien	(elfcore_grok_psinfo): Use _bfd_elfcore_strndup.
376789857Sobrien	(elfcore_grok_note): Call elf_backend_grok_prstatus
376889857Sobrien	and elf_backend_grok_psinfo if available.
376989857Sobrien	* elf32-mips.c (_bfd_elf32_mips_grok_prstatus): New function.
377089857Sobrien	(_bfd_elf32_mips_grok_psinfo): New function.
377189857Sobrien	(elf_backend_grok_prstatus): Define.
377289857Sobrien	(elf_backend_grok_psinfo): Define.
377389857Sobrien	* elfxx-target.h (elf_backend_grok_prstatus): Default to NULL.
377489857Sobrien	(elf_backend_grok_psinfo): Likewise.
377589857Sobrien	(elfNN_bed): Include elf_backend_grok_prstatus and
377689857Sobrien	elf_backend_grok_psinfo.
377789857Sobrien
377889857Sobrien2001-06-29  H.J. Lu  <hjl@gnu.org>
377989857Sobrien
378089857Sobrien	* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Check if
378189857Sobrien	hplink->sgot is NULL before filling GOT.  Check if hplink->splt
378289857Sobrien	is NULL before filling PLT.
378389857Sobrien
378489857Sobrien2001-06-29  Alan Modra  <amodra@bigpond.net.au>
378589857Sobrien
378689857Sobrien	* elflink.h (elf_link_output_extsym): Revert 1999-04-10.
378789857Sobrien
378889857Sobrien2001-06-27  Alan Modra  <amodra@bigpond.net.au>
378989857Sobrien
379089857Sobrien	* elf32-hppa.c (elf32_hppa_check_relocs): Don't make syms dynamic
379189857Sobrien	here..
379289857Sobrien	(elf32_hppa_adjust_dynamic_symbol): ..nor here..
379389857Sobrien	(allocate_plt_and_got_and_discard_relocs): .. instead do so here
379489857Sobrien	after gc has run.
379589857Sobrien
379689857Sobrien	* elf32-hppa.c (RELATIVE_DYNAMIC_RELOCS): Delete.
379789857Sobrien	(IS_ABSOLUTE_RELOC): Define.
379889857Sobrien	(elf32_hppa_link_hash_entry): Always include reloc_entries field.
379989857Sobrien	(hppa_link_hash_newfunc): Always init it.
380089857Sobrien	(elf32_hppa_check_relocs): Mark symbols as ELF_LINK_NON_GOT_REF to
380189857Sobrien	create COPY relocs only when the reloc is in a read-only section.
380289857Sobrien	Instead, allocate space for a dynamic reloc to reference the
380389857Sobrien	library symbol directly.  Keep track of space we allocate using
380489857Sobrien	relocs_entries.
380589857Sobrien	(hppa_discard_copies): Delete, and move code to..
380689857Sobrien	(allocate_plt_and_got): ..here.  Rename to
380789857Sobrien	allocate_plt_and_got_and_discard_relocs.  Remove unneeded dynamic
380889857Sobrien	relocs for non-shared link.
380989857Sobrien	(elf32_hppa_size_dynamic_sections): Update calls to above.
381089857Sobrien	(elf32_hppa_relocate_section): Write out the dynamic relocs used
381189857Sobrien	in lieu of COPY relocs.
381289857Sobrien
381389857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Don't make syms dynamic
381489857Sobrien	here..
381589857Sobrien	(elf_i386_adjust_dynamic_symbol): ..nor here..
381689857Sobrien	(allocate_plt_and_got_and_discard_relocs): .. instead do so here
381789857Sobrien	after gc has run.
381889857Sobrien	(elf_i386_size_dynamic_sections): Fix a comment.
381989857Sobrien	(elf_i386_relocate_section <R_386_32, R_386_PC32>): Rearrange code
382089857Sobrien	involved in writing reloc out.
382189857Sobrien
382289857Sobrien2001-06-25  Alan Modra  <amodra@bigpond.net.au>
382389857Sobrien
382489857Sobrien	* elf32-i386.c (elf_i386_check_relocs <R_386_32, R_386_PC32>):
382589857Sobrien	Ensure syms are dynamic if we might be emitting a reloc.
382689857Sobrien	(allocate_plt_and_got_and_discard_relocs): Don't discard relocs
382789857Sobrien	for undefweak or undefined syms..
382889857Sobrien	(elf_i386_relocate_section <R_386_32, R_386_PC32>): .. and emit.
382989857Sobrien
383089857Sobrien	* elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Discard
383189857Sobrien	relocs without ELF_LINK_HASH_DEF_DYNAMIC set.
383289857Sobrien	(elf_i386_relocate_section <R_386_32, R_386_PC32>): Remove
383389857Sobrien	redundant bfd_link_hash_defined, bfd_link_hash_defweak test.
383489857Sobrien
383589857Sobrien2001-06-24  H.J. Lu  <hjl@gnu.org>
383689857Sobrien
383789857Sobrien	* cpu-i960.c (scan_960_mach): Don't modify const char *. Use
383889857Sobrien	strncasecmp/strcasecmp instead of strncmp/strcmp.
383989857Sobrien
384089857Sobrien2001-06-23  H.J. Lu  <hjl@gnu.org>
384189857Sobrien
384289857Sobrien	* elf32-i386.c (elf_i386_relocate_section <R_386_32, R_386_PC32>):
384389857Sobrien	Check ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined
384489857Sobrien	in the regular object file and treat the weak definition as
384589857Sobrien	the normal one.
384689857Sobrien
384789857Sobrien2001-06-23  Alan Modra  <amodra@bigpond.net.au>
384889857Sobrien
384989857Sobrien	* elf32-i386.c (elf_i386_relocate_section <R_386_GOT32>): Tighten
385089857Sobrien	unresolved_reloc test to exclude cases where we use "relocation"
385189857Sobrien	before setting it to point into the .got.  Reinstate fudge for
385289857Sobrien	unresolved relocs in debugging sections.
385389857Sobrien
385489857Sobrien	* elf32-i386.c (elf_i386_relocate_section): Replace ugly
385589857Sobrien	complicated tests for unresolvable relocs with a simple direct
385689857Sobrien	scheme using "unresolved_reloc" var.
385789857Sobrien
385889857Sobrien	* elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Rename to
385989857Sobrien	elf_i386_dyn_relocs.  Update comment.
386089857Sobrien	(struct elf_i386_link_hash_entry): Rename pcrel_relocs_copied to
386189857Sobrien	dyn_relocs.
386289857Sobrien	(elf_i386_adjust_dynamic_symbol): Remove a BFD_ASSERT, change
386389857Sobrien	others to aborts.
386489857Sobrien	(allocate_plt_and_got_and_discard_relocs): Replace BFD_ASSERT with
386589857Sobrien	abort.
386689857Sobrien	(elf_i386_size_dynamic_sections): Likewise.
386789857Sobrien	(elf_i386_finish_dynamic_symbol): Likewise.
386889857Sobrien	(elf_i386_finish_dynamic_sections): Likewise.
386989857Sobrien	(elf_i386_relocate_section): Likewise.  Tidy R_386_GOT32 and error
387089857Sobrien	handling code.
387189857Sobrien
387289857Sobrien	Avoid creating COPY relocs if possible.
387389857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Tweak condition under
387489857Sobrien	which .got created.  Mark symbols used by R_386_32 and R_386_PC32
387589857Sobrien	relocs as ELF_LINK_NON_GOT_REF to create COPY relocs only when the
387689857Sobrien	reloc is in a read-only section.  Instead, allocate space for a
387789857Sobrien	dynamic reloc to reference the library symbol directly.  Keep
387889857Sobrien	track of space we allocate using pcrel_relocs_copied.
387989857Sobrien	(discard_copies): Delete, and move code to ..
388089857Sobrien	(allocate_plt_and_got): ..here.  Rename to
388189857Sobrien	allocate_plt_and_got_and_discard_relocs.  Remove unneeded dynamic
388289857Sobrien	relocs for non-shared link.
388389857Sobrien	(elf_i386_size_dynamic_sections): Update calls to above functions.
388489857Sobrien	(elf_i386_relocate_section): Write out the dynamic relocs.  Add
388589857Sobrien	more ugly logic to avoid "unresolvable relocation" error.  Use
388689857Sobrien	htab shortcut in place of elf_hash_table macro.
388789857Sobrien	(elf_i386_finish_dynamic_sections): Allow that dynamic .got may
388889857Sobrien	not always be created now.
388989857Sobrien
389089857Sobrien2001-06-20  Bo Thorsen  <bo@suse.co.uk>
389189857Sobrien
389289857Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Fix linking of
389389857Sobrien	shared libraries.
389489857Sobrien
389589857Sobrien2001-06-18  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
389689857Sobrien
389789857Sobrien	* configure.host (mips64-*-linux): Reformat.
389889857Sobrien
389989857Sobrien2001-06-21  Alan Modra  <amodra@bigpond.net.au>
390089857Sobrien
390189857Sobrien	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Always
390289857Sobrien	allocate local .got space.  Use shortcuts from hash table for .got
390389857Sobrien	and .plt rather than comparing section names.
390489857Sobrien	(elf32_hppa_check_relocs): Use local_plt_refcounts var rather than
390589857Sobrien	adjusting index into local_got_refcounts to document what we are
390689857Sobrien	really doing.
390789857Sobrien	(elf32_hppa_relocate_section): Similarly for local_plt_offsets.
390889857Sobrien	Tidy .got and .plt error checking.
390989857Sobrien
391089857Sobrien2001-06-20  Catherine Moore  <clm@redhat.com>
391189857Sobrien
391289857Sobrien	* elf-bfd.h (struct elf_backend_data):
391389857Sobrien	elf_backend_emit_relocs: New field: Function for emitting
391489857Sobrien	relocs.
391589857Sobrien	elf_backend_count_relocs: New field: Function for determining
391689857Sobrien	the number of relocs to be emitted.
391789857Sobrien	* elfxx-target.h: Provide default (NULL) values for
391889857Sobrien	elf_backend_emit_relocs and elf_backend_count_relocs.
391989857Sobrien	* elflink.h (elf_link_size_reloc_section): Make the hash table
392089857Sobrien	big enough to hold the relocs counted by either reloc_count or
392189857Sobrien	o->reloc_count.
392289857Sobrien	(elf_bfd_final_link) emit_relocs: New boolean, set if relocs
392389857Sobrien	should be emitted, either because of a command line option
392489857Sobrien	stored in the info structure or because the target provides a
392589857Sobrien	special reloc emitting function.
392689857Sobrien	If the target provides a reloc counting function use it,
392789857Sobrien	unless performing a relocatable link or emitting all relocs.
392889857Sobrien	Also set the SEC_RELOC flag on any output section which will
392989857Sobrien	contain relocs.
393089857Sobrien	(elf_link_input_bfd): emit_relocs: New boolean, set if relocs
393189857Sobrien	should be emitted, either because of a command line option
393289857Sobrien	stored in the info structure or because the target provides a
393389857Sobrien	special reloc emitting function.
393489857Sobrien	If the target provides a reloc emitting function, use it,
393589857Sobrien	unless performing a relocatable link or emitting all relocs.
393689857Sobrien
393789857Sobrien2001-06-20  H.J. Lu  <hjl@gnu.org>
393889857Sobrien
393989857Sobrien	* elf32-i386.c (elf_i386_size_dynamic_sections): Always
394089857Sobrien	allocate local .got space.
394189857Sobrien
394289857Sobrien2001-06-19  Andreas Jaeger  <aj@suse.de>
394389857Sobrien
394489857Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Fix creation of
394589857Sobrien	dynamic symbols.
394689857Sobrien
394789857Sobrien2001-06-18  Hans-Peter Nilsson  <hp@axis.com>
394889857Sobrien
394989857Sobrien	* elflink.h (struct elf_assign_sym_version_info): Remove member
395089857Sobrien	export_dynamic.  All users changed to use info member.
395189857Sobrien	NAME(bfd_elf,size_dynamic_sections)): Remove parameter
395289857Sobrien	export_dynamic, instead use member in parameter info.
395389857Sobrien	* bfd-in.h (bfd_elf32_size_dynamic_sections,
395489857Sobrien	bfd_elf64_size_dynamic_sections): Update prototype.
395589857Sobrien	* bfd-in2.h: Regenerate.
395689857Sobrien
395789857Sobrien2001-06-18  H.J. Lu  <hjl@gnu.org>
395889857Sobrien
395989857Sobrien	* elflink.h (elf_info_failed): Add a new field, verdefs.
396089857Sobrien	(NAME(bfd_elf,size_dynamic_sections): Pass verdefs to
396189857Sobrien	elf_export_symbol.
396289857Sobrien	(elf_export_symbol): Check eif->verdefs to decide if a symbol
396389857Sobrien	should be exported.
396489857Sobrien
396589857Sobrien2001-06-17  H.J. Lu  <hjl@gnu.org>
396689857Sobrien
396789857Sobrien	* elf32-mips.c (mips_elf_link_hash_entry): Add a new field,
396889857Sobrien	readonly_reloc, to record if a relocation in the .rel.dyn
396989857Sobrien	section is against a read-only section.
397089857Sobrien	(mips_elf_link_hash_newfunc): Initialize the readonly_reloc
397189857Sobrien	field to false.
397289857Sobrien	(_bfd_mips_elf_check_relocs): Record if there is a relocation
397389857Sobrien	in the .rel.dyn section against a read-only section by setting
397489857Sobrien	DF_TEXTREL or readonly_reloc.
397589857Sobrien	(_bfd_mips_elf_copy_indirect_symbol): Copy readonly_reloc if
397689857Sobrien	it is true.
397789857Sobrien	(_bfd_mips_elf_adjust_dynamic_symbol): Record DF_TEXTREL if
397889857Sobrien	there is a relocation in the .rel.dyn section against a
397989857Sobrien	read-only section.
398089857Sobrien	(_bfd_mips_elf_size_dynamic_sections): Set DT_TEXTREL if
398189857Sobrien	DF_TEXTREL is set.
398289857Sobrien
398389857Sobrien2001-06-12  Nick Clifton  <nickc@cambridge.redhat.com>
398489857Sobrien
398589857Sobrien	* coffcode.h (styp_flags_to_sec_flags): Change to a boolean
398689857Sobrien	function.  Move flagword result into parameter list.  Remove
398789857Sobrien	comment about setting bfd_error_handler to intercept failure
398889857Sobrien	results.
398989857Sobrien	* coffgen.c (make_a_section_from_file): Examine result of
399089857Sobrien	calling bfd_coff_styp_to_sec_flags and pass a failure back to
399189857Sobrien	caller.
399289857Sobrien	* ecoff.h (styp_flags_to_sec_flags): Change to a boolean
399389857Sobrien	function.  Move flagword result into parameter list.
399489857Sobrien	* libcoff.h: Regenerate.
399589857Sobrien	* libecoff.h: Regenerate.
399689857Sobrien
399789857Sobrien2001-06-13  Nick Clifton  <nickc@cambridge.redhat.com>
399889857Sobrien
399989857Sobrien	* aoutx.h (adjust_z_magic): Only pad the tesxt section if the data
400089857Sobrien	section is going to follow it.
400189857Sobrien
400289857Sobrien2001-06-12  Catherine Moore  <clm@redhat.com>
400389857Sobrien
400489857Sobrien	* elflink.h (elf_gc_propagate_vtable_entries): Replace FILE_ALIGN
400589857Sobrien	with the file_align entry from elf_backend_data.
400689857Sobrien	(elf_gc_smash_unused_vtentry_relocs): Likewise.
400789857Sobrien	(elf_gc_record_vtentry): Likewise.
400889857Sobrien
400989857Sobrien2001-06-10  Alan Modra  <amodra@bigpond.net.au>
401089857Sobrien
401189857Sobrien	* elflink.h: Whitespace changes.
401289857Sobrien	(elf_link_read_relocs_from_section): Use "unsigned int" iterator
401389857Sobrien	rather than "unsigned char".
401489857Sobrien	(elf_link_output_relocs): Likewise.
401589857Sobrien	(elf_link_input_bfd): Likewise.
401689857Sobrien	(elf_reloc_link_order): LIkewise.
401789857Sobrien	* elf.c: s/CONST/const/.  Whitespace changes.
401889857Sobrien	* elf32-mips.c: Formatting fix.
401989857Sobrien
402089857Sobrien	* Makefile.am (SOURCE_HFILES): Include xcoff-target.h, remove xcoff.h.
402189857Sobrien	* Makefile.in: Regenerate.
402289857Sobrien	* po/Make-in: Remove trailing tab.
402389857Sobrien
402489857Sobrien2001-06-09  Philip Blundell  <philb@gnu.org>
402589857Sobrien
402689857Sobrien	* elf32-arm.h (elf32_arm_plt0_entry): Correct error in last
402789857Sobrien	change.
402889857Sobrien	(elf32_arm_plt_entry): Likewise.
402989857Sobrien
403089857Sobrien2001-06-08  H.J. Lu  <hjl@gnu.org>
403189857Sobrien
403289857Sobrien	* elf.c (swap_out_syms): Keep names for global section symbols.
403389857Sobrien
403489857Sobrien2001-06-07  H.J. Lu  <hjl@gnu.org>
403589857Sobrien
403689857Sobrien	* config.bfd: Put back ecoff for Linux/mips. Firmwares on some
403789857Sobrien	MIPS-based machines need it.
403889857Sobrien
403989857Sobrien2001-06-07  H.J. Lu  <hjl@gnu.org>
404089857Sobrien
404189857Sobrien	* elf32-mips.c (_bfd_mips_elf_object_p): Set the bad symtab
404289857Sobrien	for SGI only.
404389857Sobrien
404489857Sobrien	* config.bfd: Remove ecoff from Linux/mips.
404589857Sobrien
404689857Sobrien2001-06-07  Andreas Jaeger  <aj@suse.de>
404789857Sobrien
404889857Sobrien	* elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Add an
404989857Sobrien	assertion.
405089857Sobrien	(elf64_x86_64_check_relocs): Fix VTENTRY relocation; set an
405189857Sobrien	alignment of 8 for .rela sections; handle further relocations.
405289857Sobrien
405389857Sobrien2001-06-06  Christian Groessler <cpg@aladdin.de>
405489857Sobrien
405589857Sobrien	* coff-z8k.c: Fix formatting.
405689857Sobrien	Fix howtos: howto->size was always 1.
405789857Sobrien
405889857Sobrien2001-06-05  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
405989857Sobrien
406089857Sobrien	* configure.host (mips64*-*-linux*): Define.
406189857Sobrien
406289857Sobrien2001-06-05  Alan Modra  <amodra@bigpond.net.au>
406389857Sobrien
406489857Sobrien	* elf32-i386.c (elf_i386_discard_copies): Rename to
406589857Sobrien	discard_copies, and use elf_link_hash_entry arg rather than
406689857Sobrien	elf_i386_link_hash_entry.
406789857Sobrien	(elf_i386_link_hash_traverse): Delete.
406889857Sobrien	(elf_i386_size_dynamic_sections): Adjust call to discard_copies.
406989857Sobrien	Tidy sizing of dynamic sections.
407089857Sobrien	(elf_i386_check_relocs <R_386_32, R_386_PC32>): Reference count
407189857Sobrien	possible .plt entries.
407289857Sobrien	(elf_i386_gc_sweep_hook): Likewise.
407389857Sobrien	(elf_i386_adjust_dynamic_symbol): Discard .plt entries for
407489857Sobrien	everything with plt.refcount <= 0.
407589857Sobrien
407689857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Don't allocate .got and
407789857Sobrien	.relgot space here.
407889857Sobrien	(elf_i386_gc_sweep_hook): ..and no need to deallocate here..
407989857Sobrien	(elf_i386_adjust_dynamic_symbol): ..and don't allocate .plt and
408089857Sobrien	.rel.plt here..
408189857Sobrien	(allocate_plt_and_got): ..instead do it all here.  New function.
408289857Sobrien	(elf_i386_size_dynamic_sections): Allocate local .got space and
408389857Sobrien	call allocate_plt_and_got.  No need to zap .relgot if not dynamic.
408489857Sobrien	(bfd_elf32_bfd_final_link): Delete.  (ie. use regular final link
408589857Sobrien	rather than gc variety).
408689857Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
408789857Sobrien	(elf_i386_relocate_section): Use it here and correct handling of
408889857Sobrien	R_386_GOT32.  Provide section and offset for "unresolvable
408989857Sobrien	relocation" error message.
409089857Sobrien	(elf_i386_finish_dynamic_symbol): Correct handling of R_386_GOT32.
409189857Sobrien
409289857Sobrien	* elf32-i386.c (struct elf_i386_link_hash_table): Add sgot,
409389857Sobrien	sgotplt, srelgot, splt, srelplt, sdynbss, srelbss fields.
409489857Sobrien	(elf_i386_link_hash_table_create): Init them.
409589857Sobrien	(create_got_section): New function.
409689857Sobrien	(elf_i386_create_dynamic_sections): New function.
409789857Sobrien	(elf_backend_create_dynamic_sections): Set to above.
409889857Sobrien	(elf_i386_check_relocs): Use shortcuts from hash table rather than
409989857Sobrien	calling bfd_get_section_by_name.
410089857Sobrien	(elf_i386_gc_sweep_hook): Likewise.
410189857Sobrien	(elf_i386_adjust_dynamic_symbol): Likewise.
410289857Sobrien	(elf_i386_size_dynamic_sections): Likewise.
410389857Sobrien	(elf_i386_relocate_section): Likewise.
410489857Sobrien	(elf_i386_finish_dynamic_sections): Likewise.
410589857Sobrien
410689857Sobrien	* elf32-hppa.c (allocate_plt_and_got): Skip indirect and warning syms.
410789857Sobrien
410889857Sobrien2001-06-02  H.J. Lu  <hjl@gnu.org>
410989857Sobrien
411089857Sobrien	* elf32-hppa.c (elf32_hppa_object_p): Check ELFOSABI_LINUX
411189857Sobrien	and ELFOSABI_HPUX.
411289857Sobrien	* elf64-hppa.c (elf64_hppa_object_p): Likewise.
411389857Sobrien
411489857Sobrien2001-06-02  H.J. Lu  <hjl@gnu.org>
411589857Sobrien
411689857Sobrien	* aout-cris.c (MACHTYPE_OK): New. Defined.
411789857Sobrien
411889857Sobrien2001-06-02  Hans-Peter Nilsson  <hp@axis.com>
411989857Sobrien
412089857Sobrien	* section.c (_bfd_strip_section_from_output): Handle NULL
412189857Sobrien	output_section.
412289857Sobrien
412389857Sobrien2001-06-02  H.J. Lu  <hjl@gnu.org>
412489857Sobrien
412589857Sobrien	* config.bfd (powerpc-*-aix*, powerpc-*-beos*, rs6000-*-*): Add
412689857Sobrien	rs6000coff64_vec only if BFD64 is defined.
412789857Sobrien	(powerpc64-*-aix*): Enable only if BFD64 is defined.
412889857Sobrien
412989857Sobrien2001-06-02  H.J. Lu  <hjl@gnu.org>
413089857Sobrien
413189857Sobrien	* coff-ia64.c (ia64coff_object_p): Rewrite with
413289857Sobrien	external_PEI_DOS_hdr and external_PEI_IMAGE_hdr.
413389857Sobrien
413489857Sobrien2001-06-01  Andreas Jaeger  <aj@suse.de>
413589857Sobrien
413689857Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Add PC8
413789857Sobrien	relocation, small reformatting.
413889857Sobrien
413989857Sobrien2001-05-29  Andreas Jaeger  <aj@suse.de>
414089857Sobrien
414189857Sobrien	* elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64.
414289857Sobrien	(elf64_x86_64_relocate_section): Likewise.
414389857Sobrien
414489857Sobrien2001-05-30  Alan Modra  <amodra@one.net.au>
414589857Sobrien
414689857Sobrien	* elf32-hppa.c (elf32_hppa_check_relocs): Don't NEED_PLT for
414789857Sobrien	millicode.  Don't allocate .got and .rela.got space here..
414889857Sobrien	(elf32_hppa_gc_sweep_hook): ..and no need to deallocate here..
414989857Sobrien	(elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and
415089857Sobrien	.rela.plt here..
415189857Sobrien	(hppa_handle_PIC_calls): ..nor here..
415289857Sobrien	(allocate_plt_and_got): ..instead do it all here.  New function.
415389857Sobrien	(elf32_hppa_size_dynamic_sections): Allocate local .got space and
415489857Sobrien	call allocate_plt_and_got.  No need to zap .got if not dynamic.
415589857Sobrien	(elf32_hppa_final_link): Call regular bfd_final_link instead of
415689857Sobrien	gc_common_final_link.
415789857Sobrien	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
415889857Sobrien	(elf32_hppa_relocate_section): Use it here.
415989857Sobrien	(elf32_hppa_finish_dynamic_symbol): Remove superfluous test of
416089857Sobrien	dynamic_sections_created.
416189857Sobrien	(hppa_type_of_stub): Don't LONG_BRANCH_VIA_PLT if millicode sym.
416289857Sobrien
416389857Sobrien2001-05-28  Andreas Jaeger  <aj@suse.de>
416489857Sobrien
416589857Sobrien	* elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use the
416689857Sobrien	generic version since we want a hashsize of 4.
416789857Sobrien	(elf_backend_size_info): Likewise.
416889857Sobrien
416989857Sobrien2001-05-28  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
417089857Sobrien
417189857Sobrien	* elflink.h (elf_link_size_reloc_section): Use bfd_zmalloc instead of
417289857Sobrien	a zeroing loop.
417389857Sobrien	(elf_link_output_relocs): Handle MIPS ELF64 relocations correctly.
417489857Sobrien	(elf_link_input_bfd): Likewise.
417589857Sobrien	(elf_reloc_link_order): Likewise.
417689857Sobrien	(elf_finish_pointer_linker_section): Typo. Handle MIPS ELF64
417789857Sobrien	relocations correctly.
417889857Sobrien
417989857Sobrien2001-05-28  Nicolas Pitre <nico@cam.org>
418089857Sobrien
418189857Sobrien	* elf32-arm.h: fix PLT generation for big endian ARM
418289857Sobrien
418389857Sobrien2001-05-28  Alan Modra  <amodra@one.net.au>
418489857Sobrien
418589857Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Set up .plt entries
418689857Sobrien	for symbols forced local that need plabels.
418789857Sobrien	(elf32_hppa_adjust_dynamic_symbol): Don't allocate space in
418889857Sobrien	.plt.rela for local syms if non-shared.
418989857Sobrien	(hppa_build_one_stub): Mask lsb of plt.offset.
419089857Sobrien	(elf32_hppa_finish_dynamic_symbol): Abort if lsb of plt.offset set.
419189857Sobrien	(clobber_millicode_symbols): Correct comment.
419289857Sobrien	(elf32_hppa_relocate_section): Likewise.
419389857Sobrien	(elf32_hppa_finish_dynamic_symbol): Likewise.
419489857Sobrien
419589857Sobrien2001-05-28  Jeff Sturm  <jsturm@one-point.com>
419689857Sobrien
419789857Sobrien	* reloc.c: Add BFD_RELOC_SPARC_UA16 and BFD_RELOC_SPARC_UA64.
419889857Sobrien	* bfd-in2.h: Regenerate.
419989857Sobrien	* libbfd.h: Regenerate.
420089857Sobrien	* elf32-sparc.c: Enable BFD_RELOC_SPARC_UA16, BFD_RELOC_SPARC_UA32
420189857Sobrien	and BFD_RELOC_SPARC_UA64 mapping
420289857Sobrien	* elf64-sparc.c: Likewise.
420389857Sobrien
420489857Sobrien2001-05-25  H.J. Lu  <hjl@gnu.org>
420589857Sobrien
420689857Sobrien	* Makefile.am (BFD32_BACKENDS): Remove coff-pmac.lo.
420789857Sobrien	(BFD32_BACKENDS_CFILES): Remove coff-pmac.c.
420889857Sobrien	(coff-rs6000.lo): Remove the old dependency.
420989857Sobrien	* Makefile.in: Rebuild.
421089857Sobrien
421189857Sobrien	* configure.in (pmac_xcoff_vec): Replace coff-pmac.lo with
421289857Sobrien	coff-rs6000.lo.
421389857Sobrien
421489857Sobrien2001-05-25  H.J. Lu  <hjl@gnu.org>
421589857Sobrien
421689857Sobrien	* coff-rs6000.c (rs6000coff_vec): Use rs6000coff_core_p,
421789857Sobrien	rs6000coff_core_file_matches_executable_p,
421889857Sobrien	rs6000coff_core_file_failing_command and
421989857Sobrien	rs6000coff_core_file_failing_signal only if AIX_CORE is
422089857Sobrien	defined.
422189857Sobrien	(pmac_xcoff_vec): Likewise.
422289857Sobrien	* coff64-rs6000.c (rs6000coff64_vec): Likewise.
422389857Sobrien
422489857Sobrien2001-05-25  Timothy Wall  <twall@redhat.com>
422589857Sobrien
422689857Sobrien	* elfxx-ia64.c (allocate_dynrel_entries): Don't allocate an entry
422789857Sobrien	for __GLOB_DATA_PTR on AIX5.  Clean up some relocation bugs.
422889857Sobrien
422989857Sobrien2001-05-25  H.J. Lu  <hjl@gnu.org>
423089857Sobrien
423189857Sobrien	* bfd-in2.h: Regenerated.
423289857Sobrien	* libcoff.h: Likewise.
423389857Sobrien
423489857Sobrien2001-05-25  Alan Modra  <amodra@one.net.au>
423589857Sobrien
423689857Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Don't allow
423789857Sobrien	undefined millicode syms in shared libs.
423889857Sobrien	(hppa_build_one_stub): Turn BFD_ASSERTs into aborts.
423989857Sobrien	(elf32_hppa_check_relocs): Likewise.
424089857Sobrien	(elf32_hppa_adjust_dynamic_symbol): Likewise.
424189857Sobrien	(elf32_hppa_size_dynamic_sections): Likewise.
424289857Sobrien	(elf32_hppa_relocate_section): Likewise.
424389857Sobrien	(elf32_hppa_finish_dynamic_symbol): Likewise.
424489857Sobrien	(elf32_hppa_finish_dynamic_sections): Likewise.
424589857Sobrien
424689857Sobrien2001-05-24  Tom Rix <trix@redhat.com>
424789857Sobrien
424889857Sobrien	* Makefile.am coff-pmac bfd now defined in coff-rs6000.c
424989857Sobrien	xcoff-target.h not used to define rs6000 or ppc bfd.
425089857Sobrien	* Makefile.in same
425189857Sobrien
425289857Sobrien	* bfd-in.h : (struct lineno_cache_entry) promote element "offset"
425389857Sobrien	to 64 bit.
425489857Sobrien
425589857Sobrien	* coff-rs6000.c : Many changes for 64 bit support.  Move common
425689857Sobrien	32/64 code to xcofflink.c.  Explictly define the rs6000coff_vec
425789857Sobrien	and pmac_xcoff_vec
425889857Sobrien
425989857Sobrien	* coff64-rs6000.c : Many changes for 64 bit support.  64 bit
426089857Sobrien	linker now supported.  Explictly define the rs6000coff64_vec.
426189857Sobrien
426289857Sobrien	* coffcode.h : (coff_set_arch_mach_hook) xcoff 64 bit support
426389857Sobrien	(coff_print_aux) same
426489857Sobrien	(coff_write_object_contents) same
426589857Sobrien	(coff_slurp_line_table) same
426689857Sobrien
426789857Sobrien	* coffgen.c : (coff_fix_symbol_name) formatting
426889857Sobrien	(coff_mangle_symbols) xcoff 64 bit support
426989857Sobrien	(coff_write_symbol) same
427089857Sobrien	(coff_write_alien_symbol) same
427189857Sobrien	(coff_write_native_symbol) same
427289857Sobrien	(coff_write_symbols) same
427389857Sobrien	(coff_get_symbol_info) same
427489857Sobrien	(bfd_coff_get_syment) same
427589857Sobrien	(coff_print_symbol) same
427689857Sobrien
427789857Sobrien	* config.bfd : add powerpc64-*-aix* target
427889857Sobrien
427989857Sobrien	* libcoff-in.h : formatting
428089857Sobrien
428189857Sobrien	* libcoff.h : move xcoff extern declarations to libxcoff.h
428289857Sobrien
428389857Sobrien	* libxcoff.h : New file
428489857Sobrien
428589857Sobrien	* xcofflink.c : Many changes for xcoff64 support.  Move common
428689857Sobrien	structures to include/coff/xcoff.h.  Move specific structure to
428789857Sobrien	backends coff-rs6000.c and coff64-rs6000.c.  Use new backend
428889857Sobrien	functions, defined in libxcoff.h, to isolate 32/64 dependencies.
428989857Sobrien
429089857Sobrien	(bfd_xcoff_size_dynamic_sections) : special __rtinit symbol for
429189857Sobrien	aix4.2+ -binitfini.
429289857Sobrien
429389857Sobrien	(xcoff_build_ldsyms) : handle special __rtinit symbol.
429489857Sobrien
429589857Sobrien2001-05-23  Alexandre Oliva  <aoliva@redhat.com>
429689857Sobrien
429789857Sobrien	* elf64-sparc.c (sparc64_elf_slurp_reloc_table): Fix typo
429889857Sobrien	s/ENTIRES/ENTRIES/.
429989857Sobrien
430089857Sobrien2001-05-23  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
430189857Sobrien
430289857Sobrien	* reloc.c (bfd_reloc_code_real): Add MIPS ELF64 relocations.
430389857Sobrien	* libbfd.h: Regenerate.
430489857Sobrien	* bfd-in2.h: Regenerate.
430589857Sobrien
430689857Sobrien	* aoutx.h (aout_@var{size}_machine_type): Add MIPS r12k support.
430789857Sobrien	* archures.c (bfd_mach_mips12000): Define.
430889857Sobrien	* cpu-mips.c (arch_info_struct): Add MIPS r12k support.
430989857Sobrien	* elf32-mips.c (_bfd_mips_elf_final_write_processing): Add MIPS r12k
431089857Sobrien	support.
431189857Sobrien	(_bfd_mips_elf_size_dynamic_sections): Use official bfd typedef.
431289857Sobrien	* bfd-in2.h: Regenerate.
431389857Sobrien	* elfxx-target.h: Do not redefine bfd_elfNN_bfd_make_debug_symbol.
431489857Sobrien
431589857Sobrien2001-05-23  kaz Kojima  <kkojima@rr.iij4u.or.jp>
431689857Sobrien
431789857Sobrien	* elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry,
431889857Sobrien	elf_sh_plt_entry_be, elf_sh_plt_entry, elf_sh_pic_plt_entry_be,
431989857Sobrien	elf_sh_pic_plt_entry): New PLT code, that does not use r2, since
432089857Sobrien	that is used by GCC.
432189857Sobrien
432289857Sobrien2001-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
432389857Sobrien
432489857Sobrien	* elf-bfd.h (NUM_SHDR_ENTRIES): New macro: compute the number
432589857Sobrien	of entries in a structured section.
432689857Sobrien	* elf.c: Use new macro.
432789857Sobrien	* elf32-i386.c: Use new macro.
432889857Sobrien	* elf32-mips.c: Use new macro.
432989857Sobrien	* elf64-alpha.c: Use new macro.
433089857Sobrien	* elf64-sparc.c: Use new macro.
433189857Sobrien	* elfcode.h: Use new macro.
433289857Sobrien	* elflink.h: Use new macro.
433389857Sobrien
433489857Sobrien2001-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
433589857Sobrien
433689857Sobrien	* bfdint.texi: Replace -oformat with --oformat.
433789857Sobrien
433889857Sobrien2001-05-21  Andreas Jaeger  <aj@suse.de>
433989857Sobrien
434089857Sobrien	* dwarf2.c (decode_line_info): Fix error message.
434189857Sobrien	(read_abbrevs): Fix test for offset as suggested by Alan Modra and
434289857Sobrien	adjust error message.
434389857Sobrien
434489857Sobrien2001-05-18  H.J. Lu  <hjl@gnu.org>
434589857Sobrien
434689857Sobrien	* elflink.h (elf_link_add_object_symbols): Revert the last
434789857Sobrien	change.
434889857Sobrien
434989857Sobrien2001-05-17  Alan Modra  <amodra@one.net.au>
435089857Sobrien
435189857Sobrien	* elf32-hppa.c (clobber_millicode_symbols): Temporarily set
435289857Sobrien	ELF_LINK_FORCED_LOCAL to suit 2001-04-30 change.
435389857Sobrien	(hppa_build_one_stub): Add an assert to check plt.offset.
435489857Sobrien
435589857Sobrien2001-05-17  H.J. Lu  <hjl@gnu.org>
435689857Sobrien
435789857Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the
435889857Sobrien	version definition to basename of the output filename.
435989857Sobrien
436089857Sobrien2001-05-17  H.J. Lu  <hjl@gnu.org>
436189857Sobrien
436289857Sobrien	* elflink.h (elf_link_add_object_symbols): Set DT_NEEDED to
436389857Sobrien	basename of the bfd filename.
436489857Sobrien
436589857Sobrien2001-05-16  Alan Modra  <amodra@one.net.au>
436689857Sobrien
436789857Sobrien	* section.c (asection): Add linker_has_input field.
436889857Sobrien	(STD_SECTION): Adjust initialization to suit.
436989857Sobrien	* ecoff.c (bfd_debug_section): Likewise.
437089857Sobrien	* bfd-in2.h: Regenerate.
437189857Sobrien
437289857Sobrien2001-05-15  Alexandre Oliva  <aoliva@redhat.com>
437389857Sobrien
437489857Sobrien	* elf-m10300.c (mn10300_elf_relax_section): Don't relax
437589857Sobrien	negative 32-bit operands to 16 operands when the operand is
437689857Sobrien	going to be zero-extended by the modified opcode.
437789857Sobrien
437889857Sobrien2001-05-12  Peter Targett  <peter.targett@arccores.com>
437989857Sobrien
438089857Sobrien	* cpu-arc.c (arch_info_struct): Add entry 'base' representing old
438189857Sobrien	name for 'arc5' core versions.
438289857Sobrien	(bfd_arc_arch): Make bfd_mach_arc_6 default.
438389857Sobrien
438489857Sobrien	* elf32-arc.c (arc_elf_object_p): Make E_ARC_MACH_ARC6 default
438589857Sobrien	architecture.
438689857Sobrien	(arc_elf_final_write_processing): Make bfd_mach_arc_6 default.
438789857Sobrien
438889857Sobrien2001-05-11  Jakub Jelinek  <jakub@redhat.com>
438989857Sobrien
439089857Sobrien	* elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind
439189857Sobrien	sections as well.
439289857Sobrien	(elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO
439389857Sobrien	to .gnu.linkonce.t.FOO text section.
439489857Sobrien
439589857Sobrien2001-05-11  Jakub Jelinek  <jakub@redhat.com>
439689857Sobrien
439789857Sobrien	* merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffix
439889857Sobrien	fields, change sec into secinfo.
439989857Sobrien	(struct sec_merge_info): Add chain, remove last fields.
440089857Sobrien	(struct sec_merge_sec_info): Add next, sec, psecinfo fields.
440189857Sobrien	(sec_merge_hash_lookup): If lookup could not use a string only
440289857Sobrien	because it has bad alignment, mark the old string for deletion.
440389857Sobrien	(sec_merge_add): Add secinfo argument. Don't compute entry's
440489857Sobrien	position, instead record the section.
440589857Sobrien	(sec_merge_emit): Update for the sec into secinfo change in
440689857Sobrien	struct sec_merge_hash_entry.
440789857Sobrien	(_bfd_merge_section): Only record the section for merging, defer
440889857Sobrien	putting strings into the hash table.
440989857Sobrien	(cmplengthentry, last4_eq, last_eq, record_section, merge_strings,
441089857Sobrien	_bfd_merge_sections): New functions.
441189857Sobrien	(_bfd_merged_section_offset): Update for the sec_merge_hash_entry
441289857Sobrien	changes.
441389857Sobrien	* libbfd-in.h (_bfd_merge_sections): Add prototype.
441489857Sobrien	(_bfd_nolink_bfd_merge_sections): Define.
441589857Sobrien	* libbfd.h: Likewise.
441689857Sobrien	(bfd_generic_merge_sections): Add prototype.
441789857Sobrien	* targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_merge_sections.
441889857Sobrien	(struct bfd_target): Likewise.
441989857Sobrien	* bfd.c (bfd_merge_sections): Define.
442089857Sobrien	* bfd-in2.h: Rebuilt.
442189857Sobrien	* elf.c (_bfd_elf_merge_sections): New function.
442289857Sobrien	* elf-bfd.h (_bfd_elf_merge_sections): Add prototype.
442389857Sobrien	* elfxx-target.h (bfd_elfNN_bfd_merge_sections): Define.
442489857Sobrien	* reloc.c (bfd_generic_merge_sections): New function.
442589857Sobrien	* vms.c (vms_bfd_merge_sections): New function.
442689857Sobrien	* aout-adobe.c (aout_32_bfd_merge_sections): Define.
442789857Sobrien	* aout-target.h (MY_bfd_merge_sections): Define.
442889857Sobrien	* aout-tic30.c (MY_bfd_merge_sections): Define.
442989857Sobrien	* binary.c (binary_bfd_merge_sections): Define.
443089857Sobrien	* bout.c (b_out_bfd_merge_sections): Define.
443189857Sobrien	* coff-alpha.c (_bfd_ecoff_bfd_merge_sections): Define.
443289857Sobrien	* coffcode.c (coff_bfd_merge_sections): Define.
443389857Sobrien	* coff-mips.c (_bfd_ecoff_bfd_merge_sections): Define.
443489857Sobrien	* i386msdos.c (msdos_bfd_merge_sections): Define.
443589857Sobrien	* i386os9k.c (os9k_bfd_merge_sections): Define.
443689857Sobrien	* ieee.c (ieee_bfd_merge_sections): Define.
443789857Sobrien	* ihex.c (ihex_bfd_merge_sections): Define.
443889857Sobrien	* nlm-target.h (nlm_bfd_merge_sections): Define.
443989857Sobrien	* oasys.c (oasys_bfd_merge_sections): Define.
444089857Sobrien	* ppcboot.c (ppcboot_bfd_merge_sections): Define.
444189857Sobrien	* som.c (som_bfd_merge_sections): Define.
444289857Sobrien	* srec.c (srec_bfd_merge_sections): Define.
444389857Sobrien	* tekhex.c (tekhex_bfd_merge_sections): Define.
444489857Sobrien	* versados.c (versados_bfd_merge_sections): Define.
444589857Sobrien	* xcoff-target.h (_bfd_xcoff_bfd_merge_sections): Define.
444689857Sobrien
444789857Sobrien2001-05-11  Nick Clifton  <nickc@cambridge.redhat.com>
444889857Sobrien
444989857Sobrien	* dwarf1.c (_bfd_dwarf1_find_nearest_line): Change type of 'addr'
445089857Sobrien	to be unsigned long, in order to match its use.
445189857Sobrien
445289857Sobrien2001-05-10  H.J. Lu  <hjl@gnu.org>
445389857Sobrien
445489857Sobrien	* linker.c (_bfd_generic_link_add_one_symbol): Check loop on
445589857Sobrien	indirect symbols.
445689857Sobrien
445789857Sobrien2001-05-09  H.J. Lu  <hjl@gnu.org>
445889857Sobrien
445989857Sobrien	* elflink.h (elf_link_add_object_symbols): Fix a typo. Allocate
446089857Sobrien	versymhdr->sh_size bytes for extversym instead of hdr->sh_size.
446189857Sobrien	Remove the unused veriable `dynver'.
446289857Sobrien
446389857Sobrien2001-05-08  Ian Lance Taylor  <ian@zembu.com>
446489857Sobrien
446589857Sobrien	* coff-i386.c (coff_i386_reloc): Don't dump core if output_bfd is
446689857Sobrien	NULL or is not COFF.
446789857Sobrien	(coff_i386_rtype_to_howto): Don't dump core if output section
446889857Sobrien	owner is not COFF.
446989857Sobrien
447089857Sobrien2001-05-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
447189857Sobrien
447289857Sobrien	* ecoff.c (bfd_debug_section): Fix initialization.
447389857Sobrien	* elf.c (_bfd_elf_slurp_version_tables): Change maxidx to unsigned, it
447489857Sobrien	is always a positive integer. Cast away sign mismatch.
447589857Sobrien	* elf32-mips.c: Fix misleading comment and typo.
447689857Sobrien	(_bfd_mips_elf_section_from_bfd_section): Remove unused attribute, use
447789857Sobrien	correct data type.
447889857Sobrien	* elflink.c: Fix typo.
447989857Sobrien	(_bfd_elf_create_dynamic_sections): Remove superfluous initialization.
448089857Sobrien	* ecoffswap.h (ecoff_swap_fdr_in): Cast away sign mismatch.
448189857Sobrien
448289857Sobrien2001-05-04  Richard Henderson  <rth@redhat.com>
448389857Sobrien
448489857Sobrien	* elf64-alpha.c (SREL16, SREL32, SREL64): Set pcrel_offset true.
448589857Sobrien
448689857Sobrien2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
448789857Sobrien
448889857Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Set
448989857Sobrien	EF_ARM_HASENTRY if the start address is set.
449089857Sobrien
449189857Sobrien2001-05-03  Nick Clifton  <nickc@cambridge.redhat.com>
449289857Sobrien
449389857Sobrien	* targets.c (_bfd_target_vector_entries): Compute value based on
449489857Sobrien	the size of the _bfd_target_vector and not bfd_target_vector.
449589857Sobrien
449689857Sobrien2001-05-03  H.J. Lu  <hjl@gnu.org>
449789857Sobrien
449889857Sobrien	* elfcode.h: Include "libiberty.h".
449989857Sobrien
450089857Sobrien	* elflink.h (elf_link_add_object_symbols): Set
450189857Sobrien	elf_dt_name (abfd) to basename of the bfd filename.
450289857Sobrien	(NAME(bfd_elf,size_dynamic_sections)): Set vn_file to basename
450389857Sobrien	of the bfd filename.
450489857Sobrien
450589857Sobrien2001-05-03  Andreas Jaeger  <aj@suse.de>
450689857Sobrien
450789857Sobrien	* elf64-gen.c (elf_generic_info_to_howto): Add unused attribute.
450889857Sobrien	(elf_generic_info_to_howto_rel): Likewise.
450989857Sobrien	* coff-alpha.c (reloc_nil): Likewise.
451089857Sobrien	(alpha_ecoff_bad_format_hook): Likewise.
451189857Sobrien	(alpha_adjust_reloc_out): Likewise.
451289857Sobrien	(alpha_bfd_reloc_type_lookup): Likewise.
451389857Sobrien	(alpha_convert_external_reloc): Likewise.
451489857Sobrien	* elf64-alpha.c (elf64_alpha_reloc_nil): Likewise.
451589857Sobrien	(elf64_alpha_reloc_bad): Likewise.
451689857Sobrien	(elf64_alpha_reloc_gpdisp): Likewise.
451789857Sobrien	(elf64_alpha_bfd_reloc_type_lookup): Likewise.
451889857Sobrien	(elf64_alpha_info_to_howto): Likewise.
451989857Sobrien	(elf64_alpha_add_symbol_hook): Likewise.
452089857Sobrien	(elf64_alpha_create_got_section): Likewise.
452189857Sobrien	(elf64_alpha_is_local_label_name): Likewise.
452289857Sobrien	(elf64_alpha_merge_ind_symbols): Likewise.
452389857Sobrien	* elf64-mips.c (mips_elf64_reloc_type_lookup): Likewise.
452489857Sobrien	(mips_elf64_get_reloc_upper_bound): Likewise.
452589857Sobrien	* nlm32-alpha.c (nlm_alpha_mangle_relocs): Likewise.
452689857Sobrien	(nlm_alpha_get_public_offset): Likewise.
452789857Sobrien
452889857Sobrien2001-05-02  Johan Rydberg  <jrydberg@opencores.org>
452989857Sobrien
453089857Sobrien	* elf32-openrisc.c (openrisc_elf_howto_table): Do not complain
453189857Sobrien	about overflow in R_OPENRISC_LO_16_IN_INSN and
4532130561Sobrien	R_OPENRISC_HI_16_IN_INSN.
453389857Sobrien
453489857Sobrien2001-04-30  H.J. Lu  <hjl@gnu.org>
453589857Sobrien
453689857Sobrien	* elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1
453789857Sobrien	only for ELF_LINK_FORCED_LOCAL.
453889857Sobrien	* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
453989857Sobrien	* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise.
454089857Sobrien	* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
454189857Sobrien
454289857Sobrien	* elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL
454389857Sobrien	if the symbol has hidden or internal visibility.
454489857Sobrien
454589857Sobrien2001-04-30  Alan Modra  <amodra@one.net.au>
454689857Sobrien
454789857Sobrien	* elf32-hppa.c (final_link_relocate): Branch to .+8 for
454889857Sobrien	calls to undefined weak symbols.
454989857Sobrien
455089857Sobrien2001-04-30  Andreas Jaeger  <aj@suse.de>, Andreas Schwab <schwab@suse.de>
455189857Sobrien
455289857Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for
455389857Sobrien	R_X86_64_GOTPCREL, don't use assignments instead of comparisons.
455489857Sobrien
455589857Sobrien2001-04-27  Andreas Jaeger  <aj@suse.de>
455689857Sobrien
455789857Sobrien	* elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swap
455889857Sobrien	out handled entries.
455989857Sobrien	(elf64_x86_64_finish_dynamic_symbol): Set up GOT entries.
456089857Sobrien	(elf64_x86_64_relocate_section): Fix GOTPCREL calculation.
456189857Sobrien	(elf64_x86_64_relocate_section): Merge entries for GOTPCREL and
456289857Sobrien	GOT32.
456389857Sobrien
456489857Sobrien2001-04-27  Sean McNeil <sean@mcneil.com>
456589857Sobrien
456689857Sobrien	* config.bfd: Add arm-vxworks target.
456789857Sobrien	* coff-arm (coff_arm_relocate_section): Add in symbol value to
456889857Sobrien	addend (fro VXworks targets).
456989857Sobrien
457089857Sobrien2001-04-26  H.J. Lu  <hjl@gnu.org>
457189857Sobrien
457289857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Verify if r_symndx is
457389857Sobrien	valid.
457489857Sobrien
457589857Sobrien2001-04-25  Frank Ch. Eigler  <fche@redhat.com>
457689857Sobrien
457789857Sobrien	* bfd-in.h (bfd_cache_close): Declare newly exported function.
457889857Sobrien	* bfd-in2.h: Regenerated.
457989857Sobrien
458089857Sobrien2001-04-24  Jakub Jelinek  <jakub@redhat.com>
458189857Sobrien
458289857Sobrien	* merge.c (struct sec_merge_hash_entry): Add alignment field.
458389857Sobrien	(struct sec_merge_hash): Remove alignment_power.
458489857Sobrien	(sec_merge_hash_newfunc): Clear alignment.
458589857Sobrien	(sec_merge_hash_lookup): Pass alignment as argument.
458689857Sobrien	Use hashp->root.next, not hashp->next to walk the hash chain.
458789857Sobrien	If a string already in the hashtable does not have required
458889857Sobrien	alignment, create a new hashtable entry.
458989857Sobrien	(sec_merge_init): Remove alignment_power argument.
459089857Sobrien	(sec_merge_add): Add alignment argument.
459189857Sobrien	(sec_merge_emit): Alignment is now a per-entity thing, not per
459289857Sobrien	section.
459389857Sobrien	(_bfd_merge_section): Sanity check even non-SEC_STRINGS sections
459489857Sobrien	for proper alignment.
459589857Sobrien	Pass alignment information to sec_merge_add.
459689857Sobrien
459789857Sobrien2001-04-24  Christian Groessler  <cpg@aladdin.de>
459889857Sobrien
459989857Sobrien	* coff-z8k.c (extra_case): added handler for R_DISP7, R_CALLR
460089857Sobrien	and R_REL16 reloc types; accept odd values for R_REL16 type
460189857Sobrien
460289857Sobrien2001-04-24  Johan Rydberg  <jrydberg@opencores.org>
460389857Sobrien
460489857Sobrien	* cpu-openrisc.c: New file.
460589857Sobrien	* elf32-openrisc.c: Likewise.
460689857Sobrien
460789857Sobrien	* Makefile.am (ALL_MACHINES): Add cpu-openrisc.lo.
460889857Sobrien	(ALL_MACHINES_CFILES): Add cpu-openrisc.c.
460989857Sobrien	(BFD32_BACKENDS): Add elf32-openrisc.lo.
461089857Sobrien	(BFD32_BACKENDS_CFILES): Add elf32-openrisc.c.
461189857Sobrien	(cpu-openrisc.lo, elf32-openrisc.lo): New rules.
461289857Sobrien	* Makefile.in: Regenerated.
461389857Sobrien	* config.bfd: (openrisc-*-elf): New target.
461489857Sobrien	* configure.in (bfd_elf32_openrisc_vec): New vector.
461589857Sobrien	* configure: Regenerated.
461689857Sobrien	* libbfd.h: Regenerated.
461789857Sobrien	* bfd-in2.h: Regenerated.
461889857Sobrien	* reloc.c: Add OpenRISC relocations.
461989857Sobrien	* targets.c (bfd_elf32_openrisc_vec): Declare.
462089857Sobrien	(bfd_target_vect): Add bfd_elf32_openrisc_vec.
462189857Sobrien	* archures.c (enum bfd_architecture): Add bfd_arch_openrisc.
462289857Sobrien	(bfd_openrisc_arch): Declare.
462389857Sobrien	(bfd_archures_list): Add bfd_openrisc_arch.
462489857Sobrien	* elf.c (prep_headers): Add bfd_arch_openrisc.
462589857Sobrien
462689857Sobrien2001-04-23  Bo Thorsen  <bo@suse.de>
462789857Sobrien
462889857Sobrien	* elf64-x86-64.c: Add c++ vtable hack.
462989857Sobrien	Small whitespace and comment changes.
463089857Sobrien
463189857Sobrien2001-04-19  Andreas Jaeger  <aj@suse.de>
463289857Sobrien
463389857Sobrien	* elf64-x86-64.c (elf64_x86_64_plt0_entry): Fix instructions.
463489857Sobrien	(elf64_x86_64_plt_entry): Likewise.
463589857Sobrien	(elf64_x86_64_finish_dynamic_sections): Fix PLT0 generation.
463689857Sobrien	(elf64_x86_64_finish_dynamic_symbol): Fix PLT generation.
463789857Sobrien
463889857Sobrien2001-04-17  Hans-Peter Nilsson  <hp@axis.com>
463989857Sobrien
464089857Sobrien	* elf32-cris.c: Tweak comments related to dynamic linking.
464189857Sobrien	(cris_elf_relocate_section): When not creating shared object, fill
464289857Sobrien	in the .got table for any symbol not in the dynamic symbol table.
464389857Sobrien	(elf_cris_finish_dynamic_symbol): When not creating shared object,
464489857Sobrien	only emit a .got.rela reloc if the symbol is in the dynamic symbol
464589857Sobrien	table.
464689857Sobrien	(cris_elf_check_relocs): Use variable r_type in all places rather
464789857Sobrien	than the original expression.  Add default case in switch for
464889857Sobrien	reloc types.
464989857Sobrien	(elf_cris_size_dynamic_sections): Iterate over
465089857Sobrien	elf_cris_discard_excess_program_dynamics when not creating shared
465189857Sobrien	library.
465289857Sobrien	(elf_cris_discard_excess_dso_dynamics): Renamed from
465389857Sobrien	elf_cris_discard_copies.  Correct typo, s/Rel/Rela/.
465489857Sobrien	(elf_cris_discard_excess_program_dynamics): New.
465589857Sobrien
465689857Sobrien2001-04-14  Mark Elbrecht  <snowball3@bigfoot.com>
465789857Sobrien
465889857Sobrien	* coffcode.h (coff_write_object_contents): Use
465989857Sobrien	bfd_coff_swap_filehdr_out instead of coff_swap_filehdr_out.
466089857Sobrien
466189857Sobrien2001-04-14  H.J. Lu  <hjl@gnu.org>
466289857Sobrien
466389857Sobrien	* bfd-in2.h: Regenerate.
466489857Sobrien
466589857Sobrien2001-04-14  Jakub Jelinek <jakub@redhat.com>
466689857Sobrien
466789857Sobrien	* section.c (STD_SECTION): Add entsize.
466889857Sobrien
466989857Sobrien2001-04-13  H.J. Lu  <hjl@gnu.org>
467089857Sobrien
467189857Sobrien	* section.c (SEC_MERGE): Define new flag for merging.
467289857Sobrien	(SEC_STRINGS): Likewise.
467389857Sobrien	(entsize): New field.
467489857Sobrien
467589857Sobrien2001-04-13  Roger Sayle  <roger@metaphorics.com>
467689857Sobrien
467789857Sobrien	* coff-i386.c (TARGET_SYM): SEC_READONLY is an applicable section
467889857Sobrien	flag on pe-i386 targets.
467989857Sobrien
468089857Sobrien2001-04-13  Jakub Jelinek  <jakub@redhat.com>
468189857Sobrien
468289857Sobrien	* libbfd-in.h (_bfd_merge_section): New.
468389857Sobrien	(_bfd_write_merged_section): New.
468489857Sobrien	(_bfd_merged_section_offset): New.
468589857Sobrien	* libbfd.h: Rebuilt.
468689857Sobrien	* linker.c (_bfd_generic_link_output_symbols): Handle
468789857Sobrien	discard_sec_merge.
468889857Sobrien	* aoutx.h (aout_link_write_symbols): Likewise.
468989857Sobrien	* pdp11.c (aout_link_write_symbols): Likewise.
469089857Sobrien	* elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
469189857Sobrien	(elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
469289857Sobrien	sections.
469389857Sobrien	(elf_link_sec_merge_syms): New.
469489857Sobrien	(elf_link_input_bfd): Call _bfd_merged_section_offset
469589857Sobrien	and _bfd_write_merged_section.
469689857Sobrien	Handle discard_sec_merge.
469789857Sobrien	* elf-bfd.h (struct elf_link_hash_table): Add merge_info
469889857Sobrien	field.
469989857Sobrien	(struct bfd_elf_section_data): Likewise.
470089857Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
470189857Sobrien	SEC_STRINGS section flags and entsize from their ELF counterparts.
470289857Sobrien	(_bfd_elf_link_hash_table_init): Initialize merge_info.
470389857Sobrien	(elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
470489857Sobrien	from their BFD counterparts.
470589857Sobrien	* merge.c: New file.
470689857Sobrien	* Makefile.am: Add strtab.lo.
470789857Sobrien	* Makefile.in: Rebuilt.
470889857Sobrien
470989857Sobrien2001-04-09  Hans-Peter Nilsson  <hp@axis.com>
471089857Sobrien
471189857Sobrien	* elflink.h (elf_fix_symbol_flags): For non-default visibilities,
471289857Sobrien	only hide symbols marked STV_INTERNAL or STV_HIDDEN.
471389857Sobrien
471489857Sobrien2001-04-05  Steven J. Hill  <sjhill@cotw.com>
471589857Sobrien
471689857Sobrien	* config.bfd (mips*el*-*-linux-gnu*): Use traditional little
471789857Sobrien	endian MIPS ELF target.
471889857Sobrien	* config.bfd (mips*-*-linux-gnu*): Use traditional big endian
471989857Sobrien	MIPS ELF target.
472089857Sobrien
472189857Sobrien	* configure.in (bfd_elf64_tradbigmips_vec): New. Traditional
472289857Sobrien	64bit big endian MIPS ELF target.
472389857Sobrien	(bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
472489857Sobrien	endian MIPS ELF target.
472589857Sobrien	* configure: Regenerated.
472689857Sobrien
472789857Sobrien	* elf32-mips.c (IRIX_COMPAT): Handle traditional 64bit and
472889857Sobrien	little endian targets.
472989857Sobrien	(mips_elf_sym_is_global): Handle traditional targets.
473089857Sobrien
473189857Sobrien	* elf64-mips.c (bfd_elf64_tradbigmips_vec): New. Traditional
473289857Sobrien	64bit big endian MIPS ELF target.
473389857Sobrien	(bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
473489857Sobrien	endian MIPS ELF target.
473589857Sobrien
473689857Sobrien	* targets.c: (_bfd_target_vector): Add bfd_elf64_tradbigmips_vec
473789857Sobrien	and bfd_elf64_tradlittlemips_vec.
473889857Sobrien
473989857Sobrien2001-04-05  David Mosberger  <davidm@hpl.hp.com>
474089857Sobrien
474189857Sobrien	* elf32-i386.c (elf_i386_fake_sections): Treat ".reloc" as an
474289857Sobrien	ordinary "progbits" section.
474389857Sobrien
474489857Sobrien2001-04-04  Alan Modra  <alan@linuxcare.com.au>
474589857Sobrien
474689857Sobrien	* elflink.h (elf_fix_symbol_flags): Call elf_backend_hide_symbol
474789857Sobrien	when -Bsymbolic causes a symbol to no longer need a .plt entry.
474889857Sobrien
474989857Sobrien2001-04-03  David Mosberger  <davidm@hpl.hp.com>
475089857Sobrien
475189857Sobrien	* efi-app-ia32.c (ALIGN_SECTIONS_IN_FILE): Deleted.
475289857Sobrien
475389857Sobrien2001-03-30  H.J. Lu  <hjl@gnu.org>
475489857Sobrien
475589857Sobrien	* efi-app-ia32.c (PEI_TARGET_SUBSYSTEM): Rename from ...
475689857Sobrien	(PEI_DEFAULT_TARGET_SUBSYSTEM): This.
475789857Sobrien
475889857Sobrien2001-03-26  H.J. Lu  <hjl@gnu.org>
475989857Sobrien
476089857Sobrien	* elf32-gen.c (elf32_generic_link_add_symbols): New. Check
476189857Sobrien	if there are any relocations for generic ELF.
476289857Sobrien	(bfd_elf32_bfd_link_add_symbols): Defined to
476389857Sobrien	elf32_generic_link_add_symbols.
476489857Sobrien	* elf64-gen.c (elf64_generic_link_add_symbols): New. Check
476589857Sobrien	if there are any relocations for generic ELF.
476689857Sobrien	(bfd_elf64_bfd_link_add_symbols): Defined to
476789857Sobrien	elf64_generic_link_add_symbols.
476889857Sobrien
476989857Sobrien2001-03-23  Nick Clifton  <nickc@redhat.com>
477089857Sobrien
477189857Sobrien	* Makefile.am (BUILD_CFILES): New variable: List of C source
477289857Sobrien	files created in build directory.
477389857Sobrien	(BUILD_HFILES): New variable: List of header files created in
477489857Sobrien	build directory.
477589857Sobrien	(POTFILES): Delete.
477689857Sobrien	(po/POTFILES.in): Replace rule with empty entry.
477789857Sobrien	(po/SRC-POTFILES.in): New rule: Create a list of source files
477889857Sobrien	in the source directory.
477989857Sobrien	(po/BLD-POTFILES.in): New rule: Create a list of source files
478089857Sobrien	in the build directory.
478189857Sobrien	(MOSTLYCLEAN): Do not delete source files created in build
478289857Sobrien	directory.
478389857Sobrien	* Makefile.in: Regenerate.
478489857Sobrien	* configure.in: Insert SRC-POTFILES.in and BLD-POTFILES.in
478589857Sobrien	into po/Makefile.
478689857Sobrien	* configure: Regenerate.
478789857Sobrien
478889857Sobrien	* po/Make-in: Replace occurrences of POTFILES with SRC-POTFILES
478989857Sobrien	and BLD_POTFILES.
479089857Sobrien	Add .. to the search path when building bfd.pot.
479189857Sobrien	Delete POTFILES when performing distclean.
479289857Sobrien	Add comment describing why distclean is broken in maintainer mode.
479389857Sobrien	* po/POTFILES.in: Delete.
479489857Sobrien	* po/SRC-POTFILES.in: New file.
479589857Sobrien	* po/BLD-POTFILES.in: New file.
479689857Sobrien	* po/bfd.pot: Regenerate.
479789857Sobrien
479889857Sobrien2001-03-22  Hans-Peter Nilsson  <hp@axis.com>
479989857Sobrien
480089857Sobrien	* elf32-cris.c: Shlib and PIC support.  PCREL tweaks.
480189857Sobrien	(elf_cris_discard_copies, elf_cris_adjust_gotplt_to_got,
480289857Sobrien	elf_cris_try_fold_plt_to_got, elf_cris_link_hash_newfunc,
480389857Sobrien	elf_cris_link_hash_table_create, elf_cris_adjust_dynamic_symbol,
480489857Sobrien	elf_cris_size_dynamic_sections, elf_cris_finish_dynamic_symbol,
480589857Sobrien	elf_cris_finish_dynamic_sections,elf_cris_hide_symbol): New
480689857Sobrien	functions.
480789857Sobrien	(cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL,
480889857Sobrien	R_CRIS_32_PCREL>: Correct comments.  Set pcrel_offset to false.
480989857Sobrien	<R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE,
481089857Sobrien	R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT,
481189857Sobrien	R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL>:
481289857Sobrien	New HOWTO members for new relocs.
481389857Sobrien	(cris_reloc_map): Map new relocs.
481489857Sobrien	(ELF_DYNAMIC_INTERPRETER): Define.
481589857Sobrien	(PLT_ENTRY_SIZE): Define.
481689857Sobrien	(elf_cris_plt0_entry, elf_cris_plt_entry, elf_cris_pic_plt0_entry,
481789857Sobrien	elf_cris_pic_plt_entry): New, PLT templates.
481889857Sobrien	(struct elf_cris_pcrel_relocs_copied, struct
481989857Sobrien	elf_cris_link_hash_entry, struct elf_cris_link_hash_table): New.
482089857Sobrien	(elf_cris_link_hash_traverse, elf_cris_hash_table): Define.
482189857Sobrien	(cris_final_link_relocate): Check that 16-bit GOT relocs have
482289857Sobrien	positive values.  Adjust PCREL relocs to be relative to location
482389857Sobrien	after relocation.
482489857Sobrien	(cris_elf_relocate_section): Handle relocations to dynamic
482589857Sobrien	objects.  Handle new relocations.  Call error handler when seeing
482689857Sobrien	non-PIC relocation for read-only sections while generating shared
482789857Sobrien	object.
482889857Sobrien	(cris_elf_check_relocs): Set reference counts for GOT and PLT
482989857Sobrien	entries.
483089857Sobrien	(bfd_elf32_bfd_link_hash_table_create,
483189857Sobrien	elf_backend_adjust_dynamic_symbol,
483289857Sobrien	elf_backend_size_dynamic_sections,
483389857Sobrien	elf_backend_finish_dynamic_symbol,
483489857Sobrien	elf_backend_finish_dynamic_sections,
483589857Sobrien	elf_backend_create_dynamic_sections, bfd_elf32_bfd_final_link,
483689857Sobrien	elf_backend_hide_symbol, elf_backend_want_got_plt,
483789857Sobrien	elf_backend_plt_readonly, elf_backend_want_plt_sym,
483889857Sobrien	elf_backend_got_header_size, elf_backend_plt_header_size):
483989857Sobrien	Define.
484089857Sobrien
484189857Sobrien	* reloc.c: (BFD_RELOC_CRIS_COPY, BFD_RELOC_CRIS_GLOB_DAT,
484289857Sobrien	BFD_RELOC_CRIS_JUMP_SLOT, BFD_RELOC_CRIS_RELATIVE,
484389857Sobrien	BFD_RELOC_CRIS_32_GOT, BFD_RELOC_CRIS_16_GOT,
484489857Sobrien	BFD_RELOC_CRIS_32_GOTPLT, BFD_RELOC_CRIS_16_GOTPLT,
484589857Sobrien	BFD_RELOC_CRIS_32_GOTREL, BFD_RELOC_CRIS_32_PLT_GOTREL,
484689857Sobrien	BFD_RELOC_CRIS_32_PLT_PCREL): New relocs.
484789857Sobrien	* bfd-in2.h, libbfd.h: Regenerate.
484889857Sobrien
484989857Sobrien2001-03-21  Diego Novillo  <dnovillo@redhat.com>
485089857Sobrien
485189857Sobrien	(_bfd_mips_elf_relocate_section): Give a better error message when
485289857Sobrien	a relocation is not recognized.
485389857Sobrien
485489857Sobrien2001-03-21  Alan Modra  <alan@linuxcare.com.au>
485589857Sobrien
485689857Sobrien	* elf32-hppa.c (elf32_hppa_set_gp): Check sec->output_section
485789857Sobrien	non-NULL before attempting to dereference.
485889857Sobrien
485989857Sobrien2001-03-20  H.J. Lu  <hjl@gnu.org>
486089857Sobrien
486189857Sobrien	* configure.in: Remove the redundent AC_ARG_PROGRAM.
486289857Sobrien	* configure: Rebuild.
486389857Sobrien
486489857Sobrien2001-03-20  Andreas Schwab  <schwab@suse.de>
486589857Sobrien
486689857Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Don't need the
486789857Sobrien	relocation value when resolving a reference from a debugging
486889857Sobrien	section.
486989857Sobrien
487089857Sobrien2001-03-16  Scott Thomason  <SThomaso@hii.com>
487189857Sobrien
487289857Sobrien	* coff64-rs6000.c (xcoff64_swap_sym_out): Fix syntax errors.
487389857Sobrien	(xcoff64_swap_sym_out): Fix syntax errors.
487489857Sobrien
487589857Sobrien2001-03-16  Richard Sandiford  <rsandifo@redhat.com>
487689857Sobrien
487789857Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix warning.
487889857Sobrien
487989857Sobrien2001-03-15  Alan Modra  <alan@linuxcare.com.au>
488089857Sobrien
488189857Sobrien	* elf32-hppa.c (elf32_hppa_link_hash_entry): Add maybe_pic_call.
488289857Sobrien	(hppa_link_hash_newfunc): Init it.
488389857Sobrien	(hppa_type_of_stub): Only use non-PIC to PIC call stub if caller
488489857Sobrien	section appears to be non-PIC.
488589857Sobrien	(final_link_relocate): Likewise.
488689857Sobrien	(elf32_hppa_adjust_dynamic_symbol): Set maybe_pic_call for any
488789857Sobrien	possible candidate function, and set pic_call for those that will
488889857Sobrien	only have a .plt entry for the PIC call stub.
488989857Sobrien	(hppa_handle_PIC_calls): Set maybe_pic_call.
489089857Sobrien
489189857Sobrien2001-03-12  DJ Delorie  <dj@redhat.com>
489289857Sobrien
489389857Sobrien	* elf32-sh.c (sh_elf_relocate_section): Only relocation
489489857Sobrien	R_SH_DIR8WP* relocs if they're against external symbols, else
489589857Sobrien	they're just for relaxing.  Validate the reloc values.
489689857Sobrien
489789857Sobrien2001-03-12  Stefan Geuken <mail@stefan-geuken.de>
489889857Sobrien
489989857Sobrien	* binary.c (bfd_external_binary_architecture): Declare.
490089857Sobrien	(binary_object_p): If bfd_external_binary_architecture is defined,
490189857Sobrien	set the architecture to this string.
490289857Sobrien
490389857Sobrien2001-03-11  Philip Blundell  <philb@gnu.org>
490489857Sobrien
490589857Sobrien	* elf32-arm.h (elf32_arm_finish_dynamic_symbol): Don't make PLT
490689857Sobrien	entries that could serve as a definition for a weak symbol.
490789857Sobrien
490889857Sobrien2001-03-08  Nick Clifton  <nickc@redhat.com>
490989857Sobrien
491089857Sobrien	* Most files: Update copyright notices using Perl script created
491189857Sobrien	by Kevin Buettner <kevinb@redhat.com>.
491289857Sobrien
491389857Sobrien2001-03-07  Nick Clifton  <nickc@redhat.com>
491489857Sobrien
491589857Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Conditionalise
491689857Sobrien	prior patch on ! defined OLD_ARM_ABI.
491789857Sobrien
491889857Sobrien2001-03-07  Andreas Jaeger  <aj@suse.de>
491989857Sobrien
492089857Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Fix handling of
492189857Sobrien	some relocation values.
492289857Sobrien
492389857Sobrien2001-03-06  Nick Clifton  <nickc@redhat.com>
492489857Sobrien
492589857Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Clear bit zero
492689857Sobrien	of offset in BLX(1) instruction.
492789857Sobrien	* coff-arm.c (coff_arm_relocate_section): Clear bit zero of
492889857Sobrien	offset in BLX(1) instruction.
492989857Sobrien	Fix formatting.
493089857Sobrien
493189857Sobrien2001-03-06  Nick Clifton  <nickc@redhat.com>
493289857Sobrien
493389857Sobrien	* coff-arm.c (coff_arm_reloc_type_lookup): Add
493489857Sobrien	BFD_RELOC_THUMB_PCREL_BLX.
493589857Sobrien
493689857Sobrien2001-03-06  Igor Shevlyakov  <igor@windriver.com>
493789857Sobrien
493889857Sobrien	* archures.c (bfd_default_scan): Add Coldfire CPUs.
493989857Sobrien	* bfd-in2.h: Regenerate.
494089857Sobrien	* cpu-m68k.c: Add Coldfire CPUs for arch table.
494189857Sobrien	* ieee.c (ieee_write_processor): Set proper id for
494289857Sobrien	Coldfire CPUs.
494389857Sobrien
494489857Sobrien2001-03-01  D.J. Barrow <djbarrow@de.ibm.com,barrow_dj@yahoo.com>
494589857Sobrien
494689857Sobrien	* configure.in: Add s390 target.
494789857Sobrien	* configure: Regenerate.
494889857Sobrien
494989857Sobrien2001-02-28  Andreas Jaeger  <aj@suse.de>
495089857Sobrien
495189857Sobrien	* elf64-x86-64.c (elf64_x86_64_relocate_section): Add relocation
495289857Sobrien	to addend.
495389857Sobrien
495489857Sobrien2001-02-28  Philip Blundell  <pb@futuretv.com>
495589857Sobrien
495689857Sobrien	* elf32-arm.h: Update mentions of renamed EF_xx constants.
495789857Sobrien	(elf32_arm_print_private_bfd_data): Handle ARM EABI version 2.
495889857Sobrien
495989857Sobrien2001-02-27  H.J. Lu  <hjl@gnu.org>
496089857Sobrien
496189857Sobrien	* aoutx.h (NAME(aout,bfd_free_cached_info)): Return true if
496289857Sobrien	abfd->tdata.aout_data == NULL.
496389857Sobrien
496489857Sobrien2001-02-27  Alan Modra  <alan@linuxcare.com.au>
496589857Sobrien
496689857Sobrien	* elf32-hppa.c: Correct field selector in stub comments.
496789857Sobrien	(clobber_millicode_symbols): Formatting fix.
496889857Sobrien
496989857Sobrien	* configure.in: Bump version to 2.11.90.
497089857Sobrien	* configure: Regenerate.
497189857Sobrien	* Makefile.am (CFILES): Rename to SOURCE_CFILES.
497289857Sobrien	(CFILES): $SOURCE_CFILES + generated C files.
497389857Sobrien	(POTFILES): Include $HFILES not $SOURCE_HFILES.
497489857Sobrien	Run "make dep-am"
497589857Sobrien	* Makefile.in: Regenerate.
497689857Sobrien	* doc/Makefile.in: This too.
497789857Sobrien
497889857Sobrien2001-02-26  Timothy Wall  <twall@cygnus.com>
497989857Sobrien
498089857Sobrien	* elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Remove obsolete
498189857Sobrien	comments.
498289857Sobrien
498389857Sobrien2001-02-26  Nick Clifton <nickc@redhat.com>
498489857Sobrien
498589857Sobrien	* coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Tidy
498689857Sobrien	up, replacing multiple if statements with a switch.
498789857Sobrien	(handle_COMDAT): New function.
498889857Sobrien
498989857Sobrien2001-02-26  H.J. Lu  <hjl@gnu.org>
499089857Sobrien
499189857Sobrien	* coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Issue
499289857Sobrien	a warning for section flags we do not handle instead of
499389857Sobrien	aborting.
499489857Sobrien
499589857Sobrien2001-02-26  Andreas Jaeger  <aj@suse.de>
499689857Sobrien
499789857Sobrien	* elf64-x86-64.c (x86_64_elf_howto_table): Fix order of entries.
499889857Sobrien
499989857Sobrien2001-02-22  Timothy Wall  <twall@cygnus.com>
500089857Sobrien
500189857Sobrien	* config.bfd (targ_cpu): Add vectors for ia64-*-aix* (aka Monterey).
500289857Sobrien	* configure.in: Add objects for elf64_ia64_aix vectors.
500389857Sobrien	* configure: Regenerated.
500489857Sobrien	* configure.host: Recognize ia64-*-aix*.
500589857Sobrien	* elfxx-ia64.c: Add hooks for ELF64 on AIX5.  Define new vectors
500689857Sobrien	for AIX.  AIX5 requires most relocations to be dynamic (*all*
500789857Sobrien	binaries are somewhat similar to shared libraries).
500889857Sobrien	* targets.c: Add elf64_ia64_aix vectors.
500989857Sobrien
501089857Sobrien2001-02-21  David Mosberger  <davidm@hpl.hp.com>
501189857Sobrien
501289857Sobrien	* cpu-ia64-opc.c (elf64_ia64_operands}: Fix typo: error string for
501389857Sobrien	C8 said "1" instead of "8".  Clarify error string for IMM22:
501489857Sobrien	"signed integer" instead of just "integer".
501589857Sobrien
501689857Sobrien2001-02-20  Andreas Jaeger  <aj@suse.de>
501789857Sobrien
501889857Sobrien	* elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Don't make
501989857Sobrien	PLT entries that could serve as a definition for a weak symbol.
502089857Sobrien
502189857Sobrien2001-02-19  Jakub Jelinek  <jakub@redhat.com>
502289857Sobrien
502389857Sobrien	* elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Don't make PLT
502489857Sobrien	entries that could serve as a definition for a weak symbol.
502589857Sobrien	* elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Likewise.
502689857Sobrien
502789857Sobrien2001-02-18  David O'Brien  <obrien@FreeBSD>
502889857Sobrien
502989857Sobrien	* configure.in: Recognize FreeBSD/arm, FreeBSD/PowerPC, and treat
503089857Sobrien	FreeBSD/i386-CURRENT differently until I can figure out the needed
503189857Sobrien	corefile changes.
503289857Sobrien	* configure: Regenerate.
503389857Sobrien	* config.bfd: Recognize FreeBSD/x86-64, FreeBSD/ia64, FreeBSD/arm,
503489857Sobrien	FreeBSD/PowerPC, and FreeBSD/sparc64.
503589857Sobrien
503689857Sobrien2001-02-18  lars brinkhoff  <lars@nocrew.org>
503789857Sobrien
503889857Sobrien	* Makefile.am: Add PDP-11 a.out target.
503989857Sobrien	* config.bfd: Likewise.
504089857Sobrien	* configure.in: Likewise.
504189857Sobrien	* targets.c: Likewise.
504289857Sobrien	* archures.c: Likewise.
504389857Sobrien	* bfd-in2.h: Likewise.  Add PDP-11 relocations.
504489857Sobrien	* libbfd.h: Add PDP-11 relocations.
504589857Sobrien	* reloc.c: Likewise.
504689857Sobrien	* cpu-pdp11.c: New file.
504789857Sobrien	* pdp11.c: New file.
504889857Sobrien
504989857Sobrien	* libaout.h (GET_WORD) [ARCH_SIZE==16]: Define.
505089857Sobrien	(GET_SWORD) [ARCH_SIZE==16]: Likewise.
505189857Sobrien	(GET_SWORD) [ARCH_SIZE==16]: Likewise.
505289857Sobrien	(PUT_WORD) [ARCH_SIZE==16]: Likewise.
505389857Sobrien	(GET_MAGIC): New macro.
505489857Sobrien	(PUT_MAGIC): Likewise.
505589857Sobrien	* aout-target.h (MY(object_p)): Use GET_MAGIC to read magic word.
505689857Sobrien
505789857Sobrien2001-02-18  Jim Kingdon  <jkingdon@engr.sgi.com>
505889857Sobrien
505989857Sobrien	* irix-core.c (irix_core_core_file_p): Set the architecture (GDB
506089857Sobrien	multiarch needs it).
506189857Sobrien
506289857Sobrien2001-02-18  H.J. Lu  <hjl@gnu.org>
506389857Sobrien
506489857Sobrien	* elflink.h (elf_link_input_bfd): Ignore invalid section symbol
506589857Sobrien	index.
506689857Sobrien
506789857Sobrien2001-02-18  Kazu Hirata  <kazu@hxi.com>
506889857Sobrien
506989857Sobrien	* vms-misc.c: Fix formatting.
507089857Sobrien
507189857Sobrien2001-02-16  Kazu Hirata  <kazu@hxi.com>
507289857Sobrien
507389857Sobrien	* vms.c: Fix formatting.
507489857Sobrien
507589857Sobrien2001-02-14  H.J. Lu  <hjl@gnu.org>
507689857Sobrien
507789857Sobrien	* elf.c (elf_find_function): New function.
507889857Sobrien	(_bfd_elf_find_nearest_line): Call elf_find_function () to find
507989857Sobrien	the file name and function name.
508089857Sobrien
508189857Sobrien2001-02-14  Nick Clifton  <nickc@redhat.com>
508289857Sobrien
508389857Sobrien	* ecoff.c (bfd_debug_section): Update to initialise new fields in
508489857Sobrien	asection structure.
508589857Sobrien
508689857Sobrien	* Makefile.am (BFD32_BACKENDS_CFILES): Remove peigen.c
508789857Sobrien	(BFD64_BACKENDS): Add pepigen.c
508889857Sobrien	Add rules to create peigen.c and pepigen.c from peXXigen.c.
508989857Sobrien
509089857Sobrien	* Makefile.in: Regenerate.
509189857Sobrien	* configure:  Regenerate.
509289857Sobrien	* po/POTFILES.in: Regenerate.
509389857Sobrien	* po/bfd.pot: Regenerate.
509489857Sobrien
509589857Sobrien2001-02-14  H.J. Lu  <hjl@gnu.org>
509689857Sobrien
509789857Sobrien	* libcoff-in.h (pe_tdata): Add members target_subsystem and
509889857Sobrien	force_minimum_alignment.
509989857Sobrien
510089857Sobrien2001-02-14  Bo Thorsen  <bo@suse.de>
510189857Sobrien
510289857Sobrien	* elf64-x86-64.c: Small formatting fixes and rearrangements of code.
510389857Sobrien	(elf64_86_64_size_info): Struct added to fix a problem
510489857Sobrien	with the hashtable string entries.
510589857Sobrien	(elf64_x86_64_adjust_dynamic_symbol): Add generation of .got.plt.
510689857Sobrien	(elf64_x86_64_size_dynamic_sections): A FIXME removed.
510789857Sobrien	(elf64_x86_64_size_dynamic_sections): Fix a dynamic entry and
510889857Sobrien	remove the FIXME for this.
510989857Sobrien	(elf64_x86_64_adjust_dynamic_symbol): Fix check for unneeded .plt
511089857Sobrien	section. Also removed the FIXME for it.
511189857Sobrien	(x86_64_elf_howto_table): Use bfd_elf_generic_reloc.
511289857Sobrien	(ELF_DYNAMIC_INTERPRETER): Fix the name of the dynamic linker.
511389857Sobrien	(elf64_x86_64_finish_dynamic_sections): Enable .got.plt writing.
511489857Sobrien
511589857Sobrien2001-02-13  Richard Henderson  <rth@redhat.com>
511689857Sobrien
511789857Sobrien	* elfxx-ia64.c (elfNN_ia64_final_link): Set __gp if required
511889857Sobrien	and not user provided.
511989857Sobrien
512089857Sobrien2001-02-13  Kazu Hirata  <kazu@hxi.com>
512189857Sobrien
512289857Sobrien	* vms.c (vms_print_symbol): Remove unreachable code.
512389857Sobrien
512489857Sobrien	* rs6000-core.c: Fix formatting.
512589857Sobrien
512689857Sobrien2001-02-13  David Mosberger  <davidm@hpl.hp.com>
512789857Sobrien
512889857Sobrien	* peicode.h (coff_swap_filehdr_out) [COFF_IMAGE_WITH_PE]: Define
512989857Sobrien	as _bfd_XXi_only_swap_filehdr_out.
513089857Sobrien	(pe_mkobject) [PEI_FORCE_MINIMUM_ALIGNMENT]: Set
513189857Sobrien	pe->force_minimum_alignment to TRUE.
513289857Sobrien	(pe_mkobject) [PEI_TARGET_SUBSYSTEM]: Set pe->target_subsystem to
513389857Sobrien	PEI_TARGET_SUBSYSTEM.
513489857Sobrien	(pe_print_private_bfd_data): Call
513589857Sobrien	_bfd_XX_print_private_bfd_data_common() instead of
513689857Sobrien	_bfd_pe_print_private_bfd_data_common().
513789857Sobrien	(pe_bfd_copy_private_bfd_data): Call
513889857Sobrien	_bfd_XX_bfd_copy_private_bfd_data_common() instead of
513989857Sobrien	_bfd_pe_bfd_copy_private_bfd_data_common().
514089857Sobrien	(coff_bfd_copy_private_section_data): Define as
514189857Sobrien	_bfd_XX_bfd_copy_private_section_data instead of
514289857Sobrien	_bfd_pe_bfd_copy_private_section_data.
514389857Sobrien	(coff_get_symbol_info): Define as _bfd_XX_get_symbol_info instead
514489857Sobrien	of a _bfd_pe_get_symbol_info.
514589857Sobrien
514689857Sobrien	* peigen.c: Delete.
514789857Sobrien
514889857Sobrien	* peXXigen.c: Renamed from peigen.c.
514989857Sobrien	(COFF_WITH_XX): Define this macro (will get expanded into
515089857Sobrien	COFF_WITH_pep or COFF_WITH_pe, depending on whether this is being
515189857Sobrien	compiled as peigen.c or pepigen.c.
515289857Sobrien	[COFF_WITH_pep]: Include "coff/ia64.h" instead of "coff/i386.h" to
515389857Sobrien	define the canonical PEP structures and definitions.
515489857Sobrien	(_bfd_XXi_swap_aouthdr_out): If pe->force_minimum_alignment is in
515589857Sobrien	effect, enforce minimum file and section alignments.  If
515689857Sobrien	extra->Subsystem is IMAGE_SUBSYSTEM_UNKNOWN, set it to
515789857Sobrien	pe->target_subsystem (this defaults to IMAGE_SUBSYSTEM_UNKNOWN,
515889857Sobrien	so, by default, this is a no-op).
515989857Sobrien
516089857Sobrien	* libpei.h: Rename COFF_WITH_PEP to COFF_WITH_pep.
516189857Sobrien	(_bfd_XX_bfd_copy_private_bfd_data_common): Add macros to map
516289857Sobrien	_bfd_XXfoo to _bfd_pepfoo if COFF_WIT_PEP is defined and to
516389857Sobrien	_bfd_pefoo if it's not defined.  Use these macros to define
516489857Sobrien	coff swap macros.
516589857Sobrien
516689857Sobrien	* libcoff.h (pe_tdata): Add members target_subsystem and
516789857Sobrien	force_minimum_alignment.
516889857Sobrien
516989857Sobrien	* efi-app-ia64.c (COFF_WITH_pep): Rename COFF_WITH_PEP to
517089857Sobrien	COFF_WITH_pep.
517189857Sobrien	(PEI_TARGET_SUBSYSTEM): Rename from PEI_DEFAULT_TARGET_SUBSYSTEM.
517289857Sobrien
517389857Sobrien	* configure.in (bfd_efi_app_ia64_vec): Use pepigen.lo instead of
517489857Sobrien	peigen.lo.
517589857Sobrien
517689857Sobrien	* coff-ia64.c: Rename COFF_WITH_PEP to COFF_WITH_pep.
517789857Sobrien	(AOUTSZ): Rename PEP64AOUTSZ and PEP64AOUTHDR to PEPAOUTSZ and
517889857Sobrien	PEPAOUTHDR.
517989857Sobrien
518089857Sobrien	* Makefile.in (BFD64_BACKENDS): Mention pepigen.lo.
518189857Sobrien	(BFD64_BACKENDS_CFILES): Mention pepigen.c
518289857Sobrien	(peigen.c): Add rule to generate from peXXigen.c.
518389857Sobrien	(pepigen.c): Ditto.
518489857Sobrien	(pepigen.lo): List dependencies for pepigen.lo.
518589857Sobrien
518689857Sobrien2001-02-13  Alan Modra  <alan@linuxcare.com.au>
518789857Sobrien
518889857Sobrien	* elf32-hppa.c (elf32_hppa_set_gp): Handle weak $global$.  If
518989857Sobrien	$global$ referenced but not defined, set its value here.
519089857Sobrien
519189857Sobrien2001-02-09  Bo Thorsen  <bo@suse.de>
519289857Sobrien
519389857Sobrien	* elf64-x86-64.c (elf64_x86_64_check_relocs): Set .rela.got section
519489857Sobrien	alignment to 3.
519589857Sobrien	(elf64_x86_64_check_relocs): Write R_X86_64_GOTPCREL GOT entry
519689857Sobrien	and relocation.
519789857Sobrien	(elf64_x86_64_relocate_section): Fix formatting.
519889857Sobrien	(elf64_x86_64_relocate_section): Fix addend for relocation of
519989857Sobrien	R_X86_64_(8|16|32|PC8|PC16|PC32).
520089857Sobrien
520189857Sobrien2001-02-12  Jan Hubicka  <jh@suse.cz>
520289857Sobrien
520389857Sobrien	* elf64-x86-64.c (x86_64_elf_howto): Fix name of R_X86_64_GOTPCREL.
520489857Sobrien
520589857Sobrien2001-02-11  H.J. Lu  <hjl@gnu.org>
520689857Sobrien
520789857Sobrien	* elflink.h (elf_bfd_final_link): Use file_align for SYMTAB
520889857Sobrien	alignment.
520989857Sobrien
521089857Sobrien2001-02-11  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
521189857Sobrien
521289857Sobrien	* elf32-mips.c (mips_elf_create_dynamic_relocation): Undo patch
521389857Sobrien	from 2000-10-13.  Do not add the symbol's value for R_MIPS_REL32
521489857Sobrien	relocations against dynsym symbols.
521589857Sobrien
521689857Sobrien	* elf32-mips.c (elf_mips_howto_table): Fix the comment on
521789857Sobrien	the R_MIPS_26 relocation.
521889857Sobrien	(mips_elf_calculate_relocation): Use (p + 4) instead of p for
521989857Sobrien	the R_MIPS_26 relocation.
522089857Sobrien	(mips_elf_perform_relocation): Fix the comment on the R_MIPS16_26
522189857Sobrien	relocation.
522289857Sobrien	* elf64-mips.c (mips_elf64_howto_table_rel): Fix the comment on
522389857Sobrien	the R_MIPS_26 relocation.
522489857Sobrien	(mips_elf64_howto_table_rela): Likewise.
522589857Sobrien
522689857Sobrien	* elf32-mips.c (struct mips_elf_link_hash_entry): Added no_fn_stub
522789857Sobrien	member to mark symbols that have non-CALL relocations against
522889857Sobrien	them.
522989857Sobrien	(mips_elf_link_hash_newfunc): Initialize no_fn_stub.
523089857Sobrien	(mips_elf_calculate_relocation): Handle R_MIPS_CALL16 like
523189857Sobrien	R_MIPS_GOT16.
523289857Sobrien	(_bfd_mips_elf_check_relocs): Set no_fn_stub for a symbol if a
523389857Sobrien	non-CALL relocation against it is encountered.
523489857Sobrien	(_bfd_mips_elf_copy_indirect_symbol): Merge no_fn_stub as well.
523589857Sobrien	(_bfd_mips_elf_adjust_dynamic_symbol): Only create a stub if
523689857Sobrien	no_fn_stub is not set.
523789857Sobrien
523889857Sobrien	* elf32-mips.c (mips_elf_output_extsym): Get the output section
523989857Sobrien	information from the real symbol for indirect ones.
524089857Sobrien	Check no_fn_stub to find out if a symbol has a function stub
524189857Sobrien	indeed.
524289857Sobrien
524389857Sobrien2001-02-11  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
524489857Sobrien
524589857Sobrien	* Makefile.am (stamp-lib): ranlib the libbfd.a in the build directory.
524689857Sobrien	* Makefile.in: Regenerate.
524789857Sobrien
524889857Sobrien2001-02-09  David Mosberger  <davidm@hpl.hp.com>
524989857Sobrien
525089857Sobrien	* elfxx-ia64.c (is_unwind_section_name): New function.  Returns
525189857Sobrien	true if section name is an unwind table section name.
525289857Sobrien	(elfNN_ia64_additional_program_headers): Count each unwind section
525389857Sobrien	separately.
525489857Sobrien	(elfNN_ia64_modify_segment_map): Install one unwind program header
525589857Sobrien	for each unwind separate section.  Note: normally the linker
525689857Sobrien	script merges the unwind sections that go into a single segment,
525789857Sobrien	so this still generates at most one unwind program header per
525889857Sobrien	segment.
525989857Sobrien
526089857Sobrien	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Accept any section
526189857Sobrien	name for SHT_IA_64_UNWIND, not just .IA_64.unwind.
526289857Sobrien	(elfNN_ia64_fake_sections): Mark sections with names that start
526389857Sobrien	with .IA_64.unwind but not with .IA_64.unwind_info as an IA-64
526489857Sobrien	unwind section.
526589857Sobrien
526689857Sobrien	* elfxx-ia64.c (elfNN_ia64_final_write_processing): New function.
526789857Sobrien	Use it to make sh_info in unwind section point to the text section
526889857Sobrien	it applies to.
526989857Sobrien
527089857Sobrien2001-02-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
527189857Sobrien
527289857Sobrien	* Makefile.am: Add linux target for S/390.
527389857Sobrien	* archures.c: Likewise.
527489857Sobrien	* bfd-in2.h: Likewise.
527589857Sobrien	* config.bfd: Likewise.
527689857Sobrien	* configure.in: Likewise.
527789857Sobrien	* elf.c: Likewise.
527889857Sobrien	* libbfd.h: Likewise.
527989857Sobrien	* targets.c: Likewise.
528089857Sobrien	* cpu-s390.c: New file.
528189857Sobrien	* elf32-s390.c: New file.
528289857Sobrien	* elf64-s390.c: New file.
528389857Sobrien
528489857Sobrien2001-02-09  Nick Clifton  <nickc@redhat.com>
528589857Sobrien
528689857Sobrien	* peigen.c (_bfd_pe_get_symbol_info): Suppress addition of
528789857Sobrien	ImageBase.  This has already been done by coff_swap_hdr_in.
528889857Sobrien
528989857Sobrien2001-02-09  Jakub Jelinek  <jakub@redhat.com>
529089857Sobrien
529189857Sobrien	* elf64-sparc.c (sparc64_elf_copy_private_bfd_data): New function.
529289857Sobrien
529389857Sobrien2001-02-09  Jakub Jelinek  <jakub@redhat.com>
529489857Sobrien
529589857Sobrien	* elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count.
529689857Sobrien	(sparc64_elf_relocate_section): Likewise.
529789857Sobrien
529889857Sobrien2001-02-09  Mark Kettenis  <kettenis@gnu.org>
529989857Sobrien
530089857Sobrien	* elf32-sparc.c (_bfd_sparc_elf_howto_table): Treat R_SPARC_UA32
530189857Sobrien	similar to R_SPARC_32.
530289857Sobrien	* elf64-sparc.c	(sparc64_elf_howto_table): Likewise.
530389857Sobrien
530489857Sobrien2001-02-08  H.J. Lu  <hjl@gnu.org>
530589857Sobrien
530689857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Reserve R_386_PC32
530789857Sobrien	relocation entries for weak definitions when building DSO with
530889857Sobrien	-Bsymbolic.
530989857Sobrien
531089857Sobrien2001-02-08  Richard Henderson  <rth@redhat.com>
531189857Sobrien
531289857Sobrien	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Respect weakness
531389857Sobrien	before visibility.  Locally defined protected symbols are not
531489857Sobrien	dynamic.
531589857Sobrien
531689857Sobrien2001-02-08  Geoffrey Keating  <geoffk@redhat.com>
531789857Sobrien
531889857Sobrien	* config.bfd: Enable coff64 for rs6000-*.  Patch from
531989857Sobrien	<hzoli@austin.ibm.com>.
532089857Sobrien
532189857Sobrien2001-02-07  Mark Elbrecht  <snowball3@bigfoot.com>
532289857Sobrien
532389857Sobrien	* coffgen.c (coff_find_nearest_line): If stabs info is successfully
532489857Sobrien	found, do not attempt to find dwarf2 info before returning.
532589857Sobrien
532689857Sobrien2001-02-07  Jakub Jelinek  <jakub@redhat.com>
532789857Sobrien
532889857Sobrien	* elflink.h (is_global_symbol_definition): Rename to
532989857Sobrien	is_global_data_symbol_definition and have it reject function
533089857Sobrien	symbols.
533189857Sobrien	(elf_link_is_defined_archive_symbol): Use renamed function.
533289857Sobrien
533389857Sobrien2001-02-07  Todd Vierling  <tv@wasabisystems.com>
533489857Sobrien
533589857Sobrien	* libbfd-in.h (bfd_target_vector): Change extern array to pointer.
533689857Sobrien	* libbfd.h (bfd_target_vector): Likewise.
533789857Sobrien	* targets.c (bfd_target_vector): Rename to _bfd_target_vector and
533889857Sobrien	make static; create pointer reference named bfd_target_vector.
533989857Sobrien	(_bfd_target_vector_entries): Calculate this based on the array
534089857Sobrien	typed _bfd_target_vector.
534189857Sobrien
534289857Sobrien2001-02-06  H.J. Lu  <hjl@gnu.org>
534389857Sobrien
534489857Sobrien	* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Only hidden and
534589857Sobrien	internal symbols are not dynamic.
534689857Sobrien	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
534789857Sobrien
534889857Sobrien2001-02-06  Nick Clifton  <nickc@redhat.com>
534989857Sobrien
535089857Sobrien	* Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-ia64.c, so
535189857Sobrien	that it will not be pulled into the list of files that make up
535289857Sobrien	po/POTFILES.in.
535389857Sobrien	* Makefile.in: Regenerate.
535489857Sobrien	* po/bfd.pot:  Regenerate.
535589857Sobrien
535689857Sobrien2001-02-06  H.J. Lu  <hjl@gnu.org>
535789857Sobrien
535889857Sobrien	* peicode.h (coff_swap_filehdr_in): Remove the e_magic
535989857Sobrien	checking.
536089857Sobrien	(pe_bfd_object_p): Rewrite with external_PEI_DOS_hdr and
536189857Sobrien	external_PEI_IMAGE_hdr.
536289857Sobrien
536389857Sobrien2001-02-06  Kazu Hirata  <kazu@hxi.com>
536489857Sobrien
536589857Sobrien	* elf-m10200.c: Fix formatting.
536689857Sobrien
536789857Sobrien2001-02-04  Nick Clifton  <nickc@redhat.com>
536889857Sobrien
536989857Sobrien	* elf32-v850.c (v850_elf_reloc): Do not convert reloc addend to PC
537089857Sobrien	rel, it will be handled later on.
537189857Sobrien
537289857Sobrien2001-02-02  Fred Fish  <fnf@ninemoons.com>
537389857Sobrien
537489857Sobrien	* Makefile.in: Fix typo.
537589857Sobrien
537689857Sobrien2001-02-01  Kazu Hirata  <kazu@hxi.com>
537789857Sobrien
537889857Sobrien	* elf-m10300.c: Fix formatting.
537989857Sobrien
538089857Sobrien2001-01-30  Alan Modra  <alan@linuxcare.com.au>
538189857Sobrien
538289857Sobrien	* elf64-hppa.c (elf64_hppa_elf_get_symbol_type): New function.
538389857Sobrien	(elf_backend_get_symbol_type): Define.
538489857Sobrien	(elf64_hppa_object_p): Set architecture and machine from elf
538589857Sobrien	header flags.
538689857Sobrien
538789857Sobrien2001-01-30  Curtis L. Janssen  <cljanss@ca.sandia.gov>
538889857Sobrien
538989857Sobrien	* elf64-alpha.c (elf64_alpha_find_nearest_line): Query dwarf2
539089857Sobrien	before mdebug.
539189857Sobrien
539289857Sobrien2001-01-26  Richard Henderson  <rth@redhat.com>
539389857Sobrien
539489857Sobrien	* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Return false
539589857Sobrien	for non-default visibility.
539689857Sobrien	* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise, but
539789857Sobrien	delete ugly macro and replace with pretty function.
539889857Sobrien
539989857Sobrien2001-01-25  Mark Elbrecht  <snowball3@bigfoot.com>
540089857Sobrien
540189857Sobrien	* coff-go32.c: Update copyright.
540289857Sobrien	* coff-stgo32.c: Likewise.
540389857Sobrien	* coff-go32.c (COFF_LONG_FILENAMES): Define.
540489857Sobrien	* coff-stgo32.c (COFF_LONG_FILENAMES): Likewise.
540589857Sobrien	* coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Remove .bss entry.
540689857Sobrien	* coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
540789857Sobrien
540889857Sobrien2001-01-25  Kazu Hirata  <kazu@hxi.com>
540989857Sobrien
541089857Sobrien	* bfd-in2.h: Rebuild.
541189857Sobrien	* libbfd.h: Likewise.
541289857Sobrien
541389857Sobrien2001-01-23  H.J. Lu  <hjl@gnu.org>
541489857Sobrien
541589857Sobrien	* bfd-in2.h: Rebuild.
541689857Sobrien
541789857Sobrien2001-01-23  H.J. Lu  <hjl@gnu.org>
541889857Sobrien
541989857Sobrien	* vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_buf)
542089857Sobrien	is NULL or PRIV(vms_rec) is outside of the buffer.
542189857Sobrien
542289857Sobrien2001-01-23  Kazu Hirata  <kazu@hxi.com>
542389857Sobrien
542489857Sobrien	* coff64-rs6000.c: Fix formatting.
542589857Sobrien	* coff-arm.c: Likewise.
542689857Sobrien	* coffgen.c: Likewise.
542789857Sobrien	* cofflink.c: Likewise.
542889857Sobrien	* coff-mcore.c: Likewise.
542989857Sobrien	* coff-mips.c: Likewise.
543089857Sobrien	* coff-pmac.c: Likewise.
543189857Sobrien	* coff-ppc.c: Likewise.
543289857Sobrien	* coff-rs6000.c: Likewise.
543389857Sobrien	* elf32.c: Likewise.
543489857Sobrien	* elf32-fr30.c: Likewise.
543589857Sobrien	* elf32-i370.c: Likewise.
543689857Sobrien	* elf32-i860.c: Likewise.
543789857Sobrien	* elf32-m32r.c: Likewise.
543889857Sobrien	* elf32-m68k.c: Likewise.
543989857Sobrien	* elf32-mcore.c: Likewise.
544089857Sobrien	* elf32-ppc.c: Likewise.
544189857Sobrien	* elf32-sh.c: Likewise.
544289857Sobrien	* elf32-v850.c: Likewise.
544389857Sobrien	* elf64-alpha.c: Likewise.
544489857Sobrien	* elf64-sparc.c: Likewise.
544589857Sobrien	* elflink.c: Likewise.
544689857Sobrien	* elflink.h: Likewise.
544789857Sobrien	* elf-m10200.c: Likewise.
544889857Sobrien	* elf-m10300.c: Likewise.
544989857Sobrien	* elfxx-ia64.c: Likewise.
545089857Sobrien
545189857Sobrien	* aoutx.h: Fix formatting.
545289857Sobrien	* bfd.c: Likewise.
545389857Sobrien	* bfd-in2.h: Likewise.
545489857Sobrien	* bfd-in.h: Likewise.
545589857Sobrien	* cpu-i386.c: Likewise.
545689857Sobrien	* cpu-m68hc11.c: Likewise.
545789857Sobrien	* dwarf2.c: Likewise.
545889857Sobrien	* elf64-x86-64.c: Likewise.
545989857Sobrien	* format.c: Likewise.
546089857Sobrien	* freebsd.h: Likewise.
546189857Sobrien	* hash.c: Likewise.
546289857Sobrien	* hp300hpux.c: Likewise.
546389857Sobrien	* hppabsd-core.c: Likewise.
546489857Sobrien	* hpux-core.c: Likewise.
546589857Sobrien
546689857Sobrien2001-01-22  Bo Thorsen  <bo@suse.de>
546789857Sobrien
546889857Sobrien	* elf64-x86-64.c: Added PIC support for X86-64.
546989857Sobrien	(elf64_x86_64_link_hash_newfunc): Function added.
547089857Sobrien	(elf64_x86_64_link_hash_table_create): Likewise.
547189857Sobrien	(elf64_x86_64_check_relocs): Likewise.
547289857Sobrien	(elf64_x86_64_gc_mark_hook): Likewise.
547389857Sobrien	(elf64_x86_64_gc_sweep_hook): Likewise.
547489857Sobrien	(elf64_x86_64_adjust_dynamic_symbol): Likewise.
547589857Sobrien	(elf64_x86_64_size_dynamic_sections): Likewise.
547689857Sobrien	(elf64_x86_64_discard_copies): Likewise.
547789857Sobrien	(elf64_x86_64_finish_dynamic_symbol): Likewise.
547889857Sobrien	(elf64_x86_64_finish_dynamic_sections): Likewise.
547989857Sobrien	(elf64_x86_64_relocate_section): Add relocation of PIC sections.
548089857Sobrien
548189857Sobrien2001-01-21  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
548289857Sobrien
548389857Sobrien	* Makefile.am (install-data-local): Make use of $(DESTDIR).
548489857Sobrien	* Makefile.in: Regenerate.
548589857Sobrien
548689857Sobrien2001-01-21  Kazu Hirata  <kazu@hxi.com>
548789857Sobrien
548889857Sobrien	* coff-a29k.c: Fix formatting.
548989857Sobrien
549089857Sobrien2001-01-19  H.J. Lu  <hjl@gnu.org>
549189857Sobrien
549289857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Report files with bad
549389857Sobrien	relocation section names.
549489857Sobrien	(elf_i386_relocate_section): Report files with bad relocation
549589857Sobrien	section names and return false.
549689857Sobrien
549789857Sobrien2001-01-17  Bo Thorsen  <bo@suse.de>
549889857Sobrien
549989857Sobrien	* targets.c: Alphabetize list of xvecs.
550089857Sobrien
550189857Sobrien2001-01-14  Alan Modra  <alan@linuxcare.com.au>
550289857Sobrien
550389857Sobrien	* config.bfd: Add linux target variant for elfxx-hppa.
550489857Sobrien	* configure.in: Recognize bfd_elf32_hppa_linux_vec and
550589857Sobrien	bfd_elf64_hppa_linux_vec.
550689857Sobrien	* configure: Regenerate.
550789857Sobrien	* elf64-hppa.c: Include elf64-target.h again to support linux
550889857Sobrien	target variant.
550989857Sobrien	(elf64_hppa_post_process_headers): Set ELFOSABI_LINUX for linux.
551089857Sobrien	* elf32-hppa.c: Include elf32-target.h again to support linux
551189857Sobrien	target variant.
551289857Sobrien	(elf32_hppa_post_process_headers): New function.
551389857Sobrien	(elf_backend_post_process_headers): Define.
551489857Sobrien	* targets.c (bfd_target_vector): Add bfd_elf64_hppa_linux_vec and
551589857Sobrien	bfd_elf32_hppa_linux_vec.
551689857Sobrien
551789857Sobrien	* elf32-hppa.c (elf32_hppa_link_hash_table): Add text_segment_base,
551889857Sobrien	and data_segment_base fields.
551989857Sobrien	(elf32_hppa_link_hash_table_create ): Init them.
552089857Sobrien	(elf32_hppa_check_relocs): Update comments.
552189857Sobrien	(hppa_record_segment_addr): New function.
552289857Sobrien	(elf32_hppa_relocate_section): Call it.
552389857Sobrien	(final_link_relocate): Handle R_PARISC_SEGREL32.
552489857Sobrien	(elf32_hppa_final_link): New function.
552589857Sobrien	(bfd_elf32_bfd_final_link): Define to call it.
552689857Sobrien	(hppa_unwind_entry_compare): New function.
552789857Sobrien	* cache.c (bfd_open_file): Create files in write+read mode.
552889857Sobrien
552989857Sobrien	* elf-hppa.h (elf_hppa_howto_table): Set bitsize value for
553089857Sobrien	SEGREL32 and numerous other relocs.  Change duplicate
553189857Sobrien	R_PARISC_NONE relocs to R_PARISC_UNIMPLEMENTED.
553289857Sobrien
553389857Sobrien	* opncls.c (bfd_fdopenr): Add parens like the comment says around
553489857Sobrien	O_ACCMODE.
553589857Sobrien
553689857Sobrien	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Don't create
553789857Sobrien	.plt entries for DT_INIT and DT_FINI.
553889857Sobrien	(elf32_hppa_finish_dynamic_sections): Remove special handling of
553989857Sobrien	DT_INIT and DT_FINI.
554089857Sobrien
554189857Sobrien	* elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Use 16-bit
554289857Sobrien	offsets for stub .plt access if wide mode.  Check offset in range.
554389857Sobrien
554489857Sobrien2001-01-13  Nick Clifton  <nickc@redhat.com>
554589857Sobrien
554689857Sobrien	* elf32-fr30.c (fr30_elf_howto_table): Remove spurious blank
554789857Sobrien	line.
554889857Sobrien
554989857Sobrien	* coffcode.h (coff_canonicalize_reloc): Remove spurious blank
555089857Sobrien	line.
555189857Sobrien
555289857Sobrien2001-01-12  Alan Modra  <alan@linuxcare.com.au>
555389857Sobrien
555489857Sobrien	* configure.in ([bfd_elf64_x86_64_vec]): Set target64.
555589857Sobrien	* configure: Regenerate.
555689857Sobrien
555789857Sobrien2001-01-11  Peter Targett  <peter.targett@arccores.com>
555889857Sobrien
555989857Sobrien	* bfd-in2.h (bfd_architecture): Add bfd_mach_arc_5,
556089857Sobrien	bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8 for ARC variants.
556189857Sobrien	* cpu-arc.c (arch_info_struct): Add entries for variants.
556289857Sobrien	(bfd_arc_arch) Set default to bfd_mach_arc_5.
556389857Sobrien	(arc_get_mach) Don't assume machine names prefixed arc- before
556489857Sobrien	testing.
556589857Sobrien	* elf32-arc.c (arc_elf_object_p): Set machine number based on new
556689857Sobrien	selections.
556789857Sobrien	(arc_elf_final_write_processing) Likewise.
556889857Sobrien	(ELF_MACHINE_CODE) Use EM_ARC.
556989857Sobrien
557089857Sobrien2001-01-10  Nick Clifton  <nickc@redhat.com>
557189857Sobrien
557289857Sobrien	* coff-arm.c (LOCAL_LABEL_PREFIX): Change definition to "".
557389857Sobrien
557489857Sobrien2001-01-07  Philip Blundell  <philb@gnu.org>
557589857Sobrien
557689857Sobrien	* README: Replace `bug-gnu-utils@gnu.org' with
557789857Sobrien	`bug-binutils@gnu.org'.
557889857Sobrien
557989857Sobrien2001-01-04  Kazu Hirata  <kazu@hxi.com>
558089857Sobrien
558189857Sobrien	* som.c: Fix formatting.
558289857Sobrien
558389857Sobrien2001-01-03  Kazu Hirata  <kazu@hxi.com>
558489857Sobrien
558589857Sobrien	* ecoffswap.h: Fix formatting.
558689857Sobrien	* elf-bfd.h: Likewise.
558789857Sobrien	* elfarm-nabi.c: Likewise.
558889857Sobrien	* elfarm-oabi.c: Likewise.
558989857Sobrien	* elfcode.h: Likewise.
559089857Sobrien	* elfcore.h: Likewise.
559189857Sobrien	* elflink.c: Likewise.
559289857Sobrien	* elflink.h: Likewise.
559389857Sobrien	* elfxx-ia64.c: Likewise.
559489857Sobrien	* elfxx-target.h: Likewise.
559589857Sobrien	* libbfd.c: Likewise
559689857Sobrien	* linker.c: Likewise.
559789857Sobrien	* lynx-core.c: Likewise.
559889857Sobrien
559989857Sobrien2001-01-02  Kazu Hirata  <kazu@hxi.com>
560089857Sobrien
560189857Sobrien	* pc532-mach.c: Fix formatting.
560289857Sobrien	* pe-arm.c: Likewise.
560389857Sobrien	* pe-i386.c: Likewise.
560489857Sobrien	* pe-mips.c: Likewise.
560589857Sobrien	* pe-ppc.c: Likewise.
560689857Sobrien	* pe-sh.c: Likewise.
560789857Sobrien	* pei-mips.c: Likewise.
560889857Sobrien	* pei-sh.c: Likewise.
560989857Sobrien	* peicode.h: Likewise.
561089857Sobrien	* ppcboot.c: Likewise.
561189857Sobrien	* ptrace-core.c: Likewise.
561289857Sobrien
561389857Sobrien2001-01-01  Kazu Hirata  <kazu@hxi.com>
561489857Sobrien
561589857Sobrien	* reloc.c: Fix formatting.
561689857Sobrien	* riscix.c: Likewise.
561789857Sobrien	* rs6000-core.c: Likewise.
561889857Sobrien	* xcoff-target.h: Likewise.
561989857Sobrien
562089857Sobrien2000-12-29  Hans-Peter Nilsson  <hp@bitrange.com>
562189857Sobrien
562289857Sobrien	* elfcode.h (elf_object_p): Also restore the bfd mach field on
562389857Sobrien	error, by calling bfd_default_set_arch_mach with incoming
562489857Sobrien	values.
562589857Sobrien
562689857Sobrien2000-12-26  Kazu Hirata  <kazu@hxi.com>
562789857Sobrien
562889857Sobrien	* vaxnetbsd.c: Fix formatting.
562989857Sobrien	* versados.c: Likewise.
563089857Sobrien	* vms-gsd.c: Likewise.
563189857Sobrien	* vms-hdr.c: Likewise.
563289857Sobrien	* vms-misc.c: Likewise.
563389857Sobrien
563489857Sobrien2000-12-25  Alexandre Oliva  <aoliva@redhat.com>
563589857Sobrien
563689857Sobrien	* archive.c (coff_write_armap): Don't write more than symbol_count
563789857Sobrien	`archive_member_file_ptr's.
563889857Sobrien
563989857Sobrien2000-12-25  Kazu Hirata  <kazu@hxi.com>
564089857Sobrien
564189857Sobrien	* vms-tir.c: Fix formatting.
564289857Sobrien
564389857Sobrien2000-12-23  Kazu Hirata  <kazu@hxi.com>
564489857Sobrien
564589857Sobrien	* vms.c: Fix formatting.
564689857Sobrien	* vms.h: Likewise.
564789857Sobrien
564889857Sobrien2000-12-21  Santeri Paavolainen <santtu@ssh.com>
564989857Sobrien
565089857Sobrien	* vms-hdr.c: Include alloca.h if HAVE_ALLOCA_H is defined.
565189857Sobrien
565289857Sobrien	* peicode.h (pe_ILF_object_p): Add const to import of TARGET_LITTLE_SYM.
565389857Sobrien
565489857Sobrien	* elf32-m32r.c (m32r_elf_generic_reloc): Add cast to avoid (void *)
565589857Sobrien	arithmetic.
565689857Sobrien
565789857Sobrien	* elf32-fr30.c: Add casts to avoid (void *) arithmetic.
565889857Sobrien
565989857Sobrien	* coffcode.h (styp_to_sec_flags): Add empty statement after label.
566089857Sobrien
566189857Sobrien2000-12-21  Richard Sandiford  <rsandifo@redhat.com>
566289857Sobrien
566389857Sobrien	* libbfd.c (bfd_get_bits): Added
566489857Sobrien	(bfd_put_bits): Likewise
566589857Sobrien	* bfd-in.h: Declared the above.
566689857Sobrien	* bfd-in2.h: Regenerated.
566789857Sobrien
566889857Sobrien2000-12-20  Kazu Hirata  <kazu@hxi.com>
566989857Sobrien
567089857Sobrien	* targets.c: Fix formatting.
567189857Sobrien	* tekhex.c: Likewise.
567289857Sobrien	* trad-core.c: Likewise.
567389857Sobrien
567489857Sobrien2000-12-19  Kazu Hirata  <kazu@hxi.com>
567589857Sobrien
567689857Sobrien	* sco5-core.c: Fix formatting.
567789857Sobrien	* section.c: Likewise.
567889857Sobrien	* sparclinux.c: Likewise.
567989857Sobrien	* sparclynx.c: Likewise.
568089857Sobrien	* sparcnetbsd.c: Likewise.
568189857Sobrien	* srec.c: Likewise.
568289857Sobrien	* stabs.c: Likewise.
568389857Sobrien	* stab-syms.c: Likewise.
568489857Sobrien	* sunos.c: Likewise.
568589857Sobrien	* syms.c: Likewise.
568689857Sobrien	* sysdep.h: Likewise.
568789857Sobrien
568889857Sobrien2000-12-18  Nick Clifton  <nickc@redhat.com>
568989857Sobrien
569089857Sobrien	* coff-arm.c (EXTRA_S_FLAGS): Only define if not already
569189857Sobrien	defined.
569289857Sobrien	* epoc-pe-arm.c (EXTRA_S_FLAGS): Define.
569389857Sobrien	* epoc-pei-arm.c (EXTRA_S_FLAGS): Define.
569489857Sobrien
569589857Sobrien2000-12-18  Nick Clifton  <nickc@redhat.com>
569689857Sobrien
569789857Sobrien	* vms-misc.c (_bfd_vms_get_record): Add default case to
569889857Sobrien	file_format switch.
569989857Sobrien
570089857Sobrien2000-12-15  Miloslav Trmac <mitr@volny.cz>
570189857Sobrien
570289857Sobrien	* elfcore.h (elf_core_file_p): Move to the start of the program
570389857Sobrien	headers before attempting to read them.
570489857Sobrien
570589857Sobrien2000-12-14  Kazu Hirata  <kazu@hxi.com>
570689857Sobrien
570789857Sobrien	* peigen.c: Fix formatting.
570889857Sobrien	* som.c: Likewise.
570989857Sobrien	* som.h: Likewise.
571089857Sobrien
571189857Sobrien2000-12-13  Kazu Hirata  <kazu@hxi.com>
571289857Sobrien
571389857Sobrien	* peigen.c: Fix formatting.
571489857Sobrien
571589857Sobrien2000-12-12  Jim Wilson  <wilson@redhat.com>
571689857Sobrien
571789857Sobrien	*  elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *.
571889857Sobrien
571989857Sobrien2000-12-08  Mark Salter  <msalter@redhat.com>
572089857Sobrien
572189857Sobrien	* binary.c (binary_set_section_contents): Ignore sections
572289857Sobrien	with zero size.
572389857Sobrien
572489857Sobrien2000-12-12  Kazu Hirata  <kazu@hxi.com>
572589857Sobrien
572689857Sobrien	* m68klinux.c: Fix formatting.
572789857Sobrien	* m68knetbsd.c: Likewise.
572889857Sobrien	* mipsbsd.c: Likewise.
572989857Sobrien	* netbsd-core.c: Likewise.
573089857Sobrien	* netbsd.h: Likewise.
573189857Sobrien	* newsos3.c: Likewise.
573289857Sobrien	* nlm32-alpha.c: Likewise.
573389857Sobrien	* nlm32-i386.c: Likewise.
573489857Sobrien	* nlm32-ppc.c: Likewise.
573589857Sobrien	* nlm32-sparc.c: Likewise.
573689857Sobrien	* nlmcode.h: Likewise.
573789857Sobrien	* nlmswap.h: Likewise.
573889857Sobrien	* nlm-target.h: Likewise.
573989857Sobrien	* ns32knetbsd.c: Likewise.
574089857Sobrien
574189857Sobrien2000-12-10  Fred Fish  <fnf@be.com>
574289857Sobrien
574389857Sobrien	* elflink.h (elf_link_output_extsym): Don't complain about undefined
574489857Sobrien	symbols in shared objects if allow_shlib_undefined is true.
574589857Sobrien
574689857Sobrien2000-12-12  Nick Clifton  <nickc@redhat.com>
574789857Sobrien
574889857Sobrien	* cpu-sh.c: Fix formattng.
574989857Sobrien	* elf.c: Fix formattng.
575089857Sobrien	* elf32-mips.c: Fix formattng.
575189857Sobrien	* elf32-sh.c: Fix formattng.
575289857Sobrien	* elf64-alpha.c: Fix formattng.
575389857Sobrien
575489857Sobrien2000-12-09  Nick Clifton  <nickc@redhat.com>
575589857Sobrien
575689857Sobrien	* elf32-mips.c (_bfd_mips_elf_find_nearest_line): Pass
575789857Sobrien	dwarf2_find_line_info as last parameter to invocation of
575889857Sobrien	_bfd_dwarf2_find_nearest_line.
575989857Sobrien	* elf32-arm.h (elf32_arm_find_nearest_line): Pass
576089857Sobrien	dwarf2_find_line_info as last parameter to invocation of
576189857Sobrien	_bfd_dwarf2_find_nearest_line.
576289857Sobrien
576389857Sobrien2000-12-08  Mark Elbrecht  <snowball3@bigfoot.com>
576489857Sobrien
576589857Sobrien	* Makefile.am (BFD32_BACKENDS): Move dwarf2.lo from here...
576689857Sobrien	(BFD_LIBS): ...to here.
576789857Sobrien	(BFD32_BACKENDS_CFILES): Move dwarf2.c from here...
576889857Sobrien	(BFD_LIBS_CFILES): ...to here.
576989857Sobrien	* Makefile.in: Regenerate.
577089857Sobrien	* configure.in: Remove dwarf.lo from the elf shell variable.
577189857Sobrien	* configure: Regenerate.
577289857Sobrien	* libcoff-in.h (coff_tdata): Add pointer dwarf2_find_line_info.
577389857Sobrien	* libcoff.h: Regenerate.
577489857Sobrien	* coffgen.c (coff_find_nearest_line): Call
577589857Sobrien	_bfd_dwarf2_find_nearest_line.
577689857Sobrien	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Add parameter. Update
577789857Sobrien	accordingly.
577889857Sobrien	(read_abbrevs): Likewise
577989857Sobrien	(decode_line_info): Likewise.
578089857Sobrien	(parse_comp_unit): Likewise.
578189857Sobrien	(comp_unit_find_nearest_line): Likewise.
578289857Sobrien	* libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
578389857Sobrien	* libbfd.h: Regenerate.
578489857Sobrien	* elf.c (_bfd_elf_find_nearest_line): Update call.
578589857Sobrien	* elf-bfd.h (elf_obj_tdata): Change dwarf2_find_line_info to type PTR.
578689857Sobrien	* dwarf2.c (concat_filename): Use IS_ABSOLUTE_PATH.
578789857Sobrien	* coffcode.h (STYP_XCOFF_DEBUG, STYP_DEBUG_INFO): New macros.
578889857Sobrien	(sec_to_styp_flags): Use them. Handle DWARF2 sections.
578989857Sobrien	(styp_to_sec_flags): Handle DWARF2 sections.
579089857Sobrien	* elf32-arm.h (elf32_arm_find_nearest_line): Add parameter to call
579189857Sobrien	to _bfd_find_nearest_line.
579289857Sobrien	* elf32-mips.c (_bfd_mips_elf_find_nearest_line): Add parameter to
579389857Sobrien	call to _bfd_find_nearest_line.
579489857Sobrien
579589857Sobrien2000-12-08  Kazu Hirata  <kazu@hxi.com>
579689857Sobrien
579789857Sobrien	* coffgen.c: Fix formatting.
579889857Sobrien	* elf-m10300.c: Likewise.
579989857Sobrien	* elf32-i386.c: Likewise.
580089857Sobrien	* elf32-i960.c: Likewise.
580189857Sobrien	* elf32-m68k.c: Likewise.
580289857Sobrien	* elf32-mcore.c: Likewise.
580389857Sobrien	* elf32-ppc.c: Likewise.
580489857Sobrien	* elf32-sh.c: Likewise.
580589857Sobrien	* elf32-sparc.c: Likewise.
580689857Sobrien	* elf32-v850.c: Likewise.
580789857Sobrien	* elf64-alpha.c: Likewise.
580889857Sobrien	* elf64-hppa.c: Likewise.
580989857Sobrien	* elf64-mips.c: Likewise.
581089857Sobrien	* elf64-sparc.c: Likewise.
581189857Sobrien
581289857Sobrien2000-12-07  Kazu Hirata  <kazu@hxi.com>
581389857Sobrien
581489857Sobrien	* elf32-ppc.c: Fix formatting.
581589857Sobrien	* elf64-x86-64.c: Likewise.
581689857Sobrien
581789857Sobrien2000-12-06  Ulf Carlsson  <ulfc@engr.sgi.com>
581889857Sobrien
581989857Sobrien	From  Ralf Baechle  <ralf@gnu.org>
582089857Sobrien
582189857Sobrien	* elf32-mips.c (elf32_mips_merge_private_bfd_data): Always permit
582289857Sobrien	BFDs containing no sections or empty .text, .data or .bss sections
582389857Sobrien	to be merged, regardless of their flags.
582489857Sobrien
582589857Sobrien2000-12-06  Kazu Hirata  <kazu@hxi.com>
582689857Sobrien
582789857Sobrien	* elf32-m32r.c: Fix formatting.
582889857Sobrien	* elf32-m68hc11.c: Likewise.
582989857Sobrien	* elf32-m68hc12.c: Likewise.
583089857Sobrien	* elf32-m68k.c: Likewise.
583189857Sobrien	* elf32-mcore.c: Likewise.
583289857Sobrien	* elf32-pj.c: Likewise.
583389857Sobrien	* elf32-ppc.c: Likewise.
583489857Sobrien
583589857Sobrien2000-12-05  Kazu Hirata  <kazu@hxi.com>
583689857Sobrien
583789857Sobrien	* elf32-fr30.c: Fix formatting.
583889857Sobrien	* elf32-hppa.c: Likewise.
583989857Sobrien	* elf32-i370.c: Likewise.
584089857Sobrien	* elf32-i386.c: Likewise.
584189857Sobrien	* elf32-i860.c: Likewise.
584289857Sobrien	* elf32-i960.c: Likewise.
584389857Sobrien
584489857Sobrien2000-12-03  Kazu Hirata  <kazu@hxi.com>
584589857Sobrien
584689857Sobrien	* elf32-arm.h: Fix formatting.
584789857Sobrien	* elf32-avr.c: Likewise.
584889857Sobrien	* elf32-cris.c: Likewise.
584989857Sobrien	* elf32-d10v.c: Likewise.
585089857Sobrien	* elf32-d30v.c: Likewise.
585189857Sobrien	* elf-hppa.h: Likewise.
585289857Sobrien	* elf-m10200.c: Likewise.
585389857Sobrien	* elf-m10300.c: Likewise.
585489857Sobrien
585589857Sobrien2000-12-01  Chris Demetriou  <cgd@sibyte.com>
585689857Sobrien
585789857Sobrien	* aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mips32 and
585889857Sobrien	bfd_mach_mips32_4k.  Update FIXME comment.
585989857Sobrien	* archures.c (bfd_mach_mips32): New constant.
586089857Sobrien	(bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to
586189857Sobrien	the latter, renumber it.
586289857Sobrien	* bfd-in2.h (bfd_mach_mips32): New constant.
586389857Sobrien	(bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to
586489857Sobrien	the latter, renumber it.
586589857Sobrien	* cpu-mips.c (I_mips32): New constant.
586689857Sobrien	(I_mips4K, I_mips32_4k): Rename the former to the latter.
586789857Sobrien	(arch_info_struct): Add bfd_mach_mips32 entry, replace
586889857Sobrien	bfd_mach_mips4K entry with bfd_mach_mips32_4k entry.
586989857Sobrien	* elf32-mips.c (elf_mips_isa): Add E_MIPS_ARCH_32 case.
587089857Sobrien	(elf_mips_mach): Likewise.  Also, replace E_MIPS_MACH_MIPS32
587189857Sobrien	with E_MIPS_MACH_MIPS32_4K.
587289857Sobrien	(_bfd_mips_elf_final_write_processing): Replace
587389857Sobrien	bfd_mach_mips4K with bfd_mach_mips32_4k case, add
587489857Sobrien	bfd_mach_mips32 case.
587589857Sobrien	(_bfd_mips_elf_merge_private_bfd_data): Generalize ISA mixing
587689857Sobrien	comparison with support for MIPS32.
587789857Sobrien	(_bfd_mips_elf_print_private_bfd_data): Print ISA name for
587889857Sobrien	MIPS32.
587989857Sobrien
588089857Sobrien	* aoutx.h (NAME(aout,machine_type)): Add cases for
588189857Sobrien	bfd_mach_mips5 and bfd_mach_mips64.
588289857Sobrien	* archures.c (bfd_mach_mips5, bfd_mach_mips64): New constants.
588389857Sobrien	* bfd-in2.h (bfd_mach_mips5, bfd_mach_mips64): Likewise.
588489857Sobrien	* cpu_mips.c (I_mips5, I_mips64): New definitions.
588589857Sobrien	(arch_info_struct): Add entries for bfd_mach_mips5 and
588689857Sobrien	bfd_mach_mips64.
588789857Sobrien	* elf32-mips.c (elf_mips_isa, elf_mips_mach,
588889857Sobrien	_bfd_mips_elf_print_private_bfd_data): Add cases for
588989857Sobrien	E_MIPS_ARCH_5 and E_MIPS_ARCH_64.
589089857Sobrien	(_bfd_mips_elf_final_write_processing): Add cases for
589189857Sobrien	bfd_mach_mips5 and bfd_mach_mips64.
589289857Sobrien
589389857Sobrien	* aoutx.h (NAME(aout,machine_type)): Add a
589489857Sobrien	bfd_mach_mips_sb1 case.
589589857Sobrien	* archures.c (bfd_mach_mips_sb1): New constant.
589689857Sobrien	* bfd-in2.h (bfd_mach_mips_sb1): New constant.
589789857Sobrien	* cpu-mips.c (I_sb1): New constant.
589889857Sobrien	(arch_info_struct): Add entry for bfd_mach_mips_sb1.
589989857Sobrien	* elf32-mips.c (elf_mips_mach): Add case for
590089857Sobrien	E_MIPS_MACH_SB1.
590189857Sobrien	(_bfd_mips_elf_final_write_processing): Add case for
590289857Sobrien	bfd_mach_mips_sb1.
590389857Sobrien
590489857Sobrien2000-12-01  Joel Sherrill <joel@OARcorp.com>
590589857Sobrien
590689857Sobrien	* config.bfd (arm-*-rtems*, a29k-*rtems*): New targets.
590789857Sobrien	(sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets.
590889857Sobrien	(sparc*-*-rtems*): Switched from a.out to ELF.
590989857Sobrien
591089857Sobrien2000-11-30  Jan Hubicka  <jh@suse.cz>
591189857Sobrien
591289857Sobrien	* Makefile.am (BFD64_BACKENDS): Add elf64-x86-64.lo
591389857Sobrien	BFD64_BACKENDS_CFILES): Add elf64-x86-64.c
591489857Sobrien	(elf64-x86-64.lo): Add dependencies.
591589857Sobrien	* archures.c (DESCRIPTION): Add bfd_mach_x86_64,
591689857Sobrien	bfd_mach_x86_64_intel_syntax.
591789857Sobrien	* elf.c (prep_headers): Use EM_x86_64 for 64bit output.
591889857Sobrien	* config.bfd (x86_64): Add.
591989857Sobrien	* configure.in: Add support for bfd_elf64_x86_64_vec.
592089857Sobrien	* cpu-i386.c (bfd_x86_64_arch_intel_syntax, bfd_x86_64_arch): Add.
592189857Sobrien	(bfd_i386_arch, i8086_ar): Link in.
592289857Sobrien	* elf64-x86-64.c: New file.
592389857Sobrien	* reloc.c (ENUMDOC): Add BFD_RELOC_X86_64*.
592489857Sobrien	* targets.c (bfd_elf64_x86_64_vec): Add.
592589857Sobrien	(bfd_target_vect): Add bfd_elf64_x86_64_vec.
592689857Sobrien
592789857Sobrien2000-11-30  Kazu Hirata  <kazu@hxi.com>
592889857Sobrien
592989857Sobrien	* xcofflink.c: Fix formatting.
593089857Sobrien
593189857Sobrien2000-11-28  Kazu Hirata  <kazu@hxi.com>
593289857Sobrien
593389857Sobrien	* aoutx.h: Fix formatting.
593489857Sobrien	* bfd-in.h: Likewise.
593589857Sobrien	* bfd-in2.h: Likewise.
593689857Sobrien	* cache.c: Likewise.
593789857Sobrien	* cisco-core.c: Likewise.
593889857Sobrien	* coff64-rs6000.c: Likewise.
593989857Sobrien	* coffcode.h: Likewise.
594089857Sobrien	* coffswap.h: Likewise.
594189857Sobrien	* corefile.c: Likewise.
594289857Sobrien	* elf32-mips.c: Likewise.
594389857Sobrien
594489857Sobrien2000-11-27  Kazu Hirata  <kazu@hxi.com>
594589857Sobrien
594689857Sobrien	* aout-adobe.c: Fix formatting.
594789857Sobrien	* coff64-rs6000.c: Likewise.
594889857Sobrien	* coffgen.c: Likewise.
594989857Sobrien	* cofflink.c: Likewise.
595089857Sobrien
595189857Sobrien2000-11-27  Philip Blundell  <pb@futuretv.com>
595289857Sobrien
595389857Sobrien	* libcoff-in.h (coff_tdata): Add `strings_written' flag.
595489857Sobrien	(obj_coff_strings_written): New accessor macro for above.
595589857Sobrien	* libcoff.h: Regenerate.
595689857Sobrien	* cofflink.c (_bfd_coff_final_link): Say that we wrote the
595789857Sobrien	strings.
595889857Sobrien	* coffcode.h (coff_write_object_contents): No need to write out
595989857Sobrien	the string table if it's already been done.
596089857Sobrien
596189857Sobrien2000-11-22  Philip Blundell  <pb@futuretv.com>
596289857Sobrien
596389857Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section): Don't object to
596489857Sobrien	weak undefined symbols.
596589857Sobrien
596689857Sobrien2000-11-24  Nick Clifton  <nickc@redhat.com>
596789857Sobrien
596889857Sobrien	* archures.c (bfd_mach_arm_5TE): Define.
596989857Sobrien	(bfd_mach_arm+XScale): Define.
597089857Sobrien	* bfd-in2.h: Regenerate.
597189857Sobrien
597289857Sobrien	* coff-arm.c (coff_arm_reloc_type_lookup): Accept
597389857Sobrien	BFD_RELOC_ARM_PCREL_BLX.
597489857Sobrien
597589857Sobrien	* coffcode.h (coff_set_flags): Set flags for 5t, 5te and
597689857Sobrien	XScale machine numbers.
597789857Sobrien
597889857Sobrien	* config.bfd (xscale-elf): Add target.
597989857Sobrien	(xscale-coff): Add target.
598089857Sobrien
598189857Sobrien	* cpu-arm.c: Add xscale machine name.
598289857Sobrien	Add v5t, v5te and XScale machine numbers.
598389857Sobrien
598489857Sobrien2000-11-23  Kazu Hirata  <kazu@hxi.com>
598589857Sobrien
598689857Sobrien	* aix386-core.c: Fix formatting.
598789857Sobrien
598889857Sobrien2000-11-22  Jim Wilson  <wilson@redhat.com>
598989857Sobrien
599089857Sobrien	* coff-ia64.c (howto_table): Use EMPTY_HOWTO.
599189857Sobrien	(in_reloc_p): Add ATTRIBUTE_UNUSED to unused parameters.
599289857Sobrien	* cpu-ia64-opc.c (ins_rsvd, ext_rsvd, ins_const, ext_const): Likewise.
599389857Sobrien	(ins_imms_scaled): Initialize sign_bit at function entry.
599489857Sobrien	(elf64_ia64_operands): Add missing initializers.
599589857Sobrien	* elfxx-ia64.c (elfNN_ia64_reloc, elfNN_ia64_reloc_type_lookup,
599689857Sobrien	elfNN_ia64_info_to_howto, elfNN_ia64_fake_sections,
599789857Sobrien	elfNN_ia64_add_symbol_hook, elfNN_ia64_is_local_label_name,
599889857Sobrien	elfNN_ia64_local_hash_table_init, get_fptr, get_pltoff,
599989857Sobrien	elfNN_ia64_adjust_dynamic_symbol): Add ATTRIBUTE_UNUSED for unused
600089857Sobrien	parameters.
600189857Sobrien	(elfNN_ia64_info_to_howto): Initialize free_relocs, free_contents,
600289857Sobrien	and free_extsyms at function entry.
600389857Sobrien	(elfNN_add_symbol_hook): Add unsigned cast to bfd_get_gp_size result.
600489857Sobrien	(elfNN_ia64_create_dynamic_sections): Delete unused local h.
600589857Sobrien	(get_got): Delete unused local srel.
600689857Sobrien	(elfNN_ia64_check_relocs): Initialize dynrel_type when declared.
600789857Sobrien	(elfNN_ia64_relocate_section): Delete unused local dynindx.
600889857Sobrien
600989857Sobrien2000-11-21  Kazu Hirata  <kazu@hxi.com>
601089857Sobrien
601189857Sobrien	* coff-a29k.c: Fix formatting.
601289857Sobrien	* coff-h8500.c: Likewise.
601389857Sobrien	* coff-i960.c: Likewise.
601489857Sobrien	* coff-ppc.c: Likewise.
601589857Sobrien	* coff-rs6000.c: Likewise.
601689857Sobrien	* coff-stgo32.c: Likewise.
601789857Sobrien	* coff-tic54x.c: Likewise.
601889857Sobrien	* coff-w65.c: Likewise.
601989857Sobrien	* cpu-h8500.c: Likewise.
602089857Sobrien	* cpu-hppa.c: Likewise.
602189857Sobrien	* cpu-ns32k.c: Likewise.
602289857Sobrien	* ecoff.c: Likewise.
602389857Sobrien	* ecofflink.c: Likewise.
602489857Sobrien
602589857Sobrien2000-11-21  Nick Clifton  <nickc@redhat.com>
602689857Sobrien
602789857Sobrien	* elf32-sh.c (sh_elf_reloc_loop): Fix compile time warning, and
602889857Sobrien	remove possibility of infinite loop.
602989857Sobrien
603089857Sobrien2000-11-20  Kazu Hirata  <kazu@hxi.com>
603189857Sobrien
603289857Sobrien	* aix386-core.c: Fix formatting.
603389857Sobrien	* aout-adobe.c: Likewise.
603489857Sobrien	* aout-arm.c: Likewise.
603589857Sobrien	* aout-encap.c: Likewise.
603689857Sobrien	* aout-ns32k.c: Likewise.
603789857Sobrien	* aout-target.h: Likewise.
603889857Sobrien	* aout-tic30.c: Likewise.
603989857Sobrien	* aoutf1.h: Likewise.
604089857Sobrien	* aoutx.h: Likewise.
604189857Sobrien	* archive.c: Likewise.
604289857Sobrien	* bfd-in.h: Likewise.
604389857Sobrien	* bfd-in2.h: Likewise.
604489857Sobrien	* bfd.c: Likewise.
604589857Sobrien	* bout.c: Likewise.
604689857Sobrien
604789857Sobrien2000-11-17  H.J. Lu  <hjl@gnu.org>
604889857Sobrien
604989857Sobrien	* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Don't create
605089857Sobrien	pltoff entries for DT_INIT and DT_FINI.
605189857Sobrien	(elfNN_ia64_final_link): Don't set DT_INIT/FINI entries.
605289857Sobrien	(elfNN_ia64_finish_dynamic_sections): Don't fill in DT_INIT/FINI
605389857Sobrien	entries.
605489857Sobrien
605589857Sobrien2000-11-16  Richard Henderson  <rth@redhat.com>
605689857Sobrien
605789857Sobrien	* elfxx-ia64.c (elfNN_ia64_check_relocs): Handle IPLT relocs.
605889857Sobrien	(allocate_dynrel_entries): Likewise.
605989857Sobrien	(elfNN_ia64_relocate_section): Likewise.  Set REL addends correctly.
606089857Sobrien	(set_pltoff_entry): Likewise.
606189857Sobrien	(ia64_howto_table): Remove R_IA64_SEGBASE, and R_IA64_EPLT[ML]SB
606289857Sobrien	(elfNN_ia64_reloc_type_lookup): Likewise.
606389857Sobrien	(elfNN_ia64_install_value): Likewise.
606489857Sobrien	(elfNN_ia64_relocate_section): Likewise.
606589857Sobrien	* reloc.c (BFD_RELOC_IA64_SEGBASE): Remove.
606689857Sobrien	(BFD_RELOC_IA64_EPLTMSB, BFD_RELOC_IA64_EPLTLSB): Remove.
606789857Sobrien
606889857Sobrien2000-11-16  Kazu Hirata  <kazu@hxi.com>
606989857Sobrien
607089857Sobrien	* cpu-a29k.c: Fix formatting.
607189857Sobrien	* cpu-alpha.c: Likewise.
607289857Sobrien	* cpu-arm.c: Likewise.
607389857Sobrien	* cpu-avr.c: Likewise.
607489857Sobrien	* cpu-d10v.c: Likewise.
607589857Sobrien	* cpu-h8500.c: Likewise.
607689857Sobrien	* cpu-hppa.c: Likewise.
607789857Sobrien	* cpu-i370.c: Likewise.
607889857Sobrien	* cpu-i386.c: Likewise.
607989857Sobrien	* cpu-i960.c: Likewise.
608089857Sobrien	* cpu-ia64-opc.c: Likewise.
608189857Sobrien	* cpu-ia64.c: Likewise.
608289857Sobrien	* cpu-m32r.c: Likewise.
608389857Sobrien	* cpu-m68hc11.c: Likewise.
608489857Sobrien	* cpu-m68hc12.c: Likewise.
608589857Sobrien	* cpu-m68k.c: Likewise.
608689857Sobrien	* cpu-m88k.c: Likewise.
608789857Sobrien	* cpu-mips.c: Likewise.
608889857Sobrien	* cpu-ns32k.c: Likewise.
608989857Sobrien	* cpu-pj.c: Likewise.
609089857Sobrien	* cpu-powerpc.c: Likewise.
609189857Sobrien	* cpu-sh.c: Likewise.
609289857Sobrien	* cpu-sparc.c: Likewise.
609389857Sobrien	* cpu-tic54x.c: Likewise.
609489857Sobrien	* cpu-v850.c: Likewise.
609589857Sobrien	* cpu-vax.c: Likewise.
609689857Sobrien	* cpu-w65.c: Likewise.
609789857Sobrien	* cpu-we32k.c: Likewise.
609889857Sobrien	* cpu-z8k.c: Likewise.
609989857Sobrien	* dwarf1.c: Likewise.
610089857Sobrien	* dwarf2.c: Likewise.
610189857Sobrien
610289857Sobrien2000-11-15  Kazu Hirata  <kazu@hxi.com>
610389857Sobrien
610489857Sobrien	* coff-arm.c: Fix formatting.
610589857Sobrien	* coff-ppc.c: Likewise.
610689857Sobrien	* coff-rs6000.c: Likewise.
610789857Sobrien	* coff-sh.c: Likewise.
610889857Sobrien	* coff-sparc.c: Likewise.
610989857Sobrien	* coff-tic30.c: Likewise.
611089857Sobrien	* coff-tic54x.c: Likewise.
611189857Sobrien	* coff-tic80.c: Likewise.
611289857Sobrien	* coff-w65.c: Likewise.
611389857Sobrien	* coff-we32k.c: Likewise.
611489857Sobrien	* coff-z8k.c: Likewise.
611589857Sobrien
611689857Sobrien2000-11-15  Richard Henderson  <rth@redhat.com>
611789857Sobrien
611889857Sobrien	* elf64-alpha.c (elf64_alpha_check_relocs): Create the reloc
611989857Sobrien	section with the same ALLOC|LOAD flags as the source section.
612089857Sobrien
612189857Sobrien2000-11-14  Jakub Jelinek  <jakub@redhat.com>
612289857Sobrien
612389857Sobrien	* elf64-alpha.c (elf64_alpha_relax_opt_call): Only check bits used
612489857Sobrien	by STO_ALPHA constants.
612589857Sobrien
612689857Sobrien2000-11-14  Kazu Hirata  <kazu@hxi.com>
612789857Sobrien
612889857Sobrien	* coff-pmac.c: Fix formatting.
612989857Sobrien	* coff-ppc.c: Likewise.
613089857Sobrien
613189857Sobrien2000-11-13  H.J. Lu  <hjl@gnu.org>
613289857Sobrien
613389857Sobrien	* elflink.h (elf_link_add_object_symbols): Also add indirect
613489857Sobrien	symbols for common symbols with the default version.
613589857Sobrien
613689857Sobrien2000-11-09  Philip Blundell  <pb@futuretv.com>
613789857Sobrien
613889857Sobrien	* section.c (STD_SECTION): Set gc_mark flag.
613989857Sobrien
614089857Sobrien2000-11-11  Kazu Hirata  <kazu@hxi.com>
614189857Sobrien
614289857Sobrien	* coff-i960.c: Likewise.
614389857Sobrien	* coff-m68k.c: Likewise.
614489857Sobrien	* coff-m88k.c: Likewise.
614589857Sobrien	* coff-mcore.c: Likewise.
614689857Sobrien	* coff-mips.c: Likewise.
614789857Sobrien
614889857Sobrien2000-11-11  Bernd Schmidt  <bernds@cygnus.co.uk>
614989857Sobrien
615089857Sobrien	* elf32-sh.c (sh_elf_relocate_section): Ignore R_SH_NONE relocs.
615189857Sobrien
615289857Sobrien2000-11-10  Kazu Hirata  <kazu@hxi.com>
615389857Sobrien
615489857Sobrien	* coff-h8300.c: Fix formatting.
615589857Sobrien	* coff-h8500.c: Likewise.
615689857Sobrien	* coff-i386.c: Likewise.
615789857Sobrien	* coff-i860.c: Likewise.
615889857Sobrien	* coff-i960.c: Likewise.
615989857Sobrien	* coff-ia64.c: Likewise.
616089857Sobrien
616189857Sobrien2000-11-09  Kazu Hirata  <kazu@hxi.com>
616289857Sobrien
616389857Sobrien	* archive.c: Fix formatting.
616489857Sobrien	* archures.c: Likewise.
616589857Sobrien
616689857Sobrien2000-11-07  Richard Henderson  <rth@redhat.com>
616789857Sobrien
616889857Sobrien	* elfxx-ia64.c (elf64_ia64_final_link): New local unwind_output_sec.
616989857Sobrien	Set it before bfd_elf64_bfd_final_link call.  Use it after the call.
617089857Sobrien	* section.c (bfd_set_section_contents): Call memcpy if
617189857Sobrien	section->contents set and location not equal to contents plus offset.
617289857Sobrien
617389857Sobrien2000-11-08  Kazu Hirata  <kazu@hxi.com>
617489857Sobrien
617589857Sobrien	* bfd-in.h: Fix formatting.
617689857Sobrien	* bfd-in2.h: Likewise.
617789857Sobrien	* bfd.c: Likewise.
617889857Sobrien	* binary.c: Likewise.
617989857Sobrien	* bout.c: Likewise.
618089857Sobrien	* coff-a29k.c: Likewise.
618189857Sobrien	* coff-alpha.c: Likewise.
618289857Sobrien	* coff-apollo.c: Likewise.
618389857Sobrien	* coff-aux.c: Likewise.
618489857Sobrien
618589857Sobrien2000-11-07  Kazu Hirata  <kazu@hxi.com>
618689857Sobrien
618789857Sobrien	* aix386-core.c: Fix formatting.
618889857Sobrien	* aoutf1.h: Likewise.
618989857Sobrien	* aoutx.h: Likewise.
619089857Sobrien	* archures.c: Likewise.
619189857Sobrien	* armnetbsd.c: Likewise.
619289857Sobrien
619389857Sobrien2000-11-07  Alan Modra  <alan@linuxcare.com.au>
619489857Sobrien
619589857Sobrien	* coff-h8300.c (special): Adjust reloc address.
619689857Sobrien
619789857Sobrien2000-11-06  Steve Ellcey <sje@cup.hp.com>
619889857Sobrien
619989857Sobrien	* archures.c (bfd_mach_ia64_elf64, bfd_mach_ia64_elf32): Add defines
620089857Sobrien	to differentiate elf32 and elf64 on ia64.
620189857Sobrien	* bfd-in2.h: Regenerate.
620289857Sobrien	* config.bfd: Add target for "ia64*-*-hpux*".
620389857Sobrien	* configure.in: Add bfd_elf32_ia64_big_vec to selvecs switch.
620489857Sobrien	* configure: Regenerate.
620589857Sobrien	* cpu-ia64.c (bfd_ia64_elf32_arch): Add elf32 arch info structure.
620689857Sobrien	* targets.c: Add bfd_target bfd_elf32_ia64_big_vec.
620789857Sobrien
620889857Sobrien	* Makefile.am: Make elf32-ia64.c and elf64-ia64.c derived objects
620989857Sobrien	from elfxx-ia64.c.  Add depenency rules for making elf32-ia64.lo.
621089857Sobrien	* Makefile.in: Regnerate.
621189857Sobrien	* elf64-ia64.c: Deleted.
621289857Sobrien	* elfxx-ia64.c: New file, paramaterized version of elf64-ia64.c.
621389857Sobrien
621489857Sobrien2000-11-06  Kazu Hirata  <kazu@hxi.com>
621589857Sobrien
621689857Sobrien	* aout-adobe.c: Fix formatting.
621789857Sobrien	* aout-arm.c: Likewise.
621889857Sobrien	* aout-cris.c: Likewise.
621989857Sobrien	* aout-encap.c: Likewise.
622089857Sobrien	* aout-ns32k.c: Likewise.
622189857Sobrien	* aout-target.h: Likewise.
622289857Sobrien	* aout-tic30.c: Likewise.
622389857Sobrien
622489857Sobrien2000-11-05  Philip Blundell  <philb@gnu.org>
622589857Sobrien
622689857Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Always permit
622789857Sobrien	BFDs containing no sections to be merged, regardless of their flags.
622889857Sobrien
622989857Sobrien2000-11-04  Philip Blundell  <philb@gnu.org>
623089857Sobrien
623189857Sobrien	* elf32-arm.h (elf32_arm_relocate_section): Suppress error message
623289857Sobrien	if a relocation for an undefined symbol also results in an
623389857Sobrien	overflow.
623489857Sobrien
623589857Sobrien2000-11-06  Christopher Faylor <cgf@cygnus.com>
623689857Sobrien
623789857Sobrien	* config.bfd: Add support for Sun Chorus.
623889857Sobrien
623989857Sobrien2000-11-05  David O'Brien  <obrien@FreeBSD.org>
624089857Sobrien
624189857Sobrien	* configure.in: Recognize alpha-*-freebsd*.
624289857Sobrien	* configure: Regenerate.
624389857Sobrien
624489857Sobrien2000-11-02  Luciano Gemme <ishitawa@yahoo.com>
624589857Sobrien
624689857Sobrien	* srec.c (CHUNK): Rename to DEFAULT_CHUNK.
624789857Sobrien	(Chunk): New global variable set by a parameter in objcopy.c.
624889857Sobrien	(S3Forced): New global variable set by a parameter in
624989857Sobrien	objcopy.c.
625089857Sobrien	(srec_set_section_contents): If S3Forced is true, always generate
625189857Sobrien	S3 records.
625289857Sobrien	(srec_write_section): Use 'Chunk' to limit maximum length of S
625389857Sobrien	records.
625489857Sobrien
625589857Sobrien2000-11-02  Per Lundberg  <plundis@chaosdev.org>
625689857Sobrien
625789857Sobrien	* config.bfd: Add support for i[3456]86-chaosdev-storm-chaos.
625889857Sobrien	* Makefile.in: Regenerate.
625989857Sobrien	* bfd-in2.h: Regenerate.
626089857Sobrien	* po/bfd.pot: Regenerate.
626189857Sobrien
626289857Sobrien2000-10-31  Philip Blundell  <philb@gnu.org>
626389857Sobrien
626489857Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle
626589857Sobrien	EF_SOFT_FLOAT if it is defined.
626689857Sobrien
626789857Sobrien2000-10-27  Philip Blundell  <philb@gnu.org>
626889857Sobrien
626989857Sobrien	* elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse
627089857Sobrien	attempts to mix PIC code with non-PIC, just mark the output as
627189857Sobrien	being position dependent.
627289857Sobrien	(elf32_arm_merge_private_bfd_data): Likewise.  Print an error
627389857Sobrien	message for EF_SOFT_FLOAT mismatches.  Display diagnostics for
627489857Sobrien	all mismatches, not just the first one.
627589857Sobrien
627689857Sobrien2000-10-25  Chris Demetriou  <cgd@sibyte.com>
627789857Sobrien
627889857Sobrien	* ieee.c (ieee_archive_p): Plug one of many possible
627989857Sobrien	memory leaks in error handling.
628089857Sobrien
628189857Sobrien2000-10-20  Jakub Jelinek  <jakub@redhat.com>
628289857Sobrien
628389857Sobrien	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data,
628489857Sobrien	elf32_sparc_object_p, elf32_sparc_final_write_processing):
628589857Sobrien	Support v8plusb.
628689857Sobrien	* elf64-sparc.c (sparc64_elf_merge_private_bfd_data,
628789857Sobrien	sparc64_elf_object_p): Support v9b.
628889857Sobrien	* archures.c: Declare v8plusb and v9b machines.
628989857Sobrien	* bfd-in2.h: Ditto.
629089857Sobrien	* cpu-sparc.c: Ditto.
629189857Sobrien
629289857Sobrien2000-10-16  Geoffrey Keating  <geoffk@shoggoth.cygnus.com>
629389857Sobrien
629489857Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Clear the location
629589857Sobrien	of a GOT reloc.
629689857Sobrien
629789857Sobrien	* elf32-ppc.c (SYMBOL_REFERENCES_LOCAL): New macro.
629889857Sobrien	(SYMBOL_CALLS_LOCAL): New macro.
629989857Sobrien	(ppc_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
630089857Sobrien	(ppc_elf_check_relocs): Use SYMBOL_REFERENCES_LOCAL.
630189857Sobrien	(ppc_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
630289857Sobrien	(ppc_elf_relocate_section): Use flag variable to determine
630389857Sobrien	whether the relocation refers to a local symbol.
630489857Sobrien	Test whether a PLTREL24 reloc will produce a reloc by looking
630589857Sobrien	to see whether a PLT entry was made.
630689857Sobrien
630789857Sobrien2000-10-14  Geoffrey Keating  <geoffk@shoggoth.cygnus.com>
630889857Sobrien
630989857Sobrien	* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make PLT
631089857Sobrien	entries that could serve as a definition for a weak symbol.
631189857Sobrien
631289857Sobrien2000-10-13  Ulf Carlsson  <ulfc@engr.sgi.com>
631389857Sobrien
631489857Sobrien	From  Ralf Baechle  <ralf@gnu.org>
631589857Sobrien
631689857Sobrien	* elf32-mips.c (mips_elf_create_dynamic_relocation): New argument
631789857Sobrien	local_p.  Add symbol value only for non-R_MIPS_REL32 relocations
631889857Sobrien	against local symbols.
631989857Sobrien	(_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01.
632089857Sobrien
632189857Sobrien2000-10-12  Alan Modra  <alan@linuxcare.com.au>
632289857Sobrien
632389857Sobrien	* section.c (struct sec): Add kept_section.
632489857Sobrien	(struct bfd_comdat_info): Remove sec, we can use above.
632589857Sobrien	(STD_SECTION): Add initializer.
632689857Sobrien	(bfd_make_section_anyway): Init here too.
632789857Sobrien
632889857Sobrien	* bfd-in2.h: Regenerate.
632989857Sobrien
633089857Sobrien	* elflink.h (elf_link_add_object_symbols): Remove unnecessary
633189857Sobrien	zeroing of `flags'.
633289857Sobrien	(elf_link_input_bfd): Set all asection->symbol->value's here, and
633389857Sobrien	fudge values for discarded link-once section symbols.
633489857Sobrien
633589857Sobrien	* elf64-hppa.c: Include alloca-conf.h
633689857Sobrien
633789857Sobrien2000-10-11  Alan Modra  <alan@linuxcare.com.au>
633889857Sobrien
633989857Sobrien	* elf.c (swap_out_syms): Revert 2000-10-07 changes.
634089857Sobrien
634189857Sobrien	* ieee.c (ieee_make_empty_symbol): Oops, bfd_zalloc needs another arg.
634289857Sobrien
634389857Sobrien2000-10-10  Alan Modra  <alan@linuxcare.com.au>
634489857Sobrien
634589857Sobrien	* ieee.c (ieee_make_empty_symbol): Use bfd_zalloc, not bfd_zmalloc.
634689857Sobrien
634789857Sobrien2000-10-10  Tom Rix <trix@redhat.com>
634889857Sobrien
634989857Sobrien	* section.c (bfd_make_section_anyway): Release newsect ptr when
635089857Sobrien	newsect->symbol fails to alloc.  Use bfd_release instead of free.
635189857Sobrien
635289857Sobrien2000-10-09  Richard Henderson  <rth@cygnus.com
635389857Sobrien
635489857Sobrien	* elf64-ia64.c (elf64_ia64_unwind_entry_compare_bfd): New.
635589857Sobrien	(elf64_ia64_unwind_entry_compare): New.
635689857Sobrien	(elf64_ia64_final_link): Sort the .IA_64.unwind section.
635789857Sobrien
635889857Sobrien2000-10-07  Alan Modra  <alan@linuxcare.com.au>
635989857Sobrien
636089857Sobrien	* elflink.h (size_dynamic_sections): Don't create various tags if
636189857Sobrien	.dynstr is excluded from the link.  Don't set first dynsym entry
636289857Sobrien	if dynsymcount is zero.
636389857Sobrien	(elf_bfd_final_link): Don't try to swap out dynamic syms if
636489857Sobrien	.dynsym excluded from the link.  Don't try to write any dynamic
636589857Sobrien	sections excluded from the link.
636689857Sobrien
636789857Sobrien	* elf.c (swap_out_syms): Handle global section symbols.
636889857Sobrien
636989857Sobrien2000-10-05  DJ Delorie  <dj@redhat.com>
637089857Sobrien
637189857Sobrien	* peigen.c (_bfd_pei_swap_scnhdr_out): note extended relocs
637289857Sobrien	* coffcode.h (coff_set_alignment_hook): read extended reloc count
637389857Sobrien	(coff_write_relocs): write extended reloc count
637489857Sobrien	(coff_write_object_contents): account for extended relocs
637589857Sobrien
637689857Sobrien2000-10-05  Jim Wilson  <wilson@cygnus.com>
637789857Sobrien
637889857Sobrien	* elf-bfd.h (struct elf_backend_data): Add elf_backend_section_flags
637989857Sobrien	field.
638089857Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Call the
638189857Sobrien	elf_backend_section_flags function.
638289857Sobrien	* elf64-ia64.c (elf64_ia64_section_from_shdr): Delete flag conversion
638389857Sobrien	code.
638489857Sobrien	(elf64_ia64_section_flags): New function containing flag conversion
638589857Sobrien	code.
638689857Sobrien	(elf_backend_section_flags): Define to elf64_ia64_section_flags.
638789857Sobrien	* elfxx-target.h (elf_backend_section_flags): Define.
638889857Sobrien	(elfNN_bed): Initialize elf_backend_section_flags field.
638989857Sobrien
639089857Sobrien2000-10-02  Alan Modra  <alan@linuxcare.com.au>
639189857Sobrien
639289857Sobrien	* elf32-hppa.c (elf32_hppa_check_relocs): Correct call to
639389857Sobrien	_bfd_elf32_gc_record_vtable.  Correct a comment.
639489857Sobrien
639589857Sobrien2000-10-01  Ulf Carlsson  <ulfc@engr.sgi.com>
639689857Sobrien
639789857Sobrien	From  Ralf Baechle  <ralf@gnu.org>
639889857Sobrien
639989857Sobrien	* elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Mark gld
640089857Sobrien	produces binaries with got[1] = 0x80000001 to differenciate them
640189857Sobrien	for the dynamic linker from the broken binaries produced by old
640289857Sobrien	versions.
640389857Sobrien
640489857Sobrien2000-09-30  Petr Sorfa <petrs@sco.com>
640589857Sobrien
640689857Sobrien	* elf.c (elfcore_grok_pstatus): Check for size of pxstatus_t.
640789857Sobrien	(elfcore_grok_lwpstatus): Check for size of lwpxstatus_t.
640889857Sobrien	* configure.in: Add check for pxstatus_t and lwpxstatus_t.
640989857Sobrien	* configure: Regenerate.
641089857Sobrien
641189857Sobrien2000-09-27  Hans-Peter Nilsson  <hp@axis.com>
641289857Sobrien
641389857Sobrien	Define two bfd_targets for absence and presence of leading
641489857Sobrien	underscore on symbols.  Make sure to only link same kind.
641589857Sobrien	* elf32-cris.c (cris_elf_object_p,
641689857Sobrien	cris_elf_final_write_processing, cris_elf_print_private_bfd_data,
641789857Sobrien	cris_elf_merge_private_bfd_data): New.
641889857Sobrien	(elf_backend_object_p, elf_backend_final_write_processing,
641989857Sobrien	bfd_elf32_bfd_print_private_bfd_data,
642089857Sobrien	bfd_elf32_bfd_merge_private_bfd_data): Define.
642189857Sobrien	<Target vector definition>: Include elf32-target.h twice with
642289857Sobrien	different macro settings:
642389857Sobrien	(TARGET_LITTLE_SYM): First as bfd_elf32_cris_vec, then as
642489857Sobrien	bfd_elf32_us_cris_vec.
642589857Sobrien	(TARGET_LITTLE_NAME): First as "elf32-cris", then "elf32-us-cris".
642689857Sobrien	(elf_symbol_leading_char): First as 0, then '_'.
642789857Sobrien	(INCLUDED_TARGET_FILE): Define for second include of elf32-target.h.
642889857Sobrien	* config.bfd (cris-*-*): Add bfd_elf32_us_cris_vec to targ_selvecs.
642989857Sobrien	* configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vector.
643089857Sobrien	* configure: Regenerate.
643189857Sobrien	* targets.c: Declare bfd_elf32_us_cris_vec.
643289857Sobrien	* po/bfd.pot: Regenerate.
643389857Sobrien
643489857Sobrien2000-09-29  Momchil Velikov  <velco@fadata.bg>
643589857Sobrien
643689857Sobrien	* elf32-arm.h (arm_add_to_rel): Correctly adjust the addend for
643789857Sobrien	R_ARM_THM_PC22 relocations.
643889857Sobrien
643989857Sobrien2000-09-29  NIIBE Yutaka <gniibe@chroot.org>
644089857Sobrien
644189857Sobrien	* elflink.h (elf_link_add_object_symbols): Don't bfd_release runpath.
644289857Sobrien
644389857Sobrien2000-09-29  Momchil Velikov <velco@fadata.bg>
644489857Sobrien
644589857Sobrien	* elf.c (elf_fake_sections): Do not mark the section SHT_NOBITS if
644689857Sobrien	is has the SEC_HAS_CONTENTS flag set.
644789857Sobrien
644889857Sobrien2000-09-28  ��rjan Friberg  <orjanf@axis.com>
644989857Sobrien	    Hans-Peter Nilsson  <hp@axis.com>
645089857Sobrien
645189857Sobrien	* aout-cris.c (N_TXTADDR): Define.
645289857Sobrien
645389857Sobrien2000-09-28  John David Anglin <dave@hiauly1.hia.nrc.ca>
645489857Sobrien
645589857Sobrien	* som.c: Include alloca-conf.h.
645689857Sobrien	* Makefile.am: "make dep-am"
645789857Sobrien	* Makefile.in: Regenerate.
645889857Sobrien
645989857Sobrien2000-09-27  Alan Modra  <alan@linuxcare.com.au>
646089857Sobrien
646189857Sobrien	* elf32-hppa.c (plt_stub): New.
646289857Sobrien	(PLT_STUB_ENTRY): Define.
646389857Sobrien	(elf32_hppa_link_hash_table): Change multi_subspace to packed
646489857Sobrien	boolean.  Add need_plt_stub, has_12bit_branch and has_17bit_branch.
646589857Sobrien	(elf32_hppa_link_hash_table_create): Init to suit.
646689857Sobrien	(elf32_hppa_check_relocs): Set has_12bit_branch and
646789857Sobrien	has_17bit_branch as appropriate.
646889857Sobrien	(elf32_hppa_adjust_dynamic_symbol): Set need_plt_stub for
646989857Sobrien	non-local functions.
647089857Sobrien	(elf32_hppa_size_dynamic_sections): Correct setting of reltext.
647189857Sobrien	Add space for plt_stub as needed.
647289857Sobrien	(elf32_hppa_finish_dynamic_symbol): Point .plt entries for global
647389857Sobrien	functions at plt_stub.
647489857Sobrien	(elf32_hppa_finish_dynamic_sections): Write plt_stub.
647589857Sobrien	(elf32_hppa_create_dynamic_sections): Leave .plt executable.
647689857Sobrien
647789857Sobrien	* elf32-hppa.h (elf32_hppa_size_stubs): Add group_size param.
647889857Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.  Use it instead
647989857Sobrien	of fixed size, and if negative, disable handling of input sections
648089857Sobrien	before stub section.  Set up default stub group size depending
648189857Sobrien	on detected branch relocs.
648289857Sobrien	(hppa_build_one_stub): Use lrsel and rrsel for import stubs to
648389857Sobrien	ensure different offsets from sym_value aren't rounded to
648489857Sobrien	different 2k blocks.  Use lrsel and rrsel for other stubs too for
648589857Sobrien	consistency rather than necessity.
648689857Sobrien	(elf32_hppa_check_relocs): Handle R_PARISC_DIR14F.
648789857Sobrien	(final_link_relocate): Likewise.
648889857Sobrien	(elf32_hppa_relocate_section): Likewise.
648989857Sobrien
649089857Sobrien	* elf-hppa.h (elf_hppa_howto_table): Add R_PARISC_DIR14F reloc.
649189857Sobrien	(_bfd_elf_hppa_gen_reloc_type): Generate them.
649289857Sobrien	(elf_hppa_final_link_relocate): Handle them.
649389857Sobrien	(elf_hppa_relocate_insn): Likewise.
649489857Sobrien	(_bfd_elf_hppa_gen_reloc_type): Add missing e_ldsel and e_rdsel cases.
649589857Sobrien
649689857Sobrien2000-09-26  Hans-Peter Nilsson  <hp@axis.com>
649789857Sobrien
649889857Sobrien	* elfcode.h (elf_object_p): Preserve and clear abfd section
649989857Sobrien	information.  Restore at error.
650089857Sobrien
650189857Sobrien2000-09-26  Paul Sokolovsky  <Paul.Sokolovsky@technologist.com>
650289857Sobrien
650389857Sobrien	* peigen.c (_bfd_pei_swap_aouthdr_in): If some DataDirectory
650489857Sobrien	is empty, make sure that its rva also 0. NT loader dislikes
650589857Sobrien	having otherwise.
650689857Sobrien
650789857Sobrien2000-09-26  Steve Ellcey <sje@cup.hp.com>
650889857Sobrien
650989857Sobrien	* som.c (som_bfd_derive_misc_symbol_info): Make weak symbols
651089857Sobrien	global by default.
651189857Sobrien
651289857Sobrien2000-09-21  Alan Modra  <alan@linuxcare.com.au>
651389857Sobrien
651489857Sobrien	* elf32-hppa.c (elf32_hppa_check_relocs): Fix weak sym handling in
651589857Sobrien	currently unused RELATIVE_DYNAMIC_RELOCS code.
651689857Sobrien	(hppa_discard_copies): Likewise.
651789857Sobrien	(elf32_hppa_size_stubs): Size `input_list' array correctly.  Correct
651889857Sobrien	comments.  Don't check non-code output sections for stub grouping.
651989857Sobrien
652089857Sobrien2000-09-20  Alan Modra  <alan@linuxcare.com.au>
652189857Sobrien
652289857Sobrien	* section.c (bfd_get_unique_section_name): Return NULL if
652389857Sobrien	bfd_malloc fails.
652489857Sobrien
652589857Sobrien2000-09-19  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
652689857Sobrien
652789857Sobrien	* elf32-m68k.c (elf_cpu32_plt0_entry): Change the PLT entry 0
652889857Sobrien	instruction sequence to actually work.
652989857Sobrien	(elf_m68k_finish_dynamic_sections): Change the patch-in offset
653089857Sobrien	accordingly.
653189857Sobrien
653289857Sobrien2000-09-18  Alexandre Oliva  <aoliva@redhat.com>
653389857Sobrien
653489857Sobrien	* elf32-sh.c (sh_elf_relocate_section): Use
653589857Sobrien	_bfd_final_link_relocate to apply the relocation against a section
653689857Sobrien	symbol, when doing relocatable links.
653789857Sobrien
653889857Sobrien2000-09-18  Alan Modra  <alan@linuxcare.com.au>
653989857Sobrien
654089857Sobrien	* elf32-hppa.c (elf32_hppa_stub_hash_entry): Rename input_section
654189857Sobrien	to id_sec.
654289857Sobrien	(stub_hash_newfunc): Here too.
654389857Sobrien	(hppa_add_stub): And here.
654489857Sobrien	(elf32_hppa_link_hash_table): Remove stub_section_created,
654589857Sobrien	reloc_section_created, first_init_sec and first_fini_sec.  Add
654689857Sobrien	stub_group.
654789857Sobrien	(elf32_hppa_link_hash_table_create): Init to suit.
654889857Sobrien	(hppa_get_stub_entry): Add support for grouping stub sections.
654989857Sobrien	(hppa_add_stub): Likewise.  Remove sec_count param and init/fini
655089857Sobrien	section code.  Index stub vars by section->id.
655189857Sobrien	(elf32_hppa_size_stubs): Likewise.  Remove duplicated function
655289857Sobrien	exit paths.  Zap allocation of above removed vars.  Refine
655389857Sobrien	link-once test.
655489857Sobrien
655589857Sobrien	* elf32-hppa.h (elf32_hppa_size_stubs): Add output_bfd param.
655689857Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
655789857Sobrien	(hppa_get_stub_entry): Pass in pointer to elf32_hppa_link_hash_table
655889857Sobrien	rather than pointer to bfd_link_info.
655989857Sobrien	(hppa_add_stub): Likewise.
656089857Sobrien	(final_link_relocate): Likewise.
656189857Sobrien
656289857Sobrien2000-09-17  David Huggins-Daines  <dhd@linuxcare.com>
656389857Sobrien
656489857Sobrien	(elf32_hppa_size_stubs): Don't try to build stubs for discarded
656589857Sobrien	link-once sections.
656689857Sobrien
656789857Sobrien2000-09-16  Alexandre Oliva  <aoliva@redhat.com>
656889857Sobrien
656989857Sobrien	* elf32-sh.c (ELF_MAXPAGESIZE): Define to 128, to match
657089857Sobrien	ld/emulparams/shelf.sh.
657189857Sobrien
657289857Sobrien2000-09-10  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
657389857Sobrien
657489857Sobrien	* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): New function.
657589857Sobrien	* bfd-in.h (bfd_m68k_elf32_create_embedded_relocs): Add declaration.
657689857Sobrien	* bfd-in2.h: Regenerate.
657789857Sobrien
657889857Sobrien2000-09-15  Kenneth Block  <Kenneth.Block@compaq.com>
657989857Sobrien
658089857Sobrien	* elf64-alpha.c (elf64_alpha_relax_with_lituse): ld performs
658189857Sobrien	LITUSE relocations incorrectly if -relax is specified on the ld
658289857Sobrien	command line and the displacement field of the load or store
658389857Sobrien	instruction is non-zero. (Patch by paul.winalski@compaq.com)
658489857Sobrien
658589857Sobrien2000-09-15  Alan Modra  <alan@linuxcare.com.au>
658689857Sobrien
658789857Sobrien	* elf32-hppa.c (hppa_add_stub): Dont set first_init_sec and
658889857Sobrien	first_fini_sec here.
658989857Sobrien	(elf32_hppa_size_stubs): Instead correctly find the first .init
659089857Sobrien	and .fini section here.
659189857Sobrien
659289857Sobrien2000-09-15  David Huggins-Daines  <dhd@linuxcare.com>
659389857Sobrien
659489857Sobrien	* elf32-hppa.c (clobber_millicode_symbols): New function.
659589857Sobrien	(elf32_hppa_size_dynamic_sections): Call it.
659689857Sobrien
659789857Sobrien2000-09-14  Alan Modra  <alan@linuxcare.com.au>
659889857Sobrien
659989857Sobrien	* elf32-hppa.c (elf32_hppa_link_hash_entry): Make pic_call
660089857Sobrien	packed.  Add plabel, plt_abs packed booleans.
660189857Sobrien	(hppa_link_hash_newfunc): Init new fields.
660289857Sobrien	(PLABEL_PLT_ENTRY_SIZE): Define.
660389857Sobrien	(hppa_stub_name): Use size_t len vars.
660489857Sobrien	(hppa_add_stub): Likewise.
660589857Sobrien	(elf32_hppa_build_stubs): Likewise.
660689857Sobrien	(hppa_build_one_stub): Kill some compiler warnings.
660789857Sobrien	(elf32_hppa_check_relocs): Always generate a plt entry for PLABELs
660889857Sobrien	if dynamic linking.  Munge the local plt offsets into
660989857Sobrien	local_got_refcounts.  Set h->plabel for all global PLABELs.  Use
661089857Sobrien	size_t len vars.  Add assert for plabel addend.
661189857Sobrien	(elf32_hppa_gc_sweep_hook): Sweep local plt entries too.
661289857Sobrien	(elf32_hppa_hide_symbol): New function.
661389857Sobrien	(elf_backend_hide_symbol): Define.
661489857Sobrien	(elf32_hppa_adjust_dynamic_symbol): Don't throw away plt entries
661589857Sobrien	with h->plabel set.  Don't make plt entries to have dynamic syms
661689857Sobrien	when they have been forced local.  If plt entry is used by a
661789857Sobrien	plabel, make it PLABEL_PLT_ENTRY_SIZE.
661889857Sobrien	(elf32_hppa_size_dynamic_sections): Set plt_abs for init fns.
661989857Sobrien	Set up .plt offsets for local syms.
662089857Sobrien	(elf32_hppa_relocate_section): Initialise plt entries for local
662189857Sobrien	syms.  Leave weak undefined plabels zero.  Make global plabel
662289857Sobrien	relocs against function symbol, and leave the addend zero.
662389857Sobrien	Use *ABS* DIR32 relocs instead of SEGREL32 for dynamic got relocs.
662489857Sobrien	(elf32_hppa_finish_dynamic_symbol): Set up IPLT relocs for
662589857Sobrien	non-dynamic syms.  Init extra plt for plabels.  Use *ABS* DIR32
662689857Sobrien	relocs instead of SEGREL32 for dynamic got relocs.
662789857Sobrien	(elf32_hppa_finish_dynamic_sections): Reserve one more .got entry.
662889857Sobrien	(elf_backend_got_header_size): Adjust.
662989857Sobrien	(elf32_hppa_set_gp): Calculate an "ideal" LTP.
663089857Sobrien
663189857Sobrien	* elf32-hppa.c (LONG_BRANCH_VIA_PLT): Define.
663289857Sobrien	(hppa_type_of_stub): Use it instead of #if 0
663389857Sobrien	(hppa_discard_copies): Use it here too.
663489857Sobrien	(elf32_hppa_size_dynamic_sections): And here.
663589857Sobrien
663689857Sobrien	* elf32-hppa.c (elf32_hppa_link_hash_table): Remove `offset' field.
663789857Sobrien	(elf32_hppa_link_hash_table_create): And here.
663889857Sobrien	(hppa_build_one_stub): And here.  Instead keep track of stub
663989857Sobrien	offset using _raw_size.
664089857Sobrien	(elf32_hppa_size_stubs): Likewise.
664189857Sobrien	(elf32_hppa_build_stubs): Likewise.
664289857Sobrien	(hppa_size_one_stub): Likewise.  Resize reloc section too.
664389857Sobrien
664489857Sobrien	* elf32-hppa.c (hppa_add_stub): Correct first_init_sec and
664589857Sobrien	first_fini_sec handling.  Don't search for reloc section or set
664689857Sobrien	hplink->reloc_section_created here.
664789857Sobrien	(elf32_hppa_size_stubs): Instead search for reloc sections, and
664889857Sobrien	set reloc_section_created here.
664989857Sobrien	(hppa_handle_PIC_calls): Set ELF_LINK_HASH_NEEDS_PLT.
665089857Sobrien	(elf32_hppa_size_dynamic_sections): Make a .plt entry for DT_INIT
665189857Sobrien	and DT_FINI.
665289857Sobrien	(elf32_hppa_finish_dynamic_sections): Set DT_INIT and DT_FINI.
665389857Sobrien
665489857Sobrien	* elf32-hppa.c (hppa_build_one_stub): Replace `elf_hash_table (info)'
665589857Sobrien	with `hplink->root.'.
665689857Sobrien	(elf32_hppa_check_relocs): Likewise.
665789857Sobrien	(elf32_hppa_gc_sweep_hook): Likewise.
665889857Sobrien	(elf32_hppa_adjust_dynamic_symbol): Likewise.
665989857Sobrien	(hppa_handle_PIC_calls): Likewise.
666089857Sobrien	(elf32_hppa_size_dynamic_sections): Likewise.
666189857Sobrien	(elf32_hppa_set_gp): Likewise.
666289857Sobrien	(elf32_hppa_relocate_section): Likewise.
666389857Sobrien	(elf32_hppa_finish_dynamic_symbol): Likewise.
666489857Sobrien	(elf32_hppa_finish_dynamic_sections): Likewise.
666589857Sobrien
666689857Sobrien	From  David Huggins-Daines  <dhd@linuxcare.com>
666789857Sobrien	* elf32-hppa.c (hppa_type_of_stub): Generate import stubs for
666889857Sobrien	defined weak symbols in shared links.
666989857Sobrien	(final_link_relocate): Calls to defined weak symbols in shared
667089857Sobrien	objects must go via import stubs, as the target might not be known
667189857Sobrien	at link time.
667289857Sobrien
667389857Sobrien2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
667489857Sobrien
667589857Sobrien	* elf32-sh.c (sh_elf_howto_table): Moved R_SH_GOT32, R_SH_PLT32,
667689857Sobrien	R_SH_COPY, R_SH_GLOB_DAT, R_SH_JMP_SLOT, R_SH_RELATIVE,
667789857Sobrien	R_SH_GOTOFF, R_SH_GOTPC) to the range from 160 to 167.  Replaced
667889857Sobrien	the original entries with EMPTY_HOWTOs, and added new ones to fill
667989857Sobrien	in the gap.
668089857Sobrien	(sh_elf_info_to_howto): Make sure the new gap isn't used.
668189857Sobrien	(sh_elf_relocate_section): Likewise.
668289857Sobrien
668389857Sobrien2000-09-13  Anders Norlander  <anorland@acc.umu.se>
668489857Sobrien
668589857Sobrien	* cpu-mips.c (arch_info_struct): Add mips:4K
668689857Sobrien	* bfd-in2.h (bfd_mach_mips4K): New define.
668789857Sobrien	* archures.c: Add bfd_mach_mips4K to comment.
668889857Sobrien	* elf32-mips.c (_bfd_mips_elf_final_write_processing): Return
668989857Sobrien	E_MIPS_ARCH_2 for bfd_mach_mips4K.
669089857Sobrien
669189857Sobrien2000-09-13  Marco Franzen <marcof@thyron.com>
669289857Sobrien
669389857Sobrien	* som.c (som_write_symbol_strings): Do not used fixed buffers,
669489857Sobrien	use size_t as a counter.
669589857Sobrien	(som_write_space_strings): Similarly.
669689857Sobrien
669789857Sobrien2000-09-12  Jason Eckhardt  <jle@cygnus.com>
669889857Sobrien
669989857Sobrien	* elf32-i860.c (elf32_i860_relocate_pc26): New function
670089857Sobrien	and prototype.
670189857Sobrien	(elf32_i860_relocate_section): Invoke new function from here.
670289857Sobrien
670389857Sobrien2000-09-11  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
670489857Sobrien
670589857Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Make debug_sec_names
670689857Sobrien	static.
670789857Sobrien
670889857Sobrien2000-09-10  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
670989857Sobrien
671089857Sobrien	* coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Emit 8 NULs for
671189857Sobrien	target section name instead of dumping core when the target symbol is
671289857Sobrien	undefined.
671389857Sobrien
671489857Sobrien2000-09-09  Kazu Hirata  <kazu@hxi.com>
671589857Sobrien
671689857Sobrien	* riscix.c: Remove DEFUN.
671789857Sobrien
671889857Sobrien2000-09-08  Nick Clifton  <nickc@redhat.com>
671989857Sobrien
672089857Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Do not
672189857Sobrien	initialise flags in output bfd if the input bfd is the default
672289857Sobrien	architecture with the default flags.
672389857Sobrien
672489857Sobrien2000-09-08  Kazu Hirata  <kazu@hxi.com>
672589857Sobrien
672689857Sobrien	* archive.c: Fix formatting.
672789857Sobrien	* coff-arm.c: Likewise.
672889857Sobrien	* doc/chew.c: Likewise.
672989857Sobrien
673089857Sobrien2000-09-08  Alan Modra  <alan@linuxcare.com.au>
673189857Sobrien
673289857Sobrien	* section.c (bfd_get_unique_section_name): Put a dot before the
673389857Sobrien	numeric suffix.
673489857Sobrien
673589857Sobrien2000-09-07  Kazu Hirata  <kazu@hxi.com>
673689857Sobrien
673789857Sobrien	* doc/chew.c: Remove all uses of DEFUN and DEFUN_VOID.
673889857Sobrien	* elf.c: Fix formatting.
673989857Sobrien
674089857Sobrien2000-09-07  Alexandre Oliva  <aoliva@redhat.com>
674189857Sobrien
674289857Sobrien	* config.bfd (sh-*-linux*): Added.
674389857Sobrien	* configure.in (bfd_elf32_shlin_vec, bfd_elf32_shblin_vec): New.
674489857Sobrien	* targets.c: Declare them.
674589857Sobrien	* elf32-sh-lin.c: New file.
674689857Sobrien	* Makefile.am: Compile it.
674789857Sobrien	* elf32-sh.c: Don't override defines from elf32-sh-lin.c.
674889857Sobrien	* configure, Makefile.in: Rebuilt.
674989857Sobrien
675089857Sobrien2000-09-06  Geoffrey Keating  <geoffk@cygnus.com>
675189857Sobrien
675289857Sobrien	* xcofflink.c (xcoff_link_input_bfd): Include the .tocbss
675389857Sobrien	pseduo-section when determining where the TOC ends.
675489857Sobrien
675589857Sobrien	* coff-rs6000.c (_bfd_xcoff_swap_aux_out): Use bfd_h_put_16 to
675689857Sobrien	output x_tvndx as it is only two bytes wide.
675789857Sobrien
675889857Sobrien	* coff-rs6000.c (xcoff_howto_table): A modifiable branch-absolute
675989857Sobrien	reloc is 26 or 32 bits wide.
676089857Sobrien
676189857Sobrien	* coff-rs6000.c (_bfd_xcoff_rtype2howto): The bitsize is irrelevant
676289857Sobrien	for relocs that don't change anything.  Also look at the full
676389857Sobrien	6 bits of bitsize.
676489857Sobrien
676589857Sobrien2000-09-06  Philip Blundell  <philb@gnu.org>
676689857Sobrien
676789857Sobrien	* config.bfd (arm*-*-uclinux*): New target.
676889857Sobrien
676989857Sobrien2000-09-06  Alexandre Oliva  <aoliva@redhat.com>
677089857Sobrien
677189857Sobrien	* configure: Rebuilt with new libtool.m4.
677289857Sobrien
677389857Sobrien2000-09-06  Alan Modra  <alan@linuxcare.com.au>
677489857Sobrien
677589857Sobrien	* section.c (bfd_get_unique_section_name): Avoid c++ reserved
677689857Sobrien	word for variable name.
677789857Sobrien	* bfd-in2.h: Regenerate.
677889857Sobrien
677989857Sobrien2000-09-05  Nick Clifton  <nickc@redhat.com>
678089857Sobrien
678189857Sobrien	* config.in: Regenerate.
678289857Sobrien	* libbfd.h: Regenerate.
678389857Sobrien	* po/bfd.pot: Regenerate.
678489857Sobrien	* doc/bfdint.texi: Remove CVS date string - it foils compares with
678589857Sobrien	local versions.
678689857Sobrien
678789857Sobrien2000-09-05  Steven Johnson  <sbjohnson@ozemail.com.au>
678889857Sobrien
678989857Sobrien	* cpu-powerpc.c  (arch_info_struct): Added MPC860 Family entry.
679089857Sobrien
679189857Sobrien2000-09-05  Alan Modra  <alan@linuxcare.com.au>
679289857Sobrien
679389857Sobrien	Shared library and PIC support.
679489857Sobrien	* elf32-hppa.c (PLT_ENTRY_SIZE): New.
679589857Sobrien	(GOT_ENTRY_SIZE): New.
679689857Sobrien	(ELF_DYNAMIC_INTERPRETER): New.
679789857Sobrien	(STUB_SUFFIX): Define.
679889857Sobrien	(LONG_BRANCH_PIC_IN_SHLIB): Define.
679989857Sobrien	(RELATIVE_DYNAMIC_RELOCS): Define.
680089857Sobrien	(enum elf32_hppa_stub_type): New.
680189857Sobrien	(struct elf32_hppa_stub_hash_entry): Rename offset to
680289857Sobrien	stub_offset.  Add a number of new fields.
680389857Sobrien	(struct elf32_hppa_link_hash_entry): New.
680489857Sobrien	(struct elf32_hppa_link_hash_table): Add numerous fields.  Remove
680589857Sobrien	global_value.
680689857Sobrien	(elf32_hppa_hash_table): Rename to hppa_link_hash_table.
680789857Sobrien	(elf32_hppa_stub_hash_lookup): Rename to hppa_stub_hash_lookup.
680889857Sobrien	(elf32_hppa_stub_hash_newfunc): Rename to stub_hash_newfunc.  Init
680989857Sobrien	new fields.
681089857Sobrien	(hppa_link_hash_newfunc): New function.
681189857Sobrien	(elf32_hppa_link_hash_table_create): Use above function. Init new
681289857Sobrien	fields.
681389857Sobrien	(elf32_hppa_stub_name): Rename to hppa_stub_name.  Pass in reloc
681489857Sobrien	instead of addend, and remove sym_name from args.  Don't use
681589857Sobrien	symbol name for local syms, instead use sym index.
681689857Sobrien	(elf32_hppa_size_of_stub): Rename to hppa_type_of_stub, and return
681789857Sobrien	stub type rather than size.  Pass in hash and handle import stub
681889857Sobrien	case.  Also pass in reloc instead of offset so we can calculate
681989857Sobrien	PCREL22F and PCREL12F branches properly.
682089857Sobrien	(elf32_hppa_build_one_stub): Rename to hppa_build_one_stub.  Build
682189857Sobrien	import and export stubs too.
682289857Sobrien	(elf32_hppa_size_one_stub): Rename to hppa_size_one_stub.  Handle
682389857Sobrien	import and export stub sizing.
682489857Sobrien	(elf32_hppa_check_relocs): New function.
682589857Sobrien	(elf32_hppa_adjust_dynamic_symbol): New function.
682689857Sobrien	(hppa_discard_copies): New function.
682789857Sobrien	(elf32_hppa_size_dynamic_sections): New function.
682889857Sobrien	(elf_backend_size_dynamic_sections): Define.
682989857Sobrien	(elf32_hppa_finish_dynamic_symbol): New function.
683089857Sobrien	(elf_backend_finish_dynamic_symbol): Define.
683189857Sobrien	(elf32_hppa_size_stubs): Stash params in link hash table, and move
683289857Sobrien	some local vars into the link hash table too.  For shared links,
683389857Sobrien	trundle over function syms, generating export stubs.  Handle
683489857Sobrien	PCREL22F branches.  Break out stub creation code from here..
683589857Sobrien	(hppa_add_stub): .. to here.  New function.
683689857Sobrien	(elf32_hppa_final_link): Rename to elf32_hppa_set_gp, and don't
683789857Sobrien	call the bfd linker.  Use elf_gp to record global pointer.
683889857Sobrien	Calculate a value from sections if $global$ is missing.
683989857Sobrien	(bfd_elf32_bfd_final_link): Define as _bfd_elf32_gc_common_final_link.
684089857Sobrien	(elf32_hppa_gc_mark_hook): New function.
684189857Sobrien	(elf_backend_gc_mark_hook): Define.
684289857Sobrien	(elf32_hppa_gc_sweep_hook): New function.
684389857Sobrien	(elf_backend_gc_sweep_hook): Define.
684489857Sobrien	(elf32_hppa_bfd_final_link_relocate): Rename to final_link_relocate.
684589857Sobrien	Add rel to args, and remove howto, input_bfd, offset, addend,
684689857Sobrien	sym_name as we can recalculate these locally.  Handle calls to
684789857Sobrien	dynamic objects, extra PIC relocs, PCREL22F branches.  Change
684889857Sobrien	handling of undefined weak syms.  Check that stubs are in range.
684989857Sobrien	Only look for import stubs on PCREL17F and PCREL22F relocs.  Add
685089857Sobrien	message on hitting a DPREL21L reloc that needs fixing.  Subtract
685189857Sobrien	off PC for PCREL14F.  Break out code that does a stub lookup from
685289857Sobrien	here..
685389857Sobrien	(hppa_get_stub_entry): ..to here.  New function.
685489857Sobrien	(elf32_hppa_relocate_insn): Merge into final_link_relocate.
685589857Sobrien	(elf32_hppa_relocate_section): Handle got and plt relocs, dynamic
685689857Sobrien	relocs, etc. etc.
685789857Sobrien	(elf32_hppa_finish_dynamic_sections): New function.
685889857Sobrien	(elf_backend_finish_dynamic_sections): Define.
685989857Sobrien	(elf_backend_final_write_processing) Define.
686089857Sobrien	(hppa_handle_PIC_calls): New function.
686189857Sobrien	(elf32_hppa_build_stubs): Call it.  Pass link_info to
686289857Sobrien	hppa_build_one_stub.
686389857Sobrien	(elf32_hppa_create_dynamic_sections): New function
686489857Sobrien	to create .plt and .got then set .plt flags correctly.
686589857Sobrien	(elf_backend_create_dynamic_sections): Define.
686689857Sobrien	(elf32_hppa_object_p): New function.
686789857Sobrien	(elf_backend_object_p): Define.
686889857Sobrien	(elf32_hppa_elf_get_symbol_type): New function.
686989857Sobrien	(elf_backend_get_symbol_type): Define.
687089857Sobrien	(elf_backend_can_gc_sections): Define.
687189857Sobrien	(elf_backend_want_got_plt): Define.
687289857Sobrien	(elf_backend_plt_alignment): Set to 2.
687389857Sobrien	(elf_backend_plt_readonly): Define.
687489857Sobrien	(elf_backend_want_plt_sym): Define.
687589857Sobrien	(elf_backend_got_header_size): Reserve one entry.
687689857Sobrien
687789857Sobrien	* elf32-hppa.h (elf32_hppa_build_stubs): Don't pass stub bfd.
687889857Sobrien	(elf32_hppa_size_stubs): Pass in multi_subspace.
687989857Sobrien	(elf32_hppa_set_gp): Declare.
688089857Sobrien
688189857Sobrien	* section.c (SEC_HAS_GOT_REF): Define new flag for asection.
688289857Sobrien	(bfd_get_unique_section_name): New function.
688389857Sobrien	* bfd-in2.h: Regenerate.
688489857Sobrien
688589857Sobrien	* elf64-hppa.c (elf64_hppa_check_relocs): Handle R_PARISC_PCREL12F.
688689857Sobrien	(elf64_hppa_size_dynamic_sections): Remove the FIXME at bfd_zalloc
688789857Sobrien	comment.
688889857Sobrien
688989857Sobrien	From  David Huggins-Daines  <dhd@linuxcare.com>
689089857Sobrien	* elf64-hppa.c (elf64_hppa_check_relocs): Fix a warning.
689189857Sobrien	(elf64_hppa_mark_exported_functions): Set dyn_h->st_shndx.
689289857Sobrien	(elf64_hppa_link_output_symbol_hook): Test dyn_h->st_shndx has
689389857Sobrien	been updated in finish_dynamic_symbol before modifying function
689489857Sobrien	symbol.
689589857Sobrien
689689857Sobrien	* elf-hppa.h (elf_hppa_howto_table): Restructure into groups of
689789857Sobrien	eight entries.  Replace NULL with bfd_elf_generic_reloc.  Add
689889857Sobrien	R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT and R_PARISC_PCREL12F.
689989857Sobrien	(_bfd_elf_hppa_gen_reloc_type): Handle R_PARISC_GNU_VT*.  Add some
690089857Sobrien	comments.  Handle format == 12 for R_HPPA_PCREL_CALL.
690189857Sobrien	(elf_hppa_final_link_relocate): Handle R_PARISC_PCREL12F.
690289857Sobrien	(elf_hppa_relocate_insn): Likewise.  Reformat some comments.
690389857Sobrien	(elf_hppa_final_write_processing): Expose it for ARCH_SIZE == 32.
690489857Sobrien
690589857Sobrien	From David Huggins-Daines  <dhd@linuxcare.com>
690689857Sobrien	* elf-hppa.h (elf_hppa_is_local_label_name): Accept the SysV/ELF
690789857Sobrien	style of local labels as well.
690889857Sobrien
690989857Sobrien2000-09-03  Philip Blundell  <philb@gnu.org>
691089857Sobrien
691189857Sobrien	* elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate
691289857Sobrien	references to undefined symbols in debugging sections.
691389857Sobrien
691489857Sobrien2000-09-02  H.J. Lu  <hjl@gnu.org>
691589857Sobrien
691689857Sobrien	* reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
691789857Sobrien	BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE,
691889857Sobrien	BFD_RELOC_SH_GOTPC): Move them from the MIPS section to the SH
691989857Sobrien	section.
692089857Sobrien
692189857Sobrien2000-09-02  Jason Eckhardt  <jle@cygnus.com>
692289857Sobrien
692389857Sobrien	* elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro.
692489857Sobrien	(elf32_i860_is_local_label_name): New function and prototype.
692589857Sobrien
692689857Sobrien2000-09-02  Nick Clifton  <nickc@redhat.com>
692789857Sobrien
692889857Sobrien	* configure.in: Increase version number to 2.10.91.
692989857Sobrien	* configure: Regenerate.
693089857Sobrien	* aclocal.m4: Regenerate.
693189857Sobrien	* config.in: Regenerate.
693289857Sobrien	* po/bfd.pot: Regenerate.
693389857Sobrien
693489857Sobrien2000-09-02  Daniel Berlin <dberlin@redhat.com>
693589857Sobrien
693689857Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Add
693789857Sobrien	.gnu.linkobce.wi. to the list of debug section names.
693889857Sobrien
693989857Sobrien2000-09-02  Nick Clifton  <nickc@redhat.com>
694089857Sobrien
694189857Sobrien	* dwarf2.c (find_debug_info): New function: Locate a section
694289857Sobrien	containing dwarf2 debug information.
694389857Sobrien	(bfd_dwarf2_find_nearest_line): Find all sections containing
694489857Sobrien	debug information and include them in the stash.
694589857Sobrien
694689857Sobrien2000-09-01  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>
694789857Sobrien
694889857Sobrien	* elf32-sh.c (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
694989857Sobrien	R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New.
695089857Sobrien	(sh_reloc_map): Add new relocs.
695189857Sobrien	(sh_elf_check_relocs, sh_elf_link_hash_newfunc,
695289857Sobrien	sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol,
695389857Sobrien	sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol,
695489857Sobrien	sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New
695589857Sobrien	functions.
695689857Sobrien	(ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define.
695789857Sobrien	(elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
695889857Sobrien	elf_sh_plt_entry_be, elf_sh_plt_entry_le,
695989857Sobrien	elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
696089857Sobrien	New array constants.
696189857Sobrien	(elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry):
696289857Sobrien	New variables.
696389857Sobrien	(elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
696489857Sobrien	elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset,
696589857Sobrien	elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset,
696689857Sobrien	elf_sh_plt_reloc_offset): Define.
696789857Sobrien	(elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry,
696889857Sobrien	elf_sh_link_hash_table): New structs.
696989857Sobrien	(sh_elf_link_hash_traverse, sh_elf_hash_table): New macros.
697089857Sobrien	(sh_elf_relocate_section, sh_elf_check_relocs): Handle new
697189857Sobrien	relocation types.
697289857Sobrien	(elf_backend_create_dynamic_sections,
697389857Sobrien	bfd_elf32_bfd_link_hash_table_create,
697489857Sobrien	elf_backend_adjust_dynamic_symbol,
697589857Sobrien	elf_backend_size_dynamic_sections,
697689857Sobrien	elf_backend_finish_dynamic_symbol,
697789857Sobrien	elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
697889857Sobrien	elf_backend_plt_readonly, elf_backend_want_plt_sym,
697989857Sobrien	elf_backend_got_header_size, elf_backend_plt_header_size):
698089857Sobrien	Define.
698189857Sobrien	* reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
698289857Sobrien	BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC):
698389857Sobrien	New relocs.
698489857Sobrien	* bfd-in2.h, libbfd.h: Rebuilt.
698589857Sobrien
698689857Sobrien2000-09-01  Alan Modra  <alan@linuxcare.com.au>
698789857Sobrien
698889857Sobrien	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert 2000-08-27
698989857Sobrien	change.
699089857Sobrien
699189857Sobrien2000-08-31  J"orn Rennecke <amylaar@cygnus.co.uk>
699289857Sobrien
699389857Sobrien	* elf32-sh.c (sh_elf_merge_private_data): If ibfd's elf header flags
699489857Sobrien	not initialized, set them to indicate the SH1 instruction set.
699589857Sobrien
699689857Sobrien2000-08-31  Alexandre Oliva  <aoliva@redhat.com>
699789857Sobrien
699889857Sobrien	* acinclude.m4: Include libtool and gettext macros from the
699989857Sobrien	top level.
700089857Sobrien	* aclocal.m4, configure: Rebuilt.
700189857Sobrien
700289857Sobrien2000-08-29  Michael Snyder  <msnyder@seadog.cygnus.com>
700389857Sobrien
700489857Sobrien	* elf.c: Eliminate references to __sparcv9 macro; replace with
700589857Sobrien	autoconf variables HAVE_PSINFO32_T etc.
700689857Sobrien	* configure.in: Auto-configure HAVE_PSINFO_32_T, HAVE_PRPSINFO32_T,
700789857Sobrien	HAVE_PSTATUS32_T, HAVE_PRSTATUS32_T, HAVE_PRSTATUS32_T_PR_WHO.
700889857Sobrien	* config.in: Ditto.
700989857Sobrien	* acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE) define _SYSCALL32 so it can
701089857Sobrien	detect the above typedefs.  (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Ditto.
701189857Sobrien	* aclocal.m4: Ditto.
701289857Sobrien	* configure: Regenerate.
701389857Sobrien
701489857Sobrien2000-08-27  Alan Modra  <alan@linuxcare.com.au>
701589857Sobrien
701689857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Keep info on relocs copied
701789857Sobrien	for any shared link, not just shared -Bsymbolic.
701889857Sobrien	(elf_i386_size_dynamic_sections): Call elf_i386_discard_copies on
701989857Sobrien	any shared link, and pass link info to it.
702089857Sobrien	(elf_i386_size_dynamic_sections): Update comment.
702189857Sobrien	(elf_i386_discard_copies): Modify to discard relocs for symbols
702289857Sobrien	that have been forced local.
702389857Sobrien	(elf_i386_finish_dynamic_symbol): Don't copy relocs for symbols
702489857Sobrien	that have been forced local.
702589857Sobrien
702689857Sobrien2000-08-24  Denis Chertykov  <denisc@overta.ru> & Nick Clifton  <nickc@redhat.com>
702789857Sobrien
702889857Sobrien	* elflink.h (elf_link_add_object_symbols): Allow common
702989857Sobrien	symbols to have an alignment of 1 if explicitly requested, and
703089857Sobrien	not overridden by other definitions.
703189857Sobrien
703289857Sobrien2000-08-22  Doug Kwan <dkwan@transmeta.com>
703389857Sobrien
703489857Sobrien	* coff-w65.c (CREATE_LITTLE_COFF_TARGET): Fix typo.
703589857Sobrien	* coffcode.h (coff_set_flags): Add detection of w65 architecture.
703689857Sobrien
703789857Sobrien2000-08-22  H.J. Lu  <hjl@gnu.org>
703889857Sobrien
703989857Sobrien	* elf-bfd.h (elf_link_hash_table): Add runpath.
704089857Sobrien
704189857Sobrien	* bfd-in.h (bfd_elf_get_runpath_list): New prototype.
704289857Sobrien	* bfd-in2.h: Rebuilt.
704389857Sobrien
704489857Sobrien	* elf.c (_bfd_elf_link_hash_table_init): Initialize the
704589857Sobrien	"runpath" field to NULL.
704689857Sobrien	(bfd_elf_get_runpath_list): New function.
704789857Sobrien
704889857Sobrien	* elflink.h (elf_link_add_object_symbols): Record DT_RPATH and
704989857Sobrien	DT_RUNPATH entries.
705089857Sobrien
705189857Sobrien2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
705289857Sobrien
705389857Sobrien	* elf32-sh.c (sh_elf_relocate_section) [R_SH_IND12W,
705489857Sobrien	R_SH_DIR8WPN, R_SH_DIR8WPZ, R_SH_DIR8WPL]: Handle them
705589857Sobrien	explicitly.  Improve validation of r_type.
705689857Sobrien
705789857Sobrien2000-08-21  H.J. Lu  <hjl@gnu.org>
705889857Sobrien
705989857Sobrien	* elf32-i386.c (elf_i386_size_dynamic_sections): Zero out the
706089857Sobrien	dynamic allocated content space.  Add a comment to remind us that
706189857Sobrien	one day this ought to be fixed.
706289857Sobrien	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
706389857Sobrien	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
706489857Sobrien	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
706589857Sobrien
706689857Sobrien2000-08-21  Jason Eckhardt  <jle@cygnus.com>
706789857Sobrien
706889857Sobrien	* elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate
706989857Sobrien	field with the newly relocated value instead of adding it to the
707089857Sobrien	existing immediate field.
707189857Sobrien	(elf32_i860_relocate_splitn): Likewise.
707289857Sobrien	(elf32_i860_relocate_highadj): Likewise.
707389857Sobrien
707489857Sobrien2000-08-16  Jason Eckhardt  <jle@cygnus.com>
707589857Sobrien
707689857Sobrien	* elf32-i860.c (elf32_i860_relocate_pc16): Implemented function (it
707789857Sobrien	was previously just a stub).
707889857Sobrien
707989857Sobrien2000-08-16  Alexandre Oliva  <aoliva@redhat.com>
708089857Sobrien
708189857Sobrien	* elflink.c (_bfd_elf_create_got_section): Don't abort().
708289857Sobrien	Formatting fixes.
708389857Sobrien	(_bfd_elf_create_dynamic_sections): Likewise.
708489857Sobrien
708589857Sobrien2000-08-16  Andrew Macleod  <amacleod@cygnus.com>
708689857Sobrien
708789857Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Set relocation address
708889857Sobrien	for undefined symbols to be the beginning of the section.
708989857Sobrien
709089857Sobrien	* elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Don't allocate
709189857Sobrien	four extra entries at the beginning of the .rela.plt section.
709289857Sobrien	(sparc64_elf_finish_dynamic_symbol): Adjust the offset in the .rela.plt
709389857Sobrien	section to account for the four reserved entries in the .plt section.
709489857Sobrien
709589857Sobrien2000-08-15  Geoffrey Keating  <geoffk@cygnus.com>
709689857Sobrien
709789857Sobrien	* xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0
709889857Sobrien	to the list of NOPs we recognize after a branch-and-link.
709989857Sobrien	Use the ori NOP when one is needed.
710089857Sobrien
710189857Sobrien	* coff-rs6000.c (_bfd_xcoff_slurp_armap): Finish implementation
710289857Sobrien	for large archives.
710389857Sobrien
710489857Sobrien2000-08-14  Jim Wilson  <wilson@cygnus.com>
710589857Sobrien
710689857Sobrien	* elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle
710789857Sobrien	EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP.
710889857Sobrien	(elf64_ia64_print_private_bfd_data): Likewise.  Also handle
710989857Sobrien	EF_IA_64_ABSOLUTE.
711089857Sobrien
711189857Sobrien2000-08-11  Alexandre Oliva  <aoliva@redhat.com>
711289857Sobrien
711389857Sobrien	* elf32-sh.c (sh_elf_set_mach_from_flags): Make it static.
711489857Sobrien
711589857Sobrien2000-08-10  Jason Eckhardt  <jle@cygnus.com>
711689857Sobrien
711789857Sobrien	* elf32-i860.c (elf32_i860_relocate_section): New function.
711889857Sobrien	(i860_final_link_relocate): New function.
711989857Sobrien	(elf32_i860_relocate_splitn): New function.
712089857Sobrien	(elf32_i860_relocate_pc16): New function.
712189857Sobrien	(elf32_i860_relocate_highadj): New function.
712289857Sobrien	(elf32_i860_howto): Minor adjustments to some relocations.
712389857Sobrien	(elf_info_to_howto_rel): Define.
712489857Sobrien	(elf_backend_relocate_section): Define.
712589857Sobrien
712689857Sobrien2000-08-10  Nick Clifton  <nickc@cygnus.com>
712789857Sobrien
712889857Sobrien	* elf32-arm.h: Fix formatting.
712989857Sobrien
713089857Sobrien2000-08-10  Bernd Schmidt  <bernds@cygnus.co.uk>
713189857Sobrien
713289857Sobrien	* elf32-sh.c (sh_elf_reloc_loop): Make LAST_SYMBOL_SECTION static.
713389857Sobrien
713489857Sobrien2000-08-08  Jason Eckhardt  <jle@cygnus.com>
713589857Sobrien
713689857Sobrien	* elf32-i860.c (elf32_i860_howto_table): Updated some fields.
713789857Sobrien
713889857Sobrien2000-08-07  Kazu Hirata  <kazu@hxi.com>
713989857Sobrien
714089857Sobrien	* ieee.c (ieee_write_debug_part): Rewrite a comment.
714189857Sobrien	* elf64-ia64.c: Fix a typo.
714289857Sobrien
714389857Sobrien2000-08-05  Jason Eckhardt  <jle@cygnus.com>
714489857Sobrien
714589857Sobrien	* elf32-i860.c (elf32_i860_howto_table): New structure.
714689857Sobrien	(lookup_howto): New function.
714789857Sobrien	(elf32_i860_reloc_type_lookup): New function.
714889857Sobrien	(elf32_i860_info_to_howto_rela): New function.
714989857Sobrien	(elf_code_to_howto_index): New structure.
715089857Sobrien	(elf_info_to_howto): Re-define as elf32_i860_info_to_howto_rela.
715189857Sobrien	(bfd_elf32_bfd_reloc_type_lookup): Re-define as
715289857Sobrien	elf32_i860_reloc_type_lookup.
715389857Sobrien
715489857Sobrien2000-08-04  Rodney Brown  <RodneyBrown@pmsc.com>
715589857Sobrien
715689857Sobrien	* som.c (struct fixup_format): Constify `format'.
715789857Sobrien	(som_hppa_howto_table): Use SOM_HOWTO macro.
715889857Sobrien	(try_prev_fixup, hppa_som_reloc): Decorate unused parameter.
715989857Sobrien	(som_bfd_reloc_type_lookup): Likewise.
716089857Sobrien	(compare_subspaces): Remove unused `count1', `count2'.
716189857Sobrien	(som_begin_writing): Remove unused `total_reloc_size'.
716289857Sobrien	(som_bfd_derive_misc_symbol_info): Decorate unused parameter.
716389857Sobrien	(som_print_symbol, som_bfd_is_local_label_name): Likewise.
716489857Sobrien	(som_set_reloc_info): Constify `cp'. Remove unused `addend'.
716589857Sobrien	(som_find_nearest_line): Decorate unused parameter(s).
716689857Sobrien	(som_sizeof_headers, som_get_symbol_info, som_write_armap): Likewise.
716789857Sobrien	(som_bfd_link_split_section): Likewise.
716889857Sobrien
716989857Sobrien2000-08-03  Nick Clifton  <nickc@cygnus.com>
717089857Sobrien
717189857Sobrien	* section.c: Restore backed out code.
717289857Sobrien	* elf.c: Restore backed out code.
717389857Sobrien	(copy_private_bfd_data): Fix bug preventing stipped dynamic
717489857Sobrien	binaries from working.
717589857Sobrien	* bfd-in2.h: Regenerate.
717689857Sobrien
717789857Sobrien2000-08-03  H.J. Lu  <hjl@gnu.org>
717889857Sobrien
717989857Sobrien	* section.c: Back out the change made by Nick Clifton
718089857Sobrien	<nickc@cygnus.com> on 2000-07-31. It breaks stripping dynamic
718189857Sobrien	binaries.
718289857Sobrien	* bfd-in2.h: Likewise.
718389857Sobrien	* elf.c: Likewise.
718489857Sobrien
718589857Sobrien2000-08-03  Alexandre Oliva  <aoliva@redhat.com>
718689857Sobrien
718789857Sobrien	* elf32-sh.c (sh_elf_reloc_loop): Warning removal.
718889857Sobrien
718989857Sobrien2000-07-31  Jason Eckhardt  <jle@cygnus.com>
719089857Sobrien
719189857Sobrien	* reloc.c (BFD_RELOC_860_*): New bfd relocs for i860.
719289857Sobrien	* bfd-in2.h, libbfd.h: Regenerate.
719389857Sobrien
719489857Sobrien2000-07-31  Nick Clifton  <nickc@cygnus.com>
719589857Sobrien
719689857Sobrien	* section.c (struct sec): Add new boolean field 'segment_mark'.
719789857Sobrien	(STD_SECTION): Initialise new field to zero.
719889857Sobrien
719989857Sobrien	* bfd-in2.h: Regenerate.
720089857Sobrien
720189857Sobrien	* elf.c (copy_private_bfd_data): Reorganise section to segment
720289857Sobrien	mapping to cope with moved sections requiring new segments,
720389857Sobrien	and overlapping segments.
720489857Sobrien	(SEGMENT_END): New macro: Return the end address of a segment.
720589857Sobrien	(IS_CONTAINED_BY_VMA): New macro: Determine if a segment
720689857Sobrien	contains a section by comparing their VMA addresses.
720789857Sobrien	(IS_CONTAINED_BY_LMA): New macro: Determine if a segment
720889857Sobrien	contains a section by comparing their LMA addresses.
720989857Sobrien	(INCLUDE_SECTION_IN_SEGMENT): New macro: Determine if a
721089857Sobrien	section should be included in a segment.
721189857Sobrien	(SEGMENT_AFTER_SEGMENT): New macro: Determine if one segment
721289857Sobrien	follows another in memory.
721389857Sobrien	(SEGMENT_OVERLAPS_SEGMENT): New macro: Determine if two
721489857Sobrien	segments overlap.
721589857Sobrien
721689857Sobrien2000-07-22  Jason Eckhardt  <jle@cygnus.com>
721789857Sobrien
721889857Sobrien	* cpu-i860.c: Added comments.
721989857Sobrien
722089857Sobrien	* elf32-i860.c (TARGET_LITTLE_SYM): Defined to
722189857Sobrien	bfd_elf32_i860_little_vec.
722289857Sobrien	(TARGET_LITTLE_NAME): Defined to "elf32-i860-little".
722389857Sobrien	(ELF_MAXPAGESIZE): Changed to 4096.
722489857Sobrien
722589857Sobrien	* targets.c (bfd_elf32_i860_little_vec): Declaration of
722689857Sobrien	new target.
722789857Sobrien	(bfd_target_vector): Added bfd_elf32_i860_little_vec.
722889857Sobrien
722989857Sobrien	* config.bfd (i860-stardent-sysv4*, i860-stardent-elf*): Added
723089857Sobrien	config for little endian elf32 i860.
723189857Sobrien	(targ_defvec): Define for the new config above
723289857Sobrien	as "bfd_elf32_i860_little_vec".
723389857Sobrien	(targ_selvecs): Define for the new config above
723489857Sobrien	as "bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
723589857Sobrien
723689857Sobrien	* configure.in (bfd_elf32_i860_little_vec): Added recognition
723789857Sobrien	of new target vec.
723889857Sobrien
723989857Sobrien	* configure: Regenerated.
724089857Sobrien
724189857Sobrien2000-07-27  H.J. Lu  <hjl@gnu.org>
724289857Sobrien
724389857Sobrien	* elflink.h (elf_merge_symbol): Take one more argument,
724489857Sobrien	dt_needed, to indicate if the symbol comes from a DT_NEEDED
724589857Sobrien	entry. Don't overide the existing weak definition if dt_needed
724689857Sobrien	is true.
724789857Sobrien	(elf_link_add_object_symbols): Pass dt_needed to
724889857Sobrien	elf_merge_symbol ().
724989857Sobrien
725089857Sobrien2000-07-27  Nick Clifton  <nickc@cygnus.com>
725189857Sobrien
725289857Sobrien	* elflink.h (elf_link_size_reloc_section): Zeroes the section's
725389857Sobrien	allocated contents.
725489857Sobrien
725589857Sobrien2000-07-25  Geoffrey Keating  <geoffk@cygnus.com>
725689857Sobrien
725789857Sobrien	* configure.host (*-*-aix*): AIX has 'long long' always.
725889857Sobrien
725989857Sobrien	* coff-rs6000.c (xcoff_write_one_armap_big): New procedure.
726089857Sobrien	(xcoff_write_armap_big): Write both 32-bit and 64-bit armaps.
726189857Sobrien	(xcoff_write_archive_contents_big): Don't update the offset
726289857Sobrien	of the symbol table, xcoff_write_armap will do it.
726389857Sobrien
726489857Sobrien2000-07-23  Ulf Carlsson  <ulfc@engr.sgi.com>
726589857Sobrien
726689857Sobrien	* elf32-mips.c (_bfd_mips_elf_check_relocs): Use abfd instead
726789857Sobrien	of dynobj for SGI_COMPAT checks.
726889857Sobrien
726989857Sobrien2000-07-21  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
727089857Sobrien
727189857Sobrien	* coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): New function.
727289857Sobrien	* bfd-in.h (bfd_m68k_coff_create_embedded_relocs): Add declaration.
727389857Sobrien	* bfd-in2.h: Regenerate.
727489857Sobrien
727589857Sobrien2000-07-21  Nick Clifton  <nickc@cygnus.com>
727689857Sobrien
727789857Sobrien	* elf32-mips.c (_bfd_mips_elf_check_relocs): Detect out of
727889857Sobrien	range symbol indices in relocs and issue an error message.
727989857Sobrien
728089857Sobrien2000-07-20  H.J. Lu  <hjl@gnu.org>
728189857Sobrien
728289857Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't check
728389857Sobrien	info->new_dtags when setting DT_FLAGS_1. It will only be set
728489857Sobrien	by the new linker options. It shouldn't break anything.
728589857Sobrien
728689857Sobrien2000-07-20  H.J. Lu  <hjl@gnu.org>
728789857Sobrien
728889857Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set DT_FLAGS_1
728989857Sobrien	only if info->new_dtags is true.
729089857Sobrien
729189857Sobrien2000-07-20  H.J. Lu  <hjl@gnu.org>
729289857Sobrien
729389857Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set
729489857Sobrien	DT_RUNPATH and DT_FLAGS only if info->new_dtags is true.
729589857Sobrien
729689857Sobrien2000-07-20  Hans-Peter Nilsson  <hp@axis.com>
729789857Sobrien
729889857Sobrien	* Makefile.am (ALL_MACHINES): Add cpu-cris.lo.
729989857Sobrien	(ALL_MACHINES_CFILES): Add cpu-cris.c.
730089857Sobrien	(BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo.
730189857Sobrien	(BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c.
730289857Sobrien	(cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules.
730389857Sobrien	* Makefile.in: Rebuild.
730489857Sobrien	* aclocal.m4: Rebuild.
730589857Sobrien	* aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris.
730689857Sobrien	* archures.c (enum bfd_architecture): Add bfd_arch_cris.
730789857Sobrien	(bfd_cris_arch): Declare.
730889857Sobrien	(bfd_archures_list): Add bfd_cris_arch.
730989857Sobrien	* bfd-in2.h: Rebuild.
731089857Sobrien	* config.bfd: (cris-*-*): New target.
731189857Sobrien	* configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors.
731289857Sobrien	* configure: Rebuild.
731389857Sobrien	* elf.c (prep_headers): Add bfd_arch_cris.
731489857Sobrien	* libbfd.h: Rebuild.
731589857Sobrien	* libaout.h (enum machine_type): Add M_CRIS.
731689857Sobrien	* reloc.c: Add CRIS relocations.
731789857Sobrien	* targets.c (bfd_elf32_cris_vec, cris_aout_vec): Declare.
731889857Sobrien	(bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec.
731989857Sobrien	* cpu-cris.c, aout-cris.c, elf32-cris.c: New files.
732089857Sobrien	* po/POTFILES.in, po/bfd.pot: Regenerate.
732189857Sobrien
732289857Sobrien2000-07-19  H.J. Lu  <hjl@gnu.org>
732389857Sobrien
732489857Sobrien	* elf32-arm.h (elf32_arm_size_dynamic_sections): Also set
732589857Sobrien	DF_TEXTREL if DT_TEXTREL is set.
732689857Sobrien	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
732789857Sobrien	* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
732889857Sobrien	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
732989857Sobrien	* elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
733089857Sobrien	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
733189857Sobrien	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
733289857Sobrien	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
733389857Sobrien	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
733489857Sobrien	* elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
733589857Sobrien	* elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
733689857Sobrien
733789857Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
733889857Sobrien	set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
733989857Sobrien	DT_RPATH is set.
734089857Sobrien	Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
734189857Sobrien
734289857Sobrien2000-07-19  H.J. Lu  <hjl@gnu.org>
734389857Sobrien
734489857Sobrien	* bfd-in.h (bfd_elf_set_dt_needed_soname): New.
734589857Sobrien	* bfd-in2.h: Rebuild.
734689857Sobrien
734789857Sobrien	* elf-bfd.h (elf_obj_tdata): Add dt_soname.
734889857Sobrien	(elf_dt_soname): New.
734989857Sobrien
735089857Sobrien	* elf.c (bfd_elf_set_dt_needed_soname): New.
735189857Sobrien
735289857Sobrien	* elflink.h (elf_link_add_object_symbols): Add the DT_NEEDED
735389857Sobrien	entry if the shared object loaded by DT_NEEDED is used to
735489857Sobrien	resolve the reference in a regular object.
735589857Sobrien
735689857Sobrien2000-07-19  H.J. Lu  <hjl@gnu.org>
735789857Sobrien
735889857Sobrien	* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_CONFIG,
735989857Sobrien	DT_DEPAUDIT and DT_AUDIT as strings.
736089857Sobrien
736189857Sobrien2000-07-19  Nick Clifton  <nickc@cygnus.com>
736289857Sobrien
736389857Sobrien	* format.c: Fix formatting.
736489857Sobrien
736589857Sobrien2000-07-19  H.J. Lu  <hjl@gnu.org>
736689857Sobrien
736789857Sobrien	* elf.c (_bfd_elf_print_private_bfd_data): Fix DT_CHECKSUM.
736889857Sobrien
736989857Sobrien2000-07-19  H.J. Lu  <hjl@gnu.org>
737089857Sobrien
737189857Sobrien	* elf.c (_bfd_elf_print_private_bfd_data): Handle DT_BIND_NOW,
737289857Sobrien	DT_INIT_ARRAY, DT_FINI_ARRAY, DT_INIT_ARRAYSZ, DT_FINI_ARRAYSZ,
737389857Sobrien	DT_RUNPATH, DT_FLAGS, DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ,
737489857Sobrien	DT_PLTPADSZ, DT_MOVEENT, DT_MOVESZ, DT_FEATURE, DT_POSFLAG_1,
737589857Sobrien	DT_SYMINSZ, DT_SYMINENT, DT_CONFIG, DT_DEPAUDIT, DT_AUDIT,
737689857Sobrien	DT_PLTPAD, DT_MOVETAB, DT_SYMINFO, DT_RELACOUNT, DT_RELCOUNT,
737789857Sobrien	DT_FLAGS_1, DT_USED and DT_CHECKSUM.
737889857Sobrien
737989857Sobrien2000-07-18  Andrew Cagney  <cagney@b1.cygnus.com>
738089857Sobrien
738189857Sobrien	* elf.c (bfd_elf_get_sign_extend_vma, bfd_elf_get_arch_size): Move
738289857Sobrien	renamed functions from here...
738389857Sobrien	(assign_section_numbers): Use renamed functions.
738489857Sobrien	(prep_headers): Use renamed functions.
738589857Sobrien
738689857Sobrien	* bfd.c (bfd_get_sign_extend_vma, bfd_get_arch_size): ...To here.
738789857Sobrien	* bfd-in.h (bfd_get_sign_extend_vma, bfd_get_arch_size): Update.
738889857Sobrien	* bfd-in2.h: Regenerate.
738989857Sobrien
739089857Sobrien2000-07-18  Ulf Carlsson  <ulfc@engr.sgi.com>
739189857Sobrien
739289857Sobrien	* elf32-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Add
739389857Sobrien	parenthesis in if statement.
739489857Sobrien
739589857Sobrien2000-07-17  Koundinya K  <kk@ddeorg.soft.net>
739689857Sobrien
739789857Sobrien	Enable the support for Traditional MIPS.
739889857Sobrien	* elf32-mips.c (IRIX_COMPAT): Recognize bfd_elf32_tradbigmips_vecand
739989857Sobrien	return ict_none appropriately for traditional mips targets.
740089857Sobrien	(STUB_LW): Change 0x8f998000 to 0x8f998010 for traditional mips.
740189857Sobrien	(STUB_MOVE): Conditionalize for traditonal mips.
740289857Sobrien	(STUB_LI16): Likewise.
740389857Sobrien	(_bfd_mips_elf_modify_segment_map): Conditionalize to avoid making
740489857Sobrien	room for RTPROC header.
740589857Sobrien	(_bfd_mips_elf_modify_segment_map): For a normal mips executable set
740689857Sobrien	the permission for the PT_DYNAMIC as read, write and execute.
740789857Sobrien	(mips_elf_calculate_relocation): Check for the symbol _DYNAMIC_LINKING
740889857Sobrien	for traditonal mips.
740989857Sobrien	(_bfd_mips_elf_create_dynamic_sections): Add the symbol
741089857Sobrien	_DYNAMIC_LINKING for traditonal mips.
741189857Sobrien	(_bfd_mips_elf_create_dynamic_sections): Add the symbol __RLD_MAP
741289857Sobrien	in case of traditonal mips.
741389857Sobrien	(_bfd_mips_elf_adjust_dynamic_symbol): Create a stub only if a PLT
741489857Sobrien	entry is required. For a function if PLT is not required then set the
741589857Sobrien	corresponding hash table entry to 0.
741689857Sobrien	(_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG entry for
741789857Sobrien	traditonal mips.
741889857Sobrien	(_bfd_mips_elf_finish_dynamic_symbol): for a undefined symbol in a
741989857Sobrien	shared object set the value to 0.
742089857Sobrien	(_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol
742189857Sobrien	_DYNAMIC_LINKING for traditonal mips.
742289857Sobrien	(_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol __RLD_MAP
742389857Sobrien	for traditonal mips.
742489857Sobrien
742589857Sobrien2000-07-15  H.J. Lu  <hjl@gnu.org>
742689857Sobrien
742789857Sobrien	* aoutx.h (translate_to_native_sym_flags): Handle BSF_LOCAL.
742889857Sobrien
742989857Sobrien2000-07-12  Charles Wilson  <cwilson@ece.gatech.edu>
743089857Sobrien
743189857Sobrien	* libbfd.c (bfd_seek): fix 'seek beyond EOF' error when writing
743289857Sobrien	out a structure that is BFD_IN_MEMORY.
743389857Sobrien
743489857Sobrien2000-07-11  Alan Modra  <alan@linuxcare.com.au>
743589857Sobrien
743689857Sobrien	* elf64-hppa.c (get_dyn_name): Pass in section pointer instead of
743789857Sobrien	bfd pointer.  Print section id instead of bfd pointer for local
743889857Sobrien	syms.  Prefix addend with `+' for global syms as well as local.
743989857Sobrien	Correct calculation of name component lengths.
744089857Sobrien	(elf64_hppa_check_relocs): Update call to get_dyn_name.
744189857Sobrien
744289857Sobrien	From David Huggins-Daines  <dhd@linuxcare.com>
744389857Sobrien	* elf-hppa.h (elf_hppa_relocate_section): Update calls here too.
744489857Sobrien	* elf64-hppa.c (elf64_hppa_check_relocs): Fix some warnings.
744589857Sobrien	(elf64_hppa_modify_segment_map): Likewise.
744689857Sobrien
744789857Sobrien2000-07-11  Andrew Cagney  <cagney@b1.cygnus.com>
744889857Sobrien
744989857Sobrien	* elf.c (bfd_elf_get_sign_extend_vma): Return tendency of VMA
745089857Sobrien	addresses to be "naturally" sign extended.  Return -1 if unknown.
745189857Sobrien	* bfd-in.h (bfd_elf_get_sign_extend_vma): Add declaration.
745289857Sobrien	* bfd-in2.h: Regenerate.
745389857Sobrien
745489857Sobrien2000-07-11  Andrew Cagney  <cagney@b1.cygnus.com>
745589857Sobrien
745689857Sobrien	* ecoffswap.h (ecoff_get_off, ecoff_put_off): Add ECOFF_SIGNED_32
745789857Sobrien	and ECOF_SIGNED_64 to list ways to extract an offset.
745889857Sobrien	(ecoff_swap_fdr_in, ecoff_swap_fdr_out, ecoff_swap_pdr_in,
745989857Sobrien	ecoff_swap_pdr_out, ecoff_swap_ext_in, ecoff_swap_ext_out):
746089857Sobrien	Update.
746189857Sobrien	* elf64-mips.c (ECOFF_SIGNED_64): Define instead of ECOFF_64.
746289857Sobrien	* elf32-mips.c (ECOFF_SIGNED_32): Define instead of ECOFF_32.
746389857Sobrien
746489857Sobrien2000-07-11  Andrew Cagney  <cagney@b1.cygnus.com>
746589857Sobrien
746689857Sobrien	* elfcode.h (elf_object_p): Use bfd_set_start_address and not
746789857Sobrien	bfd_get_start_address.
746889857Sobrien	(elf_swap_ehdr_in): Sign extend e_entry when applicable.
746989857Sobrien	(elf_swap_ehdr_out): Ditto.
747089857Sobrien
747189857Sobrien2000-07-10  Alexander Aganichev  <AAganichev@hypercom.com>
747289857Sobrien
747389857Sobrien	* archures.c (bfd_default_scan): Add set of bfd_mach_ cases for
747489857Sobrien	compatibility with older binutils.
747589857Sobrien
747689857Sobrien2000-07-10  Alan Modra  <alan@linuxcare.com.au>
747789857Sobrien
747889857Sobrien	* section.c (bfd_make_section_anyway): Start section_id at 0x10.
747989857Sobrien	(STD_SECTION): Avoid negative ids, instead use 0 to 3.
748089857Sobrien
748189857Sobrien	From Ryan Bradetich  <rbradetich@uswest.net>
748289857Sobrien	* dwarf1.c (parse_die): Cure signed/unsigned char warnings.
748389857Sobrien	(parse_line_table): Ditto.
748489857Sobrien	(_bfd_dwarf1_find_nearest_line): Ditto.
748589857Sobrien	* syms.c (cmpindexentry): Remove extra `*' from params.
748689857Sobrien
748789857Sobrien2000-07-09  Koundinya K  <kk@ddeorg.soft.net>
748889857Sobrien
748989857Sobrien	* elf32-mips.c (sort_dynamic_relocs): New Function.
749089857Sobrien	(_bfd_mips_elf_finish_dynamic_sections): Call sort_dynamic_relocs
749189857Sobrien	via qsort to sort the dynamic relocations in increasing r_symndx
749289857Sobrien	value.
749389857Sobrien
749489857Sobrien2000-07-09  Alan Modra  <alan@linuxcare.com.au>
749589857Sobrien
749689857Sobrien	* elf64-hppa.c (elf64_hppa_dyn_hash_table_init): Add
749789857Sobrien	ATTRIBUTE_UNUSED to unused args.
749889857Sobrien	(get_opd): Likewise.
749989857Sobrien	(get_plt): Likewise.
750089857Sobrien	(get_dlt): Likewise.
750189857Sobrien	(get_stub): Likewise.
750289857Sobrien	(elf64_hppa_adjust_dynamic_symbol): Likewise.
750389857Sobrien	(elf64_hppa_link_output_symbol_hook): Likewise.
750489857Sobrien	(elf64_hppa_check_relocs): Delete unused var.
750589857Sobrien	(elf64_hppa_size_dynamic_sections): Likewise.
750689857Sobrien	(elf64_hppa_finalize_opd): Likewise.
750789857Sobrien	(elf64_hppa_finalize_dynreloc): Likewise.
750889857Sobrien	(elf64_hppa_modify_segment_map): Likewise.
750989857Sobrien	(elf64_hppa_finish_dynamic_sections): Likewise.
751089857Sobrien
751189857Sobrien	* elf-hppa.h (elf_hppa_final_write_processing): Add
751289857Sobrien	ATTRIBUTE_UNUSED to unused args.
751389857Sobrien	(elf_hppa_final_link_relocate): Likewise.
751489857Sobrien	(elf_hppa_record_segment_addrs): Add paretheses.
751589857Sobrien	(elf_hppa_relocate_section): Constify dyn_name.
751689857Sobrien
751789857Sobrien	From  David Huggins-Daines  <dhd@linuxcare.com>
751889857Sobrien	* config.bfd: Add hppa*64*-*-linux-gnu 64-bit target, and
751989857Sobrien	rearrange case statement so that it gets preferred to 32-bit ones.
752089857Sobrien
752189857Sobrien	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Use
752289857Sobrien	asection->id instead of address of asection structure.
752389857Sobrien	(elf32_hppa_size_stubs): Likewise.
752489857Sobrien
752589857Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Use just one stub section
752689857Sobrien	for .init* and .fini*.
752789857Sobrien
752889857Sobrien	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Mask pointers
752989857Sobrien	and addends used in stub names to 32 bits.
753089857Sobrien	(elf32_hppa_size_stubs): Likewise.
753189857Sobrien
753289857Sobrien	* elf-hppa.h (elf_hppa_final_link_relocate): Don't sum addend
753389857Sobrien	twice for R_PARISC_GPREL64.  Use bfd_put_32 for R_PARISC_PCREL32,
753489857Sobrien	not bfd_put_64.  Fix minor comment typo and formatting.
753589857Sobrien
753689857Sobrien	Changes to create multiple linker stubs, positioned immediately
753789857Sobrien	before the section where they are required.
753889857Sobrien	* elf32-hppa.c: Don't include hppa_stubs.h.
753989857Sobrien	(elf32_hppa_stub_hash_entry): Add a pointer to the stub section.
754089857Sobrien	(elf32_hppa_stub_hash_table): Delete.
754189857Sobrien	(elf32_hppa_link_hash_entry): Delete.
754289857Sobrien	(elf32_hppa_link_hash_table): Use plain bfd_hash_table for
754389857Sobrien	stub_hash_table, and store the struct here rather than a pointer.
754489857Sobrien	Delete output_symbol_count.  Add offset array.  Change
754589857Sobrien	global_value to a bfd_vma.
754689857Sobrien	(elf32_hppa_stub_hash_lookup): Use table instead of table->root.
754789857Sobrien	(elf32_hppa_stub_hash_traverse): Delete.
754889857Sobrien	(elf32_hppa_name_of_stub): Delete.
754989857Sobrien	(elf32_hppa_link_hash_lookup): Delete.
755089857Sobrien	(elf32_hppa_link_hash_traverse): Delete.
755189857Sobrien	(elf32_hppa_stub_hash_table_init): Delete.
755289857Sobrien	(elf32_hppa_size_of_stub): Pass input section and offset rather
755389857Sobrien	than location and calculate location here.  Don't pass name as all
755489857Sobrien	stubs are now the same size.
755589857Sobrien	(elf32_hppa_stub_hash_newfunc): Init new fields.
755689857Sobrien	(elf32_hppa_link_hash_table_create): Likewise, and stub_hash_table
755789857Sobrien	too.
755889857Sobrien	(elf32_hppa_bfd_final_link_relocate): Cast enums to int before
755989857Sobrien	comparing against ints.  Rewrite stub handling code.
756089857Sobrien	(elf32_hppa_relocate_section): Make r_type and r_symndx unsigned.
756189857Sobrien	Case enums to int before comparing against ints.  Remove
756289857Sobrien	bfd_reloc_dangerous case.
756389857Sobrien	(elf32_hppa_build_one_stub): Rewrite.
756489857Sobrien	(elf32_hppa_size_one_stub): New function.
756589857Sobrien	(elf32_hppa_build_stubs): Rewrite.
756689857Sobrien	(elf32_hppa_size_stubs): Pass in linker call-back functions.
756789857Sobrien	Rewrite stub-handling specific code.
756889857Sobrien
756989857Sobrien	* elf32-hppa.h (elf32_hppa_size_stubs): Update prototype.
757089857Sobrien
757189857Sobrien	* elf64-hppa.c (elf64_hppa_dyn_hash_entry): Fix a comment typo.
757289857Sobrien
757389857Sobrien	* hppa_stubs.h: Delete.
757489857Sobrien	* Makefile.am (SOURCE_HFILES): Remove hppa_stubs.h
757589857Sobrien	(elf32-hppa.lo): Remove hppa_stubs.h from dependencies.
757689857Sobrien	* Makefile.in: Regenerate.
757789857Sobrien
757889857Sobrien	* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle e_nlsel and
757989857Sobrien	e_nlrsel.
758089857Sobrien
758189857Sobrien	* libhppa.h (hppa_field_adjust): Correct e_nsel case.
758289857Sobrien
758389857Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Mention the offset
758489857Sobrien	and section name for bfd_reloc_notsupported error message.
758589857Sobrien	(elf32_hppa_bfd_final_link_relocate): Print reasons for returning
758689857Sobrien	bfd_reloc_notsupported.
758789857Sobrien	(elf32_hppa_relocate_section): Add ATTRIBUTE_UNUSED to output_bfd.
758889857Sobrien
758989857Sobrien	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Handle
759089857Sobrien	undefined weak symbols for all relocs.
759189857Sobrien	(elf32_hppa_size_of_stub): Adjust calculation by 8 since branch
759289857Sobrien	offsets are relative to one past the delay slot.
759389857Sobrien	(elf32_hppa_size_stubs): Account for reloc addend when calculating
759489857Sobrien	branch destination.  Put addend into stub name too.
759589857Sobrien	(elf32_hppa_bfd_final_link_relocate): Account for reloc addend and
759689857Sobrien	adjust by 8 when deciding whether a linker stub is needed.  Put
759789857Sobrien	addend into stub name as for above.
759889857Sobrien
759989857Sobrien	* elf32-hppa.c (hppa_elf_relocate_insn): Change signed/unsigned on
760089857Sobrien	various args and vars.
760189857Sobrien	(elf32_hppa_bfd_final_link_relocate): Here too.
760289857Sobrien	(elf32_hppa_size_stubs): Rename index -> indx.  Use e_indx for
760389857Sobrien	inner block var to avoid shadowing.
760489857Sobrien
760589857Sobrien	* elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type):  Make `field' arg
760689857Sobrien	unsigned.
760789857Sobrien	* elf64-hppa.h (_bfd_elf64_hppa_gen_reloc_type): Ditto.
760889857Sobrien	* elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Ditto.
760989857Sobrien	(elf_hppa_fake_sections): Rename local var to avoid shadowing.
761089857Sobrien
761189857Sobrien	* libhppa.h: Change practically all unsigned ints to plain ints.
761289857Sobrien	Remove tests on gcc version.  Instead use ATTRIBUTE_UNUSED for
761389857Sobrien	prototypes.
761489857Sobrien
761589857Sobrien	From Ryan Bradetich  <rbradetich@uswest.net>
761689857Sobrien	* libhppa.h (hppa_opcode_type): New enum to replace #define's.
761789857Sobrien	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Modify to
761889857Sobrien	suit above.
761989857Sobrien	From  David Huggins-Daines  <dhd@linuxcare.com>
762089857Sobrien	* elf-hppa.h (elf_hppa_relocate_insn): Update the opcode constants
762189857Sobrien	to the new OP_* ones.
762289857Sobrien
762389857Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Consolidate freeing on
762489857Sobrien	error exit.  Bail out earlier on plabel relocs that we aren't
762589857Sobrien	interested in.  Don't tell elf32_hppa_stub_hash_lookup to copy
762689857Sobrien	string, and then don't free our copy.
762789857Sobrien	(elf32_hppa_build_one_stub): Make insn unsigned int.
762889857Sobrien
762989857Sobrien	* libhppa.h (bfd_hppa_insn2fmt): 22 bit branches are only
763089857Sobrien	available with BL, not BE and BLE.
763189857Sobrien
763289857Sobrien	* elf32-hppa.c (hppa_elf_relocate_insn): Add some more example
763389857Sobrien	code for elf arg relocs.
763489857Sobrien	(elf32_hppa_bfd_final_link_relocate): Replace boolean is_local
763589857Sobrien	argument with elf_link_hash_entry h.  Handle undefined weak
763689857Sobrien	symbols.  Move $global$ lookup from here...
763789857Sobrien	(elf32_hppa_relocate_section): ...to here.  Return correct error
763889857Sobrien	message for non-handled relocs.
763989857Sobrien	(elf32_hppa_size_of_stub): Correctly test branch range.  Previous
764089857Sobrien	wrong test was -0x3ffff to +0x40000.
764189857Sobrien
764289857Sobrien	* elf-hppa.h (elf_hppa_final_link_relocate): R_PARISC_DIR17R,
764389857Sobrien	R_PARISC_DIR17F, and R_PARISC_DIR21L are for absolute branches;
764489857Sobrien	Handle them as such.
764589857Sobrien	(elf_hppa_relocate_insn): Fix a typo.
764689857Sobrien
764789857Sobrien	* libhppa.h (GET_FIELD, GET_BIT, MASK, CATENATE, ELEVEN): Delete.
764889857Sobrien	(assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a,
764989857Sobrien	assemble_17, assemble_21): Delete.
765089857Sobrien	Supply defines for all 64 possible opcodes.
765189857Sobrien	(bfd_hppa_insn2fmt): Add bfd argument, and use to select wide mode
765289857Sobrien	formats.  Handle COMICLR.
765389857Sobrien	(hppa_rebuild_insn): Delete bfd argument.  Handle formats 10, -11,
765489857Sobrien	-10, -16, 16, 22.
765589857Sobrien
765689857Sobrien	* elf32-hppa.c (hppa_elf_relocate_insn): Complete rewrite.
765789857Sobrien	(elf32_hppa_bfd_final_link_relocate): Major rewrite.
765889857Sobrien	(elf32_hppa_build_one_stub): Modify hppa_elf_relocate_insn calls
765989857Sobrien	to suit.
766089857Sobrien	(elf32_hppa_size_stubs): Don't free stub_name twice.  Read in all
766189857Sobrien	the local syms - did this code get deleted accidentally?  Ignore
766289857Sobrien	undefined and undefweak syms.
766389857Sobrien
766489857Sobrien	* elf-hppa.h (elf_hppa_final_link): Move hppa_info to outermost
766589857Sobrien	block.  Use it instead of elf64_hppa_hash_table (info).
766689857Sobrien	(elf_hppa_final_link_relocate): Use hppa_info instead of
766789857Sobrien	elf64_hppa_hash_table (info).
766889857Sobrien
766989857Sobrien	* libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
767089857Sobrien	re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
767189857Sobrien	(hppa_rebuild_insn): Mask immediate bits here instead.
767289857Sobrien	* elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
767389857Sobrien
767489857Sobrien2000-07-08  Alan Modra  <alan@linuxcare.com.au>
767589857Sobrien
767689857Sobrien	* section.c (struct sec): Add id field.  Tidy comment formatting.
767789857Sobrien	(bfd_make_section_anyway): Set id.
767889857Sobrien	(STD_SECTION): Init id too.
767989857Sobrien	Change CONST to const throughout.
768089857Sobrien	* archures.c (bfd_arch_info): Tidy comment.
768189857Sobrien	(bfd_arch_list): Change a CONST to const.
768289857Sobrien	* libbfd-in.h: Tidy comments and replace CONST with const.
768389857Sobrien	* elf-bfd.h: Likewise.
768489857Sobrien	* libbfd.h: Regenerate.
768589857Sobrien	* bfd-in2.h: Regenerate.
768689857Sobrien	* libcoff.h: Regenerate.
768789857Sobrien
768889857Sobrien2000-07-07  DJ Delorie  <dj@redhat.com>
768989857Sobrien
769089857Sobrien	* archive.c (_bfd_write_archive_contents): Add an informative
769189857Sobrien	comment.
769289857Sobrien
769389857Sobrien2000-07-06  Kazu Hirata  <kazu@hxi.com>
769489857Sobrien
769589857Sobrien	* srec.c: Fix formatting.
769689857Sobrien
769789857Sobrien2000-06-05  DJ Delorie  <dj@redhat.com>
769889857Sobrien
769989857Sobrien	* MAINTAINERS: new
770089857Sobrien
770189857Sobrien2000-07-04  Alexandre Oliva  <aoliva@redhat.com>
770289857Sobrien
770389857Sobrien	* coff-arm.c (coff_arm_relocate_section): Do not ignore the symbol
770489857Sobrien	value of PC-relative offsets.
770589857Sobrien
770689857Sobrien2000-07-03  Jim Wilson  <wilson@cygnus.com>
770789857Sobrien
770889857Sobrien	* elf64-alpha.c (alpha_elf_size_info): New.
770989857Sobrien	(elf_backend_size_info): Define to alpha_elf_size_info.
771089857Sobrien	* elfcode.h (elf_size_info): Change hash bucket size to 4.
771189857Sobrien
771289857Sobrien2000-07-03  Ulf Carlsson  <ulfc@engr.sgi.com>
771389857Sobrien
771489857Sobrien	* elf32-mips.c: Include elf32-target.h again for the traditional
771589857Sobrien	MIPS targets.
771689857Sobrien
771789857Sobrien2000-07-03  Marek Michalkiewicz  <marekm@linux.org.pl>
771889857Sobrien
771989857Sobrien	* elf32-avr.c (bfd_elf32_bfd_reloc_type_lookup):
772089857Sobrien	Add ATTRIBUTE_UNUSED to unused arguments to avoid warnings.
772189857Sobrien	(avr_info_to_howto_rela): Likewise.
772289857Sobrien	(elf32_avr_gc_mark_hook): Likewise.
772389857Sobrien	(elf32_avr_gc_sweep_hook): Likewise.
772489857Sobrien	(elf32_avr_relocate_section): Likewise.
772589857Sobrien
772689857Sobrien2000-07-03  Mark Elbrecht  <snowball3@bigfoot.com>
772789857Sobrien
772889857Sobrien	* cofflink.c (_bfd_coff_write_global_sym): Turn a weak symbol into
772989857Sobrien	an external symbol for a non-shared, non-relocatable link.
773089857Sobrien
773189857Sobrien2000-07-03  Nick Clifton  <nickc@redhat.com>
773289857Sobrien
773389857Sobrien	* cofflink.c (IS_EXTERNAL): New macro: Return true if the symbol
773489857Sobrien	is an external symbol.
773589857Sobrien	(IS_WEAK_EXTERNAL): New macro: Return true if the symbol is a weak
773689857Sobrien	external symbol.
773789857Sobrien
773889857Sobrien2000-07-03  Kazu Hirata  <kazu@hxi.com>
773989857Sobrien
774089857Sobrien	* reloc16.c: Fix formatting.
774189857Sobrien
774289857Sobrien2000-07-01  Koundinya K  <kk@ddeorg.soft.net>
774389857Sobrien
774489857Sobrien	* config.bfd: Change targ_defvec and targ_selvecs for mips*-*-sysv4*
774589857Sobrien	to add a new target for traditional mips i.e
774689857Sobrien	bfd_elf32_tradbigmips_vec and bfd_elf32_tradlittlemips_vec.
774789857Sobrien	* configure.in: Likewise.
774889857Sobrien	* configure: Rebuild.
774989857Sobrien	* targets.c (bfd_elf32_tradbigmips_vec): Declare and put in
775089857Sobrien	bfd_target_vector.
775189857Sobrien	(bfd_elf32_tradlittlemips_vec): Likewise.
775289857Sobrien	* elfxx-target.h: Add macro INCLUDED_TARGET_FILE which is more a test
775389857Sobrien	to see that elfNN_bed does not get redefined even if the target file
775489857Sobrien	is included twice for a chip. See elf32-mips.c.
775589857Sobrien
775689857Sobrien2000-07-01  Alan Modra  <alan@linuxcare.com.au>
775789857Sobrien
775889857Sobrien	* Makefile.am (DEP): Fix 2000-06-22.  grep after running dep.sed
775989857Sobrien	(CLEANFILES): Add DEPA.
776089857Sobrien	* Makefile.in: Regenerate.
776189857Sobrien
776289857Sobrien2000-06-30  DJ Delorie  <dj@cygnus.com>
776389857Sobrien
776489857Sobrien	* peicode.h (coff_swap_filehdr_in): can't use e_magic because we
776589857Sobrien	can't assume the PE header is at 0x80.
776689857Sobrien
776789857Sobrien2000-06-29  Mark Elbrecht  <snowball3@bigfoot.com>
776889857Sobrien
776989857Sobrien	* syms.c (_bfd_stab_section_find_nearest_line): Use IS_ABSOLUTE_PATH.
777089857Sobrien
777189857Sobrien2000-06-28  Mark Elbrecht  <snowball3@bigfoot.com>
777289857Sobrien
777389857Sobrien	* go32stub.h: Update stub.
777489857Sobrien
777589857Sobrien2000-06-26  Marek Michalkiewicz  <marekm@linux.org.pl>
777689857Sobrien
777789857Sobrien	* archures.c (bfd_mach_avr5): Define.
777889857Sobrien	* bfd-in2.h (bfd_mach_avr5): Define.
777989857Sobrien	* cpu-avr.c (arch_info_struct): Rename bfd_mach_avr4 to
778089857Sobrien	bfd_mach_avr5, add bfd_mach_avr4.  Update comments.
778189857Sobrien	(compatible): Update comment.  Add missing test.
778289857Sobrien	* elf32-avr.c (avr_final_link_relocate): Support 8K wrap
778389857Sobrien	for avr2 and avr4.  Simplify 8K wrap code.
778489857Sobrien	(bfd_elf_avr_final_write_processing): Recognize bfd_mach_avr5.
778589857Sobrien	(elf32_avr_object_p): Recognize E_AVR_MACH_AVR5.
778689857Sobrien
778789857Sobrien2000-06-26  Kazu Hirata  <kazu@hxi.com>
778889857Sobrien
778989857Sobrien	* coff-h8300.c: Fix formatting.
779089857Sobrien	* cpu-h8300.c: Likewise.
779189857Sobrien
779289857Sobrien2000-06-24  Alexandre Oliva  <aoliva@redhat.com>
779389857Sobrien
779489857Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Print `(local)'
779589857Sobrien	for local symbols whose names are unknown.
779689857Sobrien
779789857Sobrien2000-06-22  Alan Modra  <alan@linuxcare.com.au>
779889857Sobrien
779989857Sobrien	* Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
780089857Sobrien	find one.
780189857Sobrien	* Makefile.in: Regenerate.
780289857Sobrien	* doc/Makefile.in: Regenerate.
780389857Sobrien
780489857Sobrien2000-06-20  H.J. Lu  <hjl@gnu.org>
780589857Sobrien
780689857Sobrien	* Makefile.am: Rebuild dependency.
780789857Sobrien	* Makefile.in: Rebuild.
780889857Sobrien
780989857Sobrien2000-06-20  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
781089857Sobrien
781189857Sobrien	* elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): New function.
781289857Sobrien	(elf_backend_copy_indirect_symbol): Map to the new function.
781389857Sobrien
781489857Sobrien2000-06-20  Alan Modra  <alan@linuxcare.com.au>
781589857Sobrien
781689857Sobrien	* archive.c (normalize): Correct pointer comparison when checking
781789857Sobrien	for backslashes.
781889857Sobrien	(bfd_bsd_truncate_arname): Likewise.
781989857Sobrien	(bfd_gnu_truncate_arname): Likewise.
782089857Sobrien
782189857Sobrien2000-06-20  Ulf Carlsson  <ulfc@engr.sgi.com>
782289857Sobrien
782389857Sobrien	* elf-bfd.h (struct elf_obj_tdata): Define per BFD Irix 5 virtual
782489857Sobrien	sections elf_{text,data}_{section,symbol}.
782589857Sobrien	* elf32-mips.c: mips_elf_{text,data}_{section,symbol}{,_ptr}: Remove.
782689857Sobrien	(_bfd_mips_elf_hide_symbol): New function.
782789857Sobrien	(elf_backend_hide_symbol): Map to the new function.
782889857Sobrien	(_bfd_mips_elf_add_symbol_hook): Change to use new per BFD
782989857Sobrien	definitions of mips_elf_{text,data}_{section,symbol}.
783089857Sobrien	(mips_elf_local_relocation_p): Try to find the direct symbol
783189857Sobrien	based on new check_forced argument.
783289857Sobrien	(mips_elf_calculate_relocation): Use new version of
783389857Sobrien	mips_elf_local_relocation_p.
783489857Sobrien	(mips_elf_relocate_section): Likewise.
783589857Sobrien	(_bfd_mips_elf_relocate_section): Likewise.
783689857Sobrien	(mips_elf_sort_hash_table): Only assert that have enough GOT
783789857Sobrien	space.
783889857Sobrien	(mips_elf_got16_entry): Match all 32 bits to the existing GOT
783989857Sobrien	entry if the relocation based on the new external argument.
784089857Sobrien	(mips_elf_create_dynamic_relocation): Assert that we have a
784189857Sobrien	section contents allocated where we can swap out the dynamic
784289857Sobrien	relocations.
784389857Sobrien	(mips_elf_calculate_relocation): Find the real hash-table entry
784489857Sobrien	correctly by using h->root.root.type.  Only create a dynamic
784589857Sobrien	relocation entry if the symbol is defined in a shared library.
784689857Sobrien	Create an external GOT entry for the GOT16 relocation if the
784789857Sobrien	symbol was forced local.
784889857Sobrien	(_bfd_mips_elf_finish_dynamic_symbol): Don't assert there is a
784989857Sobrien	dynamic index if the symbol was forced local.
785089857Sobrien
785189857Sobrien2000-06-20  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
785289857Sobrien
785389857Sobrien	* elf32-mips.c: Fix typos in comments.
785489857Sobrien
785589857Sobrien2000-06-19  Mark Kettenis  <kettenis@gnu.org>
785689857Sobrien
785789857Sobrien	* rs6000-core.c: Wrap definition of `union VmInfo' within #ifdef
785889857Sobrien	CORE_VERSION_1.
785989857Sobrien
786089857Sobrien2000-06-18  Stephane Carrez  <stcarrez@worldnet.fr>
786189857Sobrien
786289857Sobrien	* Makefile.in, bfd-in2.h, libbfd.h, configure: Rebuild.
786389857Sobrien	* Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES, BFD32_BACKENDS,
786489857Sobrien	BFD32_BACKENDS_CFILES): Add 68hc12, 68hc11 files.
786589857Sobrien	* configure.in (bfd_elf32_m68hc12_vec): Recognize.
786689857Sobrien	(bfd_elf32_m68hc11_vec): Likewise.
786789857Sobrien	* config.bfd (targ_cpu): Recognize 68hc12 and 68hc11.
786889857Sobrien	Supports 68hc11 & 68hc12  at the same time.
786989857Sobrien	* targets.c (bfd_elf32_m68hc12_vec): Declare and put in
787089857Sobrien	bfd_target_vector.
787189857Sobrien	(bfd_elf32_m68hc11_vec): Likewise.
787289857Sobrien	* elf.c (prep_headers): Recognize bfd_arch_m68hc12 and 68hc11.
787389857Sobrien	* archures.c (bfd_m68hc12_arch): Define and register in global list
787489857Sobrien	(bfd_m68hc11_arch): Likewise.
787589857Sobrien	* reloc.c (BFD_RELOC_M68HC11_HI8, BFD_RELOC_M68HC11_LO8,
787689857Sobrien	BFD_RELOC_M68HC11_3B): Define.
787789857Sobrien	* cpu-m68hc12.c, elf32-m68hc12.c: New files for 68hc12 support.
787889857Sobrien	* cpu-m68hc11.c, elf32-m68hc11.c: New files for 68hc11 support.
787989857Sobrien
788089857Sobrien2000-06-18  Ulf Carlsson  <ulfc@engr.sgi.com>
788189857Sobrien
788289857Sobrien	* elf_bfd.h (struct elf_backend_data): Add info argument to
788389857Sobrien	elf_backend_hide_symbol.
788489857Sobrien	(_bfd_elf_link_hash_hide_symbol): Likewise.
788589857Sobrien	* elf.c (_bfd_elf_link_hash_hide_symbol): Likewise.
788689857Sobrien	* elf64-ia64.c (elf64_ia64_hash_hide_symbol): Likewise.
788789857Sobrien	* elflink.h (elf_link_add_object_symbols): Likewise.
788889857Sobrien	(elf_link_assign_sym_version): Likewise.
788989857Sobrien
789089857Sobrien2000-06-18  H.J. Lu  <hjl@gnu.org>
789189857Sobrien
789289857Sobrien	* coff-i386.c (coff_i386_reloc): Don't return in case of
789389857Sobrien	output_bfd == (bfd *) NULL if COFF_WITH_PE is defined.
789489857Sobrien	Compensate PE relocations when linking with non-PE object
789589857Sobrien	files to generate a non-PE executable.
789689857Sobrien
789789857Sobrien2000-06-17  Ulf Carlsson  <ulfc@engr.sgi.com>
789889857Sobrien
789989857Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Explicitly write
790089857Sobrien	GOT entries if we're doing a static link or -Bsymbolic link.
790189857Sobrien
790289857Sobrien2000-06-15  Ulf Carlsson  <ulfc@engr.sgi.com>
790389857Sobrien
790489857Sobrien	* elflink.h (elf_link_adjust_relocs): Check for and call backend
790589857Sobrien	specifific swap_reloc_{in,out} and swap_reloca_{in,out} if
790689857Sobrien	available.
790789857Sobrien	(elf_link_output_relocs): Likewise.
790889857Sobrien	(elf_reloc_link_order): Likewise.
790989857Sobrien
791089857Sobrien2000-06-16  Nicholas Duffek  <nsd@redhat.com>
791189857Sobrien
791289857Sobrien	* archures.c (enum bfd_architecture): #define constants for
791389857Sobrien	PowerPc and RS6000 machine numbers.
791489857Sobrien	* bfd-in2.h: Regenerate.
791589857Sobrien	* coffcode.h (coff_set_arch_mach_hook): #ifdef XCOFF64, set arch
791689857Sobrien	to bfd_arch_powerpc instead of bfd_arch_rs6000.  Refer to PowerPc
791789857Sobrien	and RS6000 machine numbers using #defined constants from
791889857Sobrien	archures.c.
791989857Sobrien	* cpu-powerpc.c (arch_info_struct): Refer to PowerPc and RS6000
792089857Sobrien	machine numbers using #defined constants from archures.c.  Add
792189857Sobrien	entries for EC603e, 630, A35, RS64II, RS64III, 7400.  Specify
792289857Sobrien	64-bit words in 620 entry.
792389857Sobrien	* cpu-rs6000.c (arch_info_struct): Create with entries for RS1,
792489857Sobrien	RSC, and RS2.
792589857Sobrien	(bfd_rs6000_arch): Change default machine to 0 (bfd_mach_rs6k).
792689857Sobrien
792789857Sobrien2000-06-16  Nicholas Duffek  <nsd@cygnus.com>
792889857Sobrien
792989857Sobrien	* coffcode.h (coff_mkobject_hook): Set xcoff_tdata.xcoff64.
793089857Sobrien	* libcoff-in.h (struct xcoff_tdata): Define xcoff64 field.
793189857Sobrien	* libcoff.h (struct xcoff_tdata): Define xcoff64 field.
793289857Sobrien
793389857Sobrien2000-06-16  Nicholas Duffek  <nsd@redhat.com>
793489857Sobrien
793589857Sobrien	* bfd-in.h (bfd_family_coff): Define.
793689857Sobrien	* bfd-in2.h: Regenerate.
793789857Sobrien	* coffgen.c (coff_count_linenumbers, coff_symbol_from,
793889857Sobrien	coff_find_nearest_line): Check COFFness using bfd_family_coff()
793989857Sobrien	instead of bfd_target_coff_flavour.
794089857Sobrien	* cofflink.c (_bfd_coff_final_link): Likewise.
794189857Sobrien	* cpu-ns32k.c (do_ns32k_reloc): Don't strcmp() target name to
794289857Sobrien	exclude XCOFF files.
794389857Sobrien	* reloc.c (bfd_perform_relocation, bfd_install_relocation):
794489857Sobrien	Likewise.
794589857Sobrien	* targets.c (enum bfd_flavour): Add bfd_target_xcoff_flavour.
794689857Sobrien	* xcoff-target.h (TARGET_SYM): Use bfd_target_xcoff_flavour.
794789857Sobrien	* xcofflink.c (XCOFF_XVECP): Delete.
794889857Sobrien	(bfd_xcoff_link_record_set, bfd_xcoff_import_symbol,
794989857Sobrien	bfd_xcoff_export_symbol, bfd_xcoff_link_count_reloc,
795089857Sobrien	bfd_xcoff_record_link_assignment,
795189857Sobrien	bfd_xcoff_size_dynamic_sections): Replace XCOFF_XVECP() with
795289857Sobrien	check for bfd_target_xcoff_flavour.
795389857Sobrien
795489857Sobrien2000-06-16  Nicholas Duffek  <nsd@redhat.com>
795589857Sobrien
795689857Sobrien	* rs6000-core.c: Support 64-bit core files, support pre-4.3 core
795789857Sobrien	files on AIX 4.3.
795889857Sobrien	(read_hdr): New function.
795989857Sobrien	(rs6000coff_core_p): Store mstsave or __context64 struct instead
796089857Sobrien	of trying to extract individual registers.  Set abfd->arch_info
796189857Sobrien	to match the architecture that created the core file.
796289857Sobrien	(rs6000coff_get_section_contents): Delete.
796389857Sobrien	* xcoff-target.h (rs6000coff_get_section_contents): Delete.
796489857Sobrien
796589857Sobrien2000-06-14  H.J. Lu  <hjl@gnu.org>
796689857Sobrien
796789857Sobrien	* vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_rec)
796889857Sobrien	is NULL.
796989857Sobrien
797089857Sobrien2000-06-13  H.J. Lu  <hjl@gnu.org>
797189857Sobrien
797289857Sobrien	* configure: Regenerate.
797389857Sobrien
797489857Sobrien2000-06-13  J"orn Rennecke <amylaar@cygnus.co.uk>
797589857Sobrien
797689857Sobrien	* peicode.h (pe_ILF_object_p): Use TARGET_LITTLE_SYM instead of
797789857Sobrien	armpei_little_vec.
797889857Sobrien
797989857Sobrien2000-06-08  David O'Brien  <obrien@FreeBSD.org>
798089857Sobrien
798189857Sobrien	* configure.in (VERSION): Update to show this is the CVS mainline.
798289857Sobrien
798389857Sobrien2000-06-07  Alan Modra  <alan@linuxcare.com.au>
798489857Sobrien
798589857Sobrien	* elf32-d10v.c: Include elf/d10v.h
798689857Sobrien	(enum reloc_type): Delete.
798789857Sobrien	* elf32-d30v.c: Include elf/d30v.h
798889857Sobrien	(enum reloc_type): Delete.
798989857Sobrien
799089857Sobrien	* Makefile.am: Run "make dep-am" to regenerate dependencies.
799189857Sobrien	* Makefile.in: Regenerate.
799289857Sobrien
799389857Sobrien	* elf32-i386.c (elf_howto_table): Remove EMPTY_HOWTOs.
799489857Sobrien	(elf32_i386_vtinherit_howto, elf32_i386_vtentry_howto): Delete and
799589857Sobrien	move HOWTOs into elf_howto_table.
799689857Sobrien	(R_386_standard, R_386_ext_offset): Define.
799789857Sobrien	(R_386_ext, R_386_vt_offset, R_386_vt): Define.
799889857Sobrien	(elf_i386_reloc_type_lookup): Modify calculation of index into
799989857Sobrien	elf_howto_table since we've removed the padding.
800089857Sobrien	(elf_i386_info_to_howto_rel): Likewise.
800189857Sobrien	(elf_i386_relocate_section): Likewise.
800289857Sobrien
800389857Sobrien2000-06-06  Michael Snyder  <msnyder@seadog.cygnus.com>
800489857Sobrien
800589857Sobrien	* elf.c (elf_grok_pr_status): Eliminate reference to prgregset_t.
800689857Sobrien
800789857Sobrien2000-06-05  H.J. Lu  <hjl@gnu.org>
800889857Sobrien
800989857Sobrien	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag
801089857Sobrien	an error when seeing an undefined symbol with hidden/internal
801189857Sobrien	attribute. It is handled in *_relocate_section ().
801289857Sobrien
801389857Sobrien2000-06-05  H.J. Lu  <hjl@gnu.org>
801489857Sobrien
801589857Sobrien	* elflink.h (elf_fix_symbol_flags): Follow the link for the
801689857Sobrien	indirect symbol for the ELF_LINK_NON_ELF bit.
801789857Sobrien	(elf_link_output_extsym): Don't output the indirect symbol even
801889857Sobrien	if the ELF_LINK_NON_ELF bit is set.
801989857Sobrien
802089857Sobrien2000-06-01  J.T. Conklin  <jtc@redback.com>
802189857Sobrien
802289857Sobrien	* config.bfd (i[3456]86-*-netbsdelf*): New target.
802389857Sobrien	(i[3456]86-*-netbsdaout*): New target.
802489857Sobrien	(i[3456]86-*-netbsd*): Add bfd_elf32_i386_vec to targ_selvecs.
802589857Sobrien	(i[3456]86-*-openbsd*): Likewise.
802689857Sobrien
802789857Sobrien2000-05-30  Andrew Cagney  <cagney@b1.cygnus.com>
802889857Sobrien
802989857Sobrien	* trad-core.c: From hpux-core.c, include <dirent.h> or
803089857Sobrien	<sys/ndir.h> when possible.
803189857Sobrien
803289857Sobrien2000-05-31  Ulrich Drepper  <drepper@redhat.com>
803389857Sobrien
803489857Sobrien	* elf.c (_bfd_elf_slurp_version_tables): Correct reading of version
803589857Sobrien	definitions.  We must not assume they are sorted in the file
803689857Sobrien	according to their index numbers.
803789857Sobrien
803889857Sobrien2000-05-31  Alan Modra  <alan@linuxcare.com.au>
803989857Sobrien
804089857Sobrien	* elf-hppa.h: (elf_hppa_final_link_relocate): Use e_rsel field
804189857Sobrien	selector for R_PARISC_PCREL17R.  R_PARISC_DIR17R and
804289857Sobrien	R_PARISC_DIR17F are for absolute branches; Handle them as such.
804389857Sobrien
804489857Sobrien2000-05-30  Nick Clifton  <nickc@cygnus.com>
804589857Sobrien
804689857Sobrien	* cpu-i960.c (scan_960_mach): Accept 80960KA, 80960KB,
804789857Sobrien	80960CA, 80960MC as valid machine names.
804889857Sobrien
804989857Sobrien2000-05-30  H.J. Lu  <hjl@gnu.org>
805089857Sobrien
805189857Sobrien	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Clear the
805289857Sobrien	visibility bits if the symbol is undefined. Correctly handle
805389857Sobrien	weak undefined symbols with hidden and internal attributes.
805489857Sobrien
805589857Sobrien	* elflink.h (elf_link_add_object_symbols): Always turn the
805689857Sobrien	symbol into local if it has the hidden or internal attribute.
805789857Sobrien
805889857Sobrien2000-05-29  Philip Blundell  <philb@gnu.org>
805989857Sobrien
806089857Sobrien	* ppcboot.c:  Add packed attribute if compiling with GCC.
806189857Sobrien
806289857Sobrien2000-05-29  Anatoly Vorobey  <mellon@pobox.com>
806389857Sobrien
806489857Sobrien	* elf.c (_bfd_elf_link_hash_table_init): Initialize dynlocal.
806589857Sobrien
806689857Sobrien2000-05-26  Michael Snyder  <msnyder@seadog.cygnus.com>
806789857Sobrien
806889857Sobrien	* elf.c (elfcore_grok_prstatus, elfcore_grok_pstatus,
806989857Sobrien	elfcore_grok_psinfo): Add code to allow debugging a 32-bit
807089857Sobrien	corefile on a 64-bit (Sparc Solaris) host.  Also clean up
807189857Sobrien	a few old comments.
807289857Sobrien
807389857Sobrien2000-05-26  Alan Modra  <alan@linuxcare.com.au>
807489857Sobrien
807589857Sobrien	* Makefile.am: Update dependencies with "make dep-am"
807689857Sobrien	* Makefile.in: Regenerate.
807789857Sobrien
807889857Sobrien	* sysdep.h (gettext, dgettext, dcgettext, textdomain,
807989857Sobrien	bindtextdomain): Replace defines with those from intl/libgettext.h
808089857Sobrien	to quieten gcc warnings.
808189857Sobrien
808289857Sobrien2000-05-26  Eli Zaretskii  <eliz@is.elta.co.il>
808389857Sobrien
808489857Sobrien	* aoutx.h (find_nearest_line): Use IS_ABSOLUTE_PATH.
808589857Sobrien
808689857Sobrien	* archive.c (normalize, bfd_bsd_truncate_arname,
808789857Sobrien	bfd_gnu_truncate_arname) [HAVE_DOS_BASED_FILE_SYSTEM]: Support
808889857Sobrien	file names with backslashes.
808989857Sobrien
809089857Sobrien	* cache.c (bfd_open_file) [__MSDOS__]: Don't unlink the file
809189857Sobrien	before opening it.
809289857Sobrien
809389857Sobrien	* sysdep.h: Include filenames.h.
809489857Sobrien
809589857Sobrien2000-05-26  Alan Modra  <alan@linuxcare.com.au>
809689857Sobrien
809789857Sobrien	* opncls.c (bfd_close_all_done): Mask file perms with 0777 not 0x777.
809889857Sobrien
809989857Sobrien2000-05-26  Jakub Jelinek  <jakub@redhat.com>
810089857Sobrien
810189857Sobrien	* elf64-sparc.c (sparc64_elf_relax_section): New.
810289857Sobrien	(sparc64_elf_relocate_section): Optimize tail call into branch always
810389857Sobrien	if possible.
810489857Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
810589857Sobrien	(elf32_sparc_relax_section): New.
810689857Sobrien
810789857Sobrien2000-05-26  Jakub Jelinek  <jakub@redhat.com>
810889857Sobrien
810989857Sobrien	* elf64-sparc.c: Add ATTRIBUTE_UNUSED to unused function parameters.
811089857Sobrien	Remove unusued variables.
811189857Sobrien	(sparc64_elf_relocate_section): Change r_symndx type to unsigned long.
811289857Sobrien	(sparc64_elf_merge_private_bfd_data): Fix shared library case from
811389857Sobrien	previous fix, so that shared libs really don't influence targets
811489857Sobrien	extension mask and memory model.
811589857Sobrien
811689857Sobrien2000-05-23  H.J. Lu  <hjl@gnu.org>
811789857Sobrien
811889857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Check
811989857Sobrien	h->root.other not h->other.
812089857Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
812189857Sobrien
812289857Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Fix a typo.
812389857Sobrien
812489857Sobrien2000-05-23  H.J. Lu  <hjl@gnu.org>
812589857Sobrien
812689857Sobrien	* elf32-i386.c (elf_i386_relocate_section): Don't allow the
812789857Sobrien	undefined symbol with the non-default visibility attributes.
812889857Sobrien	* elf-hppa.h (elf_hppa_relocate_section): Likewise.
812989857Sobrien	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
813089857Sobrien	* elf32-i370.c (i370_elf_relocate_section): Likewise.
813189857Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
813289857Sobrien	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
813389857Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
813489857Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
813589857Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
813689857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
813789857Sobrien	* elf64-ia64.c (elf64_ia64_relocate_section): Likewise.
813889857Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
813989857Sobrien
814089857Sobrien2000-05-22  Richard Henderson  <rth@cygnus.com>
814189857Sobrien
814289857Sobrien	* elf64-ia64.c (ia64_howto_table): Add PCREL60B, PCREL21BI,
814389857Sobrien	PCREL22, PCREL64I.  Zero size of special relocs.
814489857Sobrien	(elf64_ia64_reloc_type_lookup): Likewise.
814589857Sobrien	(USE_BRL, oor_brl, oor_ip): New.
814689857Sobrien	(elf64_ia64_relax_section): New.
814789857Sobrien	(elf64_ia64_check_relocs): Handle PCREL60B, PCREL22, PCREL64I.
814889857Sobrien	(elf64_ia64_install_value): Likewise, plus PCREL21BI.
814989857Sobrien	(elf64_ia64_relocate_section): Likewise.
815089857Sobrien	(bfd_elf64_bfd_relax_section): New.
815189857Sobrien	* reloc.c (BFD_RELOC_IA64_PCREL21BI): New.
815289857Sobrien	(BFD_RELOC_IA64_{PCREL22,PCREL60B,PCREL64I}): New.
815389857Sobrien	* bfd-in2.h, libbfd.h: Regenerate.
815489857Sobrien
815589857Sobrien2000-05-22  Nick Clifton  <nickc@cygnus.com>
815689857Sobrien
815789857Sobrien	* configure.in : Add peigen.lo to MIPS PE targets.
815889857Sobrien	* configure: Regenerate.
815989857Sobrien
816089857Sobrien2000-05-22  Momchil Velikov  <velco@fadata.bg>
816189857Sobrien
816289857Sobrien	* libbfd.c (_bfd_generic_verify_endian_match): Compare endianess
816389857Sobrien	only if it is known for both input and output bfds. Separate
816489857Sobrien	error message strings as in some languages, it may be necessary
816589857Sobrien	to change more than one place in the string to change between
816689857Sobrien	'big' and 'little'.
816789857Sobrien
816889857Sobrien	* elf32-ppc.c (ppc_elf_merge_private_bfd_data): Remove inline
816989857Sobrien	endianess checks, call _bfd_generic_verify_endian_match() instead.
817089857Sobrien
817189857Sobrien	* elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise.
817289857Sobrien
817389857Sobrien	* elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
817489857Sobrien
817589857Sobrien	* elf32-arm.h (elf32_arm_merge_private_bfd_data): Likewise. Verify
817689857Sobrien	endianess before checking bfd flavours.
817789857Sobrien
817889857Sobrien2000-05-22  H.J. Lu  <hjl@gnu.org>
817989857Sobrien
818089857Sobrien	* elflink.h (elf_link_output_extsym): Clear the visibility
818189857Sobrien	field for symbols not defined locally.
818289857Sobrien
818389857Sobrien2000-05-18  Alan Modra  <alan@linuxcare.com.au>
818489857Sobrien
818589857Sobrien	* libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
818689857Sobrien	re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
818789857Sobrien	(hppa_rebuild_insn): Mask immediate bits here instead.
818889857Sobrien	* elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
818989857Sobrien
819089857Sobrien2000-05-18  Momchil Velikov <velco@fadata.bg>
819189857Sobrien
819289857Sobrien	* elflink.h (elf_bfd_final_link, elf_link_input_bfd): When emiting
819389857Sobrien	relocs for an executable, ensure that they are virtual addresses.
819489857Sobrien
819589857Sobrien2000-05-18  Jeffrey A Law  (law@cygnus.com)
819689857Sobrien
819789857Sobrien	* config.bfd (hppa*64*-*-hpux11*): New target triplet.
819889857Sobrien
819989857Sobrien2000-05-17  S. Bharadwaj Yadavalli  <sby@scrugs.lkg.dec.com>
820089857Sobrien	    Rick Gorton	            <gorton@scrugs.lkg.dec.com>
820189857Sobrien
820289857Sobrien	* elflink.h: Add emitrelocations support: when enabled, relocation
820389857Sobrien	information and relocation sections are put into final output
820489857Sobrien	executables.  If the emitrelocations flag is set, do the following:
820589857Sobrien	(elf_bfd_final_link): Emit relocation sections.
820689857Sobrien	(elf_link_input_bfd): Compute relocation section contents.
820789857Sobrien	(elf_gc_sections): Don't clean relocation sections.
820889857Sobrien
820989857Sobrien2000-05-16  Catherine Moore  <clm@cygnus.com>
821089857Sobrien
821189857Sobrien	* som.c (som_decode_symclass):  Recognize weak symbols.
821289857Sobrien
821389857Sobrien2000-05-16  Szabolcs Szakacsits <szaka@F-Secure.com>
821489857Sobrien
821589857Sobrien	* peigen.c (pe_print_idata): Undo part of 2000-05-12 change that
821689857Sobrien	read idata section only from dataoff.
821789857Sobrien	(pe_print_edata): Correctly check for valid eat_member.
821889857Sobrien
821989857Sobrien2000-05-16  J"orn Rennecke <amylaar@cygnus.co.uk>
822089857Sobrien
822189857Sobrien	* elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
822289857Sobrien
822389857Sobrien2000-05-14  Philip Blundell  <philb@gnu.org>
822489857Sobrien
822589857Sobrien	* config.bfd (armeb-*-elf, arm*b-*-linux-gnu*): New targets.
822689857Sobrien
822789857Sobrien2000-05-12  Alan Modra  <alan@linuxcare.com.au>
822889857Sobrien
822989857Sobrien	* targets.c (bfd_target_vector): #ifdef BFD64 rs6000coff64_vec
823089857Sobrien
823189857Sobrien	* peigen.c (pe_print_idata): Look for .idata section and print
823289857Sobrien	info even if data directory has zero entries.  Read idata section
823389857Sobrien	starting from dataoff, and adjust all data offsets to suit.  Cast
823489857Sobrien	all bfd_vma vars to unsigned long before passing to fprintf.
823589857Sobrien	* peigen.c (pe_print_edata): Similarly, look for .edata section
823689857Sobrien	and print info even if data directory has zero entries.  Cast
823789857Sobrien	all bfd_vma vars to unsigned long before passing to fprintf.
823889857Sobrien
823989857Sobrien	From Szabolcs Szakacsits <szaka@F-Secure.com>
824089857Sobrien	* peigen.c (pe_print_idata): Use bfd_section_size rather than data
824189857Sobrien	directory size which may be bogus.
824289857Sobrien	* peigen.c (pe_print_edata): Similarly.
824389857Sobrien
824489857Sobrien2000-05-09  Alan Modra  <alan@linuxcare.com.au>
824589857Sobrien
824689857Sobrien	* elf.c (bfd_section_from_shdr): Don't set use_rela_p if rela
824789857Sobrien	section is empty.
824889857Sobrien	(copy_private_bfd_data): Allow for space possibly taken up by elf
824989857Sobrien	headers when calculating segment physical address from lma.
825089857Sobrien
825189857Sobrien2000-05-08  Alan Modra  <alan@linuxcare.com.au>
825289857Sobrien
825389857Sobrien	* versados.c (versados_scan): Init stringlen and pass_2_done.
825489857Sobrien
825589857Sobrien	* trad-core.c (trad_unix_core_file_p): Return
825689857Sobrien	bfd_error_wrong_format rather than bfd_error_file_truncated.
825789857Sobrien
825889857Sobrien	* peigen.c (_bfd_pei_swap_aouthdr_out): Pass ImageBase to
825989857Sobrien	add_data_entry.  DataDirectory virtual address is relative.
826089857Sobrien	(pe_print_idata): Account for relative DataDirectory virtual
826189857Sobrien	addresses.  Don't trash datasize inside POWERPC_LE_PE code.
826289857Sobrien	(pe_print_edata): Similarly.
826389857Sobrien
826489857Sobrien	From Szabolcs Szakacsits <szaka@F-Secure.com>
826589857Sobrien	* peigen.c (dir_names): Add Delay Import Directory.
826689857Sobrien	(pe_print_idata):  Always search for bfd section containing
826789857Sobrien	idata address rather than looking up section name.  Print this
826889857Sobrien	section name rather than .idata.
826989857Sobrien	(pe_print_edata): Similarly.  Also print some fields as %08lx.
827089857Sobrien	(_bfd_pe_print_private_bfd_data_common): Print Reserved1 field as
827189857Sobrien	Win32Version.
827289857Sobrien
827389857Sobrien2000-05-05  Clinton Popetz  <cpopetz@cygnus.com>
827489857Sobrien
827589857Sobrien	* xcoff.h: Rename to xcoff-target.h
827689857Sobrien	* Makefile.am: Change all instances of xcoff.h to xcoff-target.h
827789857Sobrien	* coff-rs6000.c: Ditto.
827889857Sobrien	* coff64-rs6000.c: Ditto.
827989857Sobrien	* coff-pmac.c: Ditto.
828089857Sobrien	* Makefile.in: Regenerate.
828189857Sobrien
828289857Sobrien2000-05-05  Clinton Popetz  <cpopetz@cygnus.com>
828389857Sobrien
828489857Sobrien	* coffcode.h (coff_set_arch_mach_hook, coff_set_flags):
828589857Sobrien	Change U802TOC64MAGIC to U803XTOCMAGIC.
828689857Sobrien
828789857Sobrien2000-05-04  Michael Snyder  <msnyder@seadog.cygnus.com>
828889857Sobrien
828989857Sobrien	* elf.c (bfd_elf_get_arch_size): New function, return 32 | 64 | -1.
829089857Sobrien	* bfd-in.h: Prototype bfd_elf_get_arch_size.
829189857Sobrien	* bfd-in2.h: Prototype bfd_elf_get_arch_size.
829289857Sobrien
829389857Sobrien2000-05-04  Alan Modra  <alan@linuxcare.com.au>
829489857Sobrien
829589857Sobrien	* libhppa.h (HPPA_R_CONSTANT): Cast argument to bfd_signed_vma.
829689857Sobrien
829789857Sobrien2000-05-03  Martin v. L��wis  <loewis@informatik.hu-berlin.de>
829889857Sobrien
829989857Sobrien	* elflink.h (elf_link_add_object_symbols): Reset dynindx for
830089857Sobrien	hidden and internal symbols.
830189857Sobrien	(elf_fix_symbol_flags): Clear NEEDS_PLT for symbols with
830289857Sobrien	visibility.
830389857Sobrien	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Do not
830489857Sobrien	assign a PLT or GOT entry to symbols with hidden and
830589857Sobrien	internal visibility.
830689857Sobrien
830789857Sobrien2000-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
830889857Sobrien
830989857Sobrien	* coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add entry for
831089857Sobrien	the .bss section.
831189857Sobrien	* coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
831289857Sobrien
831389857Sobrien2000-05-02  H.J. Lu  <hjl@gnu.org>
831489857Sobrien
831589857Sobrien	* elf.c (prep_headers): Use ELFOSABI_NONE instead of
831689857Sobrien	ELFOSABI_SYSV.
831789857Sobrien
831889857Sobrien2000-05-02  Alan Modra  <alan@linuxcare.com.au>
831989857Sobrien
832089857Sobrien	* targets.c (bfd_target_vector): Restore bfd_elf32_hppa_vec.
832189857Sobrien	* Makefile.am (BFD32_BACKENDS): Restore elf32-hppa.lo.  Regenerate
832289857Sobrien	dependencies.
832389857Sobrien	* Makefile.in: Regenerate.
832489857Sobrien
832589857Sobrien2000-05-01  Jim Wilson  <wilson@cygnus.com>
832689857Sobrien
832789857Sobrien	* Makefile.am (BFD32_BACKENDS): Add efi-app-ia32.lo.
832889857Sobrien	(BFD32_BACKENDS_CFILES): Add efi-app-ia32.c.
832989857Sobrien	(BFD64_BACKENDS): Delete coff-ia64.lo.  Add efi-app-ia64.lo.
833089857Sobrien	(BFD64_BACKENDS_CFILES): Delete coff-ia64.c.  Add efi-app-ia64.c.
833189857Sobrien	* Makefile.in: Rebuild.
833289857Sobrien
833389857Sobrien2000-05-02  Alan Modra  <alan@linuxcare.com.au>
833489857Sobrien
833589857Sobrien	* config.bfd: Re-enable elf32-hppa.  It now compiles, even if it
833689857Sobrien	doesn't work very well.
833789857Sobrien
833889857Sobrien	* elf-hppa.h (elf_hppa_internal_shdr): Define.
833989857Sobrien	(elf_hppa_fake_sections): hdr is elf_hppa_internal_shdr.
834089857Sobrien	Set hdr->s_type to 1 if ARCH_SIZE == 32.
834189857Sobrien	(_bfd_elf_hppa_gen_reloc_type): Add prototype.
834289857Sobrien	(elf_hppa_info_to_howto): Likewise.
834389857Sobrien	(elf_hppa_info_to_howto_rel): Likewise.
834489857Sobrien	(elf_hppa_reloc_type_lookup): Likewise.
834589857Sobrien	(elf_hppa_is_local_label_name): Likewise.
834689857Sobrien	(elf_hppa_fake_sections): Likewise.
834789857Sobrien	(elf_hppa_final_write_processing): Likewise.
834889857Sobrien	(elf_hppa_howto_table): Fully initialise all entries.
834989857Sobrien	(_bfd_elf_hppa_gen_reloc_type): Add ATTRIBUTE_UNUSED to args.
835089857Sobrien	(elf_hppa_info_to_howto): Likewise.
835189857Sobrien	(elf_hppa_info_to_howto_rel): Likewise.
835289857Sobrien	(elf_hppa_reloc_type_lookup): Likewise.
835389857Sobrien	(elf_hppa_final_write_processing, elf_hppa_add_symbol_hook,
835489857Sobrien	elf_hppa_unmark_useless_dynamic_symbols,
835589857Sobrien	elf_hppa_remark_useless_dynamic_symbols,
835689857Sobrien	elf_hppa_record_segment_addrs, elf_hppa_final_link,
835789857Sobrien	elf_hppa_relocate_section, elf_hppa_final_link_relocate,
835889857Sobrien	elf_hppa_relocate_insn): Compile only if ARCH_SIZE == 64 until
835989857Sobrien	elf32-hppa.c mess is cleaned up.
836089857Sobrien	(elf_hppa_final_link_relocate): Make insn and r_type unsigned
836189857Sobrien	int.  Delete r_field.  In case R_PARISC_PCREL21L, don't set
836289857Sobrien	r_field then call hppa_field_adjust inline func with variable
836389857Sobrien	r_field arg, instead call hppa_field_adjust with fixed arg.
836489857Sobrien	In case R_PARISC_PCREL22F, don't set r_field.
836589857Sobrien	(elf_hppa_relocate_insn): Change args and return type to unsigned
836689857Sobrien	int.  Call re_assemble_* funcs to do the work.
836789857Sobrien
836889857Sobrien	* elf32-hppa.c (hppa_elf_relocate_insn): Don't assume 32 bit when
836989857Sobrien	sign extending.
837089857Sobrien
837189857Sobrien	* libhppa.h (HPPA_R_CONSTANT): Don't assume 32 bit when sign
837289857Sobrien	extending.
837389857Sobrien	(sign_extend): Mask first before sign extending.
837489857Sobrien	(low_sign_extend): Rewrite without condition expression.
837589857Sobrien	(ones, dis_assemble_3, dis_assemble_12, dis_assemble_16,
837689857Sobrien	dis_assemble_17, dis_assemble_21, dis_assemble_22): Delete.
837789857Sobrien	(assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a,
837889857Sobrien	assemble_17, assemble_21, sign_unext, low_sign_unext): Return
837989857Sobrien	result as function return value rather than through pointer arg.
838089857Sobrien	Accept unsigned int args, and return unsigned int.
838189857Sobrien	(re_assemble_3): New.  Combines function of dis_assemble_3 with
838289857Sobrien	re-assembly of opcode and immediate.
838389857Sobrien	(re_assemble_12): Likewise.
838489857Sobrien	(re_assemble_16): Likewise.
838589857Sobrien	(re_assemble_17): Likewise.
838689857Sobrien	(re_assemble_21): Likewise.
838789857Sobrien	(re_assemble_22): Likewise.
838889857Sobrien	(hppa_field_adjust): Rewrite and document, paying attention to
838989857Sobrien	size of types and signed/unsigned issues.
839089857Sobrien	(get_opcode): Shift before masking.
839189857Sobrien	(FDLW): Rename to FLDW.
839289857Sobrien	(bfd_hppa_insn2fmt): Change arg to unsigned int.  Delete fmt.
839389857Sobrien	(hppa_rebuild_insn): Change args and return value to unsigned
839489857Sobrien	int.  Make use of re_assemble_*.  Correct case 11.
839589857Sobrien
839689857Sobrien	* dep-in.sed: Handle ../opcodes/.
839789857Sobrien	* Makefile.am (SOURCE_HFILES): Add elf-hppa.h, elf32-hppa.h,
839889857Sobrien	elf64-hppa.h, hppa_stubs.h, xcoff.h.
839989857Sobrien	(BFD32_BACKENDS_CFILES): Restore elf32-hppa.c.
840089857Sobrien	Remove elf64-hppa.lo, cpu-ia64.lo, elf64-ia64.lo, elfarm-oabi.lo,
840189857Sobrien	elfarm-nabi.lo dependencies outside of auto-dependency area.
840289857Sobrien	Regenerate dependencies.
840389857Sobrien	* Makefile.in: Regenerate.
840489857Sobrien
840589857Sobrien	* configure.in (TRAD_HEADER): Test non-null before
840689857Sobrien	AC_DEFINE_UNQUOTED.
840789857Sobrien	* configure: Regenerate.
840889857Sobrien
840989857Sobrien	* reloc.c: Fix mis-spelling in comment.
841089857Sobrien
841189857Sobrien2000-05-01  Alan Modra  <alan@linuxcare.com.au>
841289857Sobrien
841389857Sobrien	* coff-sh.c (bfd_coff_small_swap_table): Fix Fri Apr 28 change.
841489857Sobrien	* vms.c (vms_openr_next_archived_file): Return NULL.
841589857Sobrien
841689857Sobrien2000-04-28  Clinton Popetz  <cpopetz@cygnus.com>
841789857Sobrien
841889857Sobrien	* coffcode.h Copy changes mistakenly done to libcoff.h in
841989857Sobrien	4/24/2000 patch.
842089857Sobrien
842189857Sobrien2000-04-29  Andreas Jaeger  <aj@suse.de>
842289857Sobrien
842389857Sobrien	* libbfd-in.h: Correctly check GCC version.
842489857Sobrien	* bfd-in.h: Likewise.
842589857Sobrien	* libhppa.h: Likewise.
842689857Sobrien	* libbfd.h: Regenerate.
842789857Sobrien	* bfd-in2.h: Regenerate.
842889857Sobrien
842989857Sobrien2000-04-28  Clinton Popetz  <cpopetz@cygnus.com>
843089857Sobrien
843189857Sobrien	* Makefile.am (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): Add
843289857Sobrien	coffdu-rs6000.{lo,c}.
843389857Sobrien	(coff-pmac.lo, coff-rs6000.lo, coff64-rs6000.lo): Add dependency
843489857Sobrien	on xcoff.h
843589857Sobrien	* Makefile.in: Regenerate.
843689857Sobrien	* xcoff.h: New file.
843789857Sobrien	* coff-pmac.c: Use xcoff.h instead of coff-rs6000.c.
843889857Sobrien	* coff-rs6000.c: Move all declarations and defines that are
843989857Sobrien	common to the xcoff backends into xcoff.h
844089857Sobrien	* coff64-rs6000.c: Ditto,
844189857Sobrien
844289857Sobrien2000-04-28  Clinton Popetz  <cpopetz@cygnus.com>
844389857Sobrien
844489857Sobrien	* coff-mips.c (mips_ecoff_backend_data):  Add initialization of
844589857Sobrien	_bfd_coff_force_symnames in strings and
844689857Sobrien	_bfd_coff_debug_string_prefix_length to their default values.
844789857Sobrien	* coff-sh.c: (bfd_coff_small_swap_table): Ditto.
844889857Sobrien
844989857Sobrien2000-04-28  Clinton Popetz  <cpopetz@cygnus.com>
845089857Sobrien
845189857Sobrien	* coff-alpha.c (alpha_ecoff_backend_data): Add initialization of
845289857Sobrien	_bfd_coff_force_symnames in strings and
845389857Sobrien	_bfd_coff_debug_string_prefix_length to their default values.
845489857Sobrien
845589857Sobrien2000-04-27  Alan Modra  <alan@linuxcare.com.au>
845689857Sobrien
845789857Sobrien	* elf32-m68k.c (elf_m68k_gc_sweep_hook):  Return if dynobj NULL.
845889857Sobrien	Check local_got_refcounts before dereferencing.
845989857Sobrien
846089857Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Check splt != NULL
846189857Sobrien	before deciding we don't need R_PPC_PLT32 relocation.
846289857Sobrien	(ppc_elf_gc_sweep_hook): Check local_got_refcounts before
846389857Sobrien	dereferencing.
846489857Sobrien
846589857Sobrien	* elflink.h (elf_gc_common_finalize_got_offsets): Fix comment.
846689857Sobrien
846789857Sobrien	* elf32-i386.c (elf_i386_check_relocs): Reference count .got and
846889857Sobrien	.plt entries.
846989857Sobrien	(elf_i386_gc_sweep_hook): Garbage collect .got and .plt entries.
847089857Sobrien	(elf_i386_adjust_dynamic_symbol): Recognize unused .plt entries.
847189857Sobrien	(elf_i386_relocate_section): Allow for .plt to go missing.
847289857Sobrien	(elf_i386_finish_dynamic_symbol): Use same test to decide if we
847389857Sobrien	can use a relative reloc for got as elf_i386_relocate_section.
847489857Sobrien	(bfd_elf32_bfd_final_link): Define to use gc form of final link.
847589857Sobrien
847689857Sobrien2000-04-26  Clinton Popetz  <cpopetz@cygnus.com>
847789857Sobrien
847889857Sobrien	* config.bfd: Remove extraneous bfd_powerpc_64_arch.
847989857Sobrien
848089857Sobrien2000-04-24  Clinton Popetz  <cpopetz@cygnus.com>
848189857Sobrien
848289857Sobrien	* Makefile.am (coff64-rs6000.lo): New rule.
848389857Sobrien	* Makefile.in: Regenerate.
848489857Sobrien	* coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data,
848589857Sobrien	xcoff_is_local_label_name, xcoff_rtype2howto,
848689857Sobrien	xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p,
848789857Sobrien	xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap,
848889857Sobrien	xcoff_write_archive_contents): No longer static, and prefix with _bfd_.
848989857Sobrien	(NO_COFF_SYMBOLS): Define.
849089857Sobrien	(xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in,
849189857Sobrien	xcoff64_swap_aux_out): New functions; handle xcoff symbol tables
849289857Sobrien	internally.
849389857Sobrien	(MINUS_ONE): New macro.
849489857Sobrien	(xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS
849589857Sobrien	relocation.
849689857Sobrien	(coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in,
849789857Sobrien	coff_SWAP_aux_out): Map to the new functions.
849889857Sobrien	* coff64-rs6000.c: New file.
849989857Sobrien	* libcoff.h (bfd_coff_backend_data): Add new fields
850089857Sobrien	_bfd_coff_force_symnames_in_strings and
850189857Sobrien	_bfd_coff_debug_string_prefix_length.
850289857Sobrien	(bfd_coff_force_symnames_in_strings,
850389857Sobrien	bfd_coff_debug_string_prefix_length): New macros for above fields.
850489857Sobrien	* coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic.
850589857Sobrien	Set machine to 620 for XCOFF64.  Use bfd_coff_swap_sym_in instead
850689857Sobrien	of using coff_swap_sym_in directly.
850789857Sobrien	(FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64.
850889857Sobrien	(coff_set_flags) Set magic for XCOFF64.
850989857Sobrien	(coff_compute_section_file_positions): Add symbol name length to
851089857Sobrien	string section length if bfd_coff_debug_string_prefix_length is
851189857Sobrien	true.
851289857Sobrien	(coff_write_object_contents): Don't do reloc overflow for XCOFF64.
851389857Sobrien	(coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of
851489857Sobrien	using coff_swap_lineno_in directly.
851589857Sobrien	(bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings
851689857Sobrien	and _bfd_coff_debug_string_prefix_length fields.
851789857Sobrien	* coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force
851889857Sobrien	symbol names into strings table when
851989857Sobrien	bfd_coff_force_symnames_in_strings is true.
852089857Sobrien	* coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR,
852189857Sobrien	SET_RELOC_VADDR): New macros.
852289857Sobrien	(coff_swap_reloc_in, coff_swap_reloc_out): Use above macros.
852389857Sobrien	(coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C
852489857Sobrien	code.
852589857Sobrien	(coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64
852689857Sobrien	changes within RS6000COFF_C specific code.
852789857Sobrien	(coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC,
852889857Sobrien	MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO.
852989857Sobrien	* reloc.c (bfd_perform_relocation, bfd_install_relocation):
853089857Sobrien	Extend existing hack on target name.
853189857Sobrien	* xcofflink.c (XCOFF_XVECP): Extend existing hack on
853289857Sobrien	target name.
853389857Sobrien	* coff-tic54x.c (ticof): Keep up to date with new fields
853489857Sobrien	in bfd_coff_backend_data.
853589857Sobrien	* config.bfd: Add bfd_powerpc_64_arch to targ_arch and define
853689857Sobrien	targ_selvecs to include rs6000coff64_vec for rs6000.
853789857Sobrien	* configure.in: Add rs6000coff64_vec case.
853889857Sobrien	* cpu-powerpc.c: New bfd_arch_info_type.
853989857Sobrien
854089857Sobrien2000-04-24  Jeffrey A Law  (law@cygnus.com)
854189857Sobrien
854289857Sobrien	* config.bfd: Only disable elf32-hppa vectors, not all of the
854389857Sobrien	BSD and OSF configuration support.  Provide (disabled) clauses
854489857Sobrien	for PA64 support.
854589857Sobrien	* configure.in: Add clause for PA64 support.
854689857Sobrien	* configure: Rebuilt.
854789857Sobrien
854889857Sobrien	* targets.c (bfd_target_vector): Add bfd_elf64_hppa_vec.
854989857Sobrien	(bfd_elf64_hppa_vec): Declare.
855089857Sobrien
855189857Sobrien	* Makefile.am (BFD64_BACKENDS): Add elf64-hppa.lo
855289857Sobrien	(BFD64_BACKENDS_CFILES): Add elf64-hppa.c
855389857Sobrien	(elf64-hppa.lo): Add dependencies.
855489857Sobrien	* Makefile.in: Rebuilt.
855589857Sobrien
855689857Sobrien	* elf64-hppa.c, elf64-hppa.h: New files with PA64 support.
855789857Sobrien
855889857Sobrien2000-04-24  Jason Eckhardt  <jle@cygnus.com>
855989857Sobrien
856089857Sobrien	* libhppa.h (dis_assemble_16): New function.
856189857Sobrien	(pa_arch): Added pa20w element.
856289857Sobrien
856389857Sobrien2000-04-24  Ulrich Drepper  <drepper@cygnus.com>
856489857Sobrien
856589857Sobrien	* elf-bfd.h: Add prototypes for bfd_elf32_write_relocs,
856689857Sobrien	bfd_elf32_slurp_reloc_table, bfd_elf64_write_relocs, and
856789857Sobrien	bfd_elf64_slurp_reloc_table.
856889857Sobrien
856989857Sobrien	* elfcode.h (elf_write_relocs, elf_slurp_reloc_table): New
857089857Sobrien	definitions to get external names.
857189857Sobrien	(elf_write_relocs): Renamed from write_relocs and make global.
857289857Sobrien	(elf_slurp_reloc_table): Make global.
857389857Sobrien	(_bfd_elf,size_info): Use elf_write_relocs instead of write_relocs.
857489857Sobrien
857589857Sobrien	* archive.c (hpux_uid_gid_encode): New function.
857689857Sobrien	(bfd_ar_hdr_from_filesystem): Use it if HPUX_LARGE_AR_IDS is
857789857Sobrien	defined and the ID is greater than 99999.
857889857Sobrien	(bfd_generic_stat_arch_elt): If HPUX_LARGE_AR_IDS is defined decode
857989857Sobrien	special uid/gid fields into 32 bit values.
858089857Sobrien
858189857Sobrien2000-04-21  Matthew Green  <mrg@cygnus.com>
858289857Sobrien
858389857Sobrien	* config.bfd: Add NetBSD/sparc64 support.
858489857Sobrien
858589857Sobrien2000-04-21  Richard Henderson  <rth@cygnus.com>
858689857Sobrien	    David Mosberger  <davidm@hpl.hp.com>
858789857Sobrien	    Timothy Wall <twall@cygnus.com>
858889857Sobrien	    Jim Wilson  <wilson@cygnus.com>
858989857Sobrien
859089857Sobrien	* Makefile.am (ALL_MACHINES): Add cpu-ia64.lo.
859189857Sobrien	(ALL_MACHINES_CFILES): Add cpu-ia64.c.
859289857Sobrien	(BFD64_BACKENDS): Add elf64-ia64.lo.
859389857Sobrien	(BFD64_BACKENDS_CFILES): Add elf64-ia64.c.
859489857Sobrien	(cpu-ia64.lo, elf64-ia64.lo): New rules.
859589857Sobrien	* Makefile.in: Rebuild.
859689857Sobrien	* archures.c (enum bfd_architecture): Add bfd_arch_ia64.
859789857Sobrien	(bfd_ia64_arch): Declare.
859889857Sobrien	(bfd_archures_list): Add bfd_ia64_arch.
859989857Sobrien	* bfd-in2.h: Rebuild.
860089857Sobrien	* config.bfd: (ia64*-*-linux-gnu*, ia64*-*-elf*): New targets.
860189857Sobrien	* configure: Rebuild.
860289857Sobrien	* configure.host: (ia64-*-linux*): New host.
860389857Sobrien	* configure.in (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec,
860489857Sobrien	bfd_efi_app_ia64_vec, bfd_efi_app_ia64_vec): New vectors.
860589857Sobrien	* elf.c (prep_headers): Add bfd_arch_ia64.
860689857Sobrien	* libbfd.h: Rebuild.
860789857Sobrien	* reloc.c: Add IA-64 relocations.
860889857Sobrien	* targets.c (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec):
860989857Sobrien	Declare.
861089857Sobrien	(bfd_target_vect): Add bfd_elf64_ia64_little_vec.
861189857Sobrien	* cpu-ia64-opc.c, cpu-ia64.c, elf64-ia64.c: New files.
861289857Sobrien
861389857Sobrien2000-04-21  Richard Henderson  <rth@cygnus.com>
861489857Sobrien
861589857Sobrien	* elf32-d30v.c (bfd_elf_d30v_reloc): Don't modify section
861689857Sobrien	contents when performing a partial link.
861789857Sobrien	(bfd_elf_d30v_reloc_21): Likewise.
861889857Sobrien
861989857Sobrien2000-04-20  H.J. Lu  <hjl@gnu.org>
862089857Sobrien
862189857Sobrien	* elf32-i386.c (elf_i386_relocate_section): Restrict 1998-12-10
862289857Sobrien	patch to symbols defined by a shared object.
862389857Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Similarly.
862489857Sobrien
862589857Sobrien2000-04-19  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
862689857Sobrien
862789857Sobrien	K&R compiler fixes.
862889857Sobrien	* dwarf2.c (concat_filename): Avoid string literal concatenation.
862989857Sobrien	* ieee.c (ieee_get_symtab): Don't initialise union in struct.
863089857Sobrien
863189857Sobrien2000-04-11  David Mosberger  <davidm@hpl.hp.com>
863289857Sobrien
863389857Sobrien	* Makefile.am (BFD64_BACKENDS): Mention coff-ia64.lo.
863489857Sobrien	(BFD64_BACKENDS_CFILES): Mention coff-ia64.c
863589857Sobrien	(coff-ia64.lo): Add dependency.
863689857Sobrien	* Makefile.in: Regenerate.
863789857Sobrien	* coff-ia64.c: New file.
863889857Sobrien	* efi-app-ia32.c: Ditto.
863989857Sobrien	* efi-app-ia64.c: Ditto.
864089857Sobrien	* coffcode.h (coff_set_arch_mach_hook): Handle IA64MAGIC.
864189857Sobrien	(coff_set_flags): Ditto.
864289857Sobrien	(coff_write_object_contents) [IA64]: Set magic number to ZMAGIC.
864389857Sobrien	* config.bfd (i[3456]86-*-linux-gnu*): Mention bfd_efi_app_ia32_vec.
864489857Sobrien	* configure.in (elf): Handle bfd_efi_app_ia32 and bfd_efi_app_ia64_vec.
864589857Sobrien	* configure: Regenerate.
864689857Sobrien	* libpei.h (GET_OPTHDR_IMAGE_BASE): New macro.
864789857Sobrien	(PUT_OPTHDR_IMAGE_BASE): Ditto.
864889857Sobrien	(GET_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto.
864989857Sobrien	(PUT_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto.
865089857Sobrien	(GET_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto.
865189857Sobrien	(PUT_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto.
865289857Sobrien	(GET_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto.
865389857Sobrien	(PUT_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto.
865489857Sobrien	(GET_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto.
865589857Sobrien	(PUT_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto.
865689857Sobrien	(GET_PDATA_ENTRY): Ditto.
865789857Sobrien	* peigen.c (_bfd_pei_swap_aouthdr_in) [COFF_WITH_PEP64]: Don't read
865889857Sobrien	data_start.  Use above macros to read fields that are 64 bit wide for
865989857Sobrien	COFF_WITH_PEP64.  Don't truncate entry and text_start to 32 bits.
866089857Sobrien	(_bfd_pei_swap_aouthdr_out) [PEI_FORCE_MINIMUM_ALIGNMENT]: Force
866189857Sobrien	FileAlignment and SectionAlignment to minimum alignment if they
866289857Sobrien	are zero.
866389857Sobrien	(_bfd_pei_swap_aouthdr_out) [PEI_DEFAULT_TARGET_SUBSYSTEM]: Set
866489857Sobrien	Subsystem to default PEI_DEFAULT_TARGET_SUBSYSTEM.
866589857Sobrien	(_bfd_pei_swap_aouthdr_out) [COFF_WITH_PEP64]: Don't set data_start.
866689857Sobrien	Use above macros to write fields that are 64 bit wide for
866789857Sobrien	COFF_WITH_PEP64.
866889857Sobrien	(pe_print_pdata): Set PDATA_ROW_SIZE to 3*8 for COFF_WITH_PEP64,
866989857Sobrien	5*4 otherwise.  This should be right for IA-32 and IA-64, but may
867089857Sobrien	be wrong for platforms.  Use PDATA_ROW_SIZE instead of hardcoded
867189857Sobrien	value of 20 bytes.  Modify printing for COFF_WITH_PEP64 to print
867289857Sobrien	begin address, end address, and unwind info address only.  Use
867389857Sobrien	GET_PDATA_ENTRY() to read .pdata entries.  Use fprintf_vma() to
867489857Sobrien	print addresses.
867589857Sobrien	(tbl): Add SECTION, REL32, RESERVED1, MIPS_JMPADDR16, DIR64, and
867689857Sobrien	HIGH3ADJ relocation names.
867789857Sobrien	(_bfd_pe_print_private_bfd_data): Print Subsystem name in legible form.
867889857Sobrien	* targets.c: Declare bfd_efi_app_ia32_vec and
867989857Sobrien	bfd_efi_app_ia64_vec.
868089857Sobrien	(bfd_target_vector): Mention bfd_efi_app_ia32_vec and
868189857Sobrien	bfd_efi_app_ia64_vec.
868289857Sobrien
868389857Sobrien2000-04-17  Timothy Wall  <twall@cygnus.com>
868489857Sobrien
868589857Sobrien	* bfd-in2.h: Add prototypes for tic54x load page access.
868689857Sobrien	* bfd-in.h: Regenerate.
868789857Sobrien	* coff-tic54x.c: Add load page functions; allow bfd_arch_unknown
868889857Sobrien	in customized _set_arch_mach function.
868989857Sobrien	* coffcode.h (coff_set_alignment_hook): Set section load page if
869089857Sobrien	the appropriate macro is defined.
869189857Sobrien	(write_object_contents): Read section load page.
869289857Sobrien
869389857Sobrien2000-04-13  Alan Modra  <alan@linuxcare.com.au>
869489857Sobrien
869589857Sobrien	* elf32-hppa.h: Update copyright date.
869689857Sobrien
869789857Sobrien	* elf32-fr30.c (fr30_elf_i20_reloc): Don't use U suffix.
869889857Sobrien	* elf32-mips.c (_bfd_mips_elf_relocate_section): And here.
869989857Sobrien
870089857Sobrien	* elf32-d30v.c (MAX32): Don't use LL suffix.
870189857Sobrien	(MIN32): Define in terms of MAX32.
870289857Sobrien	(bfd_elf_d30v_reloc): Make relocation a bfd_signed_vma.
870389857Sobrien
870489857Sobrien	* coff-a29k.c (SIGN_EXTEND_HWORD): Replace with more concise
870589857Sobrien	expression.
870689857Sobrien
870789857Sobrien	* peicode.h (pe_ILF_build_a_bfd): Remove UL from hex constants.
870889857Sobrien
870989857Sobrien2000-04-12  Alan Modra  <alan@linuxcare.com.au>
871089857Sobrien
871189857Sobrien	* dep-in.sed: Match space before file name, not after.
871289857Sobrien	* Makefile.am: Regenerate dependencies.
871389857Sobrien	* Makefile.in: Regenerate.
871489857Sobrien
871589857Sobrien	* reloc.c (_bfd_relocate_contents): In complain_overflow_bitfield
871689857Sobrien	case, allow address wrap-around stupidly removed 2000-03-17.  Sign
871789857Sobrien	extend without an if statement.
871889857Sobrien
871989857Sobrien2000-04-11  Alan Modra  <alan@linuxcare.com.au>
872089857Sobrien
872189857Sobrien	* coff-mips.c (mips_gprel_reloc): Test for 16 bit range using
872289857Sobrien	signed quantites.
872389857Sobrien	* elf32-mips.c (gprel16_with_gp): Likewise.
872489857Sobrien	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Test range
872589857Sobrien	here using -0x40000, not (int)0xfffc0000.
872689857Sobrien	(elf32_hppa_size_of_stub): Likewise.
872789857Sobrien
872889857Sobrien2000-04-11  Timothy Wall  <twall@cygnus.com>
872989857Sobrien
873089857Sobrien	* coff-tic54x.c: Now builds with all targets.
873189857Sobrien	* Makefile.am: Add coff/tic54x.h to coff-tic54x.o dependencies.
873289857Sobrien	* Makefile.in: Regenerate.
873389857Sobrien	* coffcode.h (coff_set_arch_mach_hook): Eliminate warning on
873489857Sobrien	unitialized variable.
873589857Sobrien
873689857Sobrien2000-04-07  Andrew Cagney  <cagney@b1.cygnus.com>
873789857Sobrien
873889857Sobrien	* configure.in (WARN_CFLAGS): Set to -W -Wall by default.  Add
873989857Sobrien	--enable-build-warnings option.
874089857Sobrien	* Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
874189857Sobrien	* Makefile.in, configure: Re-generate.
874289857Sobrien
874389857Sobrien2000-04-07  Nick Clifton  <nickc@cygnus.com>
874489857Sobrien
874589857Sobrien	* reloc.c: Add BFD_RELOC_ARM_PCREL_BLX and
874689857Sobrien	BFD_RELOC_THUMB_PCREL_BLX.
874789857Sobrien
874889857Sobrien	* elf32-arm.h (elf32_arm_final_link_relocate): Handle
874989857Sobrien	R_ARM_XPC25 and R_ARM_THM_PC22.
875089857Sobrien
875189857Sobrien	* elfarm-nabi.c (elf32_arm_howto_): Fix definitions of
875289857Sobrien	R_ARM_XPC25 and R_ARM_THM_XPC22.
875389857Sobrien	(elf32_arm_reloc_map): Make BFD_RELOC_{ARM|THUMB}_PCREL_BLX to
875489857Sobrien	R_ARM_[XPC25|THM_XPC22].
875589857Sobrien
875689857Sobrien	* elfarm-oabi.c: Define OLD_ARM_ABI and change include from
875789857Sobrien	elf/arm-oabi.h to elf/arm.h
875889857Sobrien
875989857Sobrien	* Makefile.am: Fix dependency for elfarm-oabi.c
876089857Sobrien	* Makefile.in: Regenerate.
876189857Sobrien
876289857Sobrien	* bfd-in2.h: Regenerate.
876389857Sobrien	* libbfd.h: Regenerate.
876489857Sobrien
876589857Sobrien2000-04-06  Michael Snyder  <msnyder@seadog.cygnus.com>
876689857Sobrien
876789857Sobrien	* elfcore.h (elf_core_file_p): preserve value of tdata at entry,
876889857Sobrien	and restore it on failure.  Release newly allocated tdata on
876989857Sobrien	failure.
877089857Sobrien
877189857Sobrien2000-04-07  Jim Wilson  <wilson@cygnus.com>
877289857Sobrien
877389857Sobrien	* dwarf2.c (struct dwarf2_debug): New field dwarf_line_size.
877489857Sobrien	(decode_line_info): Set it.  Report error if unit->line_offset is
877589857Sobrien	equal to or larger than it.
877689857Sobrien
877789857Sobrien2000-04-07  Timothy Wall  <twall@cygnus.com>
877889857Sobrien
877989857Sobrien	* targets.c: Added vecs for tic54x.
878089857Sobrien	* reloc.c: Added relocs for tic54x.
878189857Sobrien	* libbfd.h: Regenerated.
878289857Sobrien	* configure: Add TI COFF vecs for tic54x.
878389857Sobrien	* configure.in: Ditto.
878489857Sobrien	* config.bfd (targ_cpu): Recognize new tic54x target.
878589857Sobrien	* coffcode.h (coff_slurp_symbol_table): Additions for TI COFF handling.
878689857Sobrien	* bfd-in2.h: Add tic54x target and relocations.
878789857Sobrien	* Makefile.am, Makefile.in: Add tic54x target.
878889857Sobrien	* archures.c (bfd_archures_list): Add tic54x target.
878989857Sobrien	* coff-tic54x.c: New.
879089857Sobrien	* cpu-tic54x.c: New.
879189857Sobrien
879289857Sobrien2000-04-06  Michael Snyder  <msnyder@seadog.cygnus.com>
879389857Sobrien
879489857Sobrien	* elfcore.h (elf_core_file_p): call backend_object_p which
879589857Sobrien	thereby gets an opportunity to update the arch/machine type.
879689857Sobrien
879789857Sobrien2000-04-06  Timothy Wall  <twall@cygnus.com>
879889857Sobrien
879989857Sobrien	* coffcode.h (coff_slurp_symbol_table): Handle C_STATLAB storage
880089857Sobrien	class.  Handle SEC_CLINK and SEC_BLOCK flags.
880189857Sobrien	* section.c: Add SEC_CLINK and SEC_BLOCK flags.
880289857Sobrien	* bfd-in2.h: Add SEC_CLINK and SEC_BLOCK flags.
880389857Sobrien
880489857Sobrien2000-04-06  Nick Clifton  <nickc@cygnus.com>
880589857Sobrien
880689857Sobrien	* elf32-arm.h (elf32_arm_set_private_flags): Only check for
880789857Sobrien	EF_INTERWORK if this is an unknown EABI.
880889857Sobrien	(elf32_arm_merge_private_bfd_data): Check EABI version
880989857Sobrien	numbers.  Only check EF_xxx flags if the EABI version number
881089857Sobrien	is unknown.
881189857Sobrien	(elf32_arm_check_private_bfd_data): Only check EF_xxx flags
881289857Sobrien	if the EABI version number is unknown.
881389857Sobrien	(elf32_arm_print_private_bfd_data): Only decode EF_xxx flags
881489857Sobrien	if the EABI version number is unknown.
881589857Sobrien
881689857Sobrien2000-04-05  J"orn Rennecke <amylaar@cygnus.co.uk>
881789857Sobrien
881889857Sobrien	* reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and
881989857Sobrien	BFD_RELOC_SH_LOOP_END.
882089857Sobrien	* elf32-sh.c (sh_elf_howto_tab): Change special_func to
882189857Sobrien	sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore.
882289857Sobrien	Add entries for R_SH_LOOP_START and R_SH_LOOP_END.
882389857Sobrien	(sh_elf_reloc_loop): New function.
882489857Sobrien	(sh_elf_reloc): No need to test for always-to-be-ignored relocs
882589857Sobrien	any more.
882689857Sobrien	(sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}.
882789857Sobrien	(sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}.
882889857Sobrien	* bfd-in2.h, libbfd.h: Regenerate.
882989857Sobrien
883089857Sobrien2000-04-04  Alan Modra  <alan@linuxcare.com.au>
883189857Sobrien
883289857Sobrien	* po/bfd.pot: Regenerate.
883389857Sobrien
883489857Sobrien	* Makefile.am: Remove extraneous mkdep comment.
883589857Sobrien	(MKDEP): Use gcc -MM rather than mkdep.
883689857Sobrien	(DEP): Quote when passing vars to sub-make.  Add warning
883789857Sobrien	message to end.
883889857Sobrien	(DEP1): Rewrite for "gcc -MM".
883989857Sobrien	(CLEANFILES): Add DEP2.
884089857Sobrien	Update dependencies.
884189857Sobrien	* Makefile.in: Regenerate.
884289857Sobrien
884389857Sobrien2000-04-03  Kevin Buettner  <kevinb@redhat.com>
884489857Sobrien
884589857Sobrien	* configure.in: Added corefile support for AIX 4.3.  In particular,
884689857Sobrien	AIX_CORE_DUMPX_CORE will be defined in addition to AIX_CORE when
884789857Sobrien	compiling rs6000-core.c.
884889857Sobrien	* configure: Regenerated.
884989857Sobrien
885089857Sobrien2000-04-03  H.J. Lu  <hjl@gnu.org>
885189857Sobrien
885289857Sobrien	* cache.c (bfd_open_file): Unlink the output file only if
885389857Sobrien	it has non-zero size.
885489857Sobrien
885589857Sobrien2000-04-01  Ken Block USG  <block@zk3.dec.com>
885689857Sobrien
885789857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Don't emit
885889857Sobrien	relative relocations for non-loaded sections in shared objects.
885989857Sobrien	(elf64_alpha_check_relocs): Similarly.
886089857Sobrien
886189857Sobrien2000-04-03  Hans-Peter Nilsson  <hp@axis.com>
886289857Sobrien
886389857Sobrien	* aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and
886489857Sobrien	BFD_RELOC_16 to switch for extended relocs.
886589857Sobrien	(MY_swap_ext_reloc_in): New.
886689857Sobrien	(MY_swap_ext_reloc_out): New.
886789857Sobrien	(NAME(aout,slurp_reloc_table)): Use MY_swap_ext_reloc_in rather
886889857Sobrien	than NAME(aout,swap_ext_reloc_in) for extended relocs.
886989857Sobrien	(NAME(aout,squirt_out_relocs)): Similarly use
887089857Sobrien	MY_swap_ext_reloc_out.
887189857Sobrien	(aout_link_reloc_link_order): Use MY_put_ext_reloc if defined.
887289857Sobrien
887389857Sobrien2000-04-03  Kazu Hirata  <kazu@hxi.com>
887489857Sobrien
887589857Sobrien	* coff-h8300.c (h8300_reloc16_extra_cases): Add bsr:16 -> bsr:8 to
887689857Sobrien	the R_PCRWORD_B case.
887789857Sobrien
887889857Sobrien2000-03-31  Thomas de Lellis  <tdel@wrs.com>
887989857Sobrien
888089857Sobrien	* srec.c : Set CHUNK size to 16 bytes to prevent download failures
888189857Sobrien	on some targets.
888289857Sobrien	* ihex.c : Ditto.
888389857Sobrien
888489857Sobrien2000-03-30  Donald Lindsay  <dlindsay@cygnus.com>
888589857Sobrien
888689857Sobrien	* elf32-m32r.c (m32r_elf_generic_reloc): new function.  All
888789857Sobrien	HOWTO references to bfd_elf_generic_reloc, that have
888889857Sobrien	partial_inplace == true, now use the new function.  The function
888989857Sobrien	is based on the recent rewrite of m32r_elf_lo16_reloc(), and
889089857Sobrien	extends its fixes to the R_M32R_{16,24,32} relocs.
889189857Sobrien	The new logic in m32r_elf_lo16_reloc() has been removed, and
889289857Sobrien	it instead calls the new routine to obtain that functionality.
889389857Sobrien
889489857Sobrien2000-03-27  Alan Modra  <alan@linuxcare.com.au>
889589857Sobrien
889689857Sobrien	* elf32-avr.c (elf32_avr_gc_mark_hook, elf32_avr_gc_sweep_hook,
889789857Sobrien	elf32_avr_check_relocs, avr_final_link_relocate,
889889857Sobrien	elf32_avr_relocate_section, bfd_elf_avr_final_write_processing,
889989857Sobrien	elf32_avr_object_p): Add prototypes.
890089857Sobrien	(elf32_avr_gc_mark_hook): Add default for h->root.type.
890189857Sobrien	(bfd_elf_avr_final_write_processing): Make static.
890289857Sobrien
890389857Sobrien2000-03-27  Denis Chertykov  <denisc@overta.ru>
890489857Sobrien
890589857Sobrien	* cpu-avr.c: New file.  BFD support routines for AVR architecture.
890689857Sobrien	* archures.c (bfd_architecture): Add AVR architecture.
890789857Sobrien	(bfd_archures_list): Add reference to AVR architecture info.
890889857Sobrien	* elf.c (prep_headers): Handle bfd_arch_avr.
890989857Sobrien	* reloc.c: Add various AVR relocation enums.
891089857Sobrien	* targets.c (bfd_elf32_avr_vec): Declare and add to target vector
891189857Sobrien	list.
891289857Sobrien	* Makefile.am: Add support for AVR elf.
891389857Sobrien	* configure.in: Likewise.
891489857Sobrien	* config.bfd: Likewise.
891589857Sobrien	* Makefile.in: Regenerate.
891689857Sobrien	* configure: This too.
891789857Sobrien	* bfd-in2.h: And this.
891889857Sobrien	* libbfd.h: And this.
891989857Sobrien
892089857Sobrien2000-03-24  H.J. Lu  <hjl@gnu.org>
892189857Sobrien
892289857Sobrien	* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Add prototype.
892389857Sobrien	(elf64_alpha_find_reloc_at_ofs): Likewise.
892489857Sobrien
892589857Sobrien2000-03-17  Alan Modra  <alan@linuxcare.com.au>
892689857Sobrien
892789857Sobrien	* reloc.c (bfd_check_overflow): In case complain_overflow_bitfield,
892889857Sobrien	flag an overflow if the bitfield is outside -2**n to 2**n-1.  The
892989857Sobrien	allowable range used to be -2**(n-1) to 2**n-1.
893089857Sobrien	* reloc.c (_bfd_relocate_contents): Same here.  Also replace
893189857Sobrien	"boolean overflow" with "bfd_reloc_status_type flag".
893289857Sobrien
893389857Sobrien2000-03-14  Doug Evans  <dje@casey.transmeta.com>
893489857Sobrien
893589857Sobrien	* elf32-m32r.c (m32r_elf_lo16_reloc): Rewrite.
893689857Sobrien
893789857Sobrien2000-03-14  Kazu Hirata  <kazu@hxi.com>
893889857Sobrien
893989857Sobrien	* reloc16.c (bfd_coff_reloc16_relax_section): Count the total number
894089857Sobrien	of shrinks properly, including the last reloc.
894189857Sobrien
894289857Sobrien2000-03-13  Kazu Hirata  <kazu@hxi.com>
894389857Sobrien
894489857Sobrien	* coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity
894589857Sobrien	check for R_MOVL2.
894689857Sobrien
894789857Sobrien2000-03-11  Alan Modra  <alan@linuxcare.com.au>
894889857Sobrien
894989857Sobrien	* ieee.c (ieee_archive_p): Return bfd_error_wrong_format on
895089857Sobrien	a format mismatch rather than an "error" from bfd_read such as
895189857Sobrien	bfd_error_file_truncated.
895289857Sobrien
895389857Sobrien2000-03-10  Geoff Keating  <geoffk@cygnus.com>
895489857Sobrien
895589857Sobrien	* elf32-mips.c (_bfd_mips_elf_relocate_section): Do proper
895689857Sobrien	sign-extension and big-endian compensation for
895789857Sobrien	R_MIPS_64 even in ld -r.
895889857Sobrien
895989857Sobrien2000-03-10  Geoffrey Keating  <geoffk@cygnus.com>
896089857Sobrien
896189857Sobrien	* elf32-mips.c (mips_elf_next_relocation): Rename from
896289857Sobrien	mips_elf_next_lo16_relocation, and generalize to look
896389857Sobrien	for any relocation type.
896489857Sobrien	(elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset.
896589857Sobrien	(elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16.
896689857Sobrien	(elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16.
896789857Sobrien	(elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2.
896889857Sobrien	(elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64.
896989857Sobrien	(elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32.
897089857Sobrien	(bfd_elf32_bfd_reloc_type_lookup): Add new relocs.
897189857Sobrien	(mips_rtype_to_howto): Likewise.
897289857Sobrien	(mips_elf_calculate_relocation): Handle new relocs.
897389857Sobrien	(_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs
897489857Sobrien	are paired.  The addend for R_MIPS_GNU_REL16_S2
897589857Sobrien	is shifted right two bits.
897689857Sobrien
897789857Sobrien2000-03-10  Alan Modra  <alan@linuxcare.com.au>
897889857Sobrien
897989857Sobrien	* reloc.c (bfd_perform_relocation): Undo emacs formatting of
898089857Sobrien	comment, and ensure it doesn't happen again.
898189857Sobrien	(bfd_install_relocation): Same here.
898289857Sobrien	(_bfd_relocate_contents): Don't bother assigning unused signmask
898389857Sobrien	shift result.  Fix typos in comments.
898489857Sobrien	Remove trailing whitespace throughout file.
898589857Sobrien
898689857Sobrien2000-03-07  Doug Evans  <dje@casey.transmeta.com>
898789857Sobrien
898889857Sobrien	* reloc.c (reloc_howto_struct): Fix partial_inplace comment.
898989857Sobrien	* bfd-in2.h: Rebuild.
899089857Sobrien
899189857Sobrien2000-03-06  Nick Clifton  <nickc@cygnus.com>
899289857Sobrien
899389857Sobrien	* peicode.h (struct pe_ILF_vars): Add sym_ptr_table and
899489857Sobrien	sym_ptr_ptr fields.
899589857Sobrien	(SIZEOF_ILF_SYM_PTR_TABLE): Define.
899689857Sobrien	(SIZEOF_ILF_STRINGS): Redefine.
899789857Sobrien	(pe_ILF_make_a_symbol-reloc): New function.  Creates a symbol
899889857Sobrien	relative reloc, as opposed to a section relative reloc.
899989857Sobrien	(pe_ILF_make_a_symbol): Set the class of local symbols to C_STAT
900089857Sobrien	not C_LABEL.
900189857Sobrien	Add length of symbol's prefix to string pointer.
900289857Sobrien	Store a pointer to the symbol in the symbol pointer table.
900389857Sobrien	(pe_ILF_build_a_bfd): Do not build .idata$2 or .idata$7.
900489857Sobrien	Initialise the symbol pointer table.
900589857Sobrien	Store the hint in the Hint/Name table.
900689857Sobrien	Make the jump reloc be symbol realtive, not section relative.
900789857Sobrien	Create an import symbol for imported code.
900889857Sobrien
900989857Sobrien2000-03-06  Catherine Moore  <clm@cygnus.com>
901089857Sobrien
901189857Sobrien	* elf.c (swap_out_syms):  Check for null type_ptr.
901289857Sobrien
901389857Sobrien2000-03-01  Hans-Peter Nilsson  <hp@axis.com>
901489857Sobrien
901589857Sobrien	* aout-target.h (MY(write_object_contents)): Remove unused
901689857Sobrien	and unusable "#if CHOOSE_RELOC_SIZE".
901789857Sobrien	* pc532-mach.c (MY(write_object_contents)): Ditto.
901889857Sobrien	* netbsd.h (MY(write_object_contents)): Ditto.
901989857Sobrien	* hp300hpux.c (MY(write_object_contents)): Ditto.
902089857Sobrien	* freebsd.h (MY(write_object_contents)): Ditto.
902189857Sobrien	* aout-tic30.c (tic30_aout_write_object_contents): Ditto.
902289857Sobrien
902389857Sobrien2000-02-29  H.J. Lu  <hjl@gnu.org>
902489857Sobrien
902589857Sobrien	* peicode.h (jtab): Make it static.
902689857Sobrien
902789857Sobrien	* coff-sh.c (sh_align_load_span): Declared if COFF_WITH_PE is
902889857Sobrien	defined and COFF_IMAGE_WITH_PE is not defined.
902989857Sobrien	(_bfd_sh_align_load_span): Defined as sh_align_load_span if
903089857Sobrien	COFF_WITH_PE is defined and COFF_IMAGE_WITH_PE is not defined.
903189857Sobrien
903289857Sobrien2000-03-01  Nick Clifton  <nickc@cygnus.com>
903389857Sobrien
903489857Sobrien	* coff-arm.c (bfd_arm_process_before_allocation): Make
903589857Sobrien	'symndx' signed to prevent compile time warning.
903689857Sobrien
903789857Sobrien	* coff-mcore.c: Remove unused prototype for pe_object_p.
903889857Sobrien
903989857Sobrien	* coff-sh.c: Add "#ifndef COFF_IMAGE_WITH_PE" around static
904089857Sobrien	functions that are not used when COFF_IMAGE_WITH_PE is
904189857Sobrien	defined.
904289857Sobrien	(struct sh_opcode): Change type of 'flags' field to unsigned
904389857Sobrien	long so that it can hold the USESAS flag.
904489857Sobrien
904589857Sobrien	* coffcode.h (styp_to_sec_flags): Initialise 'target_name'.
904689857Sobrien
904789857Sobrien	* elf-m10300.c (mn10300_elf_relax_section): Initialise
904889857Sobrien	'sym_sec'.
904989857Sobrien
905089857Sobrien	* elf32-i370.c: Add ATTRIBUTE_UNUSED to unused function
905189857Sobrien	parameters.
905289857Sobrien	Remove unusued variables and code.
905389857Sobrien	(elf_backend_add_symbol_hook): Fix prototype.
905489857Sobrien
905589857Sobrien	* elf32-m68k.c (elf_m68k_gc_sweep_hook): Initialise 'sgot' and
905689857Sobrien	'srelgot'.
905789857Sobrien
905889857Sobrien	* elf32-mcore.c (mcore_elf_relocate_section): Initialise
905989857Sobrien	'oldinst'.
906089857Sobrien
906189857Sobrien	* elf32-mips.c: Add ATTRIBUTE_UNUSED to unused function
906289857Sobrien	parameters.
906389857Sobrien	Remove unusued variables and code.
906489857Sobrien	(elf_backend_add_symbol_hook): Fix prototype.
906589857Sobrien
906689857Sobrien	* elf32-sh.c (sh_elf_set_mach_from_flags): Use 'flags'.
906789857Sobrien
906889857Sobrien	* elflink.h (elf_bfd_link_add_symbols): Add ATTRIBUTE_UNUSED
906989857Sobrien	to unused function parameter.
907089857Sobrien
907189857Sobrien	* pe-mips.c: Add ATTRIBUTE_UNUSED to unused function
907289857Sobrien	parameters.
907389857Sobrien	Use EMPTY_HOWTO to initialise empty howto slots.
907489857Sobrien	Remove unused variables.
907589857Sobrien
907689857Sobrien	* peicode.h (pe_ILF_build_a_bfd): Initialise id6.
907789857Sobrien
907889857Sobrien2000-03-01  H.J. Lu  <hjl@gnu.org>
907989857Sobrien
908089857Sobrien	* aoutx.h (aout_link_input_section_std): Pass "true" to
908189857Sobrien	the undefined_symbol callback.
908289857Sobrien	(aout_link_input_section_ext): Likewise.
908389857Sobrien	* bout.c (get_value): Likewise.
908489857Sobrien	* coff-a29k.c (coff_a29k_relocate_section): Likewise.
908589857Sobrien	* coff-alpha.c (alpha_ecoff_get_relocated_section_conten):
908689857Sobrien	Likewise.
908789857Sobrien	(alpha_relocate_section): Likewise.
908889857Sobrien	* coff-arm.c (coff_arm_relocate_section): Likewise.
908989857Sobrien	* coff-i960.c (coff_i960_relocate_section): Likewise.
909089857Sobrien	* coff-mcore.c (coff_mcore_relocate_section): Likewise.
909189857Sobrien	* coff-mips.c (mips_relocate_section): Likewise.
909289857Sobrien	* coff-ppc.c (coff_ppc_relocate_section): Likewise.
909389857Sobrien	* coff-sh.c (sh_relocate_section): Likewise.
909489857Sobrien	* coff-tic80.c (coff_tic80_relocate_section): Likewise.
909589857Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
909689857Sobrien	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
909789857Sobrien	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
909889857Sobrien	* elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
909989857Sobrien	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
910089857Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
910189857Sobrien	* elf32-i370.c (i370_elf_relocate_section): Likewise.
910289857Sobrien	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
910389857Sobrien	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
910489857Sobrien	* elf32-sh.c (sh_elf_relocate_section): Likewise.
910589857Sobrien	* elf32-v850.c (v850_elf_relocate_section): Likewise.
910689857Sobrien	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
910789857Sobrien	* elflink.h (elf_link_output_extsym): Likewise.
910889857Sobrien	* pe-mips.c (coff_pe_mips_relocate_section): Likewise.
910989857Sobrien	* reloc.c (bfd_generic_get_relocated_section_conten): Likewise.
911089857Sobrien	* reloc16.c (_bfd_ppc_xcoff_relocate_section): Likewise.
911189857Sobrien
911289857Sobrien	* elf-hppa.h (elf_hppa_relocate_section): Pass "false" to the
911389857Sobrien	undefined_symbol callback when building shared library with
911489857Sobrien	-Bsymbolic and undefined symbols are allowed. Otherwise, pass
911589857Sobrien	"true".
911689857Sobrien	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
911789857Sobrien	* elf32-i386.c (elf_i386_relocate_section): Likewise.
911889857Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
911989857Sobrien	* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
912089857Sobrien	(elf32_mips_get_relocated_section_content): Likewise.
912189857Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
912289857Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
912389857Sobrien	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
912489857Sobrien	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
912589857Sobrien
912689857Sobrien2000-02-28  Nick Clifton  <nickc@cygnus.com>
912789857Sobrien
912889857Sobrien	* Makefile.am: Add rules to build pe[i]-{sh|mips}.lo objects.
912989857Sobrien	* Makefile.in: Regenerate.
913089857Sobrien
913189857Sobrien	* configure.in: Add support for mips and sh pe vectors.
913289857Sobrien	* configure: regenerate.
913389857Sobrien
913489857Sobrien	* config.bfd: Add support for arm-wince, mips-pe and sh-pe
913589857Sobrien	targets.
913689857Sobrien
913789857Sobrien	* targets.c: Add mips and sh pe vectors.
913889857Sobrien
913989857Sobrien	* libpei.h (coff_final_link_postscript): Only define if not
914089857Sobrien	already defined.
914189857Sobrien
914289857Sobrien	* coffcode.h: Add support for WinCE magic numbers.
914389857Sobrien
914489857Sobrien	* peigen.c (pe_print_reloc): Update comment and rearrange
914589857Sobrien	appending of newline character.
914689857Sobrien
914789857Sobrien	* peicode.h: Add support for Image Library Format.
914889857Sobrien	(pe_ILF_vars): Structure containing data used by ILF code.
914989857Sobrien	(pe_ILF_make_a_section): New function.  Create a section based
915089857Sobrien	on ILF data.
915189857Sobrien	(pe_ILF_make_a_reloc): New function.  Create a reloc based on
915289857Sobrien	ILF data.
915389857Sobrien	(pe_ILF_make_a_symbol): New function.  Create a symbol based
915489857Sobrien	on ILF data.
915589857Sobrien	(pe_ILF_save_relocs): New function.  Store the relocs created
915689857Sobrien	by pe_ILF_make_a_reloc in a section.
915789857Sobrien	(pe_ILF_build_a_bfd): New function.  Create a BFD describing
915889857Sobrien	an ILF object.
915989857Sobrien	(pe_ILF_object_p): New function.  Return a bfd_target pointer
916089857Sobrien	for an ILF object.
916189857Sobrien	(pe_bfd_object_p): If an ILF object is detected call
916289857Sobrien	pe_ILF_object_p on it.
916389857Sobrien
916489857Sobrien	* coff-arm.c: Add support for WinCE relocs which are different
916589857Sobrien	from normal ARM COFF relocs.
916689857Sobrien	* pe-arm.c: Unset TARGET_UNDERSCORE for a WinCE target.
916789857Sobrien
916889857Sobrien	* coff-sh.c: Add support for sh-pe target.
916989857Sobrien	* pe-sh.c: New file.  Support code for sh-pe target.
917089857Sobrien	* pei-sh.c: New file.  Support code for sh-pe target.
917189857Sobrien
917289857Sobrien	* pe-mips.c: New file.  Support code for mips-pe target.
917389857Sobrien	* pei-mips.c: New file.  Support code for mips-pe target.
917489857Sobrien
917589857Sobrien2000-02-27  Jakub Jelinek  <jakub@redhat.com>
917689857Sobrien
917789857Sobrien	* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Don't bump
917889857Sobrien	architecture if the object causing the bump is dynamic.
917989857Sobrien	* elf64-sparc.c (sparc64_elf_merge_private_bfd_data): Likewise,
918089857Sobrien	and also don't it for memory ordering.
918189857Sobrien	(sparc64_elf_write_relocs): Take src_rela out of the loop.
918289857Sobrien
918389857Sobrien2000-02-27  Ian Lance Taylor  <ian@zembu.com>
918489857Sobrien
918589857Sobrien	* dwarf2.c (read_abbrevs): Use _raw_size directly rather than
918689857Sobrien	calling bfd_get_section_size_before_reloc.
918789857Sobrien	(decode_line_info): Likewise.
918889857Sobrien	(_bfd_dwarf2_find_nearest_line): Likewise.
918989857Sobrien
919089857Sobrien2000-02-27  Eli Zaretskii  <eliz@is.elta.co.il>
919189857Sobrien
919289857Sobrien	* Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
919389857Sobrien	name of the libtool directory.
919489857Sobrien	* Makefile.in: Rebuild.
919589857Sobrien
919689857Sobrien2000-02-25  Rodney Brown (RodneyBrown@pmsc.com)
919789857Sobrien
919889857Sobrien	* som.c (SOM_HOWTO): Define.
919989857Sobrien	(som_hppa_howto_table): Use it.
920089857Sobrien
920189857Sobrien2000-02-25  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
920289857Sobrien
920389857Sobrien	* config.bfd: Enable 64 bit support for GNU/Linux/sparc.
920489857Sobrien
920589857Sobrien	* config.bfd: Enable 64 bit support for Solaris7+/sparc.
920689857Sobrien
920789857Sobrien2000-02-24  Catherine Moore  <clm@cygnus.com>
920889857Sobrien
920989857Sobrien	* som.c (som_misc_symbol_info):  Add field
921089857Sobrien	secondary_def.
921189857Sobrien	(som_bfd_derive_misc_symbol_info):  Initialize
921289857Sobrien	secondary_def.
921389857Sobrien	(som_build_and_write_symbol_table): Keep track
921489857Sobrien	of secondary_def field.
921589857Sobrien	(som_slurp_symbol_table): Set BSF_WEAK symbol flag
921689857Sobrien	if secondary_def field is set.
921789857Sobrien	(som_bfd_ar_write_symbol_stuff): Initialize
921889857Sobrien	secondary_def.
921989857Sobrien
922089857Sobrien2000-02-23  Stephane Carrez  <stcarrez@worldnet.fr>
922189857Sobrien
922289857Sobrien	* dwarf2.c (read_address): Read 16-bits addresses.
922389857Sobrien	(parse_comp_unit): Accept addr_size == 2.
922489857Sobrien
922589857Sobrien2000-02-23  Alan Modra  <alan@spri.levels.unisa.edu.au>
922689857Sobrien
922789857Sobrien	* bfd-in.h: Update copyright date.
922889857Sobrien
922989857Sobrien2000-02-23  Linas Vepstas <linas@linas.org>
923089857Sobrien
923189857Sobrien	* cpu-i370.c: New file.
923289857Sobrien	* elf32-i370.c:  New file.
923389857Sobrien	* archures.c (enum bfd_architecture): Add bfd_arch_i370.
923489857Sobrien	(bfd_i370_arch): New.
923589857Sobrien	(bfd_archures_list): Add bfd_i370_arch.
923689857Sobrien	* elf.c (prep_headers): Add bfd_arch_i370.
923789857Sobrien	* Makefile.am: Add support for IBM 370 elf.
923889857Sobrien	* config.bfd: Likewise.
923989857Sobrien	* configure.in: Likewise.
924089857Sobrien	* libbfd.h (bfd_reloc_code_real_names): Likewise.
924189857Sobrien	* reloc.c (bfd_reloc_code_type): Likewise.
924289857Sobrien	* targets.c: Likewise.
924389857Sobrien
924489857Sobrien	* Makefile.in: Regenerate.
924589857Sobrien	* configure: Regenerate.
924689857Sobrien	* bfd-in2.h: Regenerate.
924789857Sobrien
924889857Sobrien2000-02-22  Ian Lance Taylor  <ian@zembu.com>
924989857Sobrien
925089857Sobrien	* elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for
925189857Sobrien	invalid relocation types, and change them to R_386_NONE.
925289857Sobrien
925389857Sobrien2000-02-22  H.J. Lu  <hjl@gnu.org>
925489857Sobrien
925589857Sobrien	* elflink.h (elf_link_add_object_symbols): If a version symbol is
925689857Sobrien	not defined, don't add a second ELF_VER_CHR.
925789857Sobrien
925889857Sobrien	* elflink.h (elf_bfd_final_link): Call output_extsym for global
925989857Sobrien	symbols converted to local symbols even when stripping all
926089857Sobrien	symbols.
926189857Sobrien	(elf_link_output_extsym): Process global symbols converted to
926289857Sobrien	local symbols even if they are being stripped.
926389857Sobrien
926489857Sobrien2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
926589857Sobrien
926689857Sobrien	* archures.c (bfd_octets_per_byte): Return unsigned int.
926789857Sobrien	(bfd_arch_mach_octets_per_byte): Ditto.
926889857Sobrien	* libbfd.c (bfd_read, bfd_seek): Quell signed vs. unsigned
926989857Sobrien	comparison warning.
927089857Sobrien	* section.c (bfd_get_section_size_before_reloc): Quell signed
927189857Sobrien	vs. unsigned comparison warning.
927289857Sobrien	(bfd_get_section_size_after_reloc): Same here.  Fix parentheses too.
927389857Sobrien	* trad-core.c (trad_unix_core_file_p): Correct 2000-01-27
927489857Sobrien	change.  What was I thinking?
927589857Sobrien	* bfd-in2.h: Regenerate.
927689857Sobrien
927789857Sobrien	* elflink.h (elf_gc_sweep): Skip non-elf input bfds.
927889857Sobrien	(elf_gc_sections): Same here.
927989857Sobrien	(elf_gc_common_finalize_got_offsets): And here.
928089857Sobrien
928189857Sobrien2000-02-21  Ian Lance Taylor  <ian@zembu.com>
928289857Sobrien
928389857Sobrien	ELF HPPA doesn't work at present; remove it until it does.
928489857Sobrien	* config.bfd: Comment out setting targ_defvec to
928589857Sobrien	bfd_elf32_hppa_vec.
928689857Sobrien	* Makefile.am: Rebuild dependencies.
928789857Sobrien	(BFD32_BACKENDS): Remove elf32-hppa.lo.
928889857Sobrien	(BFD32_BACKENDS_CFILES): Remove elf32-hppa.c.
928989857Sobrien	(SOURCE_HFILES): Remove elf32-hppa.h and hppa_stubs.h.
929089857Sobrien	* Makefile.in: Rebuild.
929189857Sobrien	* targets.c (bfd_target_vector): Comment out bfd_elf32_hppa_vec.
929289857Sobrien
929389857Sobrien2000-02-18  Geoff Keating  <geoffk@cygnus.com>
929489857Sobrien
929589857Sobrien	* coffcode.h (coff_set_arch_mach_hook): Use free(), because there
929689857Sobrien	is no bfd_free().  Revert bfd_free part of previous change.
929789857Sobrien
929889857Sobrien2000-02-18  Geoff Keating  <geoffk@cygnus.com>
929989857Sobrien
930089857Sobrien	* coffcode.h (coff_set_arch_mach_hook): Don't use variable-size
930189857Sobrien	arrays.
930289857Sobrien	(coff_compute_section_file_positions): Use bfd_free to pair
930389857Sobrien	bfd_malloc.
930489857Sobrien	(coff_write_object_contents): Likewise.
930589857Sobrien
930689857Sobrien	* coff-rs6000.c (xcoff_howto_table_16): New variable.
930789857Sobrien	(xcoff_rtype2howto): Handle 16-bit variants of 32-bit relocs.
930889857Sobrien
930989857Sobrien2000-02-18  Ulrich Drepper  <drepper@cygnus.com>
931089857Sobrien
931189857Sobrien	* coff-rs6000.c (XCOFFARMAGBIG): New macro.
931289857Sobrien	(xcoff_ar_file_hdr_big): New structure.
931389857Sobrien	(SIZEOF_AR_FILE_HDR_BIG): New macro.
931489857Sobrien	(xcoff_ar_hdr_big): New structure.
931589857Sobrien	(SIZEOF_AR_HDR_BIG): New macro.
931689857Sobrien	(xcoff_big_format_p): New macro.
931789857Sobrien	(xcoff_ardata_big): New macro.
931889857Sobrien	(arch_xhdr_big): New macro.
931989857Sobrien	(xcoff_slurp_armap): Handle large archives.
932089857Sobrien	(xcoff_archive_p): Detect large archives.
932189857Sobrien	(xcoff_read_ar_hdr): Handle large archives.
932289857Sobrien	(xcoff_openr_next_archived_file): Handle large archives.
932389857Sobrien	(xcoff_generic_stat_arch_elt): Handle large archives.
932489857Sobrien	(xcoff_write_armap_old): Rename from xcoff_write_armap.
932589857Sobrien	(xcoff_write_armap_big): New function.
932689857Sobrien	(xcoff_write_armap): New function, dispatch to _old or _big.
932789857Sobrien	(xcoff_write_archive_contents_old): Rename from
932889857Sobrien	xcoff_write_archive_contents.
932989857Sobrien	(xcoff_write_archive_contents_big): New function.
933089857Sobrien	(xcoff_write_archive_contents): New function, dispatch to _old or
933189857Sobrien	_big.
933289857Sobrien
933389857Sobrien2000-02-18  Richard Henderson  <rth@cygnus.com>
933489857Sobrien
933589857Sobrien	* elf-bfd.h (struct elf_link_hash_table): Remove copy_indirect
933689857Sobrien	and hide_symbol members.
933789857Sobrien	(elf_link_hash_copy_indirect): Remove.
933889857Sobrien	(elf_link_hash_hide_symbol): Remove.
933989857Sobrien	(struct elf_backend_data): Add elf_backend_copy_indirect_symbol
934089857Sobrien	and elf_backend_hide_symbol.
934189857Sobrien	(_bfd_elf_link_hash_copy_indirect): Declare.
934289857Sobrien	(_bfd_elf_link_hash_hide_symbol): Declare.
934389857Sobrien	* elf.c (_bfd_elf_link_hash_copy_indirect): Remove table argument.
934489857Sobrien	(_bfd_elf_link_hash_hide_symbol): Likewise.
934589857Sobrien	(_bfd_elf_link_hash_table_init): Don't init killed members.
934689857Sobrien	* elflink.h (elf_link_add_object_symbols): Use the bed function
934789857Sobrien	pointers not elf_link_hash_{copy_indirect,hide_symbol}.
934889857Sobrien	(elf_link_assign_sym_version): Likewise.
934989857Sobrien	* elfxx-target.h (elf_backend_copy_indirect_symbol): Default.
935089857Sobrien	(elf_backend_hide_symbol): Likewise.
935189857Sobrien	(elfNN_bed): Update for new members.
935289857Sobrien
935389857Sobrien2000-02-17  Kevin Buettner  <kevinb@redhat.com>
935489857Sobrien
935589857Sobrien	* rs6000-core.c (CORE_DATA_SIZE_FIELD, CORE_COMM_FIELD, SAVE_FIELD,
935689857Sobrien	STACK_END_ADDR): Define for new core file format.
935789857Sobrien	(LOADER_OFFSET_FIELD, LOADER_REGION_SIZE, CORE_DUMP): New defines
935889857Sobrien	for handling the vagaries of the various core file structures used
935989857Sobrien	by AIX over the years.
936089857Sobrien	(rs6000coff_core_p, rs6000coff_core_file_matches_executable,
936189857Sobrien	Rs6kCorData): Use above defines to adapt code to use AIX 4.3's
936289857Sobrien	core_dumpx structure.
936389857Sobrien
936489857Sobrien2000-02-17  J"orn Rennecke <amylaar@cygnus.co.uk>
936589857Sobrien
936689857Sobrien	* archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros.
936789857Sobrien	(bfd_mach_sh3_dsp): Likewise.
936889857Sobrien	(bfd_mach_sh4): Reinstate.
936989857Sobrien	(bfd_default_scan): Recognize 7410, 7708, 7729 and 7750.
937089857Sobrien	* bfd-in2.h: Regenerate.
937189857Sobrien	* coff-sh.c (struct sh_opcode): flags is no longer short.
937289857Sobrien	(USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros.
937389857Sobrien	(sh_opcode41, sh_opcode42): Integrate as sh_opcode41.
937489857Sobrien	(sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes.
937589857Sobrien	(sh_opcode41, sh_opcode4, sh_opcode80): Likewise.
937689857Sobrien	(sh_opcodes): No longer const.
937789857Sobrien	(sh_dsp_opcodef0, sh_dsp_opcodef): New arrays.
937889857Sobrien	(sh_insn_uses_reg): Check for USESAS and USESR8.
937989857Sobrien	(sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS.
938089857Sobrien	(_bfd_sh_align_load_span): Return early for SH4.
938189857Sobrien	Modify sh_opcodes lookup table for sh-dsp / sh3-dsp.
938289857Sobrien	Take into account that field b of a parallel processing insn
938389857Sobrien	could be mistaken for a separate insn.
938489857Sobrien	* cpu-sh.c (arch_info_struct): New array elements for
938589857Sobrien	sh2, sh-dsp and sh3-dsp.
938689857Sobrien	Reinstate element for sh4.
938789857Sobrien	(SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros.
938889857Sobrien	(SH4_NEXT): Reinstate.
938989857Sobrien	(SH3_NEXT, SH3E_NEXT): Adjust.
939089857Sobrien	* elf-bfd.h (_sh_elf_set_mach_from_flags): Declare.
939189857Sobrien	* elf32-sh.c (sh_elf_set_private_flags): New function.
939289857Sobrien	(sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise.
939389857Sobrien	(sh_elf_merge_private_data): New function.
939489857Sobrien	(elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define.
939589857Sobrien	(bfd_elf32_bfd_copy_private_bfd_data): Define.
939689857Sobrien	(bfd_elf32_bfd_merge_private_bfd_data): Change to
939789857Sobrien	sh_elf_merge_private_data.
939889857Sobrien
939989857Sobrien2000-02-13  Richard Henderson  <rth@cygnus.com>
940089857Sobrien
940189857Sobrien	* elf-bfd.h (struct elf_link_hash_table): Add copy_indirect and
940289857Sobrien	hide_symbol members.
940389857Sobrien	(elf_link_hash_copy_indirect): New.
940489857Sobrien	(elf_link_hash_hide_symbol): New.
940589857Sobrien	* elflink.h (elf_link_add_object_symbols): Break out copy from
940689857Sobrien	indirect new new symbol to elf.c.
940789857Sobrien	(elf_link_assign_sym_version): Break out privatization of
940889857Sobrien	non-exported symbol to elf.c.
940989857Sobrien	* elf.c (_bfd_elf_link_hash_copy_indirect): New.
941089857Sobrien	(_bfd_elf_link_hash_hide_symbol): New.
941189857Sobrien	(_bfd_elf_link_hash_table_init): Init copy_indirect and hide_symbol.
941289857Sobrien
941389857Sobrien2000-02-13  Ian Lance Taylor  <ian@zembu.com>
941489857Sobrien
941589857Sobrien	* section.c (_bfd_strip_section_from_output): Add info parameter.
941689857Sobrien	If it passed as non-NULL, use it to check whether any input BFD
941789857Sobrien	has an input section which uses this output section.  Change all
941889857Sobrien	callers.
941989857Sobrien	* bfd-in2.h: Rebuild.
942089857Sobrien
942189857Sobrien	* bfd-in.h: Move declarations of bfd_get_elf_phdr_upper_bound and
942289857Sobrien	bfd_get_elf_phdrs in from bfd-in2.h, correcting patch of
942389857Sobrien	1999-11-29.
942489857Sobrien	* bfd-in2.h: Rebuild.
942589857Sobrien
942689857Sobrien2000-02-10  Timothy Wall  <twall@cygnus.com>
942789857Sobrien
942889857Sobrien	* coffswap.h (coff_swap_sym_in): Add hook SWAP_SYM_IN_POST to
942989857Sobrien	allow final modifications of swapped-in symbol.
943089857Sobrien	(coff_swap_sym_out): Ditto with SWAP_SYM_OUT_POST.
943189857Sobrien	* coffcode.h (coff_write_relocs): Use macro
943289857Sobrien	SECTION_RELATIVE_ABSOLUTE_SYMBOL_P if defined to determine whether
943389857Sobrien	symbol index should be set to -1.
943489857Sobrien
943589857Sobrien2000-02-10  Toshiyasu Morita (toshi.morita@sega.com)
943689857Sobrien
943789857Sobrien	* coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG,
943889857Sobrien	USESF1_REG, USESF2_REG, SETSF1_REG, SETSF2_REG): New macros.
943989857Sobrien	* (sh_insn_sets_reg, sh_insn_sets_freg): New prototypes.
944089857Sobrien	* (sh_insn_sets_reg, sh_insn_uses_or_sets_reg, sh_insns_sets_freg,
944189857Sobrien	sh_insns_uses_or_sets_freg): New functions.
944289857Sobrien	* (sh_insn_uses_reg, sh_insn_uses_freg): Use new macros.
944389857Sobrien	* (sh_insns_conflict): Use new functions and new macros to
944489857Sobrien	detect conflicts when two instructions both set same integer registers,
944589857Sobrien	both set same fp register, and both set special register.
944689857Sobrien
944789857Sobrien2000-02-09  Timothy Wall  <twall@cygnus.com>
944889857Sobrien
944989857Sobrien	* coffgen.c (coff_real_object_p): Set arch/mach info prior to
945089857Sobrien	swapping in sections, so that the swapping routines have access to
945189857Sobrien	the arch/mach info.
945289857Sobrien
945389857Sobrien2000-02-08 Mark Elbrecht <snowball3@bigfoot.com>
945489857Sobrien
945589857Sobrien	* coff-go32.c: Update comment. Update copyright.
945689857Sobrien
945789857Sobrien2000-01-27  Thomas de Lellis  <tdel@windriver.com>
945889857Sobrien
945989857Sobrien	* syms.c (bfd_decode_symclass)
946089857Sobrien	Two new class characters were added - 'V' and 'v'.  The
946189857Sobrien	meaning of 'W' is now restricted to just weak non-object
946289857Sobrien	symbols.  This allows differentiation between, for example,
946389857Sobrien	weak functions vs weak objects.  nm for example now dumps:
946489857Sobrien	'W' = weak global
946589857Sobrien	'w' = weak unresolved
946689857Sobrien	'V' = weak global object
946789857Sobrien	'v' = weak unresolved object
946889857Sobrien
946989857Sobrien	(bfd_is_undefined_symclass): New function.  Return true if the
947089857Sobrien	given symbol class represents and undefined/unresolved symbol.
947189857Sobrien
947289857Sobrien	(bfd_symbol_info): Use bfd_is_undefined_symclass to check for
947389857Sobrien	unresolved symbols.
947489857Sobrien
947589857Sobrien	* bfd-in2.h: Add prototype for bfd_is_undefined_symbol().
947689857Sobrien
947789857Sobrien	* elf32-arm.h (elf32_arm_get_symbol_type): If a symbol has the
947889857Sobrien	STT_ARM_16BIT flag set, but it is not attached to a data object
947989857Sobrien	return STT_ARM_16BIT so that it will be treated as code by the
948089857Sobrien	disassembler.
948189857Sobrien
948289857Sobrien2000-01-27  Alan Modra  <alan@spri.levels.unisa.edu.au>
948389857Sobrien
948489857Sobrien	* coff-i386.c (i3coff_object_p): Remove prototype.
948589857Sobrien	Update copyright.
948689857Sobrien
948789857Sobrien	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Add const
948889857Sobrien	to name.  Update copyright.
948989857Sobrien
949089857Sobrien	* trad-core.c (trad_unix_core_file_p): Cast core_regsec
949189857Sobrien	assignment to avoid warning.  Update copyright.
949289857Sobrien
949389857Sobrien2000-01-24  Robert Lipe  (robertl@sco.com)
949489857Sobrien
949589857Sobrien	* coffcode.h (coff_write_object_contents): Get buff via bfd_malloc
949689857Sobrien	instead of using GNU C extension.
949789857Sobrien
949889857Sobrien2000-01-21  Nick Clifton  <nickc@cygnus.com>
949989857Sobrien
950089857Sobrien	* libbfd.c (bfd_read): Do not attempt to get a negativly sized
950189857Sobrien	amount from a bfd_in_memory structure.
950289857Sobrien	(bfd_seek): Do not allow seeks past the end of a bfd_in_memory
950389857Sobrien	structure.
950489857Sobrien
950589857Sobrien2000-01-14  Nick Clifton  <nickc@cygnus.com>
950689857Sobrien
950789857Sobrien	* linker.c (default_indirect_link_order): oops - fix incorrectly
950889857Sobrien	applied patch from Tim Wall.
950989857Sobrien
951089857Sobrien2000-01-13  Timothy Wall (twall@tiac.net>
951189857Sobrien
951289857Sobrien	* coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx
951389857Sobrien	= scnhsz, filhsz, relsz, aoutsz, etc)
951489857Sobrien
951589857Sobrien	* coffswap.h: Ditto.
951689857Sobrien
951789857Sobrien2000-01-13  Nick Clifton  <nickc@cygnus.com>
951889857Sobrien
951989857Sobrien	* elf32-arm.h (elf32_thumb_to_arm_stub): Fix offset in branch to
952089857Sobrien	interwork thumb to arm stub.
952189857Sobrien
952289857Sobrien2000-01-13  Timothy Wall (twall@tiac.net>
952389857Sobrien
952489857Sobrien	* archures.c (bfd_octets_per_byte): New function: Return
952589857Sobrien	target byte size.
952689857Sobrien	(bfd_arch_mach_octets_per_byte): New function: Return target
952789857Sobrien	byte size.
952889857Sobrien
952989857Sobrien	* section.c: Distinguish between octets and bytes for usage of
953089857Sobrien	_cooked_size,  _raw_size, and output_offset.  Clarify
953189857Sobrien	description of bfd_set_section_contents.
953289857Sobrien
953389857Sobrien	* bfd-in2.h: Regenerate.
953489857Sobrien
953589857Sobrien	* coffgen.c: Indicate that the offset parameter is in bytes, not
953689857Sobrien	octets.
953789857Sobrien
953889857Sobrien	* cofflink.c (bfd_coff_link_input_bfd): Use bfd_octets_per_byte
953989857Sobrien	where appropriate to get the octet offset when calling
954089857Sobrien	bfd_set_section_contents.
954189857Sobrien	(bfd_coff_reloc_link_order): Ditto.
954289857Sobrien
954389857Sobrien	* linker.c (bfd_generic_reloc_link_order): Ditto.
954489857Sobrien	(_bfd_default_link_order): Ditto.
954589857Sobrien
954689857Sobrien	* reloc.c (bfd_perform_relocation):  Distinguish between octets
954789857Sobrien	and bytes.  Use octets when indexing into octet data; use bytes
954889857Sobrien	when calculating target addresses.
954989857Sobrien	(bfd_install_relocation): Ditto.
955089857Sobrien
955189857Sobrien	* srec.c (srec_write_section): Ditto.
955289857Sobrien
955389857Sobrien2000-01-13  Nick Clifton  <nickc@cygnus.com>
955489857Sobrien
955589857Sobrien	* coff-mcore.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from
955689857Sobrien	3 to 2.  This allows 4 byte sized sections, which is necessary for
955789857Sobrien	dlltool to build functioning DLLs.
955889857Sobrien
955989857Sobrien2000-01-10  Philip Blundell  <pb@futuretv.com>
956089857Sobrien
956189857Sobrien	* config.bfd (arm*-*-linux-gnu*): Match instead of arm*-*-linux-gnu.
956289857Sobrien	(arm*-*-conix*): New target.
956389857Sobrien
956489857Sobrien2000-01-10  Egor Duda  <deo@logos-m.ru>
956589857Sobrien
956689857Sobrien	* config.bfd: Include elf32_i386 vector to target list for cygwin
956789857Sobrien	and mingw.
956889857Sobrien
956989857Sobrien	* config.in: Undefine HAVE_WIN32_PSTATUS_T.
957089857Sobrien	* configure.in: Test for structure win32_pstatus_t in
957189857Sobrien	<sys/procfs.h>
957289857Sobrien	* configure: Regenerate.
957389857Sobrien
957489857Sobrien	* elf.c (elfcore_grok_win32pstatus): New function: process
957589857Sobrien	win32_pstatus_t notes in elf core file.
957689857Sobrien	(elfcore_grok_note): Detect win32_pstatus notes.
957789857Sobrien
957889857Sobrien2000-01-03  Martin v. Loewis  <loewis@informatik.hu-berlin.de>
957989857Sobrien
958089857Sobrien	* elflink.c (_bfd_elf_link_record_dynamic_symbol): Process symbol
958189857Sobrien	visibility.
958289857Sobrien	* elflink.h (elf_link_add_object_symbols): Combine visibilities.
958389857Sobrien	* elf.c (bfd_elf_print_symbol): Interpret st_other as visibility.
958489857Sobrien
958589857SobrienFor older changes see ChangeLog-9899
958689857Sobrien
958789857SobrienLocal Variables:
958889857Sobrienmode: change-log
958989857Sobrienleft-margin: 8
959089857Sobrienfill-column: 74
959189857Sobrienversion-control: never
959289857SobrienEnd:
9593