160484SobrienThu Dec 21 12:43:49 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
260484Sobrien
360484Sobrien	* elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the
460484Sobrien	old style TOC16 references without using R_PPC_GOT.
560484Sobrien	(ppc_reloc_type): Ditto.
660484Sobrien	(ppc_elf_reloc_type_lookup): Add support for TOC16.
760484Sobrien	(ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner.
860484Sobrien	(ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc.
960484Sobrien	(ppc_elf_got16_{inner,reloc}): Stubs for real GOT support.
1060484Sobrien	(ppc_elf_check_relocs): New function for GOT/PLT support that is
1160484Sobrien	work in progress.
1260484Sobrien	(ppc_elf_adjust_dynamic_symbol): Ditto.
1360484Sobrien	(ppc_elf_adjust_dynindx): Ditto.
1460484Sobrien	(ppc_elf_size_dynamic_sections): Ditto.
1560484Sobrien	(ppc_elf_finish_dynamic_symbol): Ditto.
1660484Sobrien	(ppc_elf_finish_dynamic_sections): Ditto.
1760484Sobrien	(ELF_DYNAMIC_INTERPRETER): Define.
1860484Sobrien
1960484SobrienWed Dec 20 19:14:18 1995  Ken Raeburn  <raeburn@cygnus.com>
2060484Sobrien
2160484Sobrien	* elf.c (copy_private_bfd_data): When attaching sections to
2260484Sobrien	segments ignore sections that won't be allocated.  Patch from
2360484Sobrien	Andreas Schwab.
2460484Sobrien
2560484SobrienTue Dec 19 20:01:43 1995  Ken Raeburn  <raeburn@cygnus.com>
2660484Sobrien
2760484Sobrien	* config.bfd: Match on m68k-cbm-* only if OS doesn't match
2860484Sobrien	anything else.
2960484Sobrien
3060484SobrienTue Dec 19 16:38:59 1995  Ian Lance Taylor  <ian@cygnus.com>
3160484Sobrien
3260484Sobrien	* coff-i960.c (CALC_ADDEND): Define.
3360484Sobrien	(coff_i960_relocate_section): Add the input section VMA to the
3460484Sobrien	addend for PC relative relocs.
3560484Sobrien
3660484SobrienSun Dec 17 20:11:55 1995  Kim Knuttila  <krk@cygnus.com>
3760484Sobrien
3860484Sobrien	* peicode.h (pe_print_pdata): Must test the entire entry for zero
3960484Sobrien	to correctly terminate.
4060484Sobrien
4160484SobrienFri Dec 15 12:05:57 1995  Ian Lance Taylor  <ian@cygnus.com>
4260484Sobrien
4360484Sobrien	* targets.c (enum bfd_endian): Define.
4460484Sobrien	(bfd_target): Rename byteorder_big_p to byteorder, and change it
4560484Sobrien	from boolean to enum bfd_endian.  Change header_byteorder_big_p
4660484Sobrien	correspondingly.
4760484Sobrien	* bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
4860484Sobrien	(bfd_header_big_endian, bfd_header_little_endian): New macros.
4960484Sobrien	* bfd-in2.h: Rebuild.
5060484Sobrien	* All targets: Change initialization of byteorder and
5160484Sobrien	header_byteorder to use enum bfd_endian values rather than
5260484Sobrien	booleans.
5360484Sobrien	* All files: Change all references to byteorder_big_p and
5460484Sobrien	header_byteorder_big_p to use new bfd_*_endian macros.
5560484Sobrien
5660484Sobrien	* coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
5760484Sobrien	s_vaddr.
5860484Sobrien	* coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
5960484Sobrien	vma.
6060484Sobrien	* ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
6160484Sobrien
6260484SobrienFri Dec 15 07:32:09 1995  steve chamberlain  <sac@slash.cygnus.com>
6360484Sobrien
6460484Sobrien	* pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'.
6560484Sobrien
6660484SobrienThu Dec 14 13:45:37 1995  Ian Lance Taylor  <ian@cygnus.com>
6760484Sobrien
6860484Sobrien	* ieee.c: Lots of minor cleanups.  Make many functions return
6960484Sobrien	errors rather than calling abort.  Also:
7060484Sobrien	(ieee_write_twobyte): Remove; change callers to call existing
7160484Sobrien	ieee_write_2bytes function.
7260484Sobrien	(ieee_write_expression): Don't output the section twice when
7360484Sobrien	outputting a local symbol.  Don't emit an extraneous zero if there
7460484Sobrien	is only one term.
7560484Sobrien	(ieee_slurp_sections): Set the lma as well as the vma.
7660484Sobrien	(ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
7760484Sobrien
7860484Sobrien	* ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
7960484Sobrien	a recognized one or bfd_arch_unknown.
8060484Sobrien	(ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
8160484Sobrien	to succeed.
8260484Sobrien	(ihex_get_symtab): Likewise.
8360484Sobrien
8460484SobrienWed Dec 13 15:44:06 1995  Ian Lance Taylor  <ian@cygnus.com>
8560484Sobrien
8660484Sobrien	* aoutx.h: Include <ctype.h>.
8760484Sobrien	(struct aout_link_includes_table): Define.
8860484Sobrien	(struct aout_link_includes_totals): Define.
8960484Sobrien	(struct aout_link_includes_entry): Define.
9060484Sobrien	(aout_link_includes_lookup): Define macro.
9160484Sobrien	(struct aout_final_link_info): Add includes field.
9260484Sobrien	(aout_link_includes_newfunc): New static function.
9360484Sobrien	(NAME(aout,final_link)): Initialize includes hash table.
9460484Sobrien	(aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
9560484Sobrien
9660484SobrienWed Dec 13 10:52:14 1995  Stan Shebs  <shebs@andros.cygnus.com>
9760484Sobrien
9860484Sobrien	* mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff.
9960484Sobrien
10060484SobrienWed Dec 13 11:07:45 1995  Kim Knuttila  <krk@cygnus.com>
10160484Sobrien
10260484Sobrien	* coff-ppc.c (coff_ppc_relocate_section): removed debugging code.
10360484Sobrien
10460484SobrienTue Dec 12 17:42:06 1995  Kim Knuttila  <krk@cygnus.com>
10560484Sobrien
10660484Sobrien	* peicode.h (pe_print_reloc): New function to dump the .reloc section.
10760484Sobrien	(pe_print_private_bfd_data): call pe_print_reloc.
10860484Sobrien	* coffcode.h (coff_set_alignment_hook): .reloc section alignment.
10960484Sobrien	* coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed
11060484Sobrien	up some debugging as well.
11160484Sobrien
11260484SobrienTue Dec 12 11:34:23 1995  Ian Lance Taylor  <ian@cygnus.com>
11360484Sobrien
11460484Sobrien	* config.bfd: Handle sparc-*-elf*.  From Ronald F. Guilmette
11560484Sobrien	<rfg@monkeys.com>.
11660484Sobrien
11760484SobrienFri Dec  8 17:47:07 1995  Ian Lance Taylor  <ian@cygnus.com>
11860484Sobrien
11960484Sobrien	* elflink.h (elf_link_add_object_symbols): Set section_count to 0
12060484Sobrien	when setting sections to NULL.
12160484Sobrien
12260484SobrienWed Dec  6 17:05:37 1995  Ian Lance Taylor  <ian@cygnus.com>
12360484Sobrien
12460484Sobrien	* xcofflink.c (struct xcoff_loader_info): Add export_defineds
12560484Sobrien	field.
12660484Sobrien	(bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
12760484Sobrien	(xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
12860484Sobrien	for all symbols.
12960484Sobrien	* bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
13060484Sobrien	* bfd-in2.h: Rebuild.
13160484Sobrien
13260484SobrienMon Dec  4 16:40:47 1995  Kim Knuttila  <krk@cygnus.com>
13360484Sobrien
13460484Sobrien	* coffcode.h (coff_set_alignment_hook): Removed some debugging printf's
13560484Sobrien
13660484SobrienMon Dec  4 11:25:39 1995  Ian Lance Taylor  <ian@cygnus.com>
13760484Sobrien
13860484Sobrien	* ihex.c (ihex_scan): Handle record types 4 and 5.
13960484Sobrien	(ihex_object_p): Permit types 4 and 5.
14060484Sobrien	(ihex_set_section_contents): Remove check for out of range
14160484Sobrien	addresses.
14260484Sobrien	(ihex_write_object_contents): Generate types 4 and 5.
14360484Sobrien
14460484Sobrien	* elflink.h (elf_link_output_extsym): Just ignore warning and
14560484Sobrien	indirect references to symbols which don't really exist.
14660484Sobrien
14760484SobrienSun Dec  3 19:00:27 1995  Kim Knuttila  <krk@cygnus.com>
14860484Sobrien
14960484Sobrien	* peicode.h (pe_print_idata): Minor format fixes
15060484Sobrien	(pe_print_edata): New function. Under private printing, this formats
15160484Sobrien	the edata section of a PE file.
15260484Sobrien	(pe_print_private_bfd_data): Added call to pe_print_edata.
15360484Sobrien
15460484SobrienSun Dec  3 16:46:54 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
15560484Sobrien
15660484Sobrien	* aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
15760484Sobrien	index, don't call stoi.
15860484Sobrien
15960484SobrienFri Dec  1 14:46:51 1995  Ian Lance Taylor  <ian@cygnus.com>
16060484Sobrien
16160484Sobrien	* srec.c (srec_scan): Set lma as well as vma.
16260484Sobrien
16360484Sobrien	* ihex.c: New file; support for Intel Hex format.
16460484Sobrien	* targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
16560484Sobrien	(ihex_vec): Declare.
16660484Sobrien	(bfd_target_vector): Always include ihex_vec.
16760484Sobrien	* bfd.c (struct _bfd): Add ihex_data field to tdata union.
16860484Sobrien	* Makefile.in: Rebuild dependencies.
16960484Sobrien	(BFD_LIBS): Add ihex.o
17060484Sobrien	(BFD_LIBS_CFILES): Add ihex.c.
17160484Sobrien	* bfd-in2.h: Rebuild.
17260484Sobrien
17360484Sobrien	* elf.c (assign_file_positions_for_segments): Sort the sections in
17460484Sobrien	each segment.
17560484Sobrien	(get_program_header_size): Return the right size if segment_map is
17660484Sobrien	not NULL.
17760484Sobrien	(copy_private_bfd_data): Don't bother to sort the sections.
17860484Sobrien
17960484Sobrien	* bfd.c (bfd_record_phdr): New function.
18060484Sobrien	* bfd-in.h (bfd_record_phdr): Declare.
18189857Sobrien	* bfd-in2.h: Rebuild.
18260484Sobrien
18360484Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
18460484Sobrien	BFD_ASSERT.
18560484Sobrien
18660484Sobrien	* libbfd.c (bfd_malloc, bfd_realloc): New functions.
18760484Sobrien	(bfd_zmalloc): Return PTR, not char *.  Take size_t, not
18860484Sobrien	bfd_size_type.
18960484Sobrien	* libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
19060484Sobrien	(bfd_zmalloc): Change declaration.
19160484Sobrien	* libbfd.h: Rebuild.
19260484Sobrien	* Many files: Use bfd_malloc and bfd_realloc rather than malloc
19360484Sobrien	and realloc.  Don't set bfd_error_no_memory if they fail.
19460484Sobrien
19560484SobrienThu Nov 30 19:32:26 1995  Kim Knuttila  <krk@cygnus.com>
19660484Sobrien
19760484Sobrien	* coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous
19860484Sobrien	uses as well. Added a new howto to deal with TOCREL16 relocs that
19960484Sobrien	are TOCDEFN as well.
20060484Sobrien	(coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs
20160484Sobrien	to handle RVA relocs from dlltool.
20260484Sobrien	(ppc_coff_rtype2howto): TOCDEFN reloc addition.
20360484Sobrien	(coff_ppc_rtype_to_howto): TOCDEFN reloc addition.
20460484Sobrien	(ppc_coff_reloc_type_lookup): TOCDEFN reloc addition.
20560484Sobrien
20660484Sobrien	* coffcode.h (coff_set_alignment_hook): check idata$X sections
20760484Sobrien	to get the right section alignment.
20860484Sobrien
20960484SobrienThu Nov 30 16:48:18 1995  Ian Lance Taylor  <ian@cygnus.com>
21060484Sobrien
21160484Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
21260484Sobrien	p_paddr if p_paddr is zero.
21360484Sobrien	(make_mapping): Set includes_filehdr and includes_phdrs for first
21460484Sobrien	PT_LOAD segment.
21560484Sobrien	(map_sections_to_segments): Set includes_phdrs for PT_PHDR
21660484Sobrien	segment.
21760484Sobrien	(assign_file_positions_for_segments): Handle includes_filehdr and
21860484Sobrien	includes_phdrs.  Remove special handling of PT_PHDR and first
21960484Sobrien	PT_LOAD segments.
22060484Sobrien	(copy_private_bfd_data): Set includes_filehdr and includes_phdr
22160484Sobrien	when appropriate.  Remove special handling of PT_PHDR segment.
22260484Sobrien	Use a more complex condition for when a section is included in a
22360484Sobrien	segment to handle Solaris linker oddities.
22460484Sobrien
22560484SobrienThu Nov 30 11:17:33 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
22660484Sobrien
22760484Sobrien	* coff-m88k.c (howto_table): Reformatted for easier reading;
22860484Sobrien	special_function now points to new function m88k_special_reloc.
22960484Sobrien	(howto_hvrt16): Function previously used for handling HVRT16 relocs
23060484Sobrien	removed.
23160484Sobrien	(rtype2howto): Do not add reloc's r_offset to the addend, this will
23260484Sobrien	be done correctly by m88k_special_reloc.
23360484Sobrien	(reloc_processing): New function to be used by RELOC_PROCESSING.
23460484Sobrien	(RELOC_PROCESSING): Define to call reloc_processing.
23560484Sobrien
23660484SobrienWed Nov 29 12:42:36 1995  Ian Lance Taylor  <ian@cygnus.com>
23760484Sobrien
23860484Sobrien	* peicode.h (pe_print_idata): Call malloc rather than xmalloc.
23960484Sobrien	(pe_print_pdata): Likewise.
24060484Sobrien
24160484Sobrien	* opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
24260484Sobrien	obstack_alloc fails.
24360484Sobrien	(bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
24460484Sobrien	fails.
24560484Sobrien	* libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
24660484Sobrien	* Many files: don't set bfd_error_no_memory if one of the above
24760484Sobrien	routines fails.
24860484Sobrien
24960484Sobrien	* elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
25060484Sobrien	if p_paddr_valid is set.
25160484Sobrien	(copy_private_bfd_data): New static function.
25260484Sobrien	(_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
25360484Sobrien
25460484Sobrien	* elf.c (assign_file_positions_for_segments): Fix case where extra
25560484Sobrien	program headers were allocated.
25660484Sobrien
25760484Sobrien	* elf.c (_bfd_elf_print_private_bfd_data): New function.
25860484Sobrien	* elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
25960484Sobrien	* elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
26060484Sobrien	_bfd_elf_print_private_bfd_data.
26160484Sobrien
26260484Sobrien	* coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
26360484Sobrien	r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
26460484Sobrien	Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
26560484Sobrien	(alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
26660484Sobrien	RELOC_SECTION_LITA for ALPHA_R_IGNORE.
26760484Sobrien	(alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
26860484Sobrien	RELOC_SECTION_ABS to RELOC_SECTION_NONE.
26960484Sobrien
27060484SobrienTue Nov 28 16:59:50 1995  Ian Lance Taylor  <ian@cygnus.com>
27160484Sobrien
27260484Sobrien	* elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
27360484Sobrien	* elf.c (make_mapping): New static function.
27460484Sobrien	(map_sections_to_segments): New static function.
27560484Sobrien	(elf_sort_sections): New static function.
27660484Sobrien	(assign_file_positions_for_segments): New static function.
27760484Sobrien	(map_program_segments): Remove.
27860484Sobrien	(get_program_header_size): Remove sorted_hdrs, count, and
27960484Sobrien	maxpagesize parameters.  Simplify.
28060484Sobrien	(assign_file_positions_except_relocs): When generating an
28160484Sobrien	executable, use assign_file_positions_for_segments.
28260484Sobrien	(elf_sort_hdrs): Remove.
28360484Sobrien	(_bfd_elf_sizeof_headers): Remove eliminated parameters from call
28460484Sobrien	to get_program_header_size.
28560484Sobrien
28660484SobrienMon Nov 27 12:27:46 1995  Ian Lance Taylor  <ian@cygnus.com>
28760484Sobrien
28860484Sobrien	* hp300hpux.c (MY(callback)): Set lma as well as vma.
28960484Sobrien
29060484Sobrien	* configure, config.in: Regenerate with autoconf 2.7.
29160484Sobrien
29260484Sobrien	* elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
29360484Sobrien	* elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
29460484Sobrien
29560484SobrienWed Nov 22 12:02:09 1995  Ian Lance Taylor  <ian@cygnus.com>
29660484Sobrien
29760484Sobrien	* ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
29860484Sobrien	(ecoff_sec_to_styp_flags): Likewise.
29960484Sobrien	(_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
30060484Sobrien	(ecoff_set_symbol_info): Handle scRConst.
30160484Sobrien	(ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
30260484Sobrien	(ecoff_compute_section_file_positions): Handle .rconst section.
30360484Sobrien	(_bfd_ecoff_write_object_contents): Likewise.
30460484Sobrien	(ecoff_link_check_archive_element): Handle scRConst.
30560484Sobrien	(ecoff_link_add_externals): Likewise.
30660484Sobrien	(ecoff_link_write_external): Handle .rconst section.
30760484Sobrien	(ecoff_reloc_link_order): Likewise.
30860484Sobrien	* ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
30960484Sobrien	* coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
31060484Sobrien	section.
31160484Sobrien	(alpha_relocate_section): Handle RELOC_SECTION_RCONST.
31260484Sobrien
31360484Sobrien	* sunos.c (sunos_scan_dynamic_symbol): Only set written if the
31460484Sobrien	DEF_DYNAMIC flag is set.
31560484Sobrien
31660484SobrienTue Nov 21 13:25:29 1995  Ken Raeburn  <raeburn@cygnus.com>
31760484Sobrien
31860484Sobrien	* host-aout.c: If TRAD_HEADER is defined, include it.
31960484Sobrien
32060484SobrienTue Nov 21 13:03:57 1995  Ian Lance Taylor  <ian@cygnus.com>
32160484Sobrien
32260484Sobrien	* aclocal.m4 (AC_PROG_CC): Remove local definition.
32360484Sobrien	(BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
32460484Sobrien	(BFD_NEED_DECLARATION): New function.
32560484Sobrien	* configure.in: Use BFD_NEED_DECLARATION.
32660484Sobrien	* acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
32760484Sobrien	* configure, config.in: Rebuild with autoconf 2.6.
32860484Sobrien
32960484Sobrien	* xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
33060484Sobrien	special_sections before returning when called with a non XCOFF
33160484Sobrien	BFD.
33260484Sobrien
33360484Sobrien	* coffgen.c (coff_renumber_symbols): Sort common symbols with
33460484Sobrien	global symbols.
33560484Sobrien
33660484Sobrien	* coffcode.h (coff_compute_section_file_positions): Only pad the
33760484Sobrien	previous section to force file alignment when creating an
33860484Sobrien	executable.
33960484Sobrien
34060484SobrienMon Nov 20 14:54:09 1995  Ian Lance Taylor  <ian@cygnus.com>
34160484Sobrien
34260484Sobrien	* coffcode.h (coff_compute_section_file_positions): If
34360484Sobrien	RS6000COFF_C, set up the .debug section.
34460484Sobrien
34560484Sobrien	* xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
34660484Sobrien	if it is not large enough to accomodate the entire TOC area with
34760484Sobrien	signed 16 bit offsets.
34860484Sobrien	(xcoff_write_global_symbol): Handle negative TOC offsets in global
34960484Sobrien	linkage code.
35060484Sobrien	(_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
35160484Sobrien	TOC anchor to use the TOC value used in the output file.
35260484Sobrien
35360484SobrienSat Nov 18 18:01:41 1995  Ian Lance Taylor  <ian@cygnus.com>
35460484Sobrien
35560484Sobrien	* coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
35660484Sobrien	(_bfd_coff_read_string_table): Likewise.
35760484Sobrien
35860484SobrienSat Nov 18 19:43:04 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
35960484Sobrien
36060484Sobrien	* pe-arm.c: Fix typos.
36160484Sobrien	* coff-arm.c: Likewise.
36260484Sobrien
36360484SobrienFri Nov 17 16:22:04 1995  Kim Knuttila  <krk@cygnus.com>
36460484Sobrien
36560484Sobrien	* coff-ppc.c (list_ele): Added "cat"egory member.
36660484Sobrien	(record_toc): New category parameter (priv or pub).
36760484Sobrien	(ppc_record_toc_entry): Check to see if toc bounds exceeded.
36860484Sobrien	(ppc_process_before_allocation): Removed embrionic data-in-toc from
36960484Sobrien	the mainline. It addes extra toc cells in error.
37060484Sobrien	(ppc_coff_swap_sym_in_hook): Added some documentation.
37160484Sobrien	(dump_toc): Can now diagnose "virtual toc" chicanery.
37260484Sobrien
37360484SobrienFri Nov 17 10:41:25 1995  Philippe De Muyter  <phdm@info.ucl.ac.be>
37460484Sobrien
37560484Sobrien	* elf-bfd.h (struct elf_link_hash_table): Change type of
37660484Sobrien	dynsymcount and bucketcount fields from size_t to bfd_size_type.
37760484Sobrien
37860484SobrienFri Nov 17 10:02:58 1995  Ian Lance Taylor  <ian@cygnus.com>
37960484Sobrien
38060484Sobrien	* coffcode.h (coff_pointerize_aux_hook): I960 version: don't
38160484Sobrien	pointerize C_LEAFSTAT or C_LEAFEXT entries.
38260484Sobrien
38360484Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
38460484Sobrien	DT_INIT and DT_FINI entries if the _init or _fini symbol is
38560484Sobrien	defined or mentioned in a regular file.
38660484Sobrien
38760484SobrienThu Nov 16 15:16:42 1995  Kim Knuttila  <krk@cygnus.com>
38860484Sobrien
38960484Sobrien	* coff-ppc.c (ppc_record_data_in_toc_entry): new function
39060484Sobrien	(coff_ppc_relocate_section): Handle TOCDEFN attribute
39160484Sobrien	(coff_ppc_relocate_section): Correct REL24 handling
39260484Sobrien	(ppc_process_before_allocation): Correct TOCDEFN handling
39360484Sobrien
39460484Sobrien	* peicode.h (dir_names): Added name descriptions
39560484Sobrien
39660484SobrienThu Nov 16 03:38:03 1995  Ken Raeburn  <raeburn@cygnus.com>
39760484Sobrien
39860484Sobrien	* VERSION: Updated to cygnus-2.6.
39960484Sobrien
40060484SobrienWed Nov 15 19:30:07 1995  Ken Raeburn  <raeburn@cygnus.com>
40160484Sobrien
40260484Sobrien	* targets.c (m68k4knetbsd_vec): Declare.
40360484Sobrien
40460484SobrienWed Nov 15 18:05:52 1995  Ian Lance Taylor  <ian@cygnus.com>
40560484Sobrien
40660484Sobrien	* targets.c (bfd_target): Change type of second argument to
40760484Sobrien	_bfd_print_private_bfd_data from void * to PTR.
40860484Sobrien	* libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
40960484Sobrien	using PTR rather than void *.
41089857Sobrien	* bfd-in2.h, libbfd.h: Rebuild.
41160484Sobrien	* peicode.h (pe_print_private_bfd_data): Change vfile from void *
41260484Sobrien	to PTR.
41360484Sobrien	* elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
41460484Sobrien	_bfd_generic_bfd_print_private_bfd_data rather than casting
41560484Sobrien	bfd_true.
41660484Sobrien
41760484SobrienWed Nov 15 04:09:14 1995  Ken Raeburn  <raeburn@cygnus.com>
41860484Sobrien
41960484Sobrien	* Makefile.in (.dep1): Fix stupid typo in last change.  Remove any
42060484Sobrien	"DO NOT DELETE" lines or blank lines that mkdep writes on some
42160484Sobrien	systems.
42260484Sobrien	(BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES,
42360484Sobrien	BFD64_BACKENDS_CFILES): New variables.
42460484Sobrien	(CFILES): Use them.
42560484Sobrien
42660484SobrienTue Nov 14 11:52:23 1995  Ian Lance Taylor  <ian@cygnus.com>
42760484Sobrien
42860484Sobrien	* peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
42960484Sobrien	not at the file position of the first section.
43060484Sobrien	* coffcode.h (coff_compute_section_file_positions): Avoid using
43160484Sobrien	unportable #elif.
43260484Sobrien	(coff_write_object_contents): When generating a PPC PE executable
43360484Sobrien	with no symbols, round up the file size to a COFF_PAGE_SIZE
43460484Sobrien	boundary.
43560484Sobrien	* cofflink.c (_bfd_coff_final_link): If there are no symbols,
43660484Sobrien	don't write out a string table.
43760484Sobrien
43860484Sobrien	* elf.c (bfd_section_from_shdr): When using a different section
43960484Sobrien	header, pass the new one to _bfd_elf_make_section_from_shdr.
44060484Sobrien	(elf_fake_sections): Don't set sh_info and sh_entsize fields.
44160484Sobrien	(elf_map_symbols): Add section VMA to symbol value when comparing
44260484Sobrien	against 0.
44360484Sobrien	(_bfd_elf_compute_section_file_positions): Only build symbol table
44460484Sobrien	if there are some symbols.  Set file offset of symtab and strtab
44560484Sobrien	sections.
44660484Sobrien	(assign_file_positions_except_relocs): Remove dosyms parameter.
44760484Sobrien	Change all callers.  Never set file offset of symtab and strtab
44860484Sobrien	sections.
44960484Sobrien	(_bfd_elf_copy_private_section_data): New function.
45060484Sobrien	(MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
45160484Sobrien	(_bfd_elf_copy_private_symbol_data): New function.
45260484Sobrien	(swap_out_syms): Check for special mapping of st_shndx created by
45360484Sobrien	copy_private_symbol_data.
45460484Sobrien	* elfxx-target.h: Use new copy routines.
45560484Sobrien	* elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
45660484Sobrien	(_bfd_elf_copy_private_section_data): Declare.
45760484Sobrien
45860484Sobrien	* config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
45960484Sobrien
46060484Sobrien	* coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
46160484Sobrien	C_NT_WEAK.
46260484Sobrien
46360484Sobrien	* coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
46460484Sobrien	_bfd_dummy_target, matching the recent change to archive
46560484Sobrien	recognition.
46660484Sobrien
46760484SobrienMon Nov 13 13:24:38 1995  Ian Lance Taylor  <ian@cygnus.com>
46860484Sobrien
46960484Sobrien	* libbfd.c (bfd_get_file_window): Use casts to avoid doing
47060484Sobrien	arithmetic on PTR types.
47160484Sobrien
47260484Sobrien	* aout-target.h (MY(callback)): Set the lma of the sections.
47360484Sobrien
47460484Sobrien	* ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
47560484Sobrien	symbol into a reloc against the section.
47660484Sobrien
47760484SobrienMon Nov 13 07:31:35 1995  Kim Knuttila  <krk@cygnus.com>
47860484Sobrien
47960484Sobrien	* coff-ppc.c (ppc_coff_link_hash_entry): added support for inline
48060484Sobrien	glue for the relocs: IMGLUE and IFGLUE.
48160484Sobrien	(record_toc): new function - tracks toc contents
48260484Sobrien	(ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc
48360484Sobrien	(coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE
48460484Sobrien	(ppc_coff_rtype2howto): removed invalid IMGLUE hack
48560484Sobrien	(coff_ppc_rtype_to_howto): removed invalid IMGLUE hack
48660484Sobrien	(ppc_record_toc_entry): Removed a debug define (duh)
48760484Sobrien
48860484Sobrien	* peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata"
48960484Sobrien	(pe_print_idata): New function - formats the idata section data
49060484Sobrien	(pe_print_pdata): New function - formats the pdata section data
49160484Sobrien	(pe_print_private_bfd_data): calls to above
49260484Sobrien
49360484SobrienSun Nov 12 12:23:24 1995  Stan Shebs  <shebs@andros.cygnus.com>
49460484Sobrien
49560484Sobrien	* Makefile.in (bfd_libs_here, etc): Provide empty definitions.
49660484Sobrien	* coff-rs6000.c (rs6000coff_vec): Add conditional defines
49760484Sobrien	TARGET_SYM and TARGET_NAME for vector and BFD name.
49860484Sobrien	* coff-pmac.c (pmac_xcoff_vec): Remove.
49960484Sobrien	(TARGET_SYM, TARGET_NAME): Define.
50060484Sobrien	* coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
50160484Sobrien	machine to 0, not all PowerMacs are 601s.
50260484Sobrien
50360484SobrienFri Nov 10 12:10:14 1995  Ian Lance Taylor  <ian@cygnus.com>
50460484Sobrien
50560484Sobrien	* elfcode.h (elf_object_p): Read in any program headers.
50660484Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma
50760484Sobrien	based on the program headers, if any.
50860484Sobrien	(elf_fake_sections): Set sh_addr from the vma, not the lma.
50960484Sobrien	(map_program_segments): Set p_paddr of program headers based on
51060484Sobrien	the lma.
51160484Sobrien
51260484SobrienThu Nov  9 13:01:31 1995  Ian Lance Taylor  <ian@cygnus.com>
51360484Sobrien
51460484Sobrien	* archive.c (bfd_generic_archive_p): Preserve tdata in case of
51560484Sobrien	failure.
51660484Sobrien
51760484Sobrien	* aoutx.h (NAME(aout,final_link)): Report a reasonable error when
51860484Sobrien	trying to do a relocateable link with a non-a.out object file.
51960484Sobrien
52060484Sobrien	* archive.c (bfd_generic_archive_p): Check the first object file
52160484Sobrien	in an archive even if target_defaulted is set.  If the object file
52260484Sobrien	has the wrong xvec, reject it.
52360484Sobrien
52460484Sobrien	* aoutx.h (NAME(aout,set_section_contents)): If a section can not
52560484Sobrien	be represented, report the name via _bfd_error_handler.
52660484Sobrien	(translate_to_native_sym_flags): Likewise.
52760484Sobrien	* elf32-mips.c (mips_elf_final_link): Likewise.
52860484Sobrien	* oasys.c (oasys_write_sections): Likewise.
52960484Sobrien
53060484Sobrien	* coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
53160484Sobrien	which checks for STYP_OVRFLO sections.
53260484Sobrien	(coff_compute_section_file_positions): If RS6000COFF_C, handle
53360484Sobrien	reloc and lineno count overflows.
53460484Sobrien	(coff_write_object_contents): Call coff_count_linenumbers before
53560484Sobrien	coff_compute_section_file_positions.  If RS6000COFF_C, handle
53660484Sobrien	reloc and lineno count overflows.
53760484Sobrien	* xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
53860484Sobrien	relocs before dealing with .pad sections.  Count overflow section
53960484Sobrien	headers when handling .pad sections.
54060484Sobrien
54160484Sobrien	* coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
54260484Sobrien	if RS6000COFF_C.
54360484Sobrien
54460484Sobrien	* xcofflink.c (XCOFF_DESCRIPTOR): Define.
54560484Sobrien	(struct xcoff_link_hash_table): Add descriptor_section and
54660484Sobrien	special_sections fields.
54760484Sobrien	(_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
54860484Sobrien	(xcoff_link_add_symbols): Set linkage section alignment.  Create
54960484Sobrien	descriptor section.  Check for magic symbol names (_text, etc.),
55060484Sobrien	and record them in special_sections if found.  Set
55160484Sobrien	XCOFF_DESCRIPTOR flag for a function descriptor, and set its
55260484Sobrien	descriptor field to point back to the function code symbol.
55360484Sobrien	(xcoff_sweep): Always mark the special descriptor_section.
55460484Sobrien	(bfd_xcoff_export_symbol): Check whether the symbol might be a
55560484Sobrien	function descriptor, and mark it if it is.
55660484Sobrien	(bfd_xcoff_size_dynamic_sections): Add new special_sections
55760484Sobrien	parameter, and fill it in.  Allocate space for the descriptor
55860484Sobrien	section.
55960484Sobrien	(xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
56060484Sobrien	global linkage code.  If an undefined function descriptor is
56160484Sobrien	exported, arrange to define it.  Warn about any other undefined
56260484Sobrien	exported symbol.
56360484Sobrien	(_bfd_xcoff_bfd_final_link): Write out the descriptor section.
56460484Sobrien	(xcoff_write_global_symbol): Create a function descriptor when
56560484Sobrien	necessary.
56660484Sobrien	* bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
56760484Sobrien	* bfd-in2.h: Rebuild.
56860484Sobrien
56960484SobrienThu Nov  9 08:40:23 1995  Kim Knuttila  <krk@cygnus.com>
57060484Sobrien
57160484Sobrien	* coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
57260484Sobrien	(ppc_coff_link_hash_table): new types for hashing
57360484Sobrien	(ppc_coff_link_hash_newfunc): hash entry constructor
57460484Sobrien	(ppc_coff_link_hash_table_init): hash table initializer
57560484Sobrien	(ppc_coff_link_hash_table_create): hash table constructor
57660484Sobrien	(ppc_record_toc_entry): changed references to hash table
57760484Sobrien	(coff_ppc_relocate_section): changed references to hash table
57860484Sobrien
57960484Sobrien	* libcoff-in.h (coff_link_hash_entry): removed toc_offset
58060484Sobrien	* libcoff.h: Rebuild
58160484Sobrien
58260484Sobrien	* cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
58360484Sobrien	(coff_link_add_symbols): removed toc_offset init
58460484Sobrien
58560484SobrienThu Nov  9 04:00:38 1995  Ken Raeburn  <raeburn@cygnus.com>
58660484Sobrien
58760484Sobrien	* Makefile.in (.dep1): Make sure the file mkdep is to write exists
58860484Sobrien	first.
58960484Sobrien
59060484Sobrien	* configure.in: Added new option --with[out]-mmap.  Set USE_MMAP
59160484Sobrien	if it is given and mmep is available.
59260484Sobrien	* acconfig.h: Undef USE_MMAP.
59360484Sobrien	* configure, config.in: Regenerated.
59460484Sobrien	* aoutx.h: If USE_MMAP is not defined, do all symbol and string
59560484Sobrien	table handling the old way.
59660484Sobrien	(aout_get_external_symbols): Don't complain if last byte of string
59760484Sobrien	table is nonzero.
59860484Sobrien	* libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
59960484Sobrien	(bfd_free_window) [! USE_MMAP]: Don't define.
60060484Sobrien	(bfd_get_file_window,
60160484Sobrien	_bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
60260484Sobrien
60360484SobrienWed Nov  8 20:03:44 1995  Eric Freudenthal <freudenthal@nyu.edu>
60460484Sobrien
60560484Sobrien	* coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
60660484Sobrien	0xffff0000.
60760484Sobrien
60860484SobrienWed Nov  8 11:31:11 1995  Ian Lance Taylor  <ian@cygnus.com>
60960484Sobrien
61060484Sobrien	* coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
61160484Sobrien	compatible with AMD generated COFF files.  Try to support both AMD
61260484Sobrien	and GNU formats simultaneously.
61360484Sobrien	(coff_a29k_relocate_section): Likewise.
61460484Sobrien
61560484Sobrien	* libbfd.c (bfd_get_file_window): Change writable parameter from
61660484Sobrien	int to boolean; update all callers.  Pass MAP_SHARED if not
61760484Sobrien	writable--it's required on Solaris.  Cast fprintf argument to
61860484Sobrien	avoid warning.
61960484Sobrien	* bfd-in.h (bfd_get_file_window): Update declaration.
62060484Sobrien	* bfd-in2.h: Rebuild.
62160484Sobrien	* aoutx.h: Update calls to bfd_get_file_window.
62260484Sobrien
62360484Sobrien	* xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
62460484Sobrien	Change all uses.
62560484Sobrien	(xcoff_swap_ldhdr_in): New static function.
62660484Sobrien	(xcoff_swap_ldsym_in): New static function.
62760484Sobrien	(xcoff_find_reloc): Handle the case of a single reloc correctly.
62860484Sobrien	(xcoff_link_add_symbols): If we just created a descriptor, pass it
62960484Sobrien	to _bfd_generic_link_add_one_symbol, to save a hash lookup.
63060484Sobrien	Handle XTY_ER/XMC_XO symbols correctly.
63160484Sobrien	(xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
63260484Sobrien	rather than normal symbol table.
63360484Sobrien	(bfd_xcoff_import_symbol): It's not an error if the symbol is
63460484Sobrien	already defined with the same absolute value.
63560484Sobrien	(xcoff_mark): When considering called symbols, check whether the
63660484Sobrien	descriptor is from a dynamic object, rather than the symbol
63760484Sobrien	itself.
63860484Sobrien	(xcoff_build_ldsyms): Likewise.
63960484Sobrien
64060484Sobrien	* libbfd.c (bfd_get_file_window): Change return type to boolean.
64160484Sobrien	Cast realloc and malloc return values.  If malloc or realloc fail,
64260484Sobrien	set bfd_error_no_memory.
64360484Sobrien	* bfd-in.h (bfd_get_file_window): Change type to boolean.
64460484Sobrien	* bfd-in2.h: Rebuild.
64560484Sobrien
64660484SobrienTue Nov  7 11:53:48 1995  Kim Knuttila  <krk@cygnus.com>
64760484Sobrien
64860484Sobrien	* coff-ppc.c (ppc_record_toc_entry): new function.
64960484Sobrien	(in_reloc_p): changed return value.
65060484Sobrien	(coff_ppc_relocate_section): much rework.
65160484Sobrien	(ppc_allocate_toc_section): new function.
65260484Sobrien	(ppc_process_before_allocation): new function.
65360484Sobrien	(ppc_coff_swap_sym_in_hook): new function.
65460484Sobrien
65560484Sobrien	* cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
65660484Sobrien	(coff_link_add_symbols): initialize toc_offset.
65760484Sobrien
65860484Sobrien	* peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
65960484Sobrien	(coff_swap_aouthdr_out): Added more sections to the data
66060484Sobrien	dictionary for the pe file header. Also changed linker version
66160484Sobrien	number on the ppc side.
66260484Sobrien	(dir_names): small improvements to the dictionary printing.
66360484Sobrien	(pe_mkobject_hook): save the file level flags.
66460484Sobrien
66560484Sobrien	* libcoff-in.h (coff_link_hash_entry): added toc_offset field
66660484Sobrien	(pe_tdata): added real_flags field
66760484Sobrien	(coff_tdata): added local_toc_sym_map and access macro
66860484Sobrien
66960484Sobrien	* libcoff.h (coff_link_hash_entry): added toc_offset field
67060484Sobrien	(pe_tdata): added real_flags field
67160484Sobrien	(coff_tdata): added local_toc_sym_map and access macro
67260484Sobrien
67360484Sobrien	* coffcode.h (coff_set_alignment_hook): added hook for PE.
67460484Sobrien	(coff_mkobject): init for local_toc_sym_map
67560484Sobrien	(coff_write_object_contents): set the internal_a.magic to
67660484Sobrien        IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
67760484Sobrien	ppc compilers use.
67860484Sobrien
67960484SobrienTue Nov  7 13:48:58 1995  Ian Lance Taylor  <ian@cygnus.com>
68060484Sobrien
68160484Sobrien	* ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
68260484Sobrien	entries until both the line number address and the function name
68360484Sobrien	address are too large.
68460484Sobrien
68560484Sobrien	* configure.in: Call AC_CHECK_PROG to find and cache AR.
68660484Sobrien	* configure: Rebuilt.
68760484Sobrien
68860484Sobrien	* aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
68960484Sobrien	is defined in the environment.
69060484Sobrien
69160484SobrienTue Nov  7 10:57:24 1995  Jeffrey A Law  (law@cygnus.com)
69260484Sobrien
69360484Sobrien	* som.c (som_get_section_contents_in_window): Define to use
69460484Sobrien	generic version.
69560484Sobrien
69660484SobrienMon Nov  6 17:13:15 1995  Harry Dolan  <dolan@ssd.intel.com>
69760484Sobrien
69860484Sobrien	* coff-i860.c: New file, based on coff-i386.c.
69960484Sobrien	* cpu-i860.c: New file, based on cpu-i386.c.
70060484Sobrien	* hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
70160484Sobrien	* config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
70260484Sobrien	targets, using i860coff_vec.
70360484Sobrien	* configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
70460484Sobrien	trad-core.o and hosts/i860mach3.h.
70560484Sobrien	(i860coff_vec): Use coff-i860.o and cofflink.o.
70660484Sobrien	* configure: Rebuild.
70760484Sobrien	* Makefile.in: Rebuild dependencies.
70860484Sobrien	(ALL_MACHINES): Add cpu-i860.o.
70960484Sobrien	(BFD32_BACKENDS): Add coff-i860.o.
71060484Sobrien	(CFILES): Add cpu-i860.c and coff-i860.c.
71160484Sobrien	* targets.c (i860coff_vec): Declare.
71260484Sobrien	(bfd_target_vector): Add &i860coff_vec.
71360484Sobrien	* archures.c (bfd_i860_arch): Declare.
71460484Sobrien	(bfd_archures_list): Add &bfd_i860_arch.
71560484Sobrien	* coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
71660484Sobrien	(coff_set_flags): Handle bfd_arch_i860.
71760484Sobrien	(coff_write_object_contents): Handle I860 a.out magic number.
71860484Sobrien
71960484SobrienMon Nov  6 14:34:07 1995  Ian Lance Taylor  <ian@cygnus.com>
72060484Sobrien
72160484Sobrien	* xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
72260484Sobrien	the created .tc section to 2.
72360484Sobrien	(xcoff_mark): Don't keep a .loader reloc for a call to an
72460484Sobrien	undefined symbol when creating a shared library.
72560484Sobrien	(xcoff_build_ldsyms): When creating a shared library, generate
72660484Sobrien	global linkage code for a call to an undefined symbol.
72760484Sobrien
72860484SobrienSun Nov  5 21:44:13 1995  Ken Raeburn  <raeburn@cygnus.com>
72960484Sobrien
73060484Sobrien	* Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
73160484Sobrien	BFD32_BACKENDS, BFD64_BACKENDS.
73260484Sobrien	(.dep1): Put mkdep output in a separate file.
73360484Sobrien	Rebuilt dependencies.
73460484Sobrien
73560484Sobrien	* ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
73660484Sobrien	value.
73760484Sobrien
73860484Sobrien	Permit use of mmap when available:
73960484Sobrien
74060484Sobrien	* configure.in: Check for mmap, madvise, mprotect.
74160484Sobrien	* config.in, configure: Regenerated.
74260484Sobrien
74360484Sobrien	* libbfd.c (struct _bfd_window_internal): Define type.
74460484Sobrien	(bfd_init_window, bfd_free_window, bfd_get_file_window): New
74560484Sobrien	functions.
74660484Sobrien	(ok_to_map): New static variable for debugging.
74760484Sobrien	(_bfd_generic_get_section_contents_in_window): New function.
74860484Sobrien	* bfd-in.h (bfd_window_internal): Declare type.
74960484Sobrien	(bfd_window): Define type.
75060484Sobrien	(bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
75160484Sobrien	* libbfd-in.h (_bfd_generic_get_section_contents_in_window):
75260484Sobrien	Declare.
75360484Sobrien
75460484Sobrien	* libaout.h (struct aoutdata): Add two window fields.
75560484Sobrien	(obj_aout_sym_window, obj_aout_string_window): New macros.
75660484Sobrien	* aoutx.h (some_aout_object_p): Initialize windows.
75760484Sobrien	(aout_get_external_symbols): Get symbol data and strings in
75860484Sobrien	windows instead of explicitly allocated buffers.
75960484Sobrien	(slurp_symbol_table): Free window instead of memory.
76060484Sobrien	(bfd_free_cached_info): Release windows instead of freeing storage
76160484Sobrien	directly.
76260484Sobrien	(aout_link_free_symbols): Ditto.
76360484Sobrien
76460484Sobrien	* targets.c (bfd_target): Add new field for
76560484Sobrien	get_section_contents_in_window.
76660484Sobrien	(BFD_JUMP_TABLE_GENERIC): Updated.
76760484Sobrien	* aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
76860484Sobrien	coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
76960484Sobrien	libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
77060484Sobrien	macros for get_section_contents_in_window field.
77160484Sobrien
77260484SobrienSat Nov  4 12:23:26 1995  Fred Fish  <fnf@cygnus.com>
77360484Sobrien
77460484Sobrien	* core.c: Renamed to corefile.c
77560484Sobrien	* makefile.dos (OBJS): Change core.o to corefile.o
77660484Sobrien	* Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
77760484Sobrien
77860484SobrienFri Nov  3 15:54:59 1995  Ian Lance Taylor  <ian@cygnus.com>
77960484Sobrien
78060484Sobrien	* xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
78160484Sobrien	to o.  Clobber and restore the list of new csects around the call
78260484Sobrien	to _bfd_generic_link_add_one_symbol, in case it wants to report a
78360484Sobrien	linker error and the linker wants to read the symbol table.  Reset
78460484Sobrien	the line number count of a real section even if it has no relocs.
78560484Sobrien	(_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
78660484Sobrien
78760484Sobrien	* coffgen.c (_bfd_coff_read_string_table): Warn if the string size
78860484Sobrien	is too small.
78960484Sobrien
79060484SobrienThu Nov  2 23:16:39 1995  Ian Lance Taylor  <ian@cygnus.com>
79160484Sobrien
79260484Sobrien	* xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
79360484Sobrien	an undefined symbol in a shared link.
79460484Sobrien
79560484Sobrien	* linker.c (_bfd_generic_link_add_one_symbol): Correct type of
79660484Sobrien	oldtype from bfd_link_order_type to bfd_link_hash_type.  From
79760484Sobrien	phdm@info.ucl.ac.be (Philippe De Muyter).
79860484Sobrien
79960484SobrienWed Nov  1 14:26:02 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
80060484Sobrien
80160484Sobrien	* coff-m88k.c (rtype2howto): New static function.
80260484Sobrien	(RTYPE2HOWTO): Use it rather than a macro definition.
80360484Sobrien
80460484Sobrien	* coffcode.h (coff_write_object_contents): set internal_a.magic
80560484Sobrien	to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
80660484Sobrien
80760484Sobrien	* configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
80860484Sobrien	define TRAD_HEADER to new file hosts/delta68.h.
80960484Sobrien	m88*-motorola-sysv*, however, does use ptrace-core.o.
81060484Sobrien	* hosts/delta68.h: New file.
81160484Sobrien
81260484Sobrien	* ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
81360484Sobrien	bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
81460484Sobrien
81560484SobrienWed Nov  1 13:51:54 1995  Ken Raeburn  <raeburn@cygnus.com>
81660484Sobrien
81760484Sobrien	* i386linux.c (MY(vec)): Declare before use.
81860484Sobrien
81960484SobrienWed Nov  1 11:45:07 1995  Ian Lance Taylor  <ian@cygnus.com>
82060484Sobrien
82160484Sobrien	* reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
82260484Sobrien	Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
82360484Sobrien
82460484Sobrien	* elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
82560484Sobrien	BFD is not of the right type.
82660484Sobrien	(bfd_elf_get_needed_list): Likewise.
82760484Sobrien	* i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
82860484Sobrien	* sunos.c (bfd_sunos_get_needed_list): Likewise.
82960484Sobrien	* xcofflink.c (XCOFF_XVECP): Define.
83060484Sobrien	(bfd_xcoff_link_record_set): Don't do anything if the BFD is not
83160484Sobrien	of the right type.
83260484Sobrien	(bfd_xcoff_import_symbol): Likewise.
83360484Sobrien	(bfd_xcoff_export_symbol): Likewise.
83460484Sobrien	(bfd_xcoff_link_count_reloc): Likewise.
83560484Sobrien	(bfd_xcoff_record_link_assignment): Likewise.
83660484Sobrien	(bfd_xcoff_size_dynamic_sections): Likewise.
83760484Sobrien
83860484Sobrien	* sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
83960484Sobrien	table index against the number of symbols for a base relative
84060484Sobrien	reloc.
84160484Sobrien
84260484Sobrien	* coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
84360484Sobrien	static function.
84460484Sobrien	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
84560484Sobrien	full_aouthdr flag here...
84660484Sobrien	(_bfd_xcoff_bfd_final_link): ...not here.
84760484Sobrien
84860484SobrienTue Oct 31 12:52:02 1995  Fred Fish  <fnf@cygnus.com>
84960484Sobrien
85060484Sobrien	* libelf.h:  Rename to elf-bfd.h to avoid conflict with
85160484Sobrien	systems that have a system <libelf.h>.
85260484Sobrien	* Makefile.in: Globally replace libelf.h with elf-bfd.h.
85360484Sobrien	* bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
85460484Sobrien	elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
85560484Sobrien	elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
85660484Sobrien	elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
85760484Sobrien	elfxx-target.h: Include elf-bfd.h rather than libelf.h.
85860484Sobrien	* elfxx-target.h: Change libelf.h reference to elf-bfd.h.
85960484Sobrien
86060484SobrienTue Oct 31 15:30:07 1995  David Mosberger-Tang  <davidm@azstarnet.com>
86160484Sobrien
86260484Sobrien	* ecoff.c (ecoff_set_symbol_info): Add new parameter weak.  If
86360484Sobrien	set, set BSF_WEAK in symbol.  Change all callers.
86460484Sobrien	(ecoff_get_extr): Set weakext based on BSF_WEAK.
86560484Sobrien	(ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
86660484Sobrien	_bfd_generic_link_add_one_symbol.
86760484Sobrien	(ecoff_indirect_link_order): Check that the section tdata relocs
86860484Sobrien	are not NULL before using them.
86960484Sobrien
87060484Sobrien	* configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
87160484Sobrien	define TRAD_HEADER as hosts/alphalinux.h.
87260484Sobrien	* configure: Rebuild.
87360484Sobrien	* hosts/alphalinux.h: New file.
87460484Sobrien	* trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
87560484Sobrien	not int.
87660484Sobrien
87760484SobrienTue Oct 31 12:34:11 1995  Ian Lance Taylor  <ian@cygnus.com>
87860484Sobrien
87960484Sobrien	* coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
88060484Sobrien	C_ECOMM storage classes.
88160484Sobrien
88260484Sobrien	* xcofflink.c (xcoff_mark_symbol): New static function, broken out
88360484Sobrien	of xcoff_mark.
88460484Sobrien	(xcoff_mark): Call xcoff_mark_symbol.
88560484Sobrien	(bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
88660484Sobrien	(bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
88760484Sobrien	doing it by hand.
88860484Sobrien	(xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
88960484Sobrien
89060484SobrienMon Oct 30 14:53:48 1995  Ian Lance Taylor  <ian@cygnus.com>
89160484Sobrien
89260484Sobrien	* xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
89360484Sobrien	field.
89460484Sobrien	(xcoff_find_reloc): New static function.
89560484Sobrien	(xcoff_link_add_symbols): Use it.
89660484Sobrien	(_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
89760484Sobrien	(xcoff_link_input_bfd): Handle C_BINCL and C_EINCL.  Don't
89860484Sobrien	relocate the value of C_DECL.
89960484Sobrien
90060484Sobrien	* elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
90160484Sobrien
90260484SobrienSat Oct 28 01:25:34 1995  steve chamberlain  <sac@slash.cygnus.com>
90360484Sobrien
90460484Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section): Make
90560484Sobrien	callback decide what goes in .relocs.
90660484Sobrien	* pe[i]-i386.c (TARGET_UNDERSCORE): Define.
90760484Sobrien	* peicode.h (pe_mkobject_hook): Only copy aouthdr if
90860484Sobrien	there is one.
90960484Sobrien
91060484SobrienSat Oct 28 01:51:02 1995  Ian Lance Taylor  <ian@cygnus.com>
91160484Sobrien
91260484Sobrien	* xcofflink.c (xcoff_link_add_symbols): Handle csects in the
91360484Sobrien	absolute section.
91460484Sobrien
91560484SobrienFri Oct 27 18:14:39 1995  Ian Lance Taylor  <ian@cygnus.com>
91660484Sobrien
91760484Sobrien	* xcofflink.c: More improvements, mostly to fix handling of
91860484Sobrien	constructors and a few other special cases.
91960484Sobrien	* coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
92060484Sobrien	zero, reverting yesterday's change.
92160484Sobrien	* bfd-in.h (bfd_xcoff_link_record_set): Declare.
92260484Sobrien	(bfd_xcoff_link_count_reloc): Declare.
92360484Sobrien	(bfd_xcoff_record_link_assignment): Declare.
92460484Sobrien	* bfd-in2.h: Rebuild.
92560484Sobrien
92660484SobrienFri Oct 27 14:42:15 1995  Niklas Hallqvist  <niklas@appli.se>
92760484Sobrien
92860484Sobrien	* PORTING, aout-arm.c, aout-encap.c, aout-target.h,
92960484Sobrien	aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
93060484Sobrien	i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
93160484Sobrien	i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
93260484Sobrien	ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
93360484Sobrien	Change PAGE_SIZE to TARGET_PAGE_SIZE.
93460484Sobrien
93560484Sobrien	* m68knetbsd.c: Ditto as well as add support for the m68k4k object
93660484Sobrien	format.
93760484Sobrien
93860484Sobrien	* netbsd.h: Double ditto (incl. m68k4k support).  NetBSD's text
93960484Sobrien	segments includes the a.out header.  See to that the magic number
94060484Sobrien	*always* is big-endian.
94160484Sobrien
94260484Sobrien	* config.bfd: Add m68*-hp*-netbsd* case.  Cross-pollinate m68k and
94360484Sobrien	m68k4k NetBSD configurations.
94460484Sobrien
94560484Sobrien	* configure.in, configure: Separate i386 & mips NetBSD
94660484Sobrien	configurations from other BSD ones.  Don't assume DEC is the only
94760484Sobrien	thing NetBSD/mips run on.  Add {m68k,ns32k,sparc}-*-netbsd*
94860484Sobrien	configurations.  Add support for m68k4k NetBSD object format.
94960484Sobrien
95060484Sobrien	* libaout.h: Added M_68K4K_NETBSD magic.
95160484Sobrien
95260484Sobrien	* m68k4knetbsd.c: New file.
95360484Sobrien
95460484Sobrien	* hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
95560484Sobrien
95660484Sobrien	* hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
95760484Sobrien	<machine/endian.h>.
95860484Sobrien
95960484Sobrien	* hosts/mipsnbsd.h: New file.
96060484Sobrien
96160484SobrienThu Oct 26 14:16:47 1995  Ian Lance Taylor  <ian@cygnus.com>
96260484Sobrien
96360484Sobrien	* xcofflink.c: Numerous changes to get closer to a working XCOFF
96460484Sobrien	linker.
96560484Sobrien	* libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
96660484Sobrien	toc_section, and entry_section fields.
96760484Sobrien	(struct xcoff_section_tdata): Remove ldrel_count field.
96860484Sobrien	* libcoff.h: Rebuild.
96960484Sobrien	* coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
97060484Sobrien	fields.
97160484Sobrien	(coff_compute_section_file_positions): If RS6000COFF_C, generate
97260484Sobrien	full a.out header if full_aouthdr is set in xcoff_data.
97360484Sobrien	(coff_write_object_contents): Likewise.  Set o_snentry and o_sntoc
97460484Sobrien	based on sections stored in xcoff_data.
97560484Sobrien	* coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
97660484Sobrien	fields.
97760484Sobrien	(xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
97860484Sobrien	(rs6000coff_vec): Set symbol_leading_char to '.'.
97960484Sobrien	* coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
98060484Sobrien	value stored in ret rather than returning a pointer value.
98160484Sobrien
98260484SobrienWed Oct 25 23:10:39 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
98360484Sobrien
98460484Sobrien	* config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
98560484Sobrien	format for now.
98660484Sobrien
98760484SobrienWed Oct 25 16:19:27 1995  Jeffrey A Law  (law@cygnus.com)
98860484Sobrien
98960484Sobrien	* som.c (som_slurp_string_table): Allocate the strings with malloc
99060484Sobrien	since they're free'd by free_cached_info.
99160484Sobrien	(som_slurp_symbol_table): Similarly for the symbol table.
99260484Sobrien
99360484SobrienWed Oct 25 14:59:22 1995  Per Bothner  <bothner@kalessin.cygnus.com>
99460484Sobrien
99560484Sobrien	* Makefile.in (diststuff):  Don't make headers.
99660484Sobrien
99760484SobrienWed Oct 25 11:32:54 1995  Ian Lance Taylor  <ian@cygnus.com>
99860484Sobrien
99960484Sobrien	* Makefile.in: Rebuild dependencies.
100060484Sobrien
100160484Sobrien	* sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
100260484Sobrien	output_bfd is not SunOS.
100360484Sobrien	(bfd_sunos_size_dynamic_sections): Likewise.  Don't scan relocs of
100460484Sobrien	non-SunOS input files.
100560484Sobrien
100660484Sobrien	* xcofflink.c: Extensive changes to support linking shared objects
100760484Sobrien	and generating a .loader section.
100860484Sobrien	* libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
100960484Sobrien	(struct xcoff_section_tdata): Add lineno_count, first_symndx,
101060484Sobrien	last_symndx, and ldrel_count fields.
101160484Sobrien	* libcoff.h: Rebuild.
101260484Sobrien	* coff-rs6000.c (xcoff_howto_table): Correct reloc names.
101360484Sobrien	* coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
101460484Sobrien	is set.
101560484Sobrien	* bfd-in.h (bfd_xcoff_import_symbol): Declare.
101660484Sobrien	(bfd_xcoff_export_symbol): Declare.
101760484Sobrien	(bfd_xcoff_size_dynamic_sections): Declare.
101860484Sobrien	* bfd-in2.h: Rebuild.
101960484Sobrien
102060484SobrienTue Oct 24 17:44:20 1995  Stan Shebs  <shebs@andros.cygnus.com>
102160484Sobrien
102260484Sobrien	* configure.in: Add xcofflink.o to pmac_xcoff_vec.
102360484Sobrien	* configure: Rebuild.
102460484Sobrien	* mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
102560484Sobrien	* coff-pmac.c: Include coff-rs6000.c instead of duplicating its
102660484Sobrien	contents.
102760484Sobrien	(pmac_xcoff_vec): Update to use new xcoff support.
102860484Sobrien	* coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
102960484Sobrien	(xcoff_write_armap): Declare buf as unsigned char.
103060484Sobrien	* xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
103160484Sobrien
103260484Sobrien	* mpw-make.sed: Generalize subdir_do edit.
103360484Sobrien
103460484SobrienTue Oct 24 10:25:01 1995  Jeffrey A Law  (law@cygnus.com)
103560484Sobrien
103660484Sobrien	* hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
103760484Sobrien	correctly.  Don't initialize asect->vma.
103860484Sobrien
103960484SobrienFri Oct 20 13:23:48 1995  Ken Raeburn  <raeburn@cygnus.com>
104060484Sobrien
104160484Sobrien	* opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
104260484Sobrien	something a little less than the page size.
104360484Sobrien
104460484SobrienThu Oct 19 13:06:09 1995  Ian Lance Taylor  <ian@cygnus.com>
104560484Sobrien
104660484Sobrien	* coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
104760484Sobrien
104860484SobrienWed Oct 18 16:20:08 1995  steve chamberlain  <sac@slash.cygnus.com>
104960484Sobrien
105060484Sobrien	* coff-i386.c (coff_i386_reloc_type_lookup): New.
105160484Sobrien	* coffcode.h (coff_write_object_contents): If .bss is before
105260484Sobrien	.data us that as data_start.
105360484Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
105460484Sobrien	calc correct.
105560484Sobrien	* peicode.h (add_data_entry): Use _cooked_size of data directory.
105660484Sobrien	(coff_swap_outhdr_out): Hardwire in version number.
105760484Sobrien
105860484SobrienWed Oct 18 16:50:54 1995  Ken Raeburn  <raeburn@cygnus.com>
105960484Sobrien
106060484Sobrien	* sunos.c (sunos_add_dynamic_symbols): Rename local variables
106160484Sobrien	major and minor to *_vno, since the former are also macros in
106260484Sobrien	SunOS header files.  Cast result of bfd_alloc to appropriate
106360484Sobrien	type.
106460484Sobrien
106560484Sobrien	* coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
106660484Sobrien	before assigning to sec_data.
106760484Sobrien
106860484SobrienWed Oct 18 13:25:17 1995  Ian Lance Taylor  <ian@cygnus.com>
106960484Sobrien
107060484Sobrien	* ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
107160484Sobrien	now relative to the section, not absolute.
107260484Sobrien	* ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
107360484Sobrien	get the file name when there is a N_SO directory name.  When
107460484Sobrien	handling stabs, remember that section->vma was added to the
107560484Sobrien	offset.
107660484Sobrien
107760484SobrienTue Oct 17 18:24:54 1995  Ian Lance Taylor  <ian@cygnus.com>
107860484Sobrien
107960484Sobrien	* sunos.c (struct sunos_link_hash_table): Add needed field.
108060484Sobrien	(sunos_link_hash_table_create): Call bfd_release, not free.
108160484Sobrien	(sunos_link_hash_table_create): Initialize needed field.
108260484Sobrien	(sunos_add_dynamic_symbols): Record needed objects.
108360484Sobrien	(bfd_sunos_get_needed_list): New function.
108460484Sobrien	* bfd-in.h (bfd_sunos_get_needed_list): Declare.
108560484Sobrien	* bfd-in2.h: Rebuild.
108660484Sobrien
108760484SobrienMon Oct 16 14:43:59 1995  steve chamberlain  <sac@slash.cygnus.com>
108860484Sobrien
108960484Sobrien	* libcoff-in.h (pe_data_type.in_reloc_p): New.
109060484Sobrien
109160484SobrienMon Oct 16 10:52:50 1995  Ian Lance Taylor  <ian@cygnus.com>
109260484Sobrien
109360484Sobrien	* bfd-in.h (struct bfd_link_needed_list): Rename from
109460484Sobrien	bfd_elf_link_needed_list.
109560484Sobrien	* bfd-in2.h: Rebuild.
109660484Sobrien	* elf.c, elflink.h, libelf.h: Corresponding changes.
109760484Sobrien
109860484Sobrien	Add start at AIX linker support; no shared libraries yet.
109960484Sobrien	* xcofflink.c: New file.
110060484Sobrien	* configure.in (rs600coff_vec): Use xcofflink.o.
110160484Sobrien	* configure: Rebuild.
110260484Sobrien	* libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
110360484Sobrien	fields.
110460484Sobrien	(struct xcoff_section_tdata): Define.
110560484Sobrien	(xcoff_section_data): Define macro.
110660484Sobrien	(_bfd_xcoff_bfd_link_hash_table_create): Declare.
110760484Sobrien	(_bfd_xcoff_bfd_link_add_symbols): Declare.
110860484Sobrien	(_bfd_xcoff_bfd_final_link): Declare.
110960484Sobrien	(_bfd_ppc_xcoff_relocate_section): Declare.
111060484Sobrien	* libcoff.h: Rebuild.
111160484Sobrien	* coff-rs6000.c: Clean up a bit.
111260484Sobrien	(xcoff_mkobject): Default modtype to 1L, not RE.  Initialize
111360484Sobrien	cputype, csects, and debug_indices.
111460484Sobrien	(xcoff_copy_private_bfd_data): Copy cputype.
111560484Sobrien	(xcoff_howto_table): Rename from rs6000coff_howto_table.
111660484Sobrien	(xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
111760484Sobrien	(xcoff_reloc_type_lookup): Rename from
111860484Sobrien	rs6000coff_reloc_type_lookup.
111960484Sobrien	(coff_relocate_section): Define.
112060484Sobrien	(_bfd_xcoff_sizeof_headers): Define.
112160484Sobrien	(_bfd_xcoff_bfd_get_relocated_section_contents): Define.
112260484Sobrien	(_bfd_xcoff_bfd_relax_section): Define.
112360484Sobrien	(_bfd_xcoff_bfd_link_split_section): Define.
112460484Sobrien	(rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
112560484Sobrien	coff.
112660484Sobrien	* coffcode.h (coff_compute_section_file_positions): If AIX,
112760484Sobrien	increment sofar by SMALL_AOUTSZ if not executable.
112860484Sobrien	(coff_write_object_contents): If AIX, always output an a.out
112960484Sobrien	header; if not executable, header size of SMALL_AOUTSZ.
113060484Sobrien	* hash.c (struct bfd_strtab_hash): Add xcoff field.
113160484Sobrien	(_bfd_stringtab_init): Initialize xcoff field.
113260484Sobrien	(_bfd_xcoff_stringtab_init): New function.
113360484Sobrien	(_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
113460484Sobrien	(_bfd_stringtab_emit): In XCOFF mode, write out length.
113560484Sobrien	* libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
113660484Sobrien	* libbfd.h: Rebuild.
113760484Sobrien	* Makefile.in: Rebuild dependencies.
113860484Sobrien	(BFD32_BACKENDS): Add xcofflink.o.
113960484Sobrien	(CFILES): Add xcofflink.c.
114060484Sobrien
114160484Sobrien	* elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
114260484Sobrien	SEC_NO_FLAGS, for .acommon section.  From Peter Schauer
114360484Sobrien	<Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
114460484Sobrien
114560484SobrienSat Oct 14 21:36:02 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
114660484Sobrien
114760484Sobrien	* coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
114860484Sobrien
114960484SobrienFri Oct 13 17:48:43 1995  Ken Raeburn  <raeburn@cygnus.com>
115060484Sobrien
115160484Sobrien	* acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
115260484Sobrien	* config.in: Regenerated.
115360484Sobrien
115460484Sobrien	* opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
115560484Sobrien	(_bfd_chunksize): New variable.
115660484Sobrien	(_bfd_new_bfd): Set it to getpagesize() if negative, and use it
115760484Sobrien	for obstack chunk size.
115860484Sobrien	* configure.in: Check for getpagesize.
115960484Sobrien	* configure: Regenerated.
116060484Sobrien
116160484Sobrien	Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
116260484Sobrien
116360484Sobrien	* trad-core.c (rawptr): Make it a local variable of
116460484Sobrien 	ptrace_unix_core_file_p.
116560484Sobrien
116660484SobrienFri Oct 13 11:22:01 1995  steve chamberlain  <sac@slash.cygnus.com>
116760484Sobrien
116860484Sobrien	* coff-arm.c (in_reloc_p): New.
116960484Sobrien	* coff-i386.c (in_reloc_p): New.
117060484Sobrien	* coffcode.h: Allways include peicode.h if COFF_WITH_PE.
117160484Sobrien	(coff_write_object_contents): Only set has_reloc_section
117260484Sobrien	if PE_IMAGE.
117360484Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section): Call
117460484Sobrien	in_reloc_p to decide if reloc should be emitted.
117560484Sobrien	* libcoff.h (pe_data_type.in_reloc_p): New.
117660484Sobrien	* peicode.h (pe_mkobject): Initialize in_reloc_p.
117760484Sobrien
117860484SobrienWed Oct 11 00:49:29 1995  Ian Lance Taylor  <ian@cygnus.com>
117960484Sobrien
118060484Sobrien	* cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
118160484Sobrien	(_bfd_coff_read_internal_relocs): Likewise.
118260484Sobrien	* coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
118360484Sobrien	(_bfd_coff_read_internal_relocs): Likewise.
118460484Sobrien
118560484Sobrien	* elflink.h (elf_link_add_object_symbols): Correct conditions
118660484Sobrien	under which type and size change warnings are issued.
118760484Sobrien
118860484SobrienTue Oct 10 18:32:46 1995  Ian Lance Taylor  <ian@cygnus.com>
118960484Sobrien
119060484Sobrien	* coffgen.c (coff_count_linenumbers): Don't count line numbers for
119160484Sobrien	a symbol which is not in a real section.
119260484Sobrien	(coff_write_native_symbol): Corresponding change.
119360484Sobrien
119460484Sobrien	* cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
119560484Sobrien	coff_link_hash_newfunc and make non-static.
119660484Sobrien	(_bfd_coff_link_hash_table_init): New function, broken out of
119760484Sobrien	_bfd_coff_link_hash_table_create.
119860484Sobrien	(_bfd_coff_link_hash_table_create): Use it.
119960484Sobrien	(process_embedded_commands): Make static.
120060484Sobrien	* libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
120160484Sobrien	(_bfd_coff_link_hash_table_init): Declare.
120260484Sobrien	* libcoff.h: Rebuild.
120360484Sobrien
120460484Sobrien	* coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
120560484Sobrien	field in XCOFF tdata.
120660484Sobrien	(coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
120760484Sobrien	U802ROMAGIC, for clarity.  Try to set arch and machine correctly
120860484Sobrien	based on cputype stored in a.out header, or in n_type of initial
120960484Sobrien	.file symbol.
121060484Sobrien	(coff_write_object_contents): Set cputype correctly in a.out
121160484Sobrien	header.
121260484Sobrien	(coff_slurp_symbol_table): Add casts to file_ptr to avoid
121360484Sobrien	warnings.
121460484Sobrien	* coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
121560484Sobrien	(coff_swap_aouthdr_out): Swap out cputype field.  Don't clear
121660484Sobrien	old resv1 field.
121760484Sobrien	* libcoff-in.h (struct xcoff_tdata): Add cputype field.
121860484Sobrien	* libcoff.h: Rebuild.
121960484Sobrien
122060484Sobrien	* cpu-rs6000.c (rs6000_compatible): New static function.
122160484Sobrien	(bfd_rs6000_arch): Use it.
122260484Sobrien	* cpu-powerpc.c (powerpc_compatible): New static function.
122360484Sobrien	(arch_info_struct): Define various flavours of PowerPC.
122460484Sobrien	(bfd_powerpc_arch): Use powerpc_compatible.  Point at
122560484Sobrien	arch_info_struct.
122660484Sobrien
122760484SobrienTue Oct 10 10:50:46 1995  Fred Fish  <fnf@cygnus.com>
122860484Sobrien
122960484Sobrien	* Makefile.in (FLAGS_TO_PASS):  Remove BISON.
123060484Sobrien
123160484SobrienTue Oct 10 01:28:29 1995  Ian Lance Taylor  <ian@cygnus.com>
123260484Sobrien
123360484Sobrien	* elflink.h (elf_link_add_object_symbols): Don't warn about
123460484Sobrien	changing the size or type if the old definition was weak.
123560484Sobrien
123660484SobrienMon Oct  9 11:24:08 1995  Ian Lance Taylor  <ian@cygnus.com>
123760484Sobrien
123860484Sobrien	* coffcode.h (combined_entry_type): Add fix_line field.
123960484Sobrien	(coff_slurp_line_table): Warn if we try to set the lineno field of
124060484Sobrien	a symbol twice.
124160484Sobrien	(coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
124260484Sobrien	C_EINCL by setting fix_line.  Fix C_BSTAT symbol value.
124360484Sobrien	* coffgen.c (coff_mangle_symbols): Handle fix_line.
124460484Sobrien	(coff_write_symbol): Only use N_DEBUG if the symbol is in the
124560484Sobrien	absolute section.
124660484Sobrien	(coff_print_symbol): Print fix_value symbols in a useful fashion.
124760484Sobrien	* libcoff.h: Rebuild.
124860484Sobrien
124960484Sobrien	* libcoff-in.h (struct xcoff_tdata): Define.
125060484Sobrien	(xcoff_data): Define.
125160484Sobrien	* bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
125260484Sobrien	* bfd-in2.h, libcoff.h: Rebuild.
125360484Sobrien	* coff-rs6000.c (xcoff_mkobject): New static function.
125460484Sobrien	(coff_mkobject): Define.
125560484Sobrien	(xcoff_copy_private_bfd_data): New static function.
125660484Sobrien	(coff_bfd_copy_private_bfd_data): Define.
125760484Sobrien	(rs6000coff_howto_table): Change R_TOC complain_on_overflow from
125860484Sobrien	signed to bitfield.
125960484Sobrien	(rs6000coff_vec): Add DYNAMIC to object_flags.
126060484Sobrien	* coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
126160484Sobrien	.loader sections specially.
126260484Sobrien	(coff_new_section_hook): If RS6000COFF_C, get the .text and .data
126360484Sobrien	section alignment from the XCOFF tdata information.
126460484Sobrien	(coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
126560484Sobrien	F_SHROBJ, and copy the extra a.out header information into the
126660484Sobrien	XCOFF tdata structure.
126760484Sobrien	(coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
126860484Sobrien	F_DYNLOAD and the extra a.out header information.
126960484Sobrien	(coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
127060484Sobrien	C_HIDEXT symbol with attached csect information.
127160484Sobrien	* coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
127260484Sobrien	in the o_maxdata field.
127360484Sobrien	(coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
127460484Sobrien	* coffgen.c (coff_renumber_symbols): Don't move any symbol to the
127560484Sobrien	end if BSF_NOT_AT_END is set.
127660484Sobrien
127760484Sobrien	* targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
127860484Sobrien	_bfd_read_ar_hdr_fn.
127960484Sobrien	* libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
128060484Sobrien	* bfd-in2.h, libbfd.h: Rebuild.
128160484Sobrien	* archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
128260484Sobrien	return value.
128360484Sobrien	(do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
128460484Sobrien	(bfd_slurp_bsd_armap_f2): Likewise.
128560484Sobrien	(_bfd_slurp_extended_name_table): Likewise.
128660484Sobrien
128760484SobrienFri Oct  6 16:18:35 1995  Ken Raeburn  <raeburn@cygnus.com>
128860484Sobrien
128960484Sobrien	Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
129060484Sobrien
129160484Sobrien	* archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
129260484Sobrien	when the symbol table is empty.
129360484Sobrien
129460484Sobrien	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
129560484Sobrien	space for section symbols, since we don't output them either.
129660484Sobrien	(elf_m68k_adjust_dynindx): Removed.
129760484Sobrien
129860484Sobrien	* ptrace-core.c (rawptr): Make it a local variable of
129960484Sobrien 	ptrace_unix_core_file_p.
130060484Sobrien
130160484SobrienFri Oct  6 12:24:47 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
130260484Sobrien
130360484Sobrien	* coff-rs6000.c (xcoff_write_archive_contents): Return false, not
130460484Sobrien	NULL.
130560484Sobrien
130660484Sobrien	* config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
130760484Sobrien	Mac object file formats.
130860484Sobrien
130960484SobrienFri Oct  6 12:04:02 1995  Ian Lance Taylor  <ian@cygnus.com>
131060484Sobrien
131160484Sobrien	* coffgen.c (coff_fix_symbol_name): Don't try to set up file
131260484Sobrien	auxent if there isn't one.
131360484Sobrien	(coff_write_symbols): If there is no file auxent, use SYMNMLEN
131460484Sobrien	rather than FILNMLEN as the maximum name length.
131560484Sobrien
131660484Sobrien	* coffcode.h (bfd_coff_backend_data): Add new field
131760484Sobrien	_bfd_coff_print_aux.
131860484Sobrien	(bfd_coff_print_aux): New static function.
131960484Sobrien	(coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
132060484Sobrien	scnlen field of an XTY_LD csect aux entry.
132160484Sobrien	(coff_print_aux): New static function.
132260484Sobrien	(coff_slurp_symbol_table): Don't pointerize scnlen field; now done
132360484Sobrien	in coff_pointerize_aux_hook.
132460484Sobrien	(bfd_coff_std_swap_table): Initialize new field.
132560484Sobrien	* coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
132660484Sobrien	* libcoff.h: Rebuild.
132760484Sobrien	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
132860484Sobrien	* coff-mips.c (mips_ecoff_backend_data): Likewise.
132960484Sobrien
133060484Sobrien	* coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
133160484Sobrien	if there are symbols, for native AIX ld compatibility.
133260484Sobrien
133360484Sobrien	* coffcode.h (bfd_coff_backend_data): Add new field
133460484Sobrien	_bfd_coff_pointerize_aux_hook.
133560484Sobrien	(coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
133660484Sobrien	or I960, and as 0 otherwise.
133760484Sobrien	(bfd_coff_std_swap_table): Initialize new field.
133860484Sobrien	* libcoff.h: Rebuild.
133960484Sobrien	* coffgen.c (coff_pointerize_aux): Change parameters  to take
134060484Sobrien	symbol pointer instead of type and class, and to take aux index.
134160484Sobrien	Call _bfd_coff_pointerize_aux_hook if it is defined.
134260484Sobrien	(coff_get_normalized_symtab): Always call coff_pointerize_aux.
134360484Sobrien	* coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
134460484Sobrien	* coff-mips.c (mips_ecoff_backend_data): Likewise.
134560484Sobrien
134660484Sobrien	* coff-rs6000.c: Add full support for AIX archives.  Rewrite old
134760484Sobrien	read-only/host-only support.
134860484Sobrien
134960484Sobrien	* coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
135060484Sobrien	BSF_LOCAL.
135160484Sobrien	(OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
135260484Sobrien	RS6000COFF_C.
135360484Sobrien
135460484Sobrien	* targets.c (bfd_target): Add _bfd_read_ar_hdr field.  Modify
135560484Sobrien	BFD_JUMP_TABLE_ARCHIVE accordingly.
135660484Sobrien	* libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
135760484Sobrien	(_bfd_compute_and_write_armap): Declare.
135860484Sobrien	(_bfd_generic_read_ar_hdr): Declare.
135960484Sobrien	(_bfd_read_ar_hdr): Define.
136060484Sobrien	(_bfd_noarchive_read_ar_hdr): Define.
136160484Sobrien	(_bfd_archive_bsd_read_ar_hdr): Define.
136260484Sobrien	(_bfd_archive_coff_read_ar_hdr): Define.
136360484Sobrien	* archive.c: Change all callers of _bfd_snarf_ar_hdr to call
136460484Sobrien	_bfd_read_ar_hdr instead.
136560484Sobrien	(_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
136660484Sobrien	(_bfd_compute_and_write_armap): Rename from
136760484Sobrien	compute_and_write_armap.  Make non-static.  Change all callers.
136860484Sobrien	* ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
136960484Sobrien	than _bfd_snarf_ar_hdr.
137060484Sobrien	* aout-target.h (MY_read_ar_hdr): Define if not defined.
137160484Sobrien	* ieee.c (ieee_read_ar_hdr): Define.
137260484Sobrien	* libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
137360484Sobrien	* oasys.c (oasys_read_ar_hdr): Define.
137460484Sobrien	* som.c (som_read_ar_hdr): Define.
137560484Sobrien	* bfd-in2.h, libbfd.h: Rebuild.
137660484Sobrien
137760484SobrienThu Oct  5 14:04:07 1995  steve chamberlain  <sac@slash.cygnus.com>
137860484Sobrien
137960484Sobrien	* peicode.c (coff_swap_filehdr_in): If symptr is
138060484Sobrien	zero, there aren't any symbols, even if nsyms is set.
138160484Sobrien
138260484SobrienThu Oct  5 11:45:02 1995  Ian Lance Taylor  <ian@cygnus.com>
138360484Sobrien
138460484Sobrien	* libecoff.h (struct ecoff_backend_data): Add adjust_headers
138560484Sobrien	field.
138660484Sobrien	* ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
138760484Sobrien	sections, and set styp correctly for them: .got, .hash, .dynamic,
138860484Sobrien	.liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
138960484Sobrien	(_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
139060484Sobrien	types.
139160484Sobrien	(ecoff_sort_hdrs): New static function.
139260484Sobrien	(ecoff_compute_section_file_positions): Return boolean, not void.
139360484Sobrien	Sort the sections by VMA before looking through them.  Put the
139460484Sobrien	first non SEC_ALLOC section on a new page.  Put every SEC_ALLOC
139560484Sobrien	section on an appropriate boundary within the page.
139660484Sobrien	(ecoff_compute_reloc_file_positions): Check return value of
139760484Sobrien	ecoff_compute_section_file_positions.
139860484Sobrien	(_bfd_ecoff_set_section_contents): Likewise.
139960484Sobrien	(_bfd_ecoff_write_object_contents): Check for various Alpha
140060484Sobrien	section types when incrementing text_size and data_size.  Call
140160484Sobrien	adjust_headers backend function if it exists.
140260484Sobrien	* coff-alpha.c (alpha_adjust_headers): New static function.
140360484Sobrien	(alpha_ecoff_backend_data): Initialize adjust_headers field.
140460484Sobrien	* coff-mips.c (mips_ecoff_backend_data): Likewise.
140560484Sobrien
140660484Sobrien	* hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
140760484Sobrien
140860484SobrienWed Oct  4 18:15:02 1995  Jeff Law  (law@hurl.cygnus.com)
140960484Sobrien
141060484Sobrien	* rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
141160484Sobrien	of ALTERNATE_AIX_CORE_FORMAT.
141260484Sobrien	* configure.in (aix4): No longer need CORE_FLAGS.
141360484Sobrien	* configure: Updated.
141460484Sobrien
141560484SobrienWed Oct  4 15:36:36 1995  Ken Raeburn  <raeburn@cygnus.com>
141660484Sobrien
141760484Sobrien	NS32k changes from Ian Dall:
141860484Sobrien	* aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
141960484Sobrien	macros.
142060484Sobrien	(aout_link_input_section_std, aout_link_input_section_ext,
142160484Sobrien	aout_link_reloc_link_order): Call them instead of _bfd_*
142260484Sobrien	versions.
142360484Sobrien	* aout-target.h (MY_exec_header_not_counted): New macro, defaults
142460484Sobrien	to zero.
142560484Sobrien	(backend_data): Use it instead of hardcoded zero.
142660484Sobrien
142760484Sobrien	* aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
142860484Sobrien	(MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
142960484Sobrien
143060484Sobrien	* ns32knetbsd.c: Include bfd.h.
143160484Sobrien	(MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
143260484Sobrien	(MY_bfd_reloc_type_lookup): Declare function too.
143360484Sobrien	* pc532-mach.c (set_sizes): Don't declare.
143460484Sobrien	(MY_text_includes_header, MY_exec_header_not_counted): Define.
143560484Sobrien	(backend_data, MY_backend_data): Don't define.
143660484Sobrien
143760484Sobrien	* config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
143860484Sobrien	ns32k-*-lites* like ns32k-*-netbsd*.
143960484Sobrien
144060484Sobrien	* hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
144160484Sobrien	compile on lites.
144260484Sobrien
144360484SobrienWed Oct  4 14:15:52 1995  Ian Lance Taylor  <ian@cygnus.com>
144460484Sobrien
144560484Sobrien	* coffcode.h (coff_write_object_contents): Restore setting
144660484Sobrien	f_timdat to 0, deleted on August 22.
144760484Sobrien
144860484SobrienTue Oct  3 16:28:32 1995  steve chamberlain  <sac@slash.cygnus.com>
144960484Sobrien
145060484Sobrien	* coffcode.h (coff_bfd_copy_private_symbol_data,
145160484Sobrien	coff_bfd_copy_private_section_data,
145260484Sobrien	coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
145360484Sobrien	* peicode.h (coff_bfd_copy_private_bfd_data): New
145460484Sobrien	(pe_bfd_copy_private_bfd_data): New.
145560484Sobrien	(coff_swap_scnhdr_in): Swap bss size into the right place.
145660484Sobrien	(pe_print_private_bfd_data): Add some newlines.
145760484Sobrien
145860484SobrienTue Oct  3 11:53:04 1995  Jeff Law  (law@hurl.cygnus.com)
145960484Sobrien
146060484Sobrien	* som.c (setup_sections): Don't die if a space has no subspaces.
146160484Sobrien
146260484SobrienMon Oct  2 14:08:55 1995  Ian Lance Taylor  <ian@cygnus.com>
146360484Sobrien
146460484Sobrien	* elflink.h (elf_link_add_object_symbols): Don't let a weak
146560484Sobrien	dynamic symbol override a common symbol.  Don't change the size or
146660484Sobrien	type if they have been set and the new symbol is not a definition.
146760484Sobrien	Warn if the size or type changes.
146860484Sobrien
146960484SobrienSun Oct  1 01:34:41 1995  Jeff Law  (law@hurl.cygnus.com)
147060484Sobrien
147160484Sobrien        * som.c (som_begin_writing): Don't write the symbol table or
147260484Sobrien	symbol	strings.
147360484Sobrien	(som_finish_writing): Write them here.  Place them after the
147460484Sobrien	subspace data, but before the relocs.
147560484Sobrien
147660484SobrienFri Sep 29 11:01:55 1995  Ian Lance Taylor  <ian@cygnus.com>
147760484Sobrien
147860484Sobrien	* sunos.c (sunos_add_one_symbol): Just pass false, not
147960484Sobrien	info->shared_library, to sunos_create_dynamic_sections.
148060484Sobrien	(sunos_scan_ext_relocs): Don't warn about a reloc in the .text
148160484Sobrien	section.
148260484Sobrien	(sunos_check_dynamic_reloc): Remove .text section assertion.
148360484Sobrien
148460484SobrienThu Sep 28 18:48:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
148560484Sobrien
148660484Sobrien	* config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
148760484Sobrien	* configure, configure.in: Add pmac_xcoff_vec case.
148860484Sobrien	* Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
148960484Sobrien	* coff-pmac.c: New file, PowerMac XCOFF support.
149060484Sobrien	* coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
149160484Sobrien	* targets.c (pmac_xcoff_vec): Declare.
149260484Sobrien
149360484Sobrien	* mpw-config.in: Various changes to be compatible with the
149460484Sobrien	autoconf-based configury.
149560484Sobrien	* mpw-make.sed: New file, sed commands to translate Unix
149660484Sobrien	makefile into MPW syntax.
149760484Sobrien	* mpw-make.in: Remove.
149860484Sobrien	* hosts/mpw.h: Remove.
149960484Sobrien	* bfd-in.h, bfd-in2.h: If MPW, include the file that defines
150060484Sobrien	true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
150160484Sobrien
150260484SobrienThu Sep 28 17:06:23 1995  steve chamberlain  <sac@slash.cygnus.com>
150360484Sobrien
150460484Sobrien	* binary.c (binary_get_symtab): Return an empty string on error.
150560484Sobrien	* opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
150660484Sobrien
150760484SobrienThu Sep 28 15:30:44 1995  Kim Knuttila  <krk@nellie>
150860484Sobrien
150960484Sobrien	* coff-ppc.c: Reformatted according to gnu conventions
151060484Sobrien	              Removed irrelevant "if 0" code
151160484Sobrien
151260484SobrienThu Sep 28 11:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
151360484Sobrien
151460484Sobrien	* hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
151560484Sobrien	symbols rather than as indirect symbols.
151660484Sobrien	(MY(slurp_symbol_table)): Don't do anything special about
151760484Sobrien	secondary symbols.
151860484Sobrien
151960484Sobrien	* coffcode.h (coff_new_section_hook): Make sure that the alignment
152060484Sobrien	of .ctors and .dtors sections is no larger than 2.
152160484Sobrien
152260484Sobrien	* sunos.c (sunos_add_one_symbol): Don't change
152360484Sobrien	bfd_link_hash_common to bfd_link_hash_new, since it may be on the
152460484Sobrien	undef list.
152560484Sobrien	(bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
152660484Sobrien	dynamic symbols when creating a shared library.
152760484Sobrien	(sunos_scan_ext_relocs): Handle relocs correctly when creating a
152860484Sobrien	shared library.
152960484Sobrien	(sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
153060484Sobrien	written even if it is not defined in a regular object.
153160484Sobrien	(sunos_write_dynamic_symbol): Use plt_offset for the address of
153260484Sobrien	the jump table reloc.  Add an assertion.  Use RELOC_JMP_SLOT
153360484Sobrien	rather than the constant 22.
153460484Sobrien	(sunos_check_dynamic_reloc): Handle creating a shared library.
153560484Sobrien	(sunos_finish_dynamic_link): Set the first entry in the GOT to
153660484Sobrien	zero when creating a shared library.
153760484Sobrien	* aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
153860484Sobrien	write it out at the start of the symbol table.
153960484Sobrien
154060484Sobrien	* Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
154160484Sobrien
154260484SobrienThu Sep 28 00:58:05 1995  Doug Evans  <dje@deneb.cygnus.com>
154360484Sobrien
154460484Sobrien	* config.bfd: Add arm-*-coff.
154560484Sobrien	* configure.in, configure: Add armcoff_{little,big}_vec.
154660484Sobrien	* targets.c (armcoff_{little,big}_vec): Declare.
154760484Sobrien	(bfd_target_vector): Add armcoff_{little,big}_vec.
154860484Sobrien	* coff-arm.c (armcoff_{little,big}_vec): Always define.
154960484Sobrien
155060484SobrienWed Sep 27 10:37:14 1995  Ian Lance Taylor  <ian@cygnus.com>
155160484Sobrien
155260484Sobrien	* targets.c (bfd_find_target): Remove debugging code.
155360484Sobrien
155460484SobrienWed Sep 27 07:23:39 1995  Kim Knuttila  <krk@nellie>
155560484Sobrien
155660484Sobrien	* coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE
155760484Sobrien        support on powerpc.
155860484Sobrien	* Makefile.in: added *-ppc files
155960484Sobrien	* coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
156060484Sobrien        allow pe based .o's to be shared with other tools on ppc/NT
156160484Sobrien	* config.bfd: added powerpc[le]-[pe|winnt] config support
156260484Sobrien	* configure, configure.in: added bfd_powerpc[le]_pe[i]_vec
156360484Sobrien	* peicode.h: Added more section flags for PE on ppc
156460484Sobrien	             Added coff_swap_filehdr_out to allow peicode.h to be
156560484Sobrien		     used for non-image PE files on ppc.
156660484Sobrien		     Check for image, or not, before copying pe_opthdr
156760484Sobrien	* targets.c: Added new bfd's
156860484Sobrien	* targets.c: Removed two inactive bfds that shouldn't have made it this
156960484Sobrien                     far.
157060484Sobrien
157160484SobrienTue Sep 26 14:06:41 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
157260484Sobrien
157360484Sobrien	* elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
157460484Sobrien	explicit values to initialize all relocs.  Change all users.
157560484Sobrien	(ppc_elf_brtaken_inner): New function to handle branch predicition
157660484Sobrien	relocs.
157760484Sobrien	(ppc_elf_brtaken_reloc): Ditto.
157860484Sobrien	(ppc_elf_howto_raw): Use new functions.  Make sure all unsupported
157960484Sobrien	relocs use ppc_elf_unsupported_reloc.
158060484Sobrien	(ppc_elf_merge_private_bfd_data): Keep track of whether an error
158160484Sobrien	needs to be reported.
158260484Sobrien	(ppc_elf_relocate_section): Support branch prediction relocs.
158360484Sobrien
158460484SobrienTue Sep 26 12:48:05 1995  Ian Lance Taylor  <ian@cygnus.com>
158560484Sobrien
158660484Sobrien	* bfd.c (bfd_assert): Remove \n from string passed to
158760484Sobrien        _bfd_error_handler.
158860484Sobrien
158960484Sobrien	* coff-i386.c: (TWO_DATA_SECS): Don't define.
159060484Sobrien	* coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
159160484Sobrien	(bfd_coff_make_section_hook): Don't define.
159260484Sobrien	(coff_make_section_hook): Remove.
159360484Sobrien	(sec_to_styp_flags): Remove TWO_DATA_SECS case.
159460484Sobrien	(styp_to_sec_flags): Likewise.
159560484Sobrien	(coff_write_object_contents): Likewise.
159660484Sobrien	(bfd_coff_std_swap_table): Don't initialize make_section_hook
159760484Sobrien	field.
159860484Sobrien	* libcoff.h: Rebuild.
159960484Sobrien	* coffgen.c (make_a_section_from_file): Just call
160060484Sobrien	bfd_make_section_anyway, not bfd_make_section or
160160484Sobrien	bfd_coff_make_section_hook.
160260484Sobrien	* ecoff.c (_bfd_ecoff_make_section_hook): Remove.
160360484Sobrien	* libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
160460484Sobrien	* coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
160560484Sobrien	make_section_hook field.
160660484Sobrien	* coff-mips.c (mips_ecoff_backend_data): Likewise.
160760484Sobrien
160860484Sobrien	* aoutx.h (translate_from_native_sym_flags): Don't try to stuff
160960484Sobrien	pointers into value field for warning and indirect symbols; just
161060484Sobrien	leave the value field alone.
161160484Sobrien	* linker.c (generic_link_add_symbol_list): Use next symbol for
161260484Sobrien	warning and indirect symbols, rather than looking in symbol value.
161360484Sobrien	* ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
161460484Sobrien	parameter.  Change all callers.  Remove support for indirect
161560484Sobrien	symbols; it didn't work anyhow.
161660484Sobrien	(_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
161760484Sobrien	* syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
161860484Sobrien	* bfd-in2.h: Rebuild.
161960484Sobrien
162060484SobrienMon Sep 25 16:04:09 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
162160484Sobrien
162260484Sobrien	* elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
162360484Sobrien	go back to telling the tools this reloc operates on 32 bits.
162460484Sobrien
162560484SobrienMon Sep 25 11:48:02 1995  Ian Lance Taylor  <ian@cygnus.com>
162660484Sobrien
162760484Sobrien	* aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
162860484Sobrien	rather than a direct fprintf.
162960484Sobrien	* archive.c (_bfd_write_archive_contents): Likewise.
163060484Sobrien	* coffcode.h (coff_slurp_symbol_table): Likewise.
163160484Sobrien	* elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
163260484Sobrien	(ppc_elf_unsupported_reloc): Likewise.
163360484Sobrien	(ppc_elf_relocate_section): Likewise.
163460484Sobrien	* i386linux.c (linux_tally_symbols): Likewise.
163560484Sobrien	(linux_finish_dynamic_link): Likewise.
163660484Sobrien	* osf-core.c (osf_core_core_file_p): Likewise.
163760484Sobrien	* rs6000-core.c (rs6000coff_get_section_contents): Likewise.
163860484Sobrien	* som.c (som_sizeof_headers): Likewise.
163960484Sobrien	* srec.c (srec_bad_byte): Likewise.
164060484Sobrien	* bfd.c (bfd_assert): Likewise.  Also change file to be const.
164160484Sobrien	* libbfd-in.h (bfd_assert): Declare first parameter const.
164260484Sobrien	* libbfd.h: Rebuild.
164360484Sobrien	* coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
164460484Sobrien	bfd_reloc_overflow is enough.
164560484Sobrien	* coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
164660484Sobrien	* coff-h8500.c (rtype2howto): Likewise.
164760484Sobrien	* coff-z8k.c (rtype2howto): Likewise.
164860484Sobrien	* coffcode.h (dummy_reloc16_extra_cases): Likewise.
164960484Sobrien	* elf.c (_bfd_elf_get_lineno): Likewise.
165060484Sobrien	(_bfd_elf_no_info_to_howto): Likewise.
165160484Sobrien	(_bfd_elf_no_info_to_howto_rel): Likewise.
165260484Sobrien	* hp300hpux.c (convert_sym_type): Likewise.
165360484Sobrien	(MY(swap_std_reloc_in)): Likewise.
165460484Sobrien	* elf.c (bfd_section_from_shdr): Remove #if 0 sections.
165560484Sobrien
165660484Sobrien	* libaout.h (struct aoutdata): Add line_buf field.
165760484Sobrien	* aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
165860484Sobrien	and filename_buffer.  Instead, use a malloc buffer stored in the
165960484Sobrien	new line_buf field.  Remove length restrictions.
166060484Sobrien
166160484Sobrien	* coffgen.c (string_size): Remove static variable.
166260484Sobrien	(debug_string_size, debug_string_section): Likewise.
166360484Sobrien	(coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
166460484Sobrien	and debug_string_size_p parameters.  Use them instead of the
166560484Sobrien	global variables.  Change all callers.
166660484Sobrien	(coff_write_symbol): Likewise.
166760484Sobrien	(coff_write_alien_symbol, coff_write_native_symbol): Likewise.
166860484Sobrien	(coff_write_symbols): Add local variables to replace removed
166960484Sobrien	global variables.
167060484Sobrien
167160484Sobrien	* libcoff-in.h (struct coff_section_tdata): Add offset, i,
167260484Sobrien	function, and line_base fields.
167360484Sobrien	* libcoff.h: Rebuild.
167460484Sobrien	* coffgen.c (coff_find_nearest_line): Use section tdata to cache
167560484Sobrien	information, rather than using static variables.
167660484Sobrien
167760484Sobrien	* sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
167860484Sobrien	file.  From Peter DeWolf <pld@amt.tay1.dec.com>.
167960484Sobrien
168060484Sobrien	* init.c (initialized): Remove static variable.
168160484Sobrien	(bfd_init): Don't bother setting initialized.
168260484Sobrien	(bfd_check_init): Remove.
168360484Sobrien	* opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
168460484Sobrien	* libbfd.h: Rebuild.
168560484Sobrien
168660484SobrienSat Sep 23 01:22:23 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
168760484Sobrien
168860484Sobrien	* rs6000-core.c (rs6000coff_core_p):  Don't check the core file
168960484Sobrien	size for full core dumps. Copy core file header to private data.
169060484Sobrien	(rs6000coff_core_file_failing_command,
169160484Sobrien	rs6000coff_core_file_failing_signal):  New functions to extract
169260484Sobrien	the file name and terminating signal from the core file.
169360484Sobrien	* coff-rs6000.c:  Use them.
169460484Sobrien
169560484SobrienFri Sep 22 17:44:47 1995  Ian Lance Taylor  <ian@cygnus.com>
169660484Sobrien
169760484Sobrien	Change arch info to be const, initialized at compile time.
169860484Sobrien	* archures.c: Reindent many functions.  Change CONST to const.
169960484Sobrien	(bfd_arch_info_type): Make arch_name const.  Remove disassemble;
170060484Sobrien	nothing set it anyhow.  Make next const.
170160484Sobrien	(bfd_arch_info_list): Remove.
170260484Sobrien	(bfd_archures_list): Rename from archures_init_table.  Change from
170360484Sobrien	a table of function pointers to a table of bfd_arch_info_type
170460484Sobrien	structure addresses.
170560484Sobrien	(bfd_scan_arch): Rewrite accordingly.  Return a const pointer.
170660484Sobrien	(bfd_lookup_arch): Likewise.
170760484Sobrien	(bfd_set_arch_info): Rewrite accordingly.  Change argument to be a
170860484Sobrien	const pointer.
170960484Sobrien	(bfd_default_arch_struct): Make const.
171060484Sobrien	(bfd_arch_init, bfd_arch_linkin): Remove.
171160484Sobrien	(bfd_get_arch_info): Return a const pointer.
171260484Sobrien	* init.c (bfd_init): Don't call bfd_arch_init.
171360484Sobrien	* bfd.c (struct _bfd): Make arch_info const.
171460484Sobrien	* bfd-in2.h: Rebuild.
171560484Sobrien	* libbfd.h: Rebuild.
171660484Sobrien	* configure.in: Put & before everything in $selarchs.
171760484Sobrien	* configure: Rebuild.
171860484Sobrien	* cpu-*.c: Change bfd_*_arch from a function which calls
171960484Sobrien	bfd_arch_linkin to a const structure.
172060484Sobrien	* ieee.c (ieee_object_p): Make arch const.
172160484Sobrien
172260484SobrienFri Sep 22 16:23:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
172360484Sobrien
172460484Sobrien	* reloc.c (bfd_reloc_code_type): Add relocations to support all of
172560484Sobrien	PowerPC V.4.
172660484Sobrien	* bfd-in2.h: Regenerate.
172760484Sobrien	* libbfd.h: Regenerate.
172860484Sobrien
172960484Sobrien	* elf32-ppc.c (reloc_type): Update names to match current draft.
173060484Sobrien	(ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
173160484Sobrien	relative.  Update names to current V.4 draft.
173260484Sobrien	(ppc_elf_reloc_type_lookup): Add support for more relocations.
173360484Sobrien	(ppc_elf_relocate_section): Rename relocations to match draft.
173460484Sobrien
173560484SobrienThu Sep 21 21:53:18 1995  Michael Meissner  <meissner@cygnus.com>
173660484Sobrien
173760484Sobrien	* elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
173860484Sobrien	compiled with -mrelocatable-lib to be linked with either normal
173960484Sobrien	modules or -mrelocatable modules.
174060484Sobrien
174160484SobrienWed Sep 20 12:03:26 1995  Ian Lance Taylor  <ian@cygnus.com>
174260484Sobrien
174360484Sobrien	* coffcode.h (coff_write_object_contents): Clear the vstamp field
174460484Sobrien	in the a.out header.
174560484Sobrien
174660484Sobrien	* aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
174760484Sobrien	a reloc against a local symbol, even if it's not a section.
174860484Sobrien
174960484SobrienTue Sep 19 17:02:26 1995  Ian Lance Taylor  <ian@cygnus.com>
175060484Sobrien
175160484Sobrien	* targets.c (bfd_target): Remove unused align_power_min field.
175260484Sobrien	* bfd-in2.h: Rebuild.
175360484Sobrien	* All backends: Remove initialization of align_power_min.
175460484Sobrien
175560484SobrienTue Sep 19 14:02:21 1995  steve chamberlain  <sac@slash.cygnus.com>
175660484Sobrien
175760484Sobrien	* peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
175860484Sobrien
175960484SobrienMon Sep 18 14:35:01 1995  Arne H. Juul  <arnej@pvv.unit.no>
176060484Sobrien
176160484Sobrien	* config.bfd (mips-dec-netbsd*): New target.
176260484Sobrien	* configure.host (mips-dec-netbsd*): New host.
176360484Sobrien	* configure.in (mips-dec-netbsd*): New native.
176460484Sobrien	* configure: Rebuild.
176560484Sobrien
176660484SobrienFri Sep 15 10:24:36 1995  Ian Lance Taylor  <ian@cygnus.com>
176760484Sobrien
176860484Sobrien	Make the COFF backend linker merge common types:
176960484Sobrien	* cofflink.c (struct coff_debug_merge_element): Define.
177060484Sobrien	(struct coff_debug_merge_type): Define.
177160484Sobrien	(struct coff_debug_merge_hash_entry): Define.
177260484Sobrien	(struct coff_debug_merge_hash_table): Define.
177360484Sobrien	(coff_debug_merge_hash_table_init): Define.
177460484Sobrien	(coff_debug_merge_hash_table_free): Define.
177560484Sobrien	(coff_debug_merge_hash_lookup): Define.
177660484Sobrien	(struct coff_final_link_info): Add debug_merge field.
177760484Sobrien	(coff_debug_merge_hash_newfunc): New static function.
177860484Sobrien	(_bfd_coff_final_link): Allocate and free debug_merge table.
177960484Sobrien	(coff_link_input_bfd): Merge identical enum, struct and union
178060484Sobrien	types.
178160484Sobrien
178260484SobrienThu Sep 14 14:53:58 1995  Ian Lance Taylor  <ian@cygnus.com>
178360484Sobrien
178460484Sobrien	Convert i960 COFF to use COFF backend linker.
178560484Sobrien	* coff-i960.c (coff_i960_relocate): Use a coff_section_data
178660484Sobrien	structure to store the symbol being used.
178760484Sobrien	(coff_i960_start_final_link): New static function.
178860484Sobrien	(coff_i960_relocate_section): New static function.
178960484Sobrien	(coff_i960_adjust_symndx): New static function.
179060484Sobrien	(coff_start_final_link): Define.
179160484Sobrien	(coff_relocate_section): Define.
179260484Sobrien	(coff_adjust_symndx): Define.
179360484Sobrien	* coffcode.h (bfd_coff_backend_data): Add new callback function
179460484Sobrien	_bfd_coff_start_final_link.
179560484Sobrien	(bfd_coff_start_final_link): Define.
179660484Sobrien	(coff_start_final_link): Define if not defined.
179760484Sobrien	(bfd_coff_std_swap_table): Add coff_start_final_link.
179860484Sobrien	* cofflink.c (_bfd_coff_internal_syment_name): Make globally
179960484Sobrien	visible.
180060484Sobrien	(_bfd_coff_final_link): Call bfd_coff_start_final_link if the
180160484Sobrien	function callback is not NULL.
180260484Sobrien	* libcoff-in.h (struct coff_section_tdata): Add tdata field.
180360484Sobrien	(_bfd_coff_internal_syment_name): Declare.
180460484Sobrien	* libcoff.h: Rebuild.
180560484Sobrien	* configure.in (icoff_big_vec): Add cofflink.o.
180660484Sobrien	(icoff_little_vec): Likewise.
180760484Sobrien	* configure: Rebuild.
180860484Sobrien
180960484SobrienWed Sep 13 17:38:23 1995  Fred Fish  <fnf@rtl.cygnus.com>
181060484Sobrien
181160484Sobrien	* Makefile.in (clean-info): Remove extraneous tab from line
181260484Sobrien	following action.
181360484Sobrien
181460484SobrienWed Sep 13 13:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
181560484Sobrien
181660484Sobrien	* cofflink.c (coff_link_input_bfd): Fail if a section with no
181760484Sobrien	contents has relocs.
181860484Sobrien
181960484SobrienThu Sep 12 12:45:34 1995  steve chamberlain  <sac@slash.cygnus.com>
182060484Sobrien
182160484Sobrien	* coffcode.h (coff_compute_section_file_positions): Keep the
182260484Sobrien	raw size safe.
182360484Sobrien	(coff_write_object_contents): Remember if it's a relocatable
182460484Sobrien	file.
182560484Sobrien	* libcoff-in.h (pe_data_type): New member 'has_reloc_section'
182660484Sobrien	* peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
182760484Sobrien	if relocatable file. Swap out saved raw size.
182860484Sobrien
182960484SobrienTue Sep 12 12:14:33 1995  Ian Lance Taylor  <ian@cygnus.com>
183060484Sobrien
183160484Sobrien	* Makefile.in (do_maintainer_clean): Rename from do_realclean.
183260484Sobrien	(maintainer-clean): Rename from realclean, passing
183360484Sobrien	maintainer-clean down to subdirectories, but leave realclean as a
183460484Sobrien	synonym.
183560484Sobrien
183660484Sobrien	* linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
183760484Sobrien	warning callback.
183860484Sobrien
183960484Sobrien	* dep-in.sed: Remove config.h from generated dependencies.
184060484Sobrien
184160484Sobrien	* sunos.c (sunos_slurp_dynamic_symtab): New static function,
184260484Sobrien	broken out of sunos_canonicalize_dynamic_symtab.
184360484Sobrien	(sunos_canonicalize_dynamic_symtab): Call new function
184460484Sobrien	sunos_slurp_dynamic_symtab.
184560484Sobrien	(sunos_add_dynamic_symbols): Add three new parameters.  Return the
184660484Sobrien	dynamic symbol table to the caller.
184760484Sobrien	* aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
184860484Sobrien	callback to override the symbols being read.
184960484Sobrien	* libaout.h (struct aout_backend_data): Add three new parameters
185060484Sobrien	to add_dynamic_symbols callback.
185160484Sobrien
185260484Sobrien	Extensive minor changes to avoid various gcc warnings.  Also:
185360484Sobrien	* Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
185460484Sobrien	* archures.c (bfd_arch_info_type): Change mach field from long to
185560484Sobrien	unsigned long.
185660484Sobrien	(bfd_lookup_arch): Change machine parameter from long to unsigned
185760484Sobrien	long.
185860484Sobrien
185960484SobrienMon Sep 11 10:55:47 1995  Ian Lance Taylor  <ian@cygnus.com>
186060484Sobrien
186160484Sobrien	* sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
186260484Sobrien	a symbol with a non-zero plt_offset.
186360484Sobrien
186460484SobrienFri Sep  8 11:47:24 1995  Ian Lance Taylor  <ian@cygnus.com>
186560484Sobrien
186660484Sobrien	* elfcode.h (align_file_position): Remove; not used.
186760484Sobrien
186860484Sobrien	* configure.in: Only check for <sys/procfs.h> on a native system,
186960484Sobrien	and make sure it defines prstatus_t.
187060484Sobrien	* configure: Rebuild.
187160484Sobrien
187260484SobrienThu Sep  7 12:48:01 1995  Ian Lance Taylor  <ian@cygnus.com>
187360484Sobrien
187460484Sobrien	* sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
187560484Sobrien
187660484Sobrien	* config.in: Rename from config.h.in.
187760484Sobrien	* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
187860484Sobrien	Check for config.h:config.in when creating stamp-h.
187960484Sobrien	* configure: Rebuild.
188060484Sobrien	* Makefile.in (stamp-h): Depend upon config.in rather than
188160484Sobrien	config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
188260484Sobrien	calling config.status.
188360484Sobrien
188460484Sobrien	* Makefile.in (do_distclean): Remove config.h and stamp-h.
188560484Sobrien	(Makefile): Just rebuild Makefile.
188660484Sobrien	(config.h, stamp-h): New targets.
188760484Sobrien	* configure.in: Create stamp-h when rebuilding config.h.
188860484Sobrien	* configure: Rebuild.
188960484Sobrien
189060484SobrienWed Sep  6 15:00:33 1995  Ian Lance Taylor  <ian@cygnus.com>
189160484Sobrien
189260484Sobrien	* configure.in: Call AC_CONFIG_HEADER.  Substitute
189360484Sobrien	HOST_64BIT_LONG.  Check that various header files exist.  Check
189460484Sobrien	that fcntl exists.  Call BFD_BINARY_FOPEN.  Check whether malloc
189560484Sobrien	and/or free need to be declared.  Don't make a link to sysdep.h.
189660484Sobrien	Define TRAD_HEADER for various hosts.
189760484Sobrien	* configure: Rebuild.
189860484Sobrien	* configure.host: Don't set my_host.  Add definitions taken from
189960484Sobrien	host header files for various entries.  Remove entries which now
190060484Sobrien	do nothing.
190160484Sobrien	* acconfig.h: New file.
190260484Sobrien	* config.h.in: New file, built by autoheader.
190360484Sobrien	* sysdep.h: New file.
190460484Sobrien	* Makefile.in (do_distclean): Don't remove sysdep.h.
190560484Sobrien	(RECONFIG): Remove.
190660484Sobrien	(LOCAL_H_DEPS): New variable.
190760484Sobrien	($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
190860484Sobrien	$(RECONFIG).
190960484Sobrien	($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
191060484Sobrien	($(OPTIONAL_BACKENDS)): Likewise.
191160484Sobrien	(stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
191260484Sobrien	looking through sysdep.h.
191360484Sobrien	* bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
191460484Sobrien	(BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
191560484Sobrien	(fprintf_vma, sprintf_vma): Likewise.
191660484Sobrien	(int64_type, uint64_type): Don't define.
191760484Sobrien	* bfd-in2.h: Rebuild.
191860484Sobrien	* archures.c, bfd.c, srec.c: Include <ctype.h>.
191960484Sobrien	* elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
192060484Sobrien	* lynx-core.c: Include stuff from old hosts/lynx.h.
192160484Sobrien	* opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
192260484Sobrien	rather than NO_FCNTL.
192360484Sobrien	* targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
192460484Sobrien	rather than NATIVE_HPPAHPUX_COMPILER.
192560484Sobrien	* trad-core.c: Don't include <errno.h>.  Include TRAD_HEADER if it
192660484Sobrien	is defined.
192760484Sobrien	* hosts/*.h: Remove all header files which merely include,
192860484Sobrien	declare, and define things.  Leave header files which define
192960484Sobrien	information needed by trad-core.c.
193060484Sobrien
193160484Sobrien	* aclocal.m4 (BFD_BINARY_FOPEN): Define.
193260484Sobrien	(BFD_CC_FOR_BUILD): Define.
193360484Sobrien	* configure.in: Use BFD_CC_FOR_BUILD.
193460484Sobrien	* configure: Rebuild.
193560484Sobrien
193660484SobrienTue Sep  5 19:35:28 1995  Ian Lance Taylor  <ian@cygnus.com>
193760484Sobrien
193860484Sobrien	* aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
193960484Sobrien	* configure: Rebuild.
194060484Sobrien
194160484Sobrien	* coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
194260484Sobrien	a global symbol.
194360484Sobrien
194460484SobrienTue Sep  5 12:48:26 1995  Jason Molenda   (crash@phydeaux.cygnus.com)
194560484Sobrien
194660484Sobrien	* config.bfd: i386pe_ve -> i386pe_vec.
194760484Sobrien
194860484SobrienMon Sep  4 14:02:43 1995  Ian Lance Taylor  <ian@cygnus.com>
194960484Sobrien
195060484Sobrien	* configure.host: Incorporate host Makefile fragments by setting
195160484Sobrien	shell variables.
195260484Sobrien	* configure.in: Call AC_PROG_CC.  Substitute CFLAGS, HDEFINES and
195360484Sobrien	AR.  Call AC_PROG_INSTALL.  Substitute CC_FOR_BUILD, choosing a
195460484Sobrien	value based on whether the code is being compiled by a cross
195560484Sobrien	compiler.  Don't substitute host_makefile_frag or frags.
195660484Sobrien	* aclocal.m4: New file to define local AC_PROG_CC.
195760484Sobrien	* configure: Rebuild.
195860484Sobrien	* Makefile.in (INSTALL): Set to @INSTALL@.
195960484Sobrien	(INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
196060484Sobrien	(INSTALL_DATA): Set to @INSTALL_DATA@.
196160484Sobrien	(AR): Set to @AR@.
196260484Sobrien	(CC): Define as @CC@.
196360484Sobrien	(CFLAGS): Set to @CFLAGS@.
196460484Sobrien	(CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
196560484Sobrien	(@host_makefile_frag@): Remove.
196660484Sobrien	(ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@.  Move $(CFLAGS)
196760484Sobrien	after other options.
196860484Sobrien	(config.status): Remove dependency upon @frags@.
196960484Sobrien	* config/*.mh, config/README: Remove.
197060484Sobrien
197160484Sobrien	* config.bfd: Rewrite to incorporate the contents of the Makefile
197260484Sobrien	fragments by setting shell variables, rather than merely returning
197360484Sobrien	the name of a Makefile fragment.
197460484Sobrien	* configure.in: Use shell variables set by config.bfd rather than
197560484Sobrien	looking at the target Makefile fragment files.  Don't substitute
197660484Sobrien	target_makefile_frag.  Do substitute TDEFINES.
197760484Sobrien	* configure: Rebuild.
197860484Sobrien	* Makefile.in (@target_makefile_frag@): Remove.
197960484Sobrien	(ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
198060484Sobrien	* config/*.mt: Remove.
198160484Sobrien
198260484SobrienMon Sep  4 03:13:28 1995  Ken Raeburn  <raeburn@cygnus.com>
198360484Sobrien
198460484Sobrien	* configure.in: Put changequote lines around "i[345]86" patterns
198560484Sobrien	section of core file support.
198660484Sobrien
198760484SobrienSun Sep  3 11:31:58 1995  Jeff Law  (law@snake.cs.utah.edu)
198860484Sobrien
198960484Sobrien	* som.c (som_bfd_print_private_bfd_data): Define to use the
199060484Sobrien	generic version.
199160484Sobrien
199260484SobrienFri Sep  1 17:08:40 1995  steve chamberlain  <sac@slash.cygnus.com>
199360484Sobrien
199460484Sobrien	* peicode.h (coff_swap_aouthdr_in): Add ImageBase to
199560484Sobrien	entry, text_start and data_start.
199660484Sobrien
199760484SobrienFri Sep  1 18:06:28 1995  Ian Lance Taylor  <ian@cygnus.com>
199860484Sobrien
199960484Sobrien	* Makefile.in (OFILES): Remove $(TDEPFILES).
200060484Sobrien	* config/apollo.mt (TDEPFILES): Remove.
200160484Sobrien	* config/README: Update.
200260484Sobrien
200360484Sobrien	* configure.in: For a native configuration, set COREFILE and
200460484Sobrien	COREFLAG based on the canonical host name.
200560484Sobrien	* configure: Rebuild.
200660484Sobrien	* Makefile.in: Rebuild dependencies.
200760484Sobrien	(ALL_CFLAGS): Add @COREFLAG@.
200860484Sobrien	(OFILES): Replace $(HDEPFILES) with @COREFILE@.
200960484Sobrien	* coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
201060484Sobrien	support routines.  Check LYNX_CORE rather than HOST_LYNX.
201160484Sobrien	* lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
201260484Sobrien	* i386lynx.c: Likewise.
201360484Sobrien	* m68klynx.c: Likewise.
201460484Sobrien	* sparclynx.c: Likewise.
201560484Sobrien	* rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
201660484Sobrien	* *-core.c: Comment changes.
201760484Sobrien	* config/decstation.mh (HDEPFILES): Remove.
201860484Sobrien	(HDEFINES): Remove -DTRAD_CORE.
201960484Sobrien	* config/irix3.mh (RANLIB): Remove.
202060484Sobrien	* config/irix4.mh (HDEPFILES, RANLIB): Remove.
202160484Sobrien	(HDEFINES): Remove -DIRIX_CORE.
202260484Sobrien	* config/riscos.mh (RANLIB, HDEPFILES): Remove.
202360484Sobrien	(HDEFINES): Remove -DTRAD_CORE.
202460484Sobrien	* config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
202560484Sobrien	* config/ultra3.mh (RANLIB): Remove.
202660484Sobrien	* config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
202760484Sobrien	* config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
202860484Sobrien	* config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
202960484Sobrien	* config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
203060484Sobrien	* config/hppahpux.mh, config/hppaosf.mh: Remove.
203160484Sobrien	* config/i386aix.mh, config/i386bsd.mh: Remove.
203260484Sobrien	* config/i386linux.mh, config/i386mach3.mh: Remove.
203360484Sobrien	* config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
203460484Sobrien	* config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
203560484Sobrien	* config/mipsmach3.mh, config/news-mips.mh: Remove.
203660484Sobrien	* config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
203760484Sobrien	* config/rs600.mh, config/rs6000lynx.mh: Remove.
203860484Sobrien	* config/solaris2.mh, config/stratus.mh: Remove.
203960484Sobrien	* config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
204060484Sobrien	* config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
204160484Sobrien
204260484SobrienFri Sep  1 15:18:50 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>
204360484Sobrien
204460484Sobrien	* elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
204560484Sobrien	DT_FINI entry if the appropriate symbol is not in the hash table.
204660484Sobrien
204760484Sobrien	* libelf.h (struct elf_backend_data): Add create_program_headers
204860484Sobrien	and want_hdr_in_seg fields.
204960484Sobrien	* elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
205060484Sobrien	defined.
205160484Sobrien	(elf_backend_create_program_headers): Likewise.
205260484Sobrien	(elfNN_bed): Initialize create_program_headers and
205360484Sobrien	want_hdr_in_seg.
205460484Sobrien	* elf.c (get_program_header_size): Call create_program_headers
205560484Sobrien	backend routine.
205660484Sobrien	(map_program_segments): Check want_hdr_in_seg backend field.  Call
205760484Sobrien	create_program_headers backend routine.
205860484Sobrien
205960484Sobrien	* elf.c (assign_file_positions_except_relocs): Align non allocated
206060484Sobrien	sections when creating an executable.
206160484Sobrien
206260484Sobrien	* elfcode.h (elf_swap_phdr_in): Make non static.
206360484Sobrien	(elf_swap_phdr_out): Make non static.
206460484Sobrien	* libelf.h (bfd_elf32_swap_phdr_in): Declare.
206560484Sobrien	(bfd_elf32_swap_phdr_out): Declare.
206660484Sobrien	(bfd_elf64_swap_phdr_in): Declare.
206760484Sobrien	(bfd_elf64_swap_phdr_out): Declare.
206860484Sobrien
206960484Sobrien	* ecofflink.c (ecoff_collect_shuffle): New static function.
207060484Sobrien	(_bfd_ecoff_get_accumulated_pdr): New function.
207160484Sobrien	(_bfd_ecoff_get_accumulated_sym): New function.
207260484Sobrien	(_bfd_ecoff_get_accumulated_ss): New function.
207360484Sobrien	* libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
207460484Sobrien	(_bfd_ecoff_get_accumulated_sym): Declare.
207560484Sobrien	(_bfd_ecoff_get_accumulated_ss): Declare.
207660484Sobrien	* libbfd.h: Rebuild.
207760484Sobrien
207860484SobrienFri Sep  1 13:20:25 1995  Ian Lance Taylor  <ian@cygnus.com>
207960484Sobrien
208060484Sobrien	* libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
208160484Sobrien
208260484Sobrien	* elflink.h (elf_link_add_object_symbols): Handle indirect and
208360484Sobrien	warning symbols.  If any section is named .gnu.warning.XXX, treat
208460484Sobrien	the contents as a warning to be issued if the symbol XXX is
208560484Sobrien	referenced.
208660484Sobrien	(elf_link_output_extsym): For an indirect or warning symbol, just
208760484Sobrien	output the symbol it points to.
208860484Sobrien
208960484Sobrien	* linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
209060484Sobrien	if bfd_hash_allocate fails, since it will already be set.
209160484Sobrien	(generic_link_hash_newfunc): Likewise.
209260484Sobrien	(archive_hash_newfunc): Likewise.
209360484Sobrien	(hash_entry_bfd): New static function.
209460484Sobrien	(_bfd_generic_link_add_one_symbol): Pass new arguments to warning
209560484Sobrien	callback.  Allocate a new warning using the hash table newfunc.
209660484Sobrien	Use bfd_hash_replace to update the entry in the hash table, rather
209760484Sobrien	than assuming we can copy the fields with structure assignment.
209860484Sobrien
209960484Sobrien	* hash.c (bfd_hash_replace): New function.
210060484Sobrien	* bfd-in.h (bfd_hash_replace): Declare.
210160484Sobrien	* bfd-in2.h: Rebuild.
210260484Sobrien
210360484SobrienFri Sep  1 08:12:50 1995  James G. Smith  <jsmith@beauty.cygnus.com>
210460484Sobrien
210560484Sobrien	* config.bfd: Add mips*vr4300-*-elf* target.
210660484Sobrien	* config/mipsbvr4300.mt: Added.
210760484Sobrien
210860484SobrienThu Aug 31 16:00:53 1995  steve chamberlain  <sac@slash.cygnus.com>
210960484Sobrien
211060484Sobrien	* Makefile.in: Update dependencies.
211160484Sobrien	* aout-target.h (MY_bfd_print_private_bfd_data): New.
211260484Sobrien	* bfd-in.h (PE STUFF): Deleted.
211360484Sobrien	* bfd.c (tdata->pe_obj_data): New.
211460484Sobrien	(bfd_print_private_bfd_data): New.
211560484Sobrien	* coff-i386.c, coff-arm.c (coff_*-rtype_to_howto): Get image base from
211660484Sobrien	new place.
211760484Sobrien	* libcoff.h, libbfd.h, bfd-in2.h: Rebuilt.
211860484Sobrien	* coffcode.h (pe_value): Delete
211960484Sobrien	(coff_mkobject, coff_mkobject_hook): Conditionally build.
212060484Sobrien	(coff_compute_section_file_positions): Look in new place.
212160484Sobrien	(add_data_entry, fill_pe_header_info): Deleted.
212260484Sobrien	(coff_write_object_contents): Remove PE stuff.
212360484Sobrien	(coff_bfd_print_private_bfd_data): New.
212460484Sobrien	* coffswap.h: Remove PE stuff.
212560484Sobrien	* elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): New.
212660484Sobrien	* libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): New.
212760484Sobrien	* libcoff-in.h (pe_data_type): New.
212860484Sobrien	* libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): New.
212960484Sobrien	* targets.c (_bfd_print_private_bfd_data): New.
213060484Sobrien	* peicode.h: New file.
213160484Sobrien
213260484SobrienThu Aug 31 11:49:21 1995  Ian Lance Taylor  <ian@cygnus.com>
213360484Sobrien
213460484Sobrien	* bfd-in.h: Add extern "C" if __cplusplus.
213560484Sobrien	* bfd-in2.h: Rebuild.
213660484Sobrien
213760484Sobrien	* coff-mips.c (mips_relocate_section): Don't convert a reloc
213860484Sobrien	against an absolute symbol into a reloc against a section.
213960484Sobrien
214060484SobrienThu Aug 31 08:00:14 1995  steve chamberlain  <sac@slash.cygnus.com>
214160484Sobrien	
214260484Sobrien	* coff-arm.c (coff_arm_reloc): Fix common size problem.
214360484Sobrien	(i3coff_object_p): Delete.
214460484Sobrien
214560484SobrienWed Aug 30 20:41:27 1995  steve chamberlain  <sac@slash.cygnus.com>
214660484Sobrien
214760484Sobrien	* coff-arm.c (deletemeacoff_arm_reloc): Deleted.
214860484Sobrien	(arm26): Not partial inplace.
214960484Sobrien	* coffcode.h (coff_compute_section_file_positions): Don't
215060484Sobrien	do page aligning if COFF_PAGE_SIZE isn't defined.
215160484Sobrien	* coffswap.h (coff_swap_scnhdr_in): Update image base correctly.
215260484Sobrien
215360484SobrienTue Aug 29 13:50:21 1995  steve chamberlain  <sac@slash.cygnus.com>
215460484Sobrien
215560484Sobrien	* coffcode.h (coff_compute_section_file_positions):
215660484Sobrien	Compile even if COFF_PAGE_SIZE isn't defined.
215760484Sobrien	* cofflink.c (_bfd_coff_generate_reloc_section): Write
215860484Sobrien	base file info as rvas.
215960484Sobrien	* coff-arm.c (coff_rtype_to_howto): Deal with reloc 11.
216060484Sobrien	* coffcode.h (coff_write_object_contents): Remove #if0ed code
216160484Sobrien	Only remove empty sections in PE inmage files.
216260484Sobrien	* libbfd.h, bfd-in2.h: regenerated.
216360484Sobrien	* coff-arm.c (aoutarm_std_relo): New entry at 11.
216460484Sobrien	(arm_reloc_type_lookup) : Understand type 11.
216560484Sobrien	* coff-i386.c (howto_table): fix name of rva type.
216660484Sobrien	(coff-i386_rtype_to_howto): Understand R_IMAGEBASE type.
216760484Sobrien	* coffcode.h (sec_to_styp_flags): .edata is data.
216860484Sobrien	(coff_compute_section_file_positions): Get page size right for PE.
216960484Sobrien	Pagesize info is only valid in PE image files.
217060484Sobrien	(fill_pe_header_info): Fix fields.
217160484Sobrien	(coff_write_object_contents): Remove end_of_image calc.
217260484Sobrien	(_bfd_coff_generate_reloc_section): Remove orphaned comment.
217360484Sobrien	* coffswap.h (coff_swap_scnhdr_in): Don't always add IMAGE_BASE.
217460484Sobrien	Swap in PE header.
217560484Sobrien	(coff_swap_scnhdr_out): Setup PE flags correctly.
217660484Sobrien	* reloc.c (BFD_RELOC_RVA): New field.
217760484Sobrien
217860484SobrienThu Aug 24 17:49:59 1995  Ian Lance Taylor  (ian@cygnus.com)
217960484Sobrien
218060484Sobrien	* cofflink.c (coff_link_input_bfd): Don't include line numbers for
218160484Sobrien	a section if its output section has no contents.
218260484Sobrien
218360484SobrienWed Aug 23 16:48:52 1995  Ian Lance Taylor  (ian@cygnus.com)
218460484Sobrien
218560484Sobrien	* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Add parentheses to FIX
218660484Sobrien	expression to avoid compiler bug on HP-UX 9.01.
218760484Sobrien
218860484SobrienWed Aug 23 09:49:39 1995  Steve Chamberlain  <sac@rtl.cygnus.com>
218960484Sobrien
219060484Sobrien	* coffcode.h (pe_value): Unansify.
219160484Sobrien
219260484SobrienMon Aug 21 17:49:28 1995  steve chamberlain  <sac@slash.cygnus.com>
219360484Sobrien
219460484Sobrien	* bfd-in.h (bfd_link_subsystem): Turn enum into #defines.
219560484Sobrien	(bfd_link_pe_info_dval): New
219660484Sobrien	(bfd_link_stack_heap): Renamed and massaged into bfd_link_pe_info.
219760484Sobrien	* bfd-in2.h: rebuilt.
219860484Sobrien	* bfd.c (NT_subsystem, NT_stack_heap): Deleted.
219960484Sobrien	* coffcode.h (pe_value): New function.
220060484Sobrien	(fill_pe_header_info): New function.
220160484Sobrien	(coff_write_object_contents): Use new function.
220260484Sobrien	(coff_write_object_contents): Initialze link_data if not set.
220360484Sobrien	* cofflink.c (coff_final_link_info): Remove pe randomness.
220460484Sobrien	(dores_com): Update info in bfd_link_pe_info_dval.
220560484Sobrien	(process_embedded_commands): Use the bfd_link_pe_info_dval.
220660484Sobrien	(_bfd_coff_final_link): Remove PE stuff, initialize
220760484Sobrien	coff_data->link_info.
220860484Sobrien	* coffswap.h (coff_swap_[aout|filehdr]_out): Use indirect PE pointer.
220960484Sobrien	(coff_swap_scnhdr_out): Use real imagebase.
221060484Sobrien	* libcoff-in.h (coff_data_type.link_info): New field.
221160484Sobrien
221260484SobrienMon Aug 21 11:10:32 1995  Ian Lance Taylor  <ian@cygnus.com>
221360484Sobrien
221460484Sobrien	* linker.c (link_action): If an undefined reference follows an
221560484Sobrien	undefined weak reference, change the type to undefined.
221660484Sobrien	* elflink.h (elf_link_add_archive_symbols): Don't record an
221760484Sobrien	undefined weak reference as defined, in case it turns into a real
221860484Sobrien	undefined reference later in the same archive.
221960484Sobrien
222060484SobrienThu Aug 17 16:29:09 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
222160484Sobrien
222260484Sobrien	* coff-sh.c (sh_relax_section): Cast value for used_by_bfd field
222360484Sobrien	to PTR, not coff_section_tdata pointer, since PTR is the real type
222460484Sobrien	of the field.
222560484Sobrien	* cofflink.c (_bfd_coff_read_internal_relocs): Ditto.
222660484Sobrien
222760484SobrienThu Aug 17 14:44:26 1995  Ian Lance Taylor  <ian@cygnus.com>
222860484Sobrien
222960484Sobrien	Add support for linking SPARC SunOS PIC compiled code.
223060484Sobrien	* sunos.c (SPARC_PLT_PIC_WORD0): Define.
223160484Sobrien	(SPARC_PLT_PIC_WORD1, SPARC_PLT_PIC_WORD2): Define.
223260484Sobrien	(struct sunos_link_hash_entry): Add got_offset and plt_offset
223360484Sobrien	fields.
223460484Sobrien	(struct sunos_link_hash_table): Add dynamic_sections_created and
223560484Sobrien	dynamic_sections_needed fields.
223660484Sobrien	(sunos_link_hash_newfunc): Initialize new fields.
223760484Sobrien	(sunos_link_hash_table_create): Initialize new fields.
223860484Sobrien	(sunos_create_dynamic_sections): New static function, broken out
223960484Sobrien	of sunos_add_dynamic_symbols.
224060484Sobrien	(sunos_add_dynamic_symbols): Call sunos_create_dynamic_sections.
224160484Sobrien	(sunos_add_one_symbol): Call sunos_create_dynamic_sections.
224260484Sobrien	(bfd_sunos_size_dynamic_sections): Call sunos_scan_relocs before
224360484Sobrien	checking whether we need to set up the dynamic link information.
224460484Sobrien	Define __GLOBAL_OFFSET_TABLE if anything referred to it.
224560484Sobrien	(sunos_scan_std_relocs): Call sunos_create_dynamic_sections.  Use
224660484Sobrien	plt_offset field; only put symbol in .plt if it is not defined by
224760484Sobrien	a regular object.
224860484Sobrien	(sunos_scan_ext_relocs): Likewise.  Handle base relative relocs.
224960484Sobrien	(sunos_scan_dynamic_symbol): Store dynobj in local variable.
225060484Sobrien	(sunos_write_dynamic_symbol): Check plt_offset rather than
225160484Sobrien	checking whether symbol is in .plt section.  If symbol is defined
225260484Sobrien	in a regular object file, use SPARC_PLT_PIC_WORD[012], and don't
225360484Sobrien	add a JMP_TBL reloc.
225460484Sobrien	(sunos_check_dynamic_reloc): Add contents and relocationp fields.
225560484Sobrien	If plt_offset is set, redirect relocation to PLT.  If this is a
225660484Sobrien	base relative reloc, redirect relocation to GOT.  Check
225760484Sobrien	dynamic_sections_needed field rather than whether dynobj is set.
225860484Sobrien	(sunos_finish_dynamic_link): Check dynamic_sections_needed field
225960484Sobrien	rather than whether dynobj is set.  Don't die if .need and .rules
226060484Sobrien	sections were not created.
226160484Sobrien	* aoutx.h (howto_table_ext): Mark PC10, PC22, and JMP_TBL entries
226260484Sobrien	PC relative.  Mark PC10 complain_overflow_dont.  Mark PC22 and
226360484Sobrien	JMP_TBL complain_overflow_signed.
226460484Sobrien	(NAME(aout,final_link)): If info->shared is set, set DYNAMIC.
226560484Sobrien	(aout_link_input_section_std): Call check_dynamic_reloc for all
226660484Sobrien	relocs.  Pass contents and &relocation.  Don't warn about an
226760484Sobrien	undefined symbol until check_dynamic_reloc has been called.  Don't
226860484Sobrien	warn about an undefined symbol for a base relative reloc.
226960484Sobrien	(aout_link_input_section_ext): Likewise.  For a base relative
227060484Sobrien	reloc, always treat r_index as an index into the symbol table.
227160484Sobrien	* libaout.h (struct aout_backend_data): Add contents and
227260484Sobrien	relocation argument to check_dynamic_reloc entry point.
227360484Sobrien	(struct aoutdata): Add local_got_offsets field.
227460484Sobrien
227560484SobrienWed Aug 16 01:03:07 1995  Ian Lance Taylor  <ian@cygnus.com>
227660484Sobrien
227760484Sobrien	* elf32-i386.c (elf_i386_check_relocs): Fix bug in last change.
227860484Sobrien
227960484SobrienMon Aug 14 11:39:24 1995  Ian Lance Taylor  <ian@cygnus.com>
228060484Sobrien
228160484Sobrien	* aoutx.h (NAME(aout,machine_type)): Handle a machine of
228260484Sobrien	bfd_mach_sparc or bfd_mach_sparc64.
228360484Sobrien
228460484Sobrien	* elflink.h (elf_link_add_object_symbols): If a symbol is a weak
228560484Sobrien	definition, add it to the dynamic symbol table if any dynamic
228660484Sobrien	object mentions it.  If we do add it, make sure we add the
228760484Sobrien	corresponding real symbol.
228860484Sobrien	(elf_adjust_dynamic_symbol): Adjust a weak defined symbol which we
228960484Sobrien	put in the dynamic symbol table, even if no regular object refers
229060484Sobrien	to it.
229160484Sobrien	* elf32-i386.c (elf_i386_check_relocs): When creating a shared
229260484Sobrien	library, don't allocate space for a PC relative reloc against a
229360484Sobrien	local symbol.
229460484Sobrien	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
229560484Sobrien	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
229660484Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Change assertion
229760484Sobrien	to accept symbol with weakdef set.
229860484Sobrien	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
229960484Sobrien	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
230060484Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): When creating a shared
230160484Sobrien	libary, don't copy over a PC relative reloc against a local
230260484Sobrien	symbol.
230360484Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
230460484Sobrien
230560484SobrienSun Aug 13 00:40:58 1995  Jeff Law  (law@snake.cs.utah.edu)
230660484Sobrien
230760484Sobrien	* som.h (R_HPPA_BEGIN_BRTAB): Define.
230860484Sobrien	(R_HPPA_END_BRTAB): Likewise.
230960484Sobrien	* som.c (som_write_fixups): Handle R_BEGIN_BRTAB and R_END_BRTAB.
231060484Sobrien
231160484SobrienThu Aug 10 15:53:29 1995  Ian Lance Taylor  <ian@cygnus.com>
231260484Sobrien
231360484Sobrien	* coffswap.h (coff_swap_aux_in): Swap the array dimensions
231460484Sobrien	whenever x_fcnary is not being used for something else, rather
231560484Sobrien	than only for an array.
231660484Sobrien	(coff_swap_aux_out): Likewise.
231760484Sobrien
231860484SobrienTue Aug  8 16:34:57 1995  steve chamberlain  <sac@slash.cygnus.com>
231960484Sobrien
232060484Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section): Remove most
232160484Sobrien	of special case stuff for PE.  Now handled by relocs.
232260484Sobrien	* coff-i386.c (coff_i386_reloc): Special case of PE type 7s.
232360484Sobrien	(howto_table): Type 7 is dir32-rva.
232460484Sobrien
232560484SobrienTue Aug  8 10:15:43 1995  Jeffrey A. Law  <law@rtl.cygnus.com>
232660484Sobrien
232760484Sobrien	* configure.host: Recognize aix4 explicitly.
232860484Sobrien	* rs6000-core.c (CORE_DATA_SIZE_FIELD): New macro to get a the size
232960484Sobrien	of a core dump's data section.  Provide alternate definition for aix4.
233060484Sobrien	(SAVE_FIELD): Similarly for save state field (register info).
233160484Sobrien	(STACK_END_ADDR): Provide definition suitable for aix4.
233260484Sobrien	* config/{aix4.mh,aix4.mt}: New configuration files.
233360484Sobrien	* hosts/aix4.h: Likewise.
233460484Sobrien
233560484SobrienMon Aug  7 23:03:21 1995  Ian Lance Taylor  <ian@cygnus.com>
233660484Sobrien
233760484Sobrien	* som.c (som_bfd_copy_private_symbol_data): Cast initializations
233860484Sobrien	to avoid warnings.
233960484Sobrien
234060484SobrienMon Aug  7 14:51:08 1995  Jeff Law  (law@snake.cs.utah.edu)
234160484Sobrien
234260484Sobrien	* som.c (som_decode_symclass): Handle absolute symbols by checking
234360484Sobrien	the SOM type (since they will rarely if ever be in the absolute
234460484Sobrien	section).
234560484Sobrien
234660484SobrienWed Aug  6 09:12:50 1995  Doug Evans  <dje@canuck.cygnus.com>
234760484Sobrien
234860484Sobrien	* archures.c (bfd_mach_sparc, bfd_mach_sparc64): Define.
234960484Sobrien	* bfd-in2.h: Regenerated.
235060484Sobrien	* cpu-sparc.c (sparc_arch_info): Renamed from arch_info_struct.
235160484Sobrien	(sparc64_arch_info): New static variable.
235260484Sobrien	(bfd_sparc_arch): Link in sparc64_arch_info.
235360484Sobrien	* elf64-sparc.c (sparc64_elf_xxx): Renamed from elf64_xxx.
235460484Sobrien	(sparc64_elf_object_p): New static function.
235560484Sobrien	(elf_backend_object_p): Define.
235660484Sobrien	* config/sparc64-elf.mt (SELECT_VECS): Add bfd_elf32_sparc_vec.
235760484Sobrien
235860484SobrienSat Aug  5 00:04:08 1995  Jeff Law  (law@snake.cs.utah.edu)
235960484Sobrien
236089857Sobrien	* som.c (som_get_reloc_upper_bound): Return -1 on error.  Compute
236160484Sobrien	return value with sizeof (arelent *), not sizeof (arelent).
236260484Sobrien
236360484SobrienWed Aug  2 12:32:21 1995  Ian Lance Taylor  <ian@cygnus.com>
236460484Sobrien
236560484Sobrien	* elf.c (bfd_section_from_shdr): If the section pointed to by the
236660484Sobrien	sh_link field of a reloc section is not a symbol table, and the
236760484Sobrien	file contains a single symbol table, clobber the sh_link field of
236860484Sobrien	the reloc section to point to the symbol table.
236960484Sobrien
237060484SobrienTue Aug  1 10:09:01 1995  Doug Evans  <dje@canuck.cygnus.com>
237160484Sobrien
237260484Sobrien	* coff-arm.c (howto reloc ARM26): Change size from 3 to 2.
237360484Sobrien	(howto reloc ARM26D): Likewise.
237460484Sobrien
237560484SobrienMon Jul 24 14:17:50 1995  Ian Lance Taylor  <ian@cygnus.com>
237660484Sobrien
237760484Sobrien	* aoutx.h (NAME(aout,find_nearest_line)): Use the line just before
237860484Sobrien	the offset, not the one just after.  Break out of the loop after
237960484Sobrien	finding a function past the offset, not merely when finding a
238060484Sobrien	function with a line defined.
238160484Sobrien
238260484Sobrien	* ecofflink.c (_bfd_ecoff_locate_line): When handling stabs:
238360484Sobrien	correct setting of sym_ptr_end to consider symbols skipped when
238460484Sobrien	setting sym_ptr; don't leave loop early unless an N_FUN is found
238560484Sobrien	with a larger value.
238660484Sobrien
238760484Sobrien	* coff-sh.c (sh_coff_howtos): Mark R_SH_PCDISP8BY2 and R_SH_PCDISP
238860484Sobrien	as PC relative.  Describe R_SH_IMM16.  Add entries for
238960484Sobrien	R_SH_SWITCH16, R_SH_SWITCH32, R_SH_USES, R_SH_COUNT, and
239060484Sobrien	R_SH_ALIGN.
239160484Sobrien	(SWAP_IN_RELOC_OFFSET): Define.
239260484Sobrien	(SWAP_OUT_RELOC_OFFSET): Define.
239360484Sobrien	(CALC_ADDEND): Define.
239460484Sobrien	(sh_reloc): Change sym_value and addr to type bfd_vma.  Skip reloc
239560484Sobrien	types other than R_SH_IMM32 and R_SH_PCDISP on an external symbol.
239660484Sobrien	(coff_bfd_relax_section): Define.
239760484Sobrien	(coff_bfd_get_relocated_section_contents): Define.
239860484Sobrien	(sh_relax_section): New static function.
239960484Sobrien	(sh_relax_delete_bytes): New static function.
240060484Sobrien	(sh_relocate_section): Handle R_SH_PCDISP on an external symbol.
240160484Sobrien	(sh_coff_get_relocated_section_contents): New static function.
240260484Sobrien
240360484Sobrien	* cofflink.c (coff_link_add_object_symbols): Call
240460484Sobrien	_bfd_coff_get_external_symbols, not coff_link_get_symbols.  Call
240560484Sobrien	_bfd_coff_free_symbols, not coff_link_free_symbols.  Call
240660484Sobrien	_bfd_coff_read_string_table, not coff_read_string_table.
240760484Sobrien	(coff_link_check_archive_element): Likewise.
240860484Sobrien	(coff_link_input_bfd): Likewise.
240960484Sobrien	(coff_link_get_symbols): Move to coffgen.c.
241060484Sobrien	(coff_read_string_table): Likewise.
241160484Sobrien	(coff_link_free_symbols): Likewise.
241260484Sobrien	(_bfd_coff_internal_syment_name): New static function.
241360484Sobrien	(coff_link_check_ar_symbols): Use _bfd_coff_internal_syment_name.
241460484Sobrien	(coff_link_add_symbols): Likewise.
241560484Sobrien	(coff_link_input_bfd): Likewise.
241660484Sobrien	(_bfd_coff_generic_relocate_section): Likewise.
241760484Sobrien	(_bfd_coff_read_internal_relocs): New function.
241860484Sobrien	(coff_link_input_bfd): Use cached section contents if available.
241960484Sobrien	Use _bfd_coff_read_internal_relocs.
242060484Sobrien	* coffcode.h (coff_slurp_symbol_table): Don't call bfd_seek.
242160484Sobrien	(coff_bfd_get_relocated_section_contents): Only define if not
242260484Sobrien	already defined.
242360484Sobrien	(coff_bfd_relax_section): Likewise.
242460484Sobrien	* coffgen.c (build_string_table): Remove.
242560484Sobrien	(_bfd_coff_get_external_symbols): New function, moved in from old
242660484Sobrien	coff_link_get_symbols in cofflink.c.
242760484Sobrien	(_bfd_coff_read_string_table): New function, moved in from old
242860484Sobrien	coff_read_string_table in cofflink.c.
242960484Sobrien	(_bfd_coff_free_symbols): New function, moved in frmo old
243060484Sobrien	coff_link_free_symbols in cofflink.c.
243160484Sobrien	(coff_get_normalized_symtab): Use _bfd_coff_get_external_symbols
243260484Sobrien	rather than reading the symbols directly.  To free them, call
243360484Sobrien	_bfd_coff_free_symbols.  Use _bfd_coff_read_string_table rather
243460484Sobrien	than build_string_table.
243560484Sobrien	* libcoff-in.h (obj_coff_keep_syms): Define.
243660484Sobrien	(obj_coff_keep_strings): Define.
243760484Sobrien	(coff_data_type): Add fields keep_syms and keep_strings.
243860484Sobrien	(coff_section_tdata): Define new structure.
243960484Sobrien	(coff_section_data): Define.
244060484Sobrien	(_bfd_coff_get_external_symbols): Declare.
244160484Sobrien	(_bfd_coff_read_string_table): Declare.
244260484Sobrien	(_bfd_coff_free_symbols): Declare.
244360484Sobrien	(_bfd_coff_read_internal_relocs): Declare.
244460484Sobrien	* libcoff.h: Rebuild.
244560484Sobrien
244660484SobrienFri Jul 21 22:32:54 1995  Michael Meissner  <meissner@cygnus.com>
244760484Sobrien
244860484Sobrien	* elf32-ppc.c (ppc_elf_howto_raw): Add support for R_PPC_SDAREL
244960484Sobrien	relocation.
245060484Sobrien	(ppc_elf_reloc_type_lookup): Ditto.
245160484Sobrien	(ppc_elf_got16_inner): Ditto.
245260484Sobrien	(ppc_elf_relocate_section): Ditto.
245360484Sobrien
245460484SobrienThu Jul 20 19:19:06 1995  Jeff Law  (law@snake.cs.utah.edu)
245560484Sobrien
245660484Sobrien	* elf32-hppa.c (hppa_elf_gen_reloc_type): Add new (ignored)
245760484Sobrien	argument.
245860484Sobrien	* elf32-hppa.h: Corresponding change.
245960484Sobrien
246060484SobrienThu Jul 20 19:01:07 1995  Ken Raeburn  <raeburn@cygnus.com>
246160484Sobrien
246260484Sobrien	* libaout.h (set_aout_section_data): New macro.
246360484Sobrien	* sunos.c (sunos_scan_relocs): Use it.
246460484Sobrien
246560484Sobrien	* aout-ns32k.c (MY_swap_std_reloc_out): Undef KEEPIT before
246660484Sobrien	defining it.
246760484Sobrien
246860484SobrienThu Jul 20 13:48:00 1995  Fred Fish  <fnf@cygnus.com>
246960484Sobrien
247060484Sobrien	* hosts/i386v4.h (getgid, getuid):  Change prototypes to be
247160484Sobrien	compatible with Unixware 1.x and Unixware 2.x, and probably other
247260484Sobrien	i386 svr4 versions as well.
247360484Sobrien
247460484SobrienThu Jul 20 13:41:21 1995  Ken Raeburn  <raeburn@cygnus.com>
247560484Sobrien
247660484Sobrien	* targets.c (bfd_target_vector): Since armpe and armpei have been
247760484Sobrien	split into big- and little-endian variants, list all of them,
247860484Sobrien	instead of the now-nonexistant armpe[i]_vec.
247960484Sobrien
248060484SobrienThu Jul 20 00:06:39 1995  Ian Lance Taylor  <ian@cygnus.com>
248160484Sobrien
248260484Sobrien	* elf.c (bfd_section_from_phdr): Set lma based on p_paddr.
248360484Sobrien	(elf_fake_sections): Set sh_addr based on lma, not vma.
248460484Sobrien
248560484SobrienWed Jul 19 15:52:01 1995  Doug Evans  <dje@canuck.cygnus.com>
248660484Sobrien
248760484Sobrien	* coff-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
248860484Sobrien	* configure.in (armpe_vec, armpei_vec): Add bi-endian support.
248960484Sobrien	* configure: "regenerated".
249060484Sobrien	* pe-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
249160484Sobrien	(TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME.
249260484Sobrien	* pei-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
249360484Sobrien	(TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME.
249460484Sobrien	* targets.c (armpe_vec, armpei_vec): Deleted.
249560484Sobrien	(armpe_little_vec, armpe_big_vec, armpei_little_vec, armpei_big_vec):
249660484Sobrien	Added.
249760484Sobrien	* config/arm-pe.mt (DEFAULT_VECTOR): Default is armpe_little_vec.
249860484Sobrien	(SELECT_VECS): Add bi-endian support.
249960484Sobrien
250060484SobrienWed Jul 19 10:47:25 1995  Ian Lance Taylor  <ian@cygnus.com>
250160484Sobrien
250260484Sobrien	* coff-sh.c: Clean up and comment.
250360484Sobrien	(r_imm32): Remove.
250460484Sobrien	(sh_coff_howtos): New static array.
250560484Sobrien	(SH_COFF_HOWTO_COUNT): Define.
250660484Sobrien	(get_symbol_value): Make relocation bfd_vma rather than long.
250760484Sobrien	(RTYPE2HOWTO): Rewrite to use sh_coff_howtos.
250860484Sobrien	(coff_relocate_section): Define to sh_relocate_section.
250960484Sobrien	(sh_relocate_section): New static function.
251060484Sobrien
251160484SobrienSat Jul 15 01:02:53 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
251260484Sobrien
251360484Sobrien	* configure.host:  Add support for generic m68k SVR4 host.
251460484Sobrien
251560484SobrienFri Jul 14 13:13:55 1995  Ian Lance Taylor  <ian@cygnus.com>
251660484Sobrien
251760484Sobrien	* aoutx.h (KEEPIT): Change definition to udata.i.
251860484Sobrien	(KEEPITTYPE): Remove.
251960484Sobrien	(NAME(aout,reloc_type_lookup)): Add cases to the
252060484Sobrien	extended reloc type switch: SPARC_GOT10, SPARC_GOT13, SPARC_GOT22,
252160484Sobrien	SPARC_PC10, SPARC_PC22, SPARC_WPLT30.
252260484Sobrien	(NAME(aout,swap_std_reloc_out)): Don't bother to use stoi when
252360484Sobrien	retrieving KEEPIT value.
252460484Sobrien	(NAME(aout,swap_ext_reloc_out)): Likewise.  Also, only add in
252560484Sobrien	output section VMA for section symbols, and check BSF_SECTION_SYM
252660484Sobrien	to control whether to set r_extern to 1.
252760484Sobrien
252860484Sobrien	* syms.c: Fix comments so that `make info' works.
252960484Sobrien
253060484Sobrien	* elf32-mips.c (mips_elf_find_nearest_line): Set SEC_HAS_CONTENTS
253160484Sobrien	in .mdebug section, in case backend linker has cleared it.
253260484Sobrien
253360484SobrienFri Jul 14 11:58:34 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
253460484Sobrien
253560484Sobrien	* elf32-ppc.c (ppc_elf_addr16_ha_inner): Rewrite to take just one
253660484Sobrien	argument, the final relocated address.
253760484Sobrien	(ppc_elf_addr16_ha_inner): Adjust ppc_elf_addr16_ha_inner caller.
253860484Sobrien	(ppc_elf_relocate_section): Ditto.
253960484Sobrien
254060484SobrienThu Jul 13 17:22:03 1995  Jeff Law  (law@snake.cs.utah.edu)
254160484Sobrien
254260484Sobrien	* som.c (hppa_som_gen_reloc_type): Choose a reasonable field
254360484Sobrien	selector relocation for the difference of two symbols.
254460484Sobrien
254560484SobrienThu Jul 13 10:33:25 1995  Ian Lance Taylor  <ian@cygnus.com>
254660484Sobrien
254760484Sobrien	* aoutx.h (NAME(aout,slurp_reloc_table)): Cast argument to size_t
254860484Sobrien	for malloc.
254960484Sobrien	* coff-mips.c (mips_relocate_section): Likewise, for memmove.
255060484Sobrien	(mips_relax_section): Likewise, for malloc.
255160484Sobrien	* cofflink.c (process_embedded_commands): Likewise.
255260484Sobrien	(_bfd_coff_final_link): Likewise.
255360484Sobrien	* ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
255460484Sobrien	(ecoff_final_link_debug_accumulate): Likewise.
255560484Sobrien	(ecoff_indirect_link_order): Likewise, for memcpy and malloc.
255660484Sobrien	(ecoff_reloc_link_order): Likewise, for malloc.
255760484Sobrien	* ecofflink.c (ecoff_align_debug): Likewise, for memset.
255860484Sobrien	(ecoff_write_symhdr): Likewise, for malloc.
255960484Sobrien	* elf32-hppa.c (elf32_hppa_read_symext_info): Likewise.
256060484Sobrien	* elf.c (assign_file_positions_except_relocs): Likewise, for
256160484Sobrien	qsort.
256260484Sobrien	* elf32-mips.c (mips_elf_read_ecoff_info): Likewise, for malloc.
256360484Sobrien	* elfcode.h (elf_slurp_reloc_table): Likewise.
256460484Sobrien	* elfcore.h (elf_corefile_note): Likewise.
256560484Sobrien	* elflink.h (elf_link_add_object_symbols): Likewise.
256660484Sobrien	(elf_link_read_relocs): Likewise.
256760484Sobrien	(NAME(bfd_elf,size_dynamic_sections)): Likewise, for memset.
256860484Sobrien	* i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
256960484Sobrien	* ieee.c (do_with_relocs): Likewise.
257060484Sobrien	* linker.c (default_indirect_link_order): Likewise, for malloc.
257160484Sobrien	* nlmcode.h (nlm_object_p): Likewise.
257260484Sobrien	(nlm_write_object_contents): Likewise.
257360484Sobrien	* oasys.c (oasys_set_section_contents): Likewise, for memcpy.
257460484Sobrien	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise,
257560484Sobrien	for malloc.
257660484Sobrien	* section.c (bfd_get_section_contents): Likewise, for memcpy.
257760484Sobrien	* srec.c (srec_get_section_contents): Likewise.
257860484Sobrien	(srec_set_section_contents): Likewise.
257960484Sobrien	* sunos.c (bfd_sunos_size_dynamic_sections): Likewise, for
258060484Sobrien	realloc and memset.
258160484Sobrien	(sunos_scan_relocs): Likewise, for malloc.
258260484Sobrien	(sunos_scan_dynamic_symbol): Likewise, for realloc.
258360484Sobrien	* syms.c (_bfd_generic_read_minisymbols): Likewise, for malloc.
258460484Sobrien	* versados.c (versados_get_section_contents): Likewise, for
258560484Sobrien	memcpy.
258660484Sobrien
258760484Sobrien	* libbfd.c (real_read): Add prototype.  Change argument types from
258860484Sobrien	int to size_t.
258960484Sobrien	(bfd_read): Cast real_read argument to size_t, not int.
259060484Sobrien	(bfd_write): Cast fwrite argument to size_t, not int.
259160484Sobrien
259260484Sobrien	* elf64-gen.c (elf_info_to_howto): Fix definition for recent elf.c
259360484Sobrien	changes.
259460484Sobrien
259560484Sobrien	* configure.in: Fix typo: change {$enableval} to ${enableval}.
259660484Sobrien	* configure: Rebuild.
259760484Sobrien
259860484Sobrien	* Makefile.in (BFD32_BACKENDS): Add elflink.o.
259960484Sobrien
260060484Sobrien	* targets.c (bfd_target): Add fields _read_minisymbols and
260160484Sobrien	_minisymbol_to_symbol.
260260484Sobrien	(BFD_JUMP_TABLE_SYMBOLS): Add _read_minisymbols and
260360484Sobrien	_minisymbol_to_symbol.
260460484Sobrien	(bfd_read_minisymbols): Define.
260560484Sobrien	(bfd_minisymbol_to_symbol): Define.
260660484Sobrien	* syms.c (_bfd_generic_read_minisymbols): Define.
260760484Sobrien	(_bfd_generic_minisymbol_to_symbol): Define.
260860484Sobrien	* libbfd-in.h (_bfd_nosymbols_read_minisymbols): Define.
260960484Sobrien	(_bfd_nosymbols_minisymbol_to_symbol): Define.
261060484Sobrien	(_bfd_generic_read_minisymbols): Declare.
261160484Sobrien	(_bfd_generic_minisymbol_to_symbol): Declare.
261260484Sobrien	* bfd-in2.h: Rebuild.
261360484Sobrien	* libbfd.h: Rebuild.
261460484Sobrien	* aoutx.h (MINISYM_THRESHOLD): Define.
261560484Sobrien	(NAME(aout,read_minisymbols)): New function.
261660484Sobrien	(NAME(aout,minisymbol_to_symbol)): New function.
261760484Sobrien	* libaout.h (NAME(aout,read_minisymbols)): Declare.
261860484Sobrien	(NAME(aout,minisymbol_to_symbol)): Declare.
261960484Sobrien	* aout-target.h (MY_read_minisymbols): Define.
262060484Sobrien	(MY_minisymbol_to_symbol): Define.
262160484Sobrien	* All targets: Define read_minisymbols and minisymbol_to_symbol.
262260484Sobrien
262360484SobrienWed Jul 12 17:55:55 1995  Ken Raeburn  <raeburn@cygnus.com>
262460484Sobrien
262560484Sobrien	* elflink.h (elf_link_add_object_symbols): Cast return value from
262660484Sobrien	bfd_alloc.
262760484Sobrien
262860484Sobrien	* elfcode.h (size_info): Don't use "&" before function names.
262960484Sobrien
263060484SobrienWed Jul 12 00:16:48 1995  Ken Raeburn  <raeburn@kr-pc.cygnus.com>
263160484Sobrien
263260484Sobrien	* libelf.h (elf_backend_data): Use unsigned, not unsigned char,
263360484Sobrien	for bitfields.
263460484Sobrien
263560484SobrienTue Jul 11 15:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
263660484Sobrien
263760484Sobrien	* elf.c (bfd_section_from_shdr): In case SHT_REL[A], only get the
263860484Sobrien        BFD section for the sh_link section if it is a SYMTAB section.
263960484Sobrien
264060484Sobrien	* aoutx.h (NAME(aout,link_add_symbols)): Don't bother to check
264160484Sobrien	that archives hold a.out objects.
264260484Sobrien	* cf-i386lynx.c (coff_bfd_link_add_symbols): Don't define.
264360484Sobrien	(lynx_link_add_symbols): Remove.
264460484Sobrien	* cf-m68klynx.c (coff_bfd_link_add_symbols): Don't define.
264560484Sobrien	(lynx_link_add_symbols): Remove.
264660484Sobrien	* elflink.h (elf_bfd_link_add_symbols): Don't bother to check that
264760484Sobrien	archives hold ELF objects.
264860484Sobrien
264960484Sobrien	* archive.c (bfd_generic_archive_p): If the archive has a map, and
265060484Sobrien	the target was defaulted, but the first object in the archive can
265160484Sobrien	not be matched with that target, then return a bad format error.
265260484Sobrien
265360484Sobrien	* elf64-sparc.c (elf_sparc_howto_table): Set howto for WDISP16 to
265460484Sobrien	elf64_wdisp16_reloc.
265560484Sobrien	(elf64_wdisp16_reloc): New static function.
265660484Sobrien	(elf64_sparc_relocate_section): New static function.
265760484Sobrien	(elf_backend_relocate_section): Define.
265860484Sobrien
265960484Sobrien	* libelf.h (struct elf_size_info): Change type of last argument to
266060484Sobrien	swap_symbol_out from char * to PTR.
266160484Sobrien	(bfd_elf32_swap_symbol_out): Update declaration.
266260484Sobrien	(bfd_elf64_swap_symbol_out): Likewise.
266360484Sobrien	* elfcode.h (elf_swap_symbol_out): Change type of cdst from char *
266460484Sobrien	to PTR.
266560484Sobrien	* elf.c (swap_out_syms): Cast to PTR, not char *, when calling
266660484Sobrien	swap_symbol_out routine.
266760484Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Likewise.
266860484Sobrien	(elf_link_output_sym): Likewise.
266960484Sobrien	(elf_link_output_extsym): Likewise.
267060484Sobrien	* elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Likewise.
267160484Sobrien
267260484SobrienTue Jul 11 12:29:49 1995  Rick Sladkey  <jrs@world.std.com>
267360484Sobrien
267460484Sobrien	* elf.c (_bfd_elf_find_nearest_line): Handle the simple case where
267560484Sobrien	there is no debugging information.
267660484Sobrien
267760484SobrienMon Jul 10 11:45:55 1995  Ken Raeburn  <raeburn@cygnus.com>
267860484Sobrien
267960484Sobrien	* makefile.dos (OBJS): Add binary.o and tekhex.o.  From DJ
268060484Sobrien	Delorie.
268160484Sobrien
268260484SobrienMon Jul 10 11:09:58 1995  Ian Lance Taylor  <ian@cygnus.com>
268360484Sobrien
268460484Sobrien	* linker.c (set_symbol_from_hash): bfd_link_hash_new case: Don't
268560484Sobrien	abort; it can happen for constructor symbols when not building
268660484Sobrien	constructors.
268760484Sobrien
268860484Sobrien	* coff-i960.c (coff_i960_relocate): Correct typo: use ! on strcmp,
268960484Sobrien	not on string.
269060484Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section): Remove unused
269160484Sobrien	local i.
269260484Sobrien	* coff-arm.c (coff_arm_rtype_to_howto): Don't declare.
269360484Sobrien	(PCRELOFFSET): Define if not already defined.
269460484Sobrien	* Makefile.in: Rebuild dependencies.
269560484Sobrien	(BFD32_BACKENDS): Add coff-arm.o
269660484Sobrien	(CFILES): Add coff-arm.c, pe-arm.c, pei-arm.c.
269760484Sobrien
269860484Sobrien	* aoutx.h (NAME(aout,link_hash_table_create)): Allocate hash table
269960484Sobrien	using bfd_alloc, not malloc.
270060484Sobrien	* cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
270160484Sobrien	* ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
270260484Sobrien	* i386linux.c (linux_link_hash_table_create): Likewise.
270360484Sobrien	* linker.c (_bfd_generic_link_hash_table_create): Likewise.
270460484Sobrien	* sunos.c (sunos_link_hash_table_create): Likewise.
270560484Sobrien
270660484Sobrien	Based on patches from Eric Youngdale <eric@aib.com>:
270760484Sobrien	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): If -Bsymbolic,
270860484Sobrien	output a DT_SYMBOLIC dynamic entry.
270960484Sobrien	(elf_adjust_dynamic_symbol): If -Bsymbolic, don't require a PLT
271060484Sobrien	entry for a locally defined symbol.
271160484Sobrien	* elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, do warn
271260484Sobrien	about undefined symbols, and fill in the GOT entry for a symbol
271360484Sobrien	defined in a regular object file.
271460484Sobrien	(elf_i386_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE
271560484Sobrien	reloc rather than a GLOB_DAT reloc for a symbol defined in a
271660484Sobrien	regular object file.
271760484Sobrien	* elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, do warn
271860484Sobrien	about undefined symbols, and fill in the GOT entry for a symbol
271960484Sobrien	defined in a regular object file.
272060484Sobrien	(elf_m68k_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE
272160484Sobrien	reloc rather than a GLOB_DAT reloc for a symbol defined in a
272260484Sobrien	regular object file.
272360484Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): If -Bsymbolic, do
272460484Sobrien	warn about undefined symbols, and fill in the GOT entry for a
272560484Sobrien	symbol defined in a regular object file.
272660484Sobrien	(elf32_sparc_finish_dynamic_symbol): If -Bsymbolic, output a
272760484Sobrien	RELATIVE reloc rather than a GLOB_DAT reloc for a symbol defined
272860484Sobrien	in a regular object file.
272960484Sobrien
273060484Sobrien	* config/m68k-coff.mt (SELECT_VECS): Rename from SELECT_VECTORS.
273160484Sobrien	Correct elements to be actual BFD vector names.
273260484Sobrien
273360484Sobrien	* Makefile.in (Makefile): Don't depend upon @frags@.
273460484Sobrien	(config.status): Depend upon @frags@.
273560484Sobrien
273660484SobrienFri Jul  7 17:36:44 1995  Ian Lance Taylor  <ian@cygnus.com>
273760484Sobrien
273860484Sobrien	* coffgen.c (coff_renumber_symbols): Sort defined symbols that are
273960484Sobrien	neither BSF_FUNCTION not BSF_NOT_AT_END just before undefined
274060484Sobrien	symbols.
274160484Sobrien	* coffcode.h (coff_slurp_symbol_table): Set BSF_FUNCTION as well
274260484Sobrien	as BSF_NOT_AT_END.
274360484Sobrien
274460484SobrienFri Jul  7 17:16:15 1995  Ken Raeburn  <raeburn@cygnus.com>
274560484Sobrien
274660484Sobrien	* Makefile.in (do_mostlyclean): Remove config.log.
274760484Sobrien	(do_distclean): Remove config.cache.
274860484Sobrien
274960484SobrienThu Jul  6 14:37:43 1995  Ian Lance Taylor  <ian@cygnus.com>
275060484Sobrien
275160484Sobrien	* elf32-i386.c (elf_i386_relocate_section): Revert May 24 patch.
275260484Sobrien        Don't copy PC32 reloc against section into shared object.
275360484Sobrien
275460484Sobrien	* Makefile.in: Rebuild dependencies.
275560484Sobrien	(CFILES): Added elflink.c.
275660484Sobrien	(Makefile): Depend upon config.status, not configure.in.
275760484Sobrien	(config.status): New target; depend upon configure configure.host
275860484Sobrien	and config.bfd.
275960484Sobrien
276060484SobrienWed Jul  5 20:17:14 1995  Ken Raeburn  <raeburn@cygnus.com>
276160484Sobrien
276260484Sobrien	* elfcore.h, elflink.h, elfcode.h, elf.c, elflink.c: Moved some
276360484Sobrien 	primarily size-independent code from elfcode.h to elf.c and new
276460484Sobrien 	file elflink.c; moved out other core- or linker-related routines
276560484Sobrien 	into other new .h files for clarity.  Renamed many routines to
276660484Sobrien 	start with bfd_elf or _bfd_elf.  Added a structure of
276760484Sobrien 	size-dependent but target-independent info to elfcode.h.
276860484Sobrien	* Makefile.in: Build elflink.o.  Update dependencies.
276960484Sobrien	* libelf.h: Updated some declarations.  Added a definition for the
277060484Sobrien	new structure in elfcode.h.  Added more fields to elf backend data
277160484Sobrien	structure.
277260484Sobrien	* elfxx-target.h: Refer to the appropriate size-dependent info.
277360484Sobrien	* elf32-*.c: Changed some function names.  Moved common
277460484Sobrien	create_dynamic_sections code from m68k, sparc, and i386 support
277560484Sobrien	into elflink.c.  Define some new macros to fill in new fields of
277660484Sobrien	back end data.  Also clean up some "gcc -Wall" warnings regarding
277760484Sobrien	unused or uninitialized variables.
277860484Sobrien
277960484Sobrien	* Makefile.in (BFD_LIBS): No, don't put elflink.o here.
278060484Sobrien	* configure.in: Include it here whenever elf.o is specified.
278160484Sobrien
278260484SobrienWed Jul  5 10:31:47 1995  Ian Lance Taylor  <ian@cygnus.com>
278360484Sobrien
278460484Sobrien	* elf32-mips.c (mips_elf_object_p): Unconditionally set
278560484Sobrien	elf_bad_symtab, since sometimes the symbol table is messed up and
278660484Sobrien	the last symbol is global.
278760484Sobrien
278860484Sobrien	* ecoff.c (_bfd_ecoff_bfd_is_local_label): New function.
278960484Sobrien	* libecoff.h (_bfd_ecoff_bfd_is_local_label): Declare.
279060484Sobrien	* elf32-mips.c (mips_elf_is_local_label): New static function.
279160484Sobrien	(bfd_elf32_bfd_is_local_label): Define.
279260484Sobrien
279360484Sobrien	* configure.in: Use $ac_config_sub, not $configsub.
279460484Sobrien	* configure: Likewise.
279560484Sobrien
279660484Sobrien	Permit --enable-targets=ieee:
279760484Sobrien	* config.bfd (*-*-ieee*): New target.
279860484Sobrien	* config/ieee.mt: New file.
279960484Sobrien
280060484SobrienWed Jul  5 04:16:35 1995  Ken Raeburn  <raeburn@kr-pc.cygnus.com>
280160484Sobrien
280260484Sobrien	* config/i386aix.mh (HDEFINES): Remove -DFASCIST_FDOPEN.
280360484Sobrien
280460484Sobrien	Autoconfiscation:
280560484Sobrien	* configure.in, Makefile.in, doc/Makefile.in: Switch from Cygnus
280660484Sobrien	configure to autoconf ways of processing --enable arguments,
280760484Sobrien	setting up symlinks, incorporating makefile fragments, printing
280860484Sobrien	messages at configuration time, setting variables in Makefile.
280960484Sobrien	Deleted some unused variables.  Check for ranlib via autoconf.
281060484Sobrien	For now, configure script removes doc/config.status.
281160484Sobrien	* configure: New file.
281260484Sobrien	* dep-in.sed: Use @SRCDIR@ instead of @srcdir@, so Makefile.in
281360484Sobrien	line doesn't get broken by configure.
281460484Sobrien	* doc/configure.in: Removed.
281560484Sobrien
281660484SobrienTue Jul  4 12:22:21 1995  Ian Lance Taylor  <ian@cygnus.com>
281760484Sobrien
281860484Sobrien	* archive.c (_bfd_construct_extended_name_table): If
281960484Sobrien	BFD_TRADITIONAL_FORMAT is set, limit the length of all file names
282060484Sobrien	to ar_max_namelen.
282160484Sobrien	(bfd_dont_truncate_arname): If BFD_TRADITIONAL_FORMAT is set, call
282260484Sobrien	bfd_bsd_truncate_arname.
282360484Sobrien	(_bfd_write_archive_contents): Revert June 1 change.
282460484Sobrien
282560484Sobrien	* elfcode.h (NAME(bfd_elf,record_link_assignment)): Add provide
282660484Sobrien	argument.
282760484Sobrien	* bfd-in.h (bfd_elf32_record_link_assignment): Update prototype.
282860484Sobrien	(bfd_elf64_record_link_assignment): Likewise.
282960484Sobrien	* bfd-in2.h: Rebuild.
283060484Sobrien
283160484Sobrien	* libelf.h (struct elf_link_hash_table): Add needed field.  Remove
283260484Sobrien	saw_needed field.
283360484Sobrien	* elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
283460484Sobrien	is an empty string, don't make a DT_NEEDED entry in the output
283560484Sobrien	file.  Record all DT_NEEDED entries found in input dynamic
283660484Sobrien	objects.
283760484Sobrien	(elf_link_output_extsym): Don't check saw_needed when issuing
283860484Sobrien	warnings.
283960484Sobrien	* elf.c (_bfd_elf_link_hash_table_init): Initialize needed, not
284060484Sobrien	saw_needed.
284160484Sobrien	(bfd_elf_get_needed_list): New function.
284260484Sobrien	* bfd-in.h (struct bfd_elf_link_needed_list): Define.
284360484Sobrien	(bfd_elf_get_needed_list): Define.
284460484Sobrien	* bfd-in2.h: Rebuild.
284560484Sobrien
284660484Sobrien	* ecoff.c (_bfd_ecoff_find_nearest_line): Also initialize
284760484Sobrien	find_buffer and fdrtab_len fields of newly allocated
284860484Sobrien	find_line_info structure.
284960484Sobrien
285060484SobrienMon Jul  3 17:03:52 1995  Jeff Law  (law@snake.cs.utah.edu)
285160484Sobrien
285260484Sobrien	* som.c (hppa_som_gen_reloc_type): New argument "sym_diff",
285360484Sobrien	nonzero when we're generating relocations for an expression
285460484Sobrien	using the difference of two symbols.  All callers changed.
285560484Sobrien	Handle difference of symbols for both R_HPPA and R_COMPLEX
285660484Sobrien	cases.
285760484Sobrien	(som_write_fixups): Handle R_COMP1, R_COMP2 and R_CODE_EXPR
285860484Sobrien	fixups.
285960484Sobrien
286060484SobrienMon Jul  3 13:55:18 1995  Steve Chamberlain  <sac@slash.cygnus.com>
286160484Sobrien
286260484Sobrien	* config.bfd (win32): New configuration.
286360484Sobrien	* configure.host (pe): Changed to i386win32.
286460484Sobrien	* config/i386pe.mh: Deleted.
286560484Sobrien	* config/i386win32.mh: New file.
286660484Sobrien
286760484SobrienMon Jul  3 11:30:45 1995  Ian Lance Taylor  <ian@cygnus.com>
286860484Sobrien
286960484Sobrien	* ecoff.c (_bfd_ecoff_find_nearest_line): If we allocate
287060484Sobrien	find_line_info, clear the fdrtab field.
287160484Sobrien
287260484Sobrien	* targets.c (enum bfd_flavour): Add bfd_target_msdos_flavour here,
287360484Sobrien	rather than in bfd-in2.h.
287460484Sobrien
287560484Sobrien	* bfd.c (enum bfd_error): Define bfd_error_no_armap.
287660484Sobrien	(bfd_errmsgs): Add string for bfd_error_no_armap.
287760484Sobrien	* bfd-in2.h: Rebuild.
287860484Sobrien	* ecoff.c (ecoff_link_add_archive_symbols): If an archive has no
287960484Sobrien	armap, set bfd_error_no_armap rather than bfd_error_no_symbols.
288060484Sobrien	* elfcode.h (elf_link_add_archive_symbols): Likewise.
288160484Sobrien	* linker.c (_bfd_generic_link_add_archive_symbols): Likewise.
288260484Sobrien
288360484Sobrien	* elfcode.h (elf_link_add_object_symbols): Permit common and
288460484Sobrien	indirect symbols in weakdefs BFD_ASSERT.
288560484Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Simplify
288660484Sobrien	BFD_ASSERT to permit some legal, but odd, cases.
288760484Sobrien	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
288860484Sobrien	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
288960484Sobrien
289060484Sobrien	* Makefile.in: Rebuild dependencies.
289160484Sobrien	(BFD32_BACKENDS): Add versados.o.
289260484Sobrien	(CFILES): Add pe-i386.c, pei-i386.c, and versados.c.
289360484Sobrien
289460484SobrienSun Jul  2 17:49:32 1995  Ian Lance Taylor  <ian@cygnus.com>
289560484Sobrien
289660484Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section): Cast base_file
289760484Sobrien	to FILE * before using it.
289860484Sobrien	* stab-syms.c: Revert yesterday's patch.
289960484Sobrien
290060484SobrienSat Jul  1 12:10:42 1995  Fred Fish  <fnf@cygnus.com>
290160484Sobrien
290260484Sobrien	* stab-syms.c (stdio.h):  Include prior to libaout.h, which
290360484Sobrien	includes bfdlink.h, which now uses FILE.
290460484Sobrien
290560484SobrienSat Jul  1 00:11:08 1995  Ken Raeburn  <raeburn@cygnus.com>
290660484Sobrien
290760484Sobrien	* elfxx-target.h: New file.
290860484Sobrien
290960484Sobrien	* libelf.h (struct elf_backend_data): Remove elf_64_p field.
291060484Sobrien	* elfxx-target.h (elfNN_bed): Don't set it.
291160484Sobrien
291260484Sobrien	* elf32-target.h, elf64-target.h: Deleted.
291360484Sobrien	* Makefile.in (elf32-target.h, elf64-target.h): Build them from
291460484Sobrien	elfxx-target.h.
291560484Sobrien
291660484SobrienFri Jun 30 16:07:18 1995  Steve Chamberlain  <sac@slash.cygnus.com>
291760484Sobrien
291860484Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section): Compare
291960484Sobrien	the full text of .reloc or .edata section names.
292060484Sobrien
292160484SobrienFri Jun 30 15:47:37 1995  Fred Fish  <fnf@cygnus.com>
292260484Sobrien
292360484Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section):
292460484Sobrien	Remove extra '+'.
292560484Sobrien
292660484SobrienThu Jun 29 17:24:52 1995  Steve Chamberlain  <sac@slash.cygnus.com>
292760484Sobrien
292860484Sobrien	* coff-h8300.c (COFF_LONG_FILENAMES): Define.
292960484Sobrien
293060484SobrienWed Jun 28 18:04:42 1995  Steve Chamberlain  <sac@slash.cygnus.com>
293160484Sobrien
293260484Sobrien	* Makefile.in: versados.o is now conditionally built.
293360484Sobrien	* coffcode.h (add_data_entry): New function.
293460484Sobrien	(coff_write_object_contents): Clean up. Calculate
293560484Sobrien	data entries.
293660484Sobrien	* cofflink.c (_bfd_coff_generic_relocate_section):
293760484Sobrien	.reloc and .edata sections are IMAGE_BASED too.
293860484Sobrien	If there's a base_file then write out base information.
293960484Sobrien	* configure.host (i386-*-pe): New.
294060484Sobrien	* syms.c (coff_section_type): Only scan prefixes.
294160484Sobrien	* targets.c (bfd_target_vector): Versados is now conditionally
294260484Sobrien	built.
294360484Sobrien	* config/m68k-coff.mt: Build versados.o
294460484Sobrien	* hosts/i386pe.h: New file.
294560484Sobrien
294660484SobrienMon Jun 26 13:53:49 1995  Jeff Law  (law@snake.cs.utah.edu)
294760484Sobrien
294860484Sobrien	* elf32-hpa.c (elf32_hppa_relocate_section): Close comment before
294960484Sobrien	R_PARISC_DPREL21L handling.
295060484Sobrien
295160484SobrienThu Jun 22 19:28:36 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
295260484Sobrien
295360484Sobrien	Sun May  7 11:53:41 MDT 1995  Bryan Ford  <baford@cs.utah.edu>
295460484Sobrien
295560484Sobrien	* config/i386-moss.mt: created.
295660484Sobrien
295760484SobrienThu Jun 22 08:56:10 1995  Steve Chamberlain  <sac@slash.cygnus.com>
295860484Sobrien
295960484Sobrien	* reloc.c (bfd_perform_relocation): Add case for -ve words.
296060484Sobrien
296160484SobrienWed Jun 21 13:13:49 1995  Jeff Law  (law@snake.cs.utah.edu)
296260484Sobrien
296360484Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Don't try to apply a
296460484Sobrien	relocation against an undefined symbols.
296560484Sobrien
296660484SobrienWed Jun 21 10:16:10 1995  Steve Chamberlain  <sac@slash.cygnus.com>
296760484Sobrien
296860484Sobrien	* versados.c: Second pass/rewrite.
296960484Sobrien
297060484SobrienMon Jun 19 08:40:45 1995  Steve Chamberlain  <sac@slash.cygnus.com>
297160484Sobrien
297260484Sobrien	* syms.c (coff_section_type): Compare only the front part
297360484Sobrien	of a section name.
297460484Sobrien
297560484SobrienSat Jun 17 09:40:44 1995  Jeff Law  (law@snake.cs.utah.edu)
297660484Sobrien
297760484Sobrien	* elf32-hppa.c (elf32_hppa_size_stubs): Set the size of the stub
297860484Sobrien	section if we get an error.
297960484Sobrien
298060484Sobrien	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Don't mess
298160484Sobrien	with the operands of an R_PARISC_DPREL21L relocation if the insn
298260484Sobrien	is not "addil <symbol>,%r27".
298360484Sobrien
298460484SobrienFri Jun 16 15:04:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
298560484Sobrien
298660484Sobrien	* bfd-in.h (NT_subsystem, NT_stack_heap): Declare but don't
298760484Sobrien	define.
298860484Sobrien	* bfd-in2.h: Rebuilt.
298960484Sobrien	* bfd.c (NT_subsystem, NT_stack_heap): Define.
299060484Sobrien
299160484SobrienFri Jun 16 00:07:25 1995  Jeff Law  (law@snake.cs.utah.edu)
299260484Sobrien
299360484Sobrien	* elf32-hppa.c (elf32_hppa_bfd_link_link_relocate): Use the right
299460484Sobrien	type field (there are two!) when checking to see if $global$ is
299560484Sobrien	defined.
299660484Sobrien
299760484SobrienThu Jun 15 14:03:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
299860484Sobrien
299960484Sobrien	* bfd-in.h, bfd-in2.h (bfd_boolean): Rename bfd_true, bfd_false
300060484Sobrien	to bfd_tttrue, bfd_fffalse so as not to conflict with functions.
300160484Sobrien	* coffswap.h (coff_swap_scnhdr_out): Remove version that was
300260484Sobrien	hacked for MPW C.
300360484Sobrien	* mpw-config.in: Set shell vars instead of pasting to makefile
300460484Sobrien	for each configuration, edit coffswap.h to make MPW C not choke.
300560484Sobrien	(i386-unknown-coff, sh-hitachi-hms): Recognize.
300660484Sobrien	* mpw-make.in (BFD_LIBS): Add versados.c.o.
300760484Sobrien
300860484Sobrien	* versados.c (versados_scan): Properly cast results from bfd_alloc.
300960484Sobrien
301060484SobrienWed Jun 14 15:27:32 1995  Steve Chamberlain  <sac@slash.cygnus.com>
301160484Sobrien
301260484Sobrien	* cofflink.c (process_embedded_commands): New function
301360484Sobrien	reads and handles .drectve sections for PE.
301460484Sobrien	(coff_link_input_bfd): Call new function if PE.
301560484Sobrien
301660484SobrienMon Jun 12 12:09:39 1995  Jeff Law  (law@snake.cs.utah.edu)
301760484Sobrien
301860484Sobrien	* bfd-in.h (bfd_set_section_vma): Case true to a boolean.
301960484Sobrien	(bfd_set_cacheable): Likewise.
302060484Sobrien	* bfd-in2.h: Rebuilt.
302160484Sobrien
302260484SobrienFri Jun  9 12:20:28 1995  Steve Chamberlain  <sac@rtl.cygnus.com>
302360484Sobrien
302460484Sobrien	* elfcode.h (elf_sort_hdrs): Rewrite to be symmetrical.
302560484Sobrien
302660484SobrienFri Jun  9 12:49:00 1995  Jeff Law  (law@snake.cs.utah.edu)
302760484Sobrien
302860484Sobrien	* targets.c: Add copy_private_symbol_data and link_split_section
302960484Sobrien	to the target vector.
303060484Sobrien	* libbfd-in.h (_bfd_generic_bfd_copy_private_symbol_data): Define.
303160484Sobrien	(_bfd_nolink_bfd_link_split_section): Likewise.
303260484Sobrien	(bfd_generic_link_split_section): Declare.
303360484Sobrien	* syms.c (bfd_copy_private_symbol_data): Define.
303460484Sobrien	* linker.c (bf_link_split_section): Likewise.
303560484Sobrien	* som.c (som_bfd_copy_private_symbol_data): New function
303660484Sobrien	(som_bfd_link_split_section): Likewise.
303760484Sobrien	* All other targets updated with default versions of new routines.
303860484Sobrien
303960484Sobrien	* Take out my braindamaged bfd_true/bfd_false changes from earlier
304060484Sobrien	today.  Replace with just:
304160484Sobrien	* bfd-in.h: (TRUE_FALSE_ALREADY_DEFINED): Define this if
304260484Sobrien	compiling with g++-2.6 or later.
304360484Sobrien	* bfd-in2.h: Rebuilt.
304460484Sobrien
304560484SobrienFri Jun  9 07:54:29 1995  Steve Chamberlain  <sac@slash.cygnus.com>
304660484Sobrien
304760484Sobrien	* versados.c (struct esd, get_4): Lint; use unsigned chars.
304860484Sobrien
304960484Sobrien	* coff-i960.c (coff_i960_relocate):  Compare output section names
305060484Sobrien	when converting for vxworks.
305160484Sobrien
305260484SobrienWed Jun  7 19:01:30 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
305360484Sobrien
305460484Sobrien	* elfcode.h (elf_fake_sections): Permit .scommon or COMMON
305560484Sobrien	sections as random SHT_NOBITS sections, in case a linker script is
305660484Sobrien	strange.
305760484Sobrien
305860484SobrienTue Jun  6 17:29:32 1995  Steve Chamberlain  <sac@slash.cygnus.com>
305960484Sobrien
306060484Sobrien	* bfd-in.h (NT_subsystem, NT_stack_heap): Moved from pe.h
306160484Sobrien	* coff-i386.c (coff_i386_rtype_to_howto): Get PE relocs right.
306260484Sobrien	* coffcode.h (coff_mkobject): Set pe tdata bit when using PE.
306360484Sobrien	* cofflink.c (COFF_WITH_PE code): Test on obj_pe bit rather
306460484Sobrien	than conditional compile.
306560484Sobrien	* configure.in: Fix PE dependencies.
306660484Sobrien	* libcoff-in.h (obj_pe): New.
306760484Sobrien	(coff_tdata): Added pe entry.
306860484Sobrien	* libcoff.h: Regenerated.
306960484Sobrien
307060484SobrienMon Jun  5 09:07:13 1995  Steve Chamberlain  <sac@slash.cygnus.com>
307160484Sobrien
307260484Sobrien	* coff-a29k.c (coff_a29k_adjust_symndx): Completely parenthesize
307360484Sobrien	macro.
307460484Sobrien
307560484SobrienMon Jun  5 02:15:20 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
307660484Sobrien
307760484Sobrien	Linker support for m68k-elf from Andreas Schwab
307860484Sobrien	<schwab@issan.informatik.uni-dortmund.de>:
307960484Sobrien	* elfcode.h (elf_link_add_object_symbols): Check for NULL when
308060484Sobrien	looping through the symbol hashes.
308160484Sobrien	(elf_bfd_final_link): When looking for _init and _fini don't use
308260484Sobrien	the symbol if it is imported from another object.
308360484Sobrien	* elf32-m68k.c: Relocation type changed from REL to RELA.  Regular
308460484Sobrien	and dynamic linking support functions added, similar to other elf
308560484Sobrien	targets.
308660484Sobrien
308760484Sobrien	* config.bfd (i[345]86-*-gnu*): Use ELF configuration.
308860484Sobrien
308960484SobrienFri Jun  2 18:54:59 1995  Steve Chamberlain  <sac@slash.cygnus.com>
309060484Sobrien
309160484Sobrien	* versados.c: New file.
309260484Sobrien	* bfd-in2.h (struct _bfd): New field.
309360484Sobrien	* bfd.c (struct _bfd): New field.
309460484Sobrien	* configure.in (versados_vec): New field.
309560484Sobrien	* targets.c (bfd_flavor): Added versados.
309660484Sobrien
309760484SobrienThu Jun  1 13:51:49 1995  Steve Chamberlain  <sac@slash.cygnus.com>
309860484Sobrien
309960484Sobrien	* coffcode.h (sec_to_styp_flags, styp_to_sec_flags, 
310060484Sobrien	coff_new_section_hook):  Any section that starts ".stab"
310160484Sobrien	is now marked as debugging.
310260484Sobrien
310360484SobrienThu Jun  1 16:15:16 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
310460484Sobrien
310560484Sobrien	* archive.c (_bfd_write_archive_contents): Disable extended name
310660484Sobrien	table until it can be made optional, so that native AR has half a
310760484Sobrien	chance on SunOS and HP/UX.
310860484Sobrien
310960484Sobrien	* linker.c (_bfd_generic_link_output_symbols, case
311060484Sobrien	bfd_link_hash_indirect): Add cast to correct pointer types.
311160484Sobrien
311260484SobrienSat May 27 21:37:31 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
311360484Sobrien
311460484Sobrien	* config.bfd (m68k-bull-sysv*): Added strip_underscore=yes.
311560484Sobrien	  (m68k-est-coff): Removed.  target does not effect object format.
311660484Sobrien
311760484SobrienWed May 24 10:52:01 1995  Steve Chamberlain  <sac@slash.cygnus.com>
311860484Sobrien
311960484Sobrien	* linker.c (_bfd_generic_link_output_symbols): Cope with
312060484Sobrien	indirect symbols.
312160484Sobrien
312260484Sobrien	* elf32-i386.c (elf_i386_relocate_section): Give error
312360484Sobrien	message when linking to a shared reloc which isn't there.
312460484Sobrien
312560484SobrienWed May 24 10:40:00 1995  Steve Chamberlain  <sac@slash.cygnus.com>
312660484Sobrien
312760484Sobrien	Support for ARM-PE.
312860484Sobrien
312960484Sobrien	* Makefile.in, coffcode.h, config.bfd, configure.in, pe-arm.c,
313060484Sobrien	 pei-arm.c, coff-arm.c, reloc.c, targets.c, config/arm-pe.mt:
313160484Sobrien	 Support for ARM COFF/PE.
313260484Sobrien
313360484SobrienTue May 23 19:24:58 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
313460484Sobrien
313560484Sobrien	* bfd.c (bfd_get_relocated_section_contents): Now a function,
313660484Sobrien	tries calling routine from input bfd target vector for
313760484Sobrien	bfd_indirect_link_order.  Put a declaration into the header file.
313860484Sobrien	* bfd-in2.h: Regenerated.
313960484Sobrien	* elf32-mips.c (gprel16_with_gp): New function, split out from
314060484Sobrien	mips_elf_gprel16_reloc.
314160484Sobrien	(mips_elf_gprel16_reloc): Call it.  If output bfd target vector
314260484Sobrien	isn't elf flavoured, abort, since it's assumed to be elf in some
314360484Sobrien	of this code, including the code that looks up the gp value.
314460484Sobrien	(elf32_mips_get_relocated_section_contents): New function,
314560484Sobrien	modified from bfd_generic_get_relocated_section_contents to deal
314660484Sobrien	with passing gp to gprel16_with_gp.
314760484Sobrien	(bfd_elf32_bfd_get_relocated_section_contents): New macro.
314860484Sobrien	* elf32-target.h (bfd_elf32_bfd_get_relocated_section_contents):
314960484Sobrien	Don't define if already defined.
315060484Sobrien
315160484SobrienTue May 23 15:58:15 1995  Jeff Law  (law@snake.cs.utah.edu)
315260484Sobrien
315360484Sobrien	* Makefile.in: Install bfdlink.h too.
315460484Sobrien
315560484SobrienSun May 21 22:25:09 1995  Jeff Law  (law@snake.cs.utah.edu)
315660484Sobrien
315760484Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Handle undefined and
315860484Sobrien	notsupported return codes from final_link_relocate (used when
315960484Sobrien	$global$ is undefined or nonexistant).
316060484Sobrien	(elf32_hppa_bfd_link_link_relocate): If $global$ exists, but is
316160484Sobrien	not defined,then return bfd_reloc_undefined.
316260484Sobrien
316360484SobrienFri May 19 10:00:14 1995  Steve Chamberlain  <sac@rtl.cygnus.com>
316460484Sobrien
316560484Sobrien	* coffswap.h: (IMAGE_BASE): Define to 0 if not.
316660484Sobrien
316760484SobrienThu May 18 04:24:01 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
316860484Sobrien
316960484Sobrien	Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
317060484Sobrien
317160484Sobrien	* aoutx.h (aout_link_input_section_standard): If defined, call
317260484Sobrien	MY_relocatable_reloc before doing a partial relocation.
317360484Sobrien
317460484Sobrien	* aout-arm.c: (WRITE_HEADERS): Delete.
317560484Sobrien	(NAME): Define version to override default in aoutx.h
317660484Sobrien	(MY(howto_table)): Reformat.  Alter some entries slightly.
317760484Sobrien	(RELOC_ARM_BITS_NEG_{BIG,LITTLE}): Define.
317860484Sobrien	(MY(reloc_howto), MY(put_reloc), MY(relocatable_reloc)): New functions.
317960484Sobrien	(MY_reloc_howto, MY_put_reloc, MY_relocatable_reloc): Define.
318060484Sobrien	(MY(fix_pcrel_26)): Renamed from aoutarm_fix_pcrel_26, return
318160484Sobrien	bfd_reloc_ok not bfd_reloc_continue.
318260484Sobrien	(MY(fix_pcrel_26_done)): Likewise.
318360484Sobrien	(MY(bfd_reloc_type_lookup)): Renamed from aoutarm_reloc_type_lookup.
318460484Sobrien	(MY_bfd_link_hash_table_create, MY_bfd_link_add_symbols,
318560484Sobrien	MY_bfd_final_link): Delete.
318660484Sobrien	(MY_swap_std_reloc_in, MY_swap_std_reloc_out, MY_get_section_contents):
318760484Sobrien	Define.
318860484Sobrien	(aoutx.h): Include it.
318960484Sobrien	(MY(swap_std_reloc_{in,out})): New functions.
319060484Sobrien	Use RELOC_ARM_BITS_NEG_{BIG,LITTLE} to extract negative reloc bit.
319160484Sobrien	(aoutarm_squirt_out_relocs): Delete.
319260484Sobrien 
319360484Sobrien	From: David Taylor (dtaylor@armltd.co.uk)
319460484Sobrien	* config/arm[lb]-aout.mt: New files.
319560484Sobrien	* aout-arm.c: New file.
319660484Sobrien	* config.bfd: Handle arm{,e[lb]}-*-aout
319760484Sobrien	* configure.in: Add vetor for aout_arm_{big,little}_vec.
319860484Sobrien	* reloc.c: New relocation types for the ARM.
319960484Sobrien	* targets.c (aout_arm_{big,little}_vec): declare.
320060484Sobrien
320160484SobrienTue May 16 10:29:51 1995  Jim Kingdon  <kingdon@deneb.cygnus.com>
320260484Sobrien
320360484Sobrien	* libbfd.c (bfd_stat): If bfd_cache_lookup returns an error,
320460484Sobrien	return an error to the caller.  Call bfd_set_error on errors.
320560484Sobrien
320660484SobrienTue May 16 14:44:45 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
320760484Sobrien
320860484Sobrien	* libcoff-in.h (coff_renumber_symbols): Modified prototypes in
320960484Sobrien	accordance with 11 May libcoff.h change.
321060484Sobrien
321160484SobrienThu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
321260484Sobrien
321360484Sobrien	tekhex.c (first_phase): Understand type 0 symbols.
321460484Sobrien	(tekhex_write_object_contents): Fix typo in final record.
321560484Sobrien
321660484SobrienThu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
321760484Sobrien
321860484Sobrien	* coff-i960.c (optcall_callback): don't try and optimize
321960484Sobrien	undefined refs. 
322060484Sobrien	(coff_write_relocs): Search for broken relocs on the way
322160484Sobrien	out and fix them up.
322260484Sobrien	(coff_renumber_symbols): Calculate and return index of
322360484Sobrien	first undefined symbol.
322460484Sobrien	(coff_write_object_contents): Call coff_renumber_symbols 
322560484Sobrien	and coff_write_relocs with the new args.
322660484Sobrien	* libcoff.h: (coff_renumber_symbols, coff_renumber_symbols):
322760484Sobrien	Modified prototypes.
322860484Sobrien
322960484SobrienThu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
323060484Sobrien			  Tom Griest <griest@cs.yale.edu>
323160484Sobrien
323260484Sobrien	Initial support for PE format. 
323360484Sobrien	
323460484Sobrien	* Makefile.in, targets.c, configure.in, config.bfd:
323560484Sobrien	Add support for i386-*-winnt and i386-*-pe.
323660484Sobrien	* archive.c (do_slurp_coff_armap):  Understand NTPE format
323760484Sobrien	archives.
323860484Sobrien	(_bfd_slurp_extended_name_table): Turn \ in a filename
323960484Sobrien	into /.
324060484Sobrien	* bfd-in.h (bfd_link_subsystem, _bfd_link_stack_heap): New.
324160484Sobrien	* coff-i386.c  (howto_table): Conditionalize PCRELOFFSET.
324260484Sobrien	* coffcode.h (IMAGE_BASE): New.
324360484Sobrien	(coff_compute_section_file_positions): Throw away .junk
324460484Sobrien	sections for PE, align symbols.
324560484Sobrien	(coff_write_object_contents): Throw away .junk sections
324660484Sobrien	for PE. Remember info on .idata and .rsrc sections.
324760484Sobrien	Fill in the PE header.
324860484Sobrien	(coff_slurp_symbol_table): PE uses C_SECTION class.
324960484Sobrien	* cofflink.c (_bfd_coff_final_link): Keep PE info up to date.
325060484Sobrien	(_bfd_coff_generic_relocate_section): Cope with PE relocs.
325160484Sobrien	* coffswap.h (coff_swap_{aout/file/scn/sym}hdr_{in/out}): 
325260484Sobrien	New code for PE headers.
325360484Sobrien
325460484SobrienTue May  9 17:01:38 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
325560484Sobrien
325660484Sobrien	* config.bfd: Add little endian PowerPC support.
325760484Sobrien	* configure.in: Ditto.
325860484Sobrien	* targets.c: Ditto.
325960484Sobrien	* config/ppcle-elf.mt: New file, for little endian PowerPC
326060484Sobrien	support.
326160484Sobrien	* config/ppc-elf.mt: Add little endian powerpc to the BFD
326260484Sobrien	selection vectors.
326360484Sobrien	* elf32-ppc.c (ppc_elf_merge_private_bfd_data): Complain if
326460484Sobrien	linking a different endian object than we expect.
326560484Sobrien	(TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define, to provide little
326660484Sobrien	endian support.
326760484Sobrien
326860484SobrienTue May  2 16:32:24 1995  Jeff Law  (law@snake.cs.utah.edu)
326960484Sobrien
327060484Sobrien	* config.bfd (hppa*-*-lites*): Treat just like hppa*-*-*elf*.
327160484Sobrien
327260484SobrienTue Apr 25 19:38:43 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
327360484Sobrien
327460484Sobrien	* coffgen.c (make_a_section_from_file): Initialize lma same as
327560484Sobrien	vma.
327660484Sobrien
327760484SobrienTue Apr 25 11:03:21 1995  Jason Molenda  (crash@phydeaux.cygnus.com)
327860484Sobrien
327960484Sobrien	* hosts/std-host.h: #include ansidecl.h 'cause PTR is used in
328060484Sobrien	std-host.h.
328160484Sobrien
328260484SobrienMon Apr 24 23:56:44 1995  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
328360484Sobrien
328460484Sobrien	* hosts/i386linux.h (HAVE_PROCFS): Don't define it.  Added lengthy
328560484Sobrien	comment explaining why.
328660484Sobrien
328760484SobrienMon Apr 24 10:34:02 1995  Michael Meissner  <meissner@cygnus.com>
328860484Sobrien
328960484Sobrien	* hosts/i386linux.h (HAVE_PROCFS): If NO_PROCFS is defined, don't
329060484Sobrien	define HAVE_PROCFS.
329160484Sobrien
329260484SobrienMon Apr 24 08:33:12 1995  Michael Meissner  <meissner@cygnus.com>
329360484Sobrien
329460484Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): Do not continue
329560484Sobrien	processing unknown symbols to prevent a cascade of errors.
329660484Sobrien
329760484SobrienFri Apr 21 12:48:48 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
329860484Sobrien
329960484Sobrien	Patches from H.J. Lu for Linux ELF core file support.
330060484Sobrien	* elfcode.h (elf_core_file_matches_executable_p) [HAVE_PROCFS]:
330160484Sobrien	Use prpsinfo_t instead of struct prpsinfo, for consistency.
330260484Sobrien	* hosts/i386linux.h (HAVE_PROCFS): Define.
330360484Sobrien
330460484SobrienThu Apr 20 09:07:39 1995  Steve Chamberlain  <sac@slash.cygnus.com>
330560484Sobrien
330660484Sobrien	* linker.c (link_action): Do the right thing when a undefined
330760484Sobrien	strong symbol appears after an undefined weak symbol.
330860484Sobrien
330960484SobrienFri Apr 14 16:51:17 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
331060484Sobrien
331160484Sobrien	* elf32-ppc.c (ppc_elf_relocate_section): New function to relocate
331260484Sobrien	a whole section for the linker, bypassing bfd_perform_relocation.
331360484Sobrien	(ppc_elf_reloc_type_lookup): New function to map the BFD
331460484Sobrien	enumeration code into a howto structure.
331560484Sobrien	(ppc_elf_howto_raw): Rename from ppc_elf_howto_table.
331660484Sobrien	(ppc_elf_howto_table): New array that maps PowerPC relocation
331760484Sobrien	numbers to howto structures without a linear search.  Change from
331860484Sobrien	using bfd_elf_generic_reloc to use ppc_elf_std_reloc.
331960484Sobrien	(ppc_elf_howto_init): Initialize ppc_elf_howto_table from
332060484Sobrien	ppc_elf_howto_raw.
332160484Sobrien	(ppc_elf_reloc_type_lookup): Use a case statement instead of a
332260484Sobrien	loop.
332360484Sobrien	(ppc_elf_std_reloc): Replacement for bfd_elf_generic_reloc.
332460484Sobrien	(ppc_elf_unsupported_reloc): Print a real error message, instead
332560484Sobrien	of calling abort.
332660484Sobrien	(ppc_elf_addr16_ha_inner): Abstract getting adjustment from
332760484Sobrien	ppc_elf_addr16_ha_reloc, so ppc_elf_relocate_section can use it
332860484Sobrien	too.
332960484Sobrien	(ppc_elf_addr16_ha_reloc): Call it.
333060484Sobrien	(ppc_elf_got16_inner): Abstract getting adjustment from
333160484Sobrien	ppc_elf_got16_reloc, so ppc_elf_relocate_section can use it too.
333260484Sobrien	(ppc_elf_got16_reloc): Call it.
333360484Sobrien	(ppc_elf_info_to_howto): Rename from powerpc_info_to_howto.
333460484Sobrien
333560484Sobrien	* elfcode.h (elf_symbol_from_bfd_symbol): Omit space in debugging
333660484Sobrien	output.
333760484Sobrien	(elf_symbol_flags): Add debug function to decode flags so that
333860484Sobrien	defining DEBUG to be 4 will compile again.
333960484Sobrien	(elf_debug_section): Fix typo in debug output.
334060484Sobrien
334160484SobrienFri Apr 14 16:03:04 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
334260484Sobrien
334360484Sobrien	* config.bfd: Add m68*-*-elf*.
334460484Sobrien	* elf32-m68k.c: Filled out implementation, except for dynamic
334560484Sobrien	linking support.
334660484Sobrien	* reloc.c (enum bfd_reloc_code_real): Added *_GOT_PCREL, *_GOTOFF,
334760484Sobrien	*_PLT_PCREL, *_PLTOFF, *_68K_* relocations for ELF.
334860484Sobrien	* libbfd.h, bfd-in2.h: Regenerated.
334960484Sobrien
335060484SobrienThu Apr 13 14:28:04 1995  Torbjorn Granlund  <tege@adder.cygnus.com>
335160484Sobrien
335260484Sobrien	* coff-m68k.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from
335360484Sobrien	1 to 2.
335460484Sobrien	(bfd_target): Change minimum section alignment from 1 to 2.
335560484Sobrien
335660484SobrienWed Apr 12 12:40:04 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
335760484Sobrien
335860484Sobrien	* aoutx.h (machine_type, case bfd_arch_mips): Treat R8000 like
335960484Sobrien	R6000 and R4000 for now.
336060484Sobrien
336160484SobrienTue Apr  4 12:28:25 1995  Stan Shebs  <shebs@andros.cygnus.com>
336260484Sobrien
336360484Sobrien	* mpw-config.in: New file, MPW version of configure.in.
336460484Sobrien	* mpw-make.in: New file, MPW version of Makefile.in.
336560484Sobrien	* hosts/mpw.h: New file, MPW host definitions.
336660484Sobrien	* ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_in) [MPW_C]:
336760484Sobrien	Alternate versions without ECOFF_64 that chokes MPW C.
336860484Sobrien	* coffswap.h (coff_swap_scnhdr_out): Add alternative version with
336960484Sobrien	partly-expanded macros.
337060484Sobrien
337160484SobrienThu Mar 30 14:56:21 1995  Ian Lance Taylor  <ian@cygnus.com>
337260484Sobrien
337360484Sobrien	* reloc.c (bfd_perform_relocation): Don't bother to check for
337460484Sobrien	overflow if the symbol is undefined.
337560484Sobrien
337660484SobrienThu Mar 30 14:32:26 1995  H.J. Lu (hjl@nynexst.com)
337760484Sobrien
337860484Sobrien	* config.bfd: Change linux to default to elf.  Using
337960484Sobrien	i[345]86-*-linuxaout will build a library which defaults to a.out.
338060484Sobrien	* config/i386-laout.mt: Rename from old config/i386-linux.mt.
338160484Sobrien	* config/i386-linux.mt: Rename from old config/i386-lelf.mt.
338260484Sobrien	Comment out EXTRALIBS.
338360484Sobrien	* config/i386-lelf.mt: Remove.
338460484Sobrien
338560484SobrienWed Mar 29 12:01:30 1995  Ian Lance Taylor  <ian@cygnus.com>
338660484Sobrien
338760484Sobrien	* coff-i960.c (coff_i960_relocate): Cache the section symbol in
338860484Sobrien	the used_by_bfd field of the section, to avoid looping for each
338960484Sobrien	reloc.
339060484Sobrien
339160484Sobrien	* cpu-h8500.c (arch_info_struct): Change name from "H8/300" to
339260484Sobrien	"h8300" for consistency with other cpu-* files.
339360484Sobrien
339460484SobrienTue Mar 28 15:14:11 1995  Ian Lance Taylor  <ian@cygnus.com>
339560484Sobrien
339660484Sobrien	* bout.c (b_out_canonicalize_reloc): Handle SEC_CONSTRUCTOR
339760484Sobrien	sections.
339860484Sobrien	(b_out_get_reloc_upper_bound): Likewise.
339960484Sobrien
340060484Sobrien	* linker.c (generic_link_add_symbol_list): Skip constructor
340160484Sobrien	symbols which the main linker code did not do anything with.
340260484Sobrien	(_bfd_generic_link_output_symbols): Use udata.p if it is set,
340360484Sobrien	rather than looking the symbol up in the hash table.  Just pass
340460484Sobrien	through constructor symbols for which udata.p is not set.  If the
340560484Sobrien	linker defined the symbol, clear the constructor flag.
340660484Sobrien
340760484SobrienTue Mar 21 10:50:32 1995  Jeff Law  (law@snake.cs.utah.edu)
340860484Sobrien
340960484Sobrien	* som.c (som_set_reloc_info): Sign extend constants from
341060484Sobrien	R_DATA_OVERRIDE fixups.
341160484Sobrien	* libhppa.h (sign_extend): Renamed from sign_ext.  Fix.
341260484Sobrien	(low_sign_extend): Likewise.
341360484Sobrien
341460484SobrienMon Mar 20 22:39:10 1995  Jeff Law  (law@snake.cs.utah.edu)
341560484Sobrien
341660484Sobrien	* som.c (som_slurp_symbol_table): Tighten test to determine
341760484Sobrien	what symbols are section symbols.
341860484Sobrien
341960484SobrienSat Mar 18 01:54:45 1995  Ian Lance Taylor  <ian@cygnus.com>
342060484Sobrien
342160484Sobrien	* elfcode.h (elf_bfd_link_add_symbols): An empty archive is OK.
342260484Sobrien
342360484SobrienFri Mar 17 16:29:02 1995  Jeff Law  (law@snake.cs.utah.edu)
342460484Sobrien
342560484Sobrien	* som.c (som_bfd_copy_private_section_data): Just return true when
342660484Sobrien	either the input or output section isn't attached to a SOM BFD.
342760484Sobrien	(som_bfd_copy_private_bfd_data): Similarly for BFD private data.
342860484Sobrien
342960484SobrienFri Mar 17 11:50:34 1995  Ian Lance Taylor  <ian@cygnus.com>
343060484Sobrien
343160484Sobrien	* elfcode.h (elf_link_add_object_symbols): Check whether a dynamic
343260484Sobrien	object has already been included, and ignore it the second time.
343360484Sobrien
343460484SobrienWed Mar 15 11:56:40 1995  Ian Lance Taylor  <ian@cygnus.com>
343560484Sobrien
343660484Sobrien	* elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT13 from
343760484Sobrien	complain_overflow_bitfield to complain_overflow_signed.
343860484Sobrien
343960484Sobrien	* libelf.h (bfd_elf32__write_relocs): Don't declare.
344060484Sobrien	(bfd_elf64__write_relocs): Don't declare.
344160484Sobrien
344260484SobrienTue Mar 14 05:54:33 1995  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
344360484Sobrien
344460484Sobrien	* stab-syms.c (aout_stab_name): Moved aout_stab_names to be local
344560484Sobrien	to this function.  Recoded function to stop using table, to
344660484Sobrien	improve performance (on i486-netbsd host).  Left old version
344760484Sobrien	intact under "#if 0" for further performance testing.
344860484Sobrien
344960484SobrienMon Mar 13 13:48:49 1995  Ian Lance Taylor  <ian@cygnus.com>
345060484Sobrien
345160484Sobrien	* elfcode.h (write_relocs): Make static.  Use PTR argument as a
345260484Sobrien	pointer to a boolean variable set to true if something fails.
345360484Sobrien	Cast to PTR rather than void *.
345460484Sobrien	(sym_is_global): Rewrite for clarity.
345560484Sobrien	(map_program_segments): If the program header size is too small,
345660484Sobrien	call _bfd_error_handler and return failure rather than aborting.
345760484Sobrien	(NAME(bfd_elf,write_object_contents)): Pass boolean variable when
345860484Sobrien	calling write_relocs.
345960484Sobrien	(elf_symbol_from_bfd_symbol): Use BFD_ASSERT rather than abort.
346060484Sobrien	(struct elf_info_failed): Define.
346160484Sobrien	(NAME(bfd_elf,size_dynamic_sections)): Declare variables in inner
346260484Sobrien	blocks.  Pass elf_info_failed structure when calling
346360484Sobrien	elf_export_symbol and elf_adjust_dynamic_symbol.
346460484Sobrien	(elf_export_symbol): Treat data argument as elf_info_failed rather
346560484Sobrien	than bfd_link_info.  Set failed field on error.
346660484Sobrien	(elf_adjust_dynamic_symbol): Likewise.
346760484Sobrien	(struct elf_finfo_failed): Define.
346860484Sobrien	(elf_bfd_final_link): Pass elf_finfo_failed structure when calling
346960484Sobrien	elf_link_output_extsym.  Use BFD_ASSERT rather than abort.
347060484Sobrien	(elf_link_output_extsym): Treat data argument as elf_finfo_failed
347160484Sobrien	rather than elf_final_link_info.  Set failed field on error.
347260484Sobrien	(elf_link_input_bfd): Use BFD_ASSERT rather than abort.
347360484Sobrien	(elf_reloc_link_order): Likewise.
347460484Sobrien
347560484Sobrien	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Only write
347660484Sobrien	out PLTRELSZ, PLTREL and JMPREL relocs if there is a .rela.plt
347760484Sobrien	section.  Solaris 2.4 apparently does not handle empty reloc
347860484Sobrien	information correctly.
347960484Sobrien
348060484Sobrien	* archive.c (bsd_write_armap): Cast getuid and getgid results to
348160484Sobrien	long, and print with %ld.
348260484Sobrien
348360484SobrienFri Mar 10 16:41:05 1995  Ian Lance Taylor  <ian@cygnus.com>
348460484Sobrien
348560484Sobrien	* aoutx.h (translate_to_native_sym_flags): Always use the output
348660484Sobrien	section if it is not NULL.
348760484Sobrien
348860484SobrienThu Mar  9 15:06:25 1995  Ian Lance Taylor  <ian@cygnus.com>
348960484Sobrien
349060484Sobrien	* coffswap.h (coff_swap_scnhdr_out): If the line number count or
349160484Sobrien	the reloc count does not fit, print an error and return 0.
349260484Sobrien	* coffcode.h (coff_write_object_contents): Check return value of
349360484Sobrien	coff_swap_scnhdr_out.
349460484Sobrien	* ecoff.c (_bfd_ecoff_write_object_contents): Check return value
349560484Sobrien	of bfd_coff_swap_scnhdr_out.
349660484Sobrien
349760484Sobrien	* bfd.c: Include <stdarg.h> or <varargs.h>, depending upon
349860484Sobrien	ANSI_PROTOTYPES.
349960484Sobrien	(bfd_error_handler_type): New global type.
350060484Sobrien	(_bfd_error_program_name): New static variable.
350160484Sobrien	(_bfd_default_error_handler): New static function.
350260484Sobrien	(_bfd_error_handler): New BFD private global variable.
350360484Sobrien	(bfd_set_error_handler): New globally visible function.
350460484Sobrien	(bfd_set_error_program_name): New globally visible function.
350560484Sobrien	* libbfd-in.h (_bfd_error_handler): Declare.
350660484Sobrien	* bfd-in2.h, libbfd.h: Rebuild.
350760484Sobrien
350860484Sobrien	* aoutx.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter,
350960484Sobrien	and use it instead of bfd_get_symcount.  Check r_index after
351060484Sobrien	setting r_extern based on whether this is a base relative reloc.
351160484Sobrien	(NAME(aout,swap_std_reloc_IN)): Add symcount parameter, and use it
351260484Sobrien	instead of bfd_get_symcount.
351360484Sobrien	(NAME(aout,slurp_reloc_table)): Pass bfd_get_symcount to reloc
351460484Sobrien	swap routines.
351560484Sobrien	* libaout.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter
351660484Sobrien	to declaration.
351760484Sobrien	(NAME(aout,swap_std_reloc_in)): Likewise.
351860484Sobrien	* sunos.c (sunos_canonicalize_dynamic_reloc): Pass
351960484Sobrien	info->dynsym_count to reloc swap routines.
352060484Sobrien	* aout-ns32k.c (MY_swap_std_reloc_in): Add symcount parameter.
352160484Sobrien	* hp300hpux.c (MY(swap_std_reloc_in)): Likewise.
352260484Sobrien	(MY(slurp_reloc_table)): Pass bfd_get_symcount to reloc swap
352360484Sobrien	routine.
352460484Sobrien	* i386lynx.c (NAME(lynx,swap_ext_reloc_in)): Add symcount
352560484Sobrien	parameter.
352660484Sobrien	(NAME(lynx,swap_std_reloc_in)): Likewise.
352760484Sobrien	(NAME(lynx,slurp_reloc_table)): Pass bfd_get_symcount to reloc
352860484Sobrien	swap routines.
352960484Sobrien
353060484SobrienThu Mar  9 12:04:05 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
353160484Sobrien
353260484Sobrien	* bfd.c (bfd_merge_private_bfd_data): New function vector to be
353360484Sobrien	called by the linker to merge any private bfd data of the input
353460484Sobrien	files and the output file.  Used by the PowerPC ELF support to
353560484Sobrien	check whether -mrelocatable is used for all modules.
353660484Sobrien	(bfd_set_private_flags): New function vector to be called by the
353760484Sobrien	assembler to set private flags.  Used by the PowerPC ELF support
353860484Sobrien	to set that a particular object file was assembled with the
353960484Sobrien	-mrelocatable option.
354060484Sobrien
354160484Sobrien	* targets.c (BFD_JUMP_TABLE_COPY): Add intiialization of the
354260484Sobrien	bfd_merge_private_bfd_data and bfd_set_private_flags function
354360484Sobrien	vectors.
354460484Sobrien
354560484Sobrien	* bfd-in2.h, libbfd-in.h: Rebuild with bfd.c and targets.c
354660484Sobrien	changes.
354760484Sobrien
354860484Sobrien	* elf32-ppc.c (ppc_elf_set_private_flags): New function to set the
354960484Sobrien	ELF e_flags field.
355060484Sobrien	(ppc_elf_copy_private_bfd_data): Copy the e_flags field from the
355160484Sobrien	input file to the output file.
355260484Sobrien	(ppc_elf_merge_private_bfd_data): Check for a mismatch between the
355360484Sobrien	e_flags field of all of the linker input files.
355460484Sobrien
355560484Sobrien	* libelf.h (elf_obj_tdata): Add ppc_flags_init field so that the
355660484Sobrien	PowerPC support can check if compataible e_flags are present.
355760484Sobrien
355860484Sobrien	* aout-target.h: Add NOP for the bfd_merge_private_bfd_data
355960484Sobrien	and bfd_set_private_flags function vectors.
356060484Sobrien	* coffcode.h: Ditto.
356160484Sobrien	* elf32-target.h: Ditto.
356260484Sobrien	* elf64-target.h: Ditto.
356360484Sobrien	* libbfd.h: Ditto.
356460484Sobrien	* libecoff.h: Ditto.
356560484Sobrien	* som.c: Ditto.
356660484Sobrien
356760484SobrienWed Mar  8 00:53:54 1995  Ian Lance Taylor  <ian@cygnus.com>
356860484Sobrien
356960484Sobrien	* cpu-mips.c (arch_info_struct): Add mips:8000 entry.
357060484Sobrien
357160484Sobrien	* elfcode.h (swap_out_syms): Mark an undefined BSF_WEAK symbol as
357260484Sobrien	STB_WEAK rather than STB_GLOBAL.
357360484Sobrien
357460484SobrienTue Mar  7 12:23:47 1995  Ian Lance Taylor  <ian@cygnus.com>
357560484Sobrien
357660484Sobrien	* coffcode.h (bfd_coff_backend_data): Add new field
357760484Sobrien	_bfd_coff_adjust_symndx.
357860484Sobrien	(bfd_coff_adjust_symndx): Define.
357960484Sobrien	(coff_adjust_symndx): Define as NULL if not already defined.
358060484Sobrien	(bfd_coff_std_swap_table): Initialize new field to
358160484Sobrien	coff_adjust_symndx.
358260484Sobrien	* cofflink.c (coff_link_input_bfd): Call coff_adjust_symndx if it
358360484Sobrien	is defined.
358460484Sobrien	* coff-a29k.c (coff_a29k_adjust_symndx): New static function.
358560484Sobrien	(coff_adjust_symndx): Define before including coffcode.h.
358660484Sobrien	* libcoff.h: Rebuild.
358760484Sobrien
358860484Sobrien	* format.c (bfd_check_format_matches): Skip binary_vec when
358960484Sobrien	searching through bfd_target_vector.
359060484Sobrien
359160484Sobrien	* elfcode.h (elf_sort_hdrs): Check SHT_NOBITS before checking
359260484Sobrien	sh_size.
359360484Sobrien
359460484SobrienMon Mar  6 23:31:36 1995  Doug Evans  <dje@chestnut.cygnus.com>
359560484Sobrien
359660484Sobrien	* elfcode.h (elf_sort_hdrs): Keep SHT_NOBITS sections after
359760484Sobrien	!SHT_NOBITS ones.
359860484Sobrien
359960484SobrienMon Mar  6 09:53:08 1995  Jeff Law  (law@snake.cs.utah.edu)
360060484Sobrien
360160484Sobrien	* cpu-hppa.c (arch_info_struct): Support both PA1.0 and PA1.1
360260484Sobrien	machine types.
360360484Sobrien	(bfd_hppa_arch): Link in both PA1.0 and PA1.1 architecture info
360460484Sobrien	structures.
360560484Sobrien	* libhppa.h (enum pa_arch): New enumeration to describe the
360660484Sobrien	different variants of the PA architecture.
360760484Sobrien	* som.c (som_object_setup): Use new enumeration to set machine
360860484Sobrien	type.
360960484Sobrien	(som_finish_writing): If the machine type is PA1.1, then use the
361060484Sobrien	PA1.1 machine identifier in the output file.
361160484Sobrien
361260484SobrienThu Mar  2 15:58:24 1995  Ian Lance Taylor  <ian@cygnus.com>
361360484Sobrien
361460484Sobrien	* aoutx.h (NAME(aout,swap_ext_reloc_in)): Treat the index of a
361560484Sobrien        base relative reloc as an index into the symbol table, regardless
361660484Sobrien        of the setting of r_extern.
361760484Sobrien	(NAME(aout,swap_std_reloc_in)): Likewise.
361860484Sobrien
361960484Sobrien	* aoutx.h (NAME(aout,set_section_contents)): Double check that the
362060484Sobrien	caller is writing to a valid section.
362160484Sobrien
362260484SobrienThu Mar  2 14:37:57 1995  Bryan Ford  <baford@cs.utah.edu>
362360484Sobrien
362460484Sobrien	* binary.c: Add support for reading binary files.  Loads the raw
362560484Sobrien	contents of the file into a data section and wraps some symbols
362660484Sobrien	around it.  The symbols `_binary_<filename>_start' and
362760484Sobrien	`_binary_<filename>_end' indicate the start and end of the data,
362860484Sobrien	while `_binary_<filename>_size' is an absolute symbol whose value
362960484Sobrien	is the size of the data.  <filename> is the name of the binary
363060484Sobrien	input file, with all non-alphanumeric characters converted to
363160484Sobrien	underscores.
363260484Sobrien
363360484Sobrien	* archures.c (bfd_arch_get_compatible): Assume users knows what
363460484Sobrien	they're doing if one of the architectures is bfd_arch_unknown.
363560484Sobrien
363660484SobrienWed Mar  1 17:30:46 1995  Michael Meissner  <meissner@cygnus.com>
363760484Sobrien
363860484Sobrien	* elf32-ppc.c (elf_powerpc_howto_table): For relocation
363960484Sobrien	R_PPC_GOT16, change complain_on_overflow to be
364060484Sobrien	complain_overflow_signed.
364160484Sobrien
364260484SobrienWed Mar  1 11:52:55 1995  Jason Molenda  <crash@phydeaux.cygnus.com>
364360484Sobrien
364460484Sobrien	* configure.host: Recognize powerpc-*-aix*.
364560484Sobrien
364660484SobrienWed Mar  1 11:57:39 1995  Ian Lance Taylor  <ian@cygnus.com>
364760484Sobrien
364860484Sobrien	* coff-i960.c (COFF_PAGE_SIZE): Define.
364960484Sobrien
365060484Sobrien	* configure.in: Rewrite output of TDEFAULTS to avoid relying on
365160484Sobrien	semantics of single quotes in parameter substitution.
365260484Sobrien
365360484SobrienTue Feb 28 12:53:09 1995  Ian Lance Taylor  <ian@cygnus.com>
365460484Sobrien
365560484Sobrien	* elfcode.h (elf_sort_hdrs): Sort empty sections before non-empty
365660484Sobrien	sections, if they have the same VMA.
365760484Sobrien
365860484Sobrien	* config.bfd (i[345]86-*-linuxelf*): New target.  Use i386-lelf.
365960484Sobrien	(i[345]86-*-gnuelf*): New target.  Use i386-gelf.
366060484Sobrien	* config/i386-lelf.mt: New file.
366160484Sobrien	* config/i386-gelf.mt: New file.
366260484Sobrien
366360484SobrienMon Feb 27 12:58:25 1995  Kung Hsu  <kung@mexican.cygnus.com>
366460484Sobrien
366560484Sobrien	* config.bfd: add a29k-*-vxworks configuration.
366660484Sobrien
366760484SobrienWed Feb 22 14:40:26 1995  Ian Lance Taylor  <ian@cygnus.com>
366860484Sobrien
366960484Sobrien	* libaout.h (NAME(aout,slurp_reloc_table)): Change declaration to
367060484Sobrien	use reloc_howto_type rather than const struct reloc_howto_struct.
367160484Sobrien
367260484SobrienTue Feb 21 18:19:22 1995  Ian Lance Taylor  <ian@cygnus.com>
367360484Sobrien
367460484Sobrien	* bout.c (b_out_slurp_reloc_table): Don't return an error if asked
367560484Sobrien	for relocations for the .bss section.
367660484Sobrien
367760484SobrienTue Feb 21 15:13:05 1995  Jeff Law  (law@snake.cs.utah.edu)
367860484Sobrien
367960484Sobrien	* som.c (som_bfd_ar_write_symbol_stuff): Handle objects with odd
368060484Sobrien	lengths.
368160484Sobrien
368260484SobrienFri Feb 17 12:34:36 1995  Michael Meissner  <meissner@cygnus.com>
368360484Sobrien
368460484Sobrien	* elf32-ppc.c (ppc_elf_got16_reloc): Make GOT style relocs add
368560484Sobrien	32768, so the GOT pointer can point to 16384 pointers, instead of
368660484Sobrien	8192.
368760484Sobrien
368860484SobrienFri Feb 17 11:45:38 1995  Ian Lance Taylor  <ian@cygnus.com>
368960484Sobrien
369060484Sobrien	* hosts/sysv4.h: Include <unistd.h>, <stdlib.h>, and <time.h>.
369160484Sobrien	Only define SEEK_SET and SEEK_CUR if they are not already defined.
369260484Sobrien	Remove all external function declarations.
369360484Sobrien
369460484Sobrien	* syms.c (bfd_decode_symclass): Return 'W' for a weak symbol.
369560484Sobrien
369660484Sobrien	* coffgen.c (coff_real_object_p): Set start address and flags
369760484Sobrien	before calling coff_mkobject_hook.  Restore them on failure.
369860484Sobrien	* ecoff.c (_bfd_ecoff_mkobject_hook): If not ECOFF_AOUT_ZMAGIC,
369960484Sobrien	clear D_PAGED.
370060484Sobrien
370160484Sobrien	* coffgen.c: Reindented.
370260484Sobrien
370360484SobrienThu Feb 16 14:37:23 1995  Doug Evans  <dje@cygnus.com>
370460484Sobrien
370560484Sobrien	* reloc.c (bfd_perform_relocation): Don't use bitpos in overflow
370660484Sobrien	calculations.
370760484Sobrien	(bfd_install_relocation): Likewise.
370860484Sobrien
370960484SobrienThu Feb 16 13:22:29 1995  Ian Lance Taylor  <ian@cygnus.com>
371060484Sobrien
371160484Sobrien	* hosts/std-host.h: Remove all function declarations which return
371260484Sobrien	int or void, except the one for free.
371360484Sobrien
371460484SobrienWed Feb 15 14:54:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
371560484Sobrien
371660484Sobrien	* elf32-ppc.c (elf_powerpc_howto_table): Use a destination mask of
371760484Sobrien	0xffffffff for R_PPC_REL32, not 0.
371860484Sobrien	(powerpc_reloc_map): Add low 16 bit, high 16 bit, and high 16 bit
371960484Sobrien	adjusted relocations.
372060484Sobrien
372160484SobrienTue Feb 14 17:47:17 1995  Ian Lance Taylor  <ian@cygnus.com>
372260484Sobrien
372360484Sobrien	* elf32-mips.c (struct mips_elf_find_line): Define.
372460484Sobrien	(mips_elf_find_nearest_line): New static function.
372560484Sobrien	(bfd_elf32_find_nearest_line): Define.
372660484Sobrien	* libelf.h (struct elf_obj_tdata): Add find_line_info field.
372760484Sobrien
372860484Sobrien	* ecoff.c (_bfd_ecoff_swap_tir_in): Move to ecofflink.c.
372960484Sobrien	(_bfd_ecoff_swap_tir_out): Likewise.
373060484Sobrien	(_bfd_ecoff_swap_rndx_in): Likewise.
373160484Sobrien	(_bfd_ecoff_swap_rndx_out): Likewise.
373260484Sobrien	(cmp_fdrtab_entry): Likewise.
373360484Sobrien	(mk_fdrtab): Likewise.
373460484Sobrien	(lookup): Likewise.
373560484Sobrien	(_bfd_ecoff_find_nearest_line): Just call _bfd_ecoff_locate_line
373660484Sobrien	to do most of the work.  Allocate find_line_info if necessary.
373760484Sobrien	* ecofflink.c: Include "aout/stab_gnu.h".
373860484Sobrien	(_bfd_ecoff_swap_tir_in): Move in from ecoff.c.
373960484Sobrien	(_bfd_ecoff_swap_tir_out): Likewise.
374060484Sobrien	(_bfd_ecoff_swap_rndx_in): Likewise.
374160484Sobrien	(_bfd_ecoff_swap_rndx_out): Likewise.
374260484Sobrien	(cmp_fdrtab_entry): Likewise.  Use PTR instead of void *.
374360484Sobrien	(mk_fdrtab): Move in from ecoff.c.  Add debug_info, debug_swap,
374460484Sobrien	and line_info arguments, and use them instead of ecoff_data.
374560484Sobrien	(fdrtab_lookup): Move in from lookup in ecoff.c.  Remove abfd
374660484Sobrien	argument, add line_info argument.  Use it instead of ecoff_data.
374760484Sobrien	(_bfd_ecoff_locate_line): New function, mostly from the old
374860484Sobrien	_bfd_ecoff_find_nearest_line in ecoff.c.
374960484Sobrien	* libecoff.h (ecoff_data_type): Remove find_buffer, fdrtab_len and
375060484Sobrien	fdrtab fields, replacing them find_line_info field.
375160484Sobrien	(_bfd_ecoff_swap_tir_in): Declare.
375260484Sobrien	(_bfd_ecoff_swap_tir_out): Declare.
375360484Sobrien	(_bfd_ecoff_swap_rndx_in): Declare.
375460484Sobrien	(_bfd_ecoff_swap_rndx_out): Declare.
375560484Sobrien	* libbfd-in.h (_bfd_ecoff_locate_line): Declare.
375660484Sobrien	* libbfd.h: Rebuild.
375760484Sobrien	* configure.in: Don't use ecoff.o for bfd_elf32_bigmips_vec or
375860484Sobrien	bfd_elf32_littlemips_vec.
375960484Sobrien	* Makefile.in: Rebuild dependencies.
376060484Sobrien
376160484SobrienTue Feb 14 14:04:22 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
376260484Sobrien
376360484Sobrien	* libelf.h (elf_backend_data): Add fields elf_machine_alt1 and
376460484Sobrien	elf_machine_alt2 which provide alternate versions of the machine
376560484Sobrien	code.
376660484Sobrien
376760484Sobrien	* elf32-ppc.c (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Define to
376860484Sobrien	recognize old versions of the PowerPC machine code.
376960484Sobrien
377060484Sobrien	* elf32-target.h (elf32_bed): Initialize alternate machine code
377160484Sobrien	fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2.
377260484Sobrien
377360484Sobrien	* elf64-target.h (elf64_bed): Initialize alternate machine code
377460484Sobrien	fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2.
377560484Sobrien
377660484Sobrien	* elfcode.h (elf_object_p, elf_core_file_p): In addition to the
377760484Sobrien	main machine code field, check the two alternate machine code
377860484Sobrien	fields.
377960484Sobrien
378060484SobrienTue Feb 14 12:46:48 1995  Ian Lance Taylor  <ian@cygnus.com>
378160484Sobrien
378260484Sobrien	* aoutf1.h (MACHTYPE_OK): Don't define if already defined.  Don't
378360484Sobrien	accept M_SPARC if bfd_arch_sparc is not in the list of supported
378460484Sobrien	architectures, and don't accept a 680x0 machine type if
378560484Sobrien	bfd_arch_m68k is not in the list of supported architectures.
378660484Sobrien	* aout0.c (MACHTYPE_OK): Define.
378760484Sobrien
378860484SobrienMon Feb 13 23:25:38 1995  Ian Lance Taylor  <ian@cygnus.com>
378960484Sobrien
379060484Sobrien	* aoutx.h (NAME(aout,swap_ext_reloc_in)): Don't return a pointer
379160484Sobrien	to garbage if the symbol index is out of range.
379260484Sobrien	(NAME(aout,swap_std_reloc_in)): Likewise.
379360484Sobrien
379460484SobrienThu Feb  9 18:36:52 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
379560484Sobrien
379660484Sobrien	* Makefile.in (BFD32_BACKENDS): Add i386msdos.o.
379760484Sobrien
379860484SobrienThu Feb  9 12:02:35 1995  Ian Lance Taylor  <ian@cygnus.com>
379960484Sobrien
380060484Sobrien	* i386linux.c (NEEDS_SHRLIB): Define.
380160484Sobrien	(linux_tally_symbols): Crash if a NEEDS_SHRLIB symbol is
380260484Sobrien	undefined.  From hjl@nynexst.com (H.J. Lu).
380360484Sobrien
380460484SobrienWed Feb  8 17:26:00 1995  Ian Lance Taylor  <ian@cygnus.com>
380560484Sobrien
380660484Sobrien	* linker.c (generic_link_check_archive_element): Allocate common
380760484Sobrien	symbol information structure.  Don't bother to check for common
380860484Sobrien	symbol size overflow.
380960484Sobrien	(_bfd_generic_link_add_one_symbol): Likewise.
381060484Sobrien	* aoutx.h (aout_link_check_ar_symbols): Likewise.
381160484Sobrien	* linker.c (generic_link_check_archive_element): Adjust references
381260484Sobrien	to common symbol information for new structure.
381360484Sobrien	(_bfd_generic_link_add_one_symbol): Likewise.
381460484Sobrien	* aoutx.h (aout_link_check_ar_symbols): Likewise.
381560484Sobrien	(aout_link_add_symbols): Likewise.
381660484Sobrien	* ecoff.c (ecoff_link_add_externals): Likewise.
381760484Sobrien	* elfcode.h (elf_link_add_object_symbols): Likewise.
381860484Sobrien	(elf_link_output_extsym): Likewise.
381960484Sobrien	* sunos.c (sunos_add_one_symbol): Likewise.
382060484Sobrien
382160484SobrienWed Feb  8 09:53:42 1995  Doug Evans  <dje@canuck.cygnus.com>
382260484Sobrien
382360484Sobrien	* elfcode.h (elf_sort_hdrs): Put SHT_NOBITS sections after !SHT_NOBITS.
382460484Sobrien
382560484SobrienTue Feb  7 16:27:33 1995  Jeff Law  (law@snake.cs.utah.edu)
382660484Sobrien
382760484Sobrien	* som.c (som_bfd_find_nearest_line): Just return false, don't
382860484Sobrien	abort.
382960484Sobrien
383060484SobrienTue Feb  7 14:43:33 1995  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
383160484Sobrien
383260484Sobrien	* ecoff.c: Reformatted some comments and brace constructs in
383360484Sobrien	recent changes to GNU style.
383460484Sobrien	(cmp_fdrtab_entry, mk_fdrtab, lookup): Use old-style function
383560484Sobrien	definitions.
383660484Sobrien
383760484SobrienTue Feb  7 14:21:28 1995  Ian Lance Taylor  <ian@cygnus.com>
383860484Sobrien
383960484Sobrien	* ecoffswap.h (ecoff_swap_pdr_in): Zero out intern before setting
384060484Sobrien	any of the fields.
384160484Sobrien
384260484SobrienMon Feb  6 20:01:24 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
384360484Sobrien
384460484Sobrien	Sat Feb  4 14:20:24 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
384560484Sobrien
384660484Sobrien	* ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_out): added
384760484Sobrien	internalizing/externalizing new "prof" field.
384860484Sobrien
384960484Sobrien	* libecoff.h (ecoff_tdata): added fdrtab.
385060484Sobrien
385160484Sobrien	* ecoff.c (_bfd_ecoff_find_nearest_line): Fixed.
385260484Sobrien
385360484SobrienMon Feb  6 14:25:24 1995  Ian Lance Taylor  <ian@cygnus.com>
385460484Sobrien
385560484Sobrien	* libelf.h (struct elf_link_hash_table): Add saw_needed field.
385660484Sobrien	* elfcode.h (elf_link_add_object_symbols): Set saw_needed if
385760484Sobrien	DT_NEEDED seen in .dynamic section.
385860484Sobrien	(elf_link_output_extsym): Warn if an undefined symbol is
385960484Sobrien	only referenced from a dynamic object, and not making a shared
386060484Sobrien	object, and saw_needed is false.
386160484Sobrien	* elf.c (_bfd_elf_link_hash_table_init): Initialize saw_needed.
386260484Sobrien
386360484Sobrien	* libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Don't define.
386460484Sobrien	* elfcode.h (elf_link_add_object_symbols): Don't clear or set
386560484Sobrien	ELF_LINK_HASH_DEFINED_WEAK.
386660484Sobrien	(elf_link_output_extsym): Don't check ELF_LINK_HASH_DEFINED_WEAK.
386760484Sobrien
386860484Sobrien	Distinguish a weak defined symbol from a regular defined symbol.
386960484Sobrien	* linker.c (enum link_action): Add DEFW.
387060484Sobrien	(link_action): Add bfd_link_hash_defweak column.
387160484Sobrien	(_bfd_generic_link_add_one_symbol): Add DEFW case.  Handle
387260484Sobrien	bfd_link_hash_defweak in a few other cases.
387360484Sobrien	* Many files (bfd_link_hash_undefweak): Renamed from
387460484Sobrien	bfd_link_hash_weak.
387560484Sobrien	* aoutx.h (aout_link_write_symbols): Handle bfd_link_hash_defweak.
387660484Sobrien	(aout_link_write_other_symbol): Likewise.
387760484Sobrien	(aout_link_input_section_std): Likewise.
387860484Sobrien	(aout_link_input_section_ext): Likewise.
387960484Sobrien	* bout.c (get_value): Likewise.
388060484Sobrien	* coff-a29k.c (coff_a29k_relocate_section): Likewise.
388160484Sobrien	* coff-alpha.c (alpha_convert_external_reloc): Likewise.
388260484Sobrien	(alpha_relocate_section): Likewise.
388360484Sobrien	* coff-mips.c (mips_relocate_section): Likewise.
388460484Sobrien	(mips_relax_section): Likewise.
388560484Sobrien	(bfd_mips_ecoff_create_embedded_relocs): Likewise.
388660484Sobrien	* cofflink.c (coff_write_global_sym): Likewise.
388760484Sobrien	(_bfd_coff_generic_relocate_section): Likewise.
388860484Sobrien	* ecoff.c (ecoff_link_add_externals): Likewise.
388960484Sobrien	(ecoff_link_write_external): LIkewise.
389060484Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
389160484Sobrien	(elf32_hppa_size_stubs): Likewise.
389260484Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
389360484Sobrien	(elf_i386_relocate_section): Likewise.
389460484Sobrien	(elf_i386_finish_dynamic_symbol): Likewise.
389560484Sobrien	* elf32-mips.c (mips_elf_output_extsym): Likewise.
389660484Sobrien	(mips_elf_relocate_section): Likewise.
389760484Sobrien	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
389860484Sobrien	(elf32_sparc_relocate_section): Likewise.
389960484Sobrien	* elfcode.h (elf_link_add_object_symbols): Likewise.
390060484Sobrien	(elf_adjust_dynamic_symbol): Likewise.
390160484Sobrien	(elf_bfd_final_link): Likewise.
390260484Sobrien	(elf_link_output_extsym): Likewise.
390360484Sobrien	* i386linux.c (linux_add_one_symbol): Likewise.
390460484Sobrien	(linux_tally_symbols): Likewise.
390560484Sobrien	(linux_finish_dynamic_link): Likewise.
390660484Sobrien	* linker.c (_bfd_generic_link_output_symbols): Likewise.
390760484Sobrien	(set_symbol_from_hash): Likewise.
390860484Sobrien	* reloc16.c (bfd_coff_reloc16_get_value): Likewise.
390960484Sobrien	(bfd_perform_slip): Likewise.
391060484Sobrien	* sunos.c (sunos_add_one_symbol): Likewise.
391160484Sobrien	(sunos_scan_std_relocs): Likewise.
391260484Sobrien	(sunos_scan_ext_relocs): Likewise.
391360484Sobrien	(sunos_scan_dynamic_symbol): Likewise.
391460484Sobrien	(sunos_write_dynamic_symbol): Likewise.
391560484Sobrien
391660484SobrienMon Feb  6 03:20:17 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
391760484Sobrien
391860484Sobrien	Changes from Bryan Ford, baford@schirf.cs.utah.edu:
391960484Sobrien	* config.bfd (i[345]86-*-msdos*): New target.
392060484Sobrien	* configure.in (i386msdos_vec): Handle it.
392160484Sobrien	* i386msdos.c: New file.
392260484Sobrien	* config/i386-msdos.mt: New file.
392360484Sobrien	* bfd.c (enum bfd_error): Added new value bfd_error_file_too_big.
392460484Sobrien	(bfd_errmsgs): Added string to table.
392560484Sobrien	* libaout.h (reloc_type-lookup): Declare it.
392660484Sobrien	* targets.c (enum bfd_flavour): Added bfd_target_msdos_flavour.
392760484Sobrien	(i386msdos_vec): Declare.
392860484Sobrien	(bfd_target_vector): Add it to the list.
392960484Sobrien	* bfd-in2.h: Regenerated.
393060484Sobrien
393160484SobrienWed Feb  1 01:32:14 1995  Jeff Law  (law@snake.cs.utah.edu)
393260484Sobrien
393360484Sobrien	* som.c (som_set_reloc_info, case R_DATA_ONE_SYMBOL): If there's
393460484Sobrien	nothing in R_DATA_OVERRIDE, then try to find the addend in the
393560484Sobrien	section's contents.
393660484Sobrien	(som_write_fixups): Ignore the addend in a R_DATA_ONE_SYMBOL fixup.
393760484Sobrien
393860484Sobrien	* som.c (som_object_setup): More heruistics to detect the
393960484Sobrien	braindamaged HP OSF1 linker. 
394060484Sobrien	(setup_sections): Don't forget to free subspace_sections if we get
394160484Sobrien	an error.
394260484Sobrien	(som_slurp_string_table): Allocate strings on this bfd's obstack
394360484Sobrien	rather than directly out of the heap.
394460484Sobrien	(som_slurp_symbol_table): Likewise for the saved copy of the
394560484Sobrien	canonical symbols.
394660484Sobrien	(som_slurp_reloc_table): Likewise for the saved copy of the
394760484Sobrien	canonical relocations.  Free the native relocations when we're
394860484Sobrien	done with them.
394960484Sobrien
395060484SobrienTue Jan 31 21:53:28 1995  Doug Evans  <dje@canuck.cygnus.com>
395160484Sobrien
395260484Sobrien	* libelf.h (struct elf_obj_tdata): New member program_header_size.
395360484Sobrien	* elfcode.h (get_program_header_size): New parameters sorted_hdrs,
395460484Sobrien	count, and maxpagesize.  All callers updated.
395560484Sobrien	If sorted_hdrs is non-NULL, use it to compute the number of segments.
395660484Sobrien	Save result in case called again.
395760484Sobrien	(assign_file_positions_except_relocs): Sort headers before calling
395860484Sobrien	get_program_header_size.
395960484Sobrien
396060484SobrienTue Jan 31 15:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
396160484Sobrien
396260484Sobrien	* elfcode.h (map_program_segments): Add sorted_hdrs parameter.
396360484Sobrien	Search through it rather than through unsorted section headers.
396460484Sobrien	(assign_file_positions_except_relocs): Pass sorted_hdrs to
396560484Sobrien	map_program_segments.
396660484Sobrien
396760484SobrienMon Jan 30 22:04:53 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
396860484Sobrien
396960484Sobrien	* ecoff.c (_bfd_ecoff_find_nearest_line): Fix problems in range
397060484Sobrien	checking.  Expect argument OFFSET to be section-relative.  From
397160484Sobrien	David Mosberger-Tang, davidm@piston.cs.arizona.edu.
397260484Sobrien
397360484SobrienMon Jan 30 11:22:11 1995  Ian Lance Taylor  <ian@cygnus.com>
397460484Sobrien
397560484Sobrien	* elfcode.h (NAME(bfd_elf,record_link_assignment)): Don't do
397660484Sobrien	anything if we are not linking an ELF file.
397760484Sobrien	(NAME(bfd_elf,size_dynamic_sections)): Likewise.
397860484Sobrien
397960484SobrienSat Jan 28 12:48:57 1995  Jeff Law  (law@snake.cs.utah.edu)
398060484Sobrien
398160484Sobrien	* som.c (compare_subspaces): New function to sort subspaces by
398260484Sobrien	their location in the object file.
398360484Sobrien	(setup_sections): When computing the index for each subspace,
398460484Sobrien	handle case where setup_sections reads the subspaces in a
398560484Sobrien	different order that they appear in the object file.
398660484Sobrien	(som_is_space): Also examine the output section for the containing
398760484Sobrien	section.
398860484Sobrien	(som_is_subspace, som_is_container): Likewise.
398960484Sobrien	(som_begin_writing): Don't prepare or write fixups here.  When
399060484Sobrien	writing the symbol strings, use the unsorted symbol table.
399160484Sobrien	(som_write_object_contents): Don't write the symbol table here.
399260484Sobrien	(som_finish_writing): Prepare and write the fixups here.  Likewise
399360484Sobrien	for the symbol table.
399460484Sobrien	(som_bfd_derive_misc_symbol_info): Undefined symbols always have
399560484Sobrien	type SS_UNSAT regardless of BSF_EXPORT.
399660484Sobrien	(som_set_reloc_info): Unpack and attach argument location
399760484Sobrien	information for R_PCREL_CALL and R_ABS_CALL relocations.
399860484Sobrien
399960484Sobrien	* som.c (som_object_setup): New heuristic to determine if the
400060484Sobrien	entry and flags fields are switched in the exec header.
400160484Sobrien
400260484SobrienSat Jan 28 00:16:01 1995  Ian Lance Taylor  <ian@cygnus.com>
400360484Sobrien
400460484Sobrien	* elfcode.h (elf_link_add_object_symbols): Use *sym_hash instead
400560484Sobrien	of h if we might not be doing an ELF link.
400660484Sobrien
400760484SobrienFri Jan 27 16:13:42 1995  Ian Lance Taylor  <ian@cygnus.com>
400860484Sobrien
400960484Sobrien	* elf32-mips.c (mips_elf_final_link): If the size of an input
401060484Sobrien	.reginfo section is zero, force it to the correct size, since the
401160484Sobrien	linker emulation code may have clobbered it.
401260484Sobrien
401360484Sobrien	* elfcode.h (elf_sort_hdrs): Correct SHF_ALLOC test.
401460484Sobrien	(assign_file_positions_except_relocs): Free sorted_hdrs.
401560484Sobrien
401660484SobrienThu Jan 26 09:00:12 1995  Steve Chamberlain  <sac@splat>
401760484Sobrien
401860484Sobrien	* srec.c (srec_set_section_contents): Fix off by
401960484Sobrien	one end address calculation.
402060484Sobrien
402160484Sobrien	* config.bfd: (m68*-est-coff): New configuration.
402260484Sobrien
402360484SobrienThu Jan 26 11:39:21 1995  Ian Lance Taylor  <ian@cygnus.com>
402460484Sobrien
402560484Sobrien	* elfcode.h (elf_link_add_object_symbols): Only examine weakdef if
402660484Sobrien	we are using an ELF hash table.
402760484Sobrien
402860484Sobrien	* aoutx.h (NAME(aout,some_aout_object_p)): Always set EXEC_P if
402960484Sobrien	the start address is in the .text section, even if STAT_FOR_EXEC
403060484Sobrien	is set.  Just use STAT_FOR_EXEC as an additional test.
403160484Sobrien
403260484SobrienThu Jan 26 11:12:54 1995  Michael Meissner  <meissner@cygnus.com>
403360484Sobrien
403460484Sobrien	* elfcode.h (prep_headers): Use EM_PPC instead of
403560484Sobrien	EM_CYGNUS_POWERPC.
403660484Sobrien
403760484Sobrien	* elf32-ppc.c (reloc_type): Add all System V.4 and eABI
403860484Sobrien	relocations currently defined.
403960484Sobrien	(powerpc_reloc_map): Adjust to new relocation names.
404060484Sobrien	(elf_powerpc_howto_table): Add most of the new relocations.
404160484Sobrien	(ELF_MACHINE_CODE): Use EM_PPC instead of EM_CYGNUS_POWERPC.
404260484Sobrien
404360484Sobrien	* config.bfd: Add support for powerpc-*-eabi.
404460484Sobrien
404560484Sobrien	* config/ppc-elf.mt: Add rs6000 architecture support to the
404660484Sobrien	PowerPC.  Also add XCOFF support.
404760484Sobrien
404860484SobrienWed Jan 25 23:26:13 1995  Ian Lance Taylor  <ian@cygnus.com>
404960484Sobrien
405060484Sobrien	* coff-sh.c (CALC_ADDEND): Don't define.
405160484Sobrien	(coff_sh_relocate_section): Remove.
405260484Sobrien	(coff_relocate_section): Use _bfd_coff_generic_relocate_section.
405360484Sobrien
405460484SobrienTue Jan 24 14:22:47 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
405560484Sobrien
405660484Sobrien	* elf32-mips.c (mips_elf_output_extsym): Set the value of the
405760484Sobrien	ECOFF symbol from the hash table entry.
405860484Sobrien
405960484SobrienMon Jan 23 14:53:35 1995  Steve Chamberlain  <sac@splat>
406060484Sobrien
406160484Sobrien	* coff-sh.c (coff_sh_relocate_section):  Don't subtract
406260484Sobrien	vma twice.
406360484Sobrien
406460484SobrienMon Jan 23 13:33:18 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
406560484Sobrien
406660484Sobrien	* coff-sh.c (sh_reloc): Don't ignore the previous contents of an
406760484Sobrien	R_SH_IMM32 reloc.
406860484Sobrien
406960484Sobrien	* config.bfd (i[345]86-*-gnu*): Set bfd_name to i386-gnu.
407060484Sobrien	* config/i386-gnu.mt: New file.  Include ELF support.
407160484Sobrien
407260484Sobrien	* opncls.c (bfd_openstreamr): Call bfd_cache_init.
407360484Sobrien
407460484SobrienFri Jan 20 11:44:45 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
407560484Sobrien
407660484Sobrien	* sunos.c (sunos_add_one_symbol): Only set the sunos specific
407760484Sobrien	fields if we are doing a sunos link.
407860484Sobrien
407960484SobrienWed Jan 18 12:28:17 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
408060484Sobrien
408160484Sobrien	* cpu-h8300.c (h8300_info_struct): Change name from "H8/300" to
408260484Sobrien	"h8300" for consistency with other cpu-* files.
408360484Sobrien	(h8300h_info_struct): Change name from "H8/300H" to "h8300h".
408460484Sobrien	* coff-h8300.c (special): Remove unused variable diff.
408560484Sobrien
408660484SobrienTue Jan 17 10:52:32 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
408760484Sobrien
408860484Sobrien	* bfd-in.h (bfd_byte, reloc_howto_type): Define here, not...
408960484Sobrien	* reloc.c (bfd_byte, reloc_howto_type): here.
409060484Sobrien	* Changed all occurrences of ``const struct reloc_howto_struct''
409160484Sobrien	to be ``reloc_howto_type'' instead.
409260484Sobrien	* bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
409360484Sobrien
409460484Sobrien	* opncls.c (bfd_openstreamr): New function.
409560484Sobrien	* bfd-in2.h: Rebuilt.
409660484Sobrien
409760484Sobrien	* elf32-mips.c (enum reloc_type): Define new relocs used on Irix.
409860484Sobrien	(elf_mips_howto_table): Add entries for new relocs.
409960484Sobrien	(mips_elf_section_from_shdr): Handle SHT_MIPS_MSYM,
410060484Sobrien	SHT_MIPS_DWARF, and SHT_MIPS_EVENTS.
410160484Sobrien	(mips_elf_fake_sections): Handle sections named .msym, .debug_*
410260484Sobrien	and .MIPS.events.*.
410360484Sobrien
410460484Sobrien	* srec.c (srec_init): Remove unused local variable i.
410560484Sobrien
410660484SobrienSat Jan 14 19:09:48 1995  Steve Chamberlain  <sac@jonny>
410760484Sobrien
410860484Sobrien	* archures.c, Makefile.in, targets.c, bfd-in2.h, coffcode.h,
410960484Sobrien	config.bfd, configure.in, config/w65.mt: Initial support for the W65.
411060484Sobrien
411160484SobrienSun Jan 15 13:57:45 1995  Steve Chamberlain  <sac@splat>
411260484Sobrien
411360484Sobrien	* opncls.c (bfd_fdopenr): Configure for WIN32.
411460484Sobrien
411560484SobrienThu Jan 12 16:30:47 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
411660484Sobrien
411760484Sobrien	* Makefile.in (diststuff): Include `headers'.
411860484Sobrien
411960484Sobrien	* sunos.c (m68k_plt_first_entry, sparc_plt_first_entry): Now
412060484Sobrien	const.
412160484Sobrien	* tekhex.c (digs): Ditto.
412260484Sobrien	* elf32-i386.c (elf_i386_plt0_entry, elf_i386_plt_entry): Ditto.
412360484Sobrien
412460484Sobrien	* srec.c, tekhex.c: Include libiberty.h.  Delete static array
412560484Sobrien	hex_value and replace references to it with references to
412660484Sobrien	hex_init, hex_p, and hex_value.
412760484Sobrien	* Makefile.in: Updated dependencies.
412860484Sobrien
412960484Sobrien	* archures.c (archures_init_table): Now const.
413060484Sobrien	(bfd_arch_init): Adjusted type of local var `ptable'.
413160484Sobrien
413260484SobrienThu Jan 12 09:33:24 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
413360484Sobrien
413460484Sobrien	* hosts/symmetry.h:  Redefine `shared' to enable compilation
413560484Sobrien	with the native Dynix cc compiler.
413660484Sobrien	* i386dynix.c:  Include aoutx.h instead of using routines
413760484Sobrien	from aout32.c.
413860484Sobrien
413960484SobrienWed Jan 11 21:31:41 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
414060484Sobrien
414160484Sobrien	* reloc.c (reloc_howto_type): Make typedef include `const'.
414260484Sobrien	* aout-ns32k.c, aoutx.h, bout.c, cf-m68klynx.c, coff-i386.c,
414360484Sobrien	coff-i960.c, coff-m68k.c, cofflink.c, cpu-ns32k.c, ecoff.c,
414460484Sobrien	elf32-hppa.c, elf32-i386.c, elf32-mips.c, elf32-sparc.c,
414560484Sobrien	elfcode.h, libbfd-in.h, linker.c, mipsbsd.c, nlm32-ppc.c, oasys.c,
414660484Sobrien	reloc.c, som.c: Don't use `const' in combination with
414760484Sobrien	`reloc_howto_type'.
414860484Sobrien	* bfd-in2.h, libbfd.h: Regenerated.
414960484Sobrien
415060484Sobrien	* ecoff.c (ecoff_type_to_string): Local variable `buffer1' doesn't
415160484Sobrien	need to be static.
415260484Sobrien
415360484SobrienWed Jan 11 14:36:41 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
415460484Sobrien
415560484Sobrien	* sunos.c (sunos_add_one_symbol): Don't core dump if a multiple
415660484Sobrien	definition of an absolute symbol is encountered.
415760484Sobrien
415860484Sobrien	* linker.c (_bfd_generic_link_add_one_symbol): Ignore
415960484Sobrien	redefinitions of an absolute symbol to the same value.
416060484Sobrien
416160484SobrienMon Jan  9 15:51:32 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
416260484Sobrien
416360484Sobrien	* elfcode.h (elf_link_add_object_symbols): It's reasonable for no
416460484Sobrien	flags to be set, so don't insist otherwise.
416560484Sobrien
416660484SobrienFri Jan  6 16:39:40 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
416760484Sobrien
416860484Sobrien	* elfcode.h (elf_slurp_symbol_table): Don't set BSF_GLOBAL for an
416960484Sobrien	undefined or common symbol.
417060484Sobrien	(elf_link_add_object_symbols): Likewise.
417160484Sobrien
417260484SobrienWed Jan  4 14:14:05 1995  Jeff Law  (law@snake.cs.utah.edu)
417360484Sobrien
417460484Sobrien	* som.c (bfd_section_from_som_symbol): Only return sections which
417560484Sobrien	correspond to subspaces.
417660484Sobrien
417760484Sobrien	* som.c (som_begin_writing): Don't forget to bump the
417860484Sobrien	total_subspaces when writing the unloadable subspaces.
417960484Sobrien
418060484SobrienWed Dec 28 20:54:47 1994  Jeff Law  (law@snake.cs.utah.edu)
418160484Sobrien
418260484Sobrien	* som.c (som_write_fixups): Use SEC_HAS_CONTENTS to identify
418360484Sobrien	bss-like sections.
418460484Sobrien	(som_get_section_contents): Likewise.
418560484Sobrien	(som_set_section_contents): Likewise.
418660484Sobrien
418760484SobrienTue Dec 27 14:03:47 1994  Jeff Law  (law@snake.cs.utah.edu)
418860484Sobrien
418960484Sobrien	* som.c (setup_sections): Turn off SEC_HAS_CONTENTS for bss-like
419060484Sobrien	sections.
419160484Sobrien
419260484SobrienTue Dec 20 15:30:12 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
419360484Sobrien
419460484Sobrien	* coffgen.c (bfd_debug_section): Deleted.
419560484Sobrien	(coff_section_from_bfd_index): Return absolute section for debug
419660484Sobrien	symbol.
419760484Sobrien	(coff_write_symbol): Set BSF_DEBUGGING for C_FILE symbols.  If
419860484Sobrien	BSF_DEBUGGING is set, set section to N_DEBUG.
419960484Sobrien	(coff_bfd_make_debug_symbol): Use absolute section.
420060484Sobrien
420160484Sobrien	* elfcode.h (assign_file_positions_except_relocs): In assertion,
420260484Sobrien	force all values to the same type.
420360484Sobrien
420460484SobrienTue Dec 20 11:11:58 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
420560484Sobrien
420660484Sobrien	* coff-h8300.c (howto_table): All relocs get a special function.
420760484Sobrien	(special): Never do anything when linking -r.
420860484Sobrien
420960484SobrienTue Dec 20 13:58:01 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
421060484Sobrien
421160484Sobrien	* i386linux.c (linux_add_one_symbol): Don't do anything Linux
421260484Sobrien	specific if this is not a Linux hash table.  From Eric Youngdale
421360484Sobrien	<eric@aib.com>.
421460484Sobrien
421560484Sobrien	Patches from kkojima@mix.or.jp (Kazumoto Kojima):
421660484Sobrien	* mipsbsd.c (mips_howto_table_ext): Change sizes of memory relocs
421760484Sobrien	apply to from two bytes to four bytes.
421860484Sobrien	* MY(reloc_howto_type_lookup): Handle BFD_RELOC_CTOR.
421960484Sobrien
422060484Sobrien	* elf32-i386.c (elf_i386_relocate_section): Correct and expand the
422160484Sobrien	list of cases for which relocation need not be computed.
422260484Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
422360484Sobrien
422460484SobrienMon Dec 19 23:09:16 1994  Jeff Law  (law@snake.cs.utah.edu)
422560484Sobrien
422660484Sobrien	* elf32-hppa.c (elf32_hppa_read_symext_info): Delete do_locals and
422760484Sobrien	do_globals arguments, always read symbol extension information for
422860484Sobrien	globals and locals.  All callers changed.
422960484Sobrien	(elf32_hppa_size_stubs): Rework to only read symbol extension
423060484Sobrien	information once for each input bfd.  10% improvement in linker
423160484Sobrien	performance.
423260484Sobrien
423360484SobrienFri Dec 16 12:28:46 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
423460484Sobrien
423560484Sobrien	* elfcode.h (elf_section_from_bfd_section): Check
423660484Sobrien	bfd_is_abs_section, etc., only after checking for the section in
423760484Sobrien	the BFD and after calling the backend routine.
423860484Sobrien
423960484SobrienWed Dec 14 20:21:58 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
424060484Sobrien
424160484Sobrien	* elfcode.h (elf_map_symbols): Only use section symbols whose
424260484Sobrien	value is the start of the section, checking output_offset when
424360484Sobrien	using output_section.  When creating a new symbol, set the value
424460484Sobrien	to 0, since BFD symbol values are section relative.
424560484Sobrien
424660484SobrienTue Dec 13 13:31:06 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
424760484Sobrien
424860484Sobrien	* cpu-z8k.c (arch_info_struct): Make z8002 the default
424960484Sobrien	architecture.
425060484Sobrien
425160484SobrienFri Dec  9 12:43:05 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
425260484Sobrien
425360484Sobrien	* elfcode.h (elf_bfd_link_add_symbols): If the first object in the
425460484Sobrien	archive is not an ELF object, pass the archive to the add_symbols
425560484Sobrien	entry point appropriate for the first object.  From Eric Youngdale
425660484Sobrien	<eric@aib.com>.
425760484Sobrien	* aoutx.h (NAME(aout,link_add_symbols)): Similar change if the
425860484Sobrien	first object is not an a.out object.
425960484Sobrien
426060484Sobrien	* elf32-i386.c (elf_i386_relocate_section): Don't compute
426160484Sobrien	relocation in cases where we won't use it.
426260484Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
426360484Sobrien
426460484SobrienThu Dec  8 14:19:41 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
426560484Sobrien
426660484Sobrien	* pc532-mach.c (NAME): Define to use ns32kaout prefix.
426760484Sobrien	* ns32knetbsd.c (NAME): Ditto.
426860484Sobrien	(ns32kaout_32_get_section_contents): Define to standard aout-32
426960484Sobrien	version.
427060484Sobrien
427160484SobrienFri Dec  2 13:56:49 1994  Ian Lance Taylor  <ian@rtl.cygnus.com>
427260484Sobrien
427360484Sobrien	* coff-mips.c (mips_read_relocs): New static function, broken out
427460484Sobrien	of mips_relax_section.
427560484Sobrien	(mips_relax_section): Call mips_read_relocs.
427660484Sobrien	(bfd_mips_ecoff_create_embedded_relocs): New function.
427760484Sobrien	* bfd-in.h (bfd_mnips_ecoff_create_embedded_relocs): Declare.
427860484Sobrien	* bfd-in2.h: Rebuild.
427960484Sobrien
428060484SobrienWed Nov 30 14:12:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
428160484Sobrien
428260484Sobrien	* coff-sh.c: Use _bfd_dummy_target instead of no_archive.
428360484Sobrien
428460484SobrienTue Nov 29 14:00:19 1994  J.T. Conklin  <jtc@.rtl.cygnus.com>
428560484Sobrien
428660484Sobrien	* config.bfd (i[345]86-*-freebsd*): Use i386-bsd as bfd_name.
428760484Sobrien	* configure.host (i[345]86-*-freebsd*): Use i386bsd as my_host.
428860484Sobrien
428960484SobrienMon Nov 28 15:36:04 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
429060484Sobrien
429160484Sobrien	* config/m68k-nbsd.mt (DEFAULT_VECTOR): set to m68knetbsd_vec.
429260484Sobrien	* Makefile.in: Rebuilt dependancies.
429360484Sobrien	  (CFILES): Added m68knetbsd.c.
429460484Sobrien	  (HFILES): Added netbsd.h.
429560484Sobrien
429660484SobrienWed Nov 23 19:21:41 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
429760484Sobrien
429860484Sobrien	* coff-sh.c (shlcoff_vec): New target vector.
429960484Sobrien	(no_archive): New function.
430060484Sobrien	* coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Handle
430160484Sobrien	little endian SH.
430260484Sobrien	* configure.in: Handle shl.
430360484Sobrien	* targets.c (bfd_target_vector): Add shlcoff_vec.
430460484Sobrien	* config/sh-coff.mt (SELECT_VECS): Handle shl_coff_vec.
430560484Sobrien
430660484SobrienWed Nov 23 10:50:13 1994  Jeff Law  (law@snake.cs.utah.edu)
430760484Sobrien
430860484Sobrien	* elfcode.h (write_relocs): Do not subtract the section's vma from
430960484Sobrien	the reloc's offset when writing .o's.  Instead add the section's
431060484Sobrien	vma to the reloc's offset when writing an executable or shared
431160484Sobrien	library.
431260484Sobrien
431360484SobrienTue Nov 22 23:34:37 1994  Jeff Law  (law@snake.cs.utah.edu)
431460484Sobrien
431560484Sobrien	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Do not add
431660484Sobrien	input_section->vma to the relocation's offset.
431760484Sobrien
431860484SobrienMon Nov 21 12:37:25 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
431960484Sobrien
432060484Sobrien	* srec.c (srec_get_reloc_upper_bound): Define.
432160484Sobrien	(srec_canonicalize_reloc): Define.
432260484Sobrien	(srec_bfd_reloc_type_lookup): Define.
432360484Sobrien	(srec_vec, symbolsrec_vec): Use BFD_JUMP_TABLE_RELOCS (srec).
432460484Sobrien
432560484SobrienSat Nov 19 03:10:51 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
432660484Sobrien
432760484Sobrien	* configure.host (i[345]86-*-solaris*):  Use solaris2 to
432860484Sobrien	enable extraction of procfs info from core file for GDB.
432960484Sobrien
433060484SobrienThu Nov 17 17:37:39 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
433160484Sobrien
433260484Sobrien	* reloc.c (bfd_reloc_code_type): Add new value BFD_RELOC_12_PCREL.
433360484Sobrien	* bfd-in2.h, libbfd.h: Rebuilt.
433460484Sobrien
433560484SobrienThu Nov 17 13:12:08 1994  Jeff Law  (law@snake.cs.utah.edu)
433660484Sobrien
433789857Sobrien	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocated): Use the
433860484Sobrien	vma from the output_section containing $global$ when computing
433960484Sobrien	global_vlaue.
434060484Sobrien
434160484SobrienThu Nov 17 14:29:13 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
434260484Sobrien
434360484Sobrien	* archive.c (_bfd_write_archive_contents): Round up the archive
434460484Sobrien	header size of the extended name table to an even number.
434560484Sobrien
434660484SobrienWed Nov 16 16:08:06 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
434760484Sobrien
434860484Sobrien	* coff-sh.c: Deleted some code that was commented out or inside
434960484Sobrien	"#if 0".
435060484Sobrien	(COFF_LONG_FILENAMES): Define.
435160484Sobrien
435260484Sobrien	* cpu-sh.c (arch_info_struct): Convert name to lowercase, for
435360484Sobrien	consistency with other architectures.
435460484Sobrien
435560484SobrienSat Nov 12 23:50:10 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
435660484Sobrien
435760484Sobrien	* elfcode.h (elf_export_symbol): Also export symbols which are
435860484Sobrien	referenced by a regular file.
435960484Sobrien
436060484SobrienFri Nov 11 14:29:31 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
436160484Sobrien
436260484Sobrien	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add
436360484Sobrien	export_dynamic argument, and handle it.
436460484Sobrien	(elf_export_symbol): New function.
436560484Sobrien	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
436660484Sobrien	(bfd_elf64_size_dynamic_sections): Update declaration.
436760484Sobrien	* bfd-in2.h: Rebuild.
436860484Sobrien
436960484SobrienFri Nov 11 10:35:33 1994  Jeff Law  (law@snake.cs.utah.edu)
437060484Sobrien
437160484Sobrien	* hpux-core.c (hpux_core_struct): Delete handles for the
437260484Sobrien	data, reg and stack sections.  They're never used.  Delete
437360484Sobrien	accessor macros.
437460484Sobrien	(make_bfd_asection): Use bfd_make_section_anyway since debugging
437560484Sobrien	cores from dynamic executables may have several sections with the
437660484Sobrien	same logical name.
437760484Sobrien	(hpux_core_core_file_p): Don't save handles to data, reg and
437860484Sobrien	stack sections.  Handle CORE_TEXT, CORE_MMF and CORE_SHM.
437960484Sobrien
438060484SobrienTue Nov  8 13:03:30 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
438160484Sobrien
438260484Sobrien	* bout.c (callj_callback): Add new argument shrinking.  Change all
438360484Sobrien	callers.  Handle relocs against section symbols correctly.  If not
438460484Sobrien	shrinking, don't subtract out dstidx; the subtraction is already
438560484Sobrien	in the object file.
438660484Sobrien
438760484SobrienSun Nov  6 12:52:00 1994  Jeff Law  (law@snake.cs.utah.edu)
438860484Sobrien
438960484Sobrien	* som.h: Conditionally include <shl.h> and <dl.h>.
439060484Sobrien
439160484SobrienThu Nov  3 18:19:13 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
439260484Sobrien
439360484Sobrien	* Makefile.in (ALL_MACHINES): Include m68knetbsd.o.
439460484Sobrien
439560484Sobrien	* config/i386linux.mh (EXTRALIBS): Include -lm.
439660484Sobrien
439760484Sobrien	Patches from DJ Delorie:
439860484Sobrien	* coff-go32.c: Replacement file, uses coff-i386.c with minor
439960484Sobrien	changes.
440060484Sobrien	* coff-i386.c (TARGET_UNDERSCORE): allow other files to override
440160484Sobrien	underscore also
440260484Sobrien	* makefile.dos: del ctor.o, add cofflink.o and elf32.o
440360484Sobrien
440460484Sobrien	* aoutx.h (adjust_o_magic): If user set data section vma, use it
440560484Sobrien	to determine the default bss vma.  Patch from Takada Hiroaki,
440660484Sobrien	hiro@is.s.u-tokyo.ac.jp.
440760484Sobrien	(machine_type, case bfd_arch_vax): Set *unknown to false.  Patch
440860484Sobrien	from John David Anglin <dave@hiauly1.hia.nrc.ca>.
440960484Sobrien
441060484Sobrien	* configure.in (tb): Rename ns32knetbsd_vec to pc532netbsd_vec,
441160484Sobrien	since that's what it's called.
441260484Sobrien
441360484SobrienWed Nov  2 15:24:51 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
441460484Sobrien
441560484Sobrien	* archive.c (normalize): Change to take a BFD as an argument.
441660484Sobrien	Change VMS version to use bfd_alloc rather than malloc, so that we
441760484Sobrien	don't lose the memory forever.
441860484Sobrien	(_bfd_construct_extended_name_table): Check the name of an archive
441960484Sobrien	entry which is not being extended, and correct it if it is wrong.
442060484Sobrien	This is necessary in case the archive was constructed by another
442160484Sobrien	program which put an entry in the extended name table which we
442260484Sobrien	don't plan to put in ourselves.  From jjc@jclark.com (James
442360484Sobrien	Clark).
442460484Sobrien	(bfd_dont_truncate_arname): Check return value of normalize.
442560484Sobrien
442660484SobrienMon Oct 31 14:19:08 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
442760484Sobrien
442860484Sobrien	* elf32-hppa.c (ELF32_PARISC_SX_SIZE): Define.
442960484Sobrien	(ELF32_PARISC_SX_GET, ELF32_PARISC_SX_PUT): Define.
443060484Sobrien	(symextn_entry): Don't define.
443160484Sobrien	(symext_chain_size): Change type to bfd_size_type.
443260484Sobrien	(symextn_contents): Change type to bfd_byte *.
443360484Sobrien	(elf32_hppa_backend_begin_write_processing): Use
443460484Sobrien	ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS).
443560484Sobrien	(elf32_hppa_size_symext): Likewise.  Also, change type of sizep to
443660484Sobrien	bfd_size_type *.
443760484Sobrien	(elf_hppa_tc_make_sections): Cast symextn_contents assignment to
443860484Sobrien	bfd_byte *.  Use ELF32_PARISC_SX_PUT instead of direct assignment.
443960484Sobrien	(elf32_hppa_backend_symbol_table_processing): Use
444060484Sobrien	ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS).  Use
444160484Sobrien	ELF32_PARISC_SX_GET insetad of direct assignment.
444260484Sobrien	(elf32_hppa_read_symext_info): Change type of contents, and its
444360484Sobrien	assignment cast, to bfd_byte *.  Use ELF32_PARISC_SX_SIZE instead
444460484Sobrien	of sizeof (symextn_entry).  Use symext_entryS instead of
444560484Sobrien	symextn_entry.  Use ELF32_PARISC_SX_GET instead of direct
444660484Sobrien	assignment.
444760484Sobrien
444860484Sobrien	* archive.c (bfd_dont_truncate_arname): Add the ar padding
444960484Sobrien	character, if there is room for it, even if the name is the
445060484Sobrien	maximum length.
445160484Sobrien
445260484Sobrien	* elfcode.h (assign_file_positions_except_relocs): Sort the ELF
445360484Sobrien	headers by section address when assigning file positions.
445460484Sobrien	(elf_sort_hdrs): New static function.
445560484Sobrien
445660484SobrienSun Oct 30 18:56:58 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
445760484Sobrien
445860484Sobrien	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Create DT_INIT
445960484Sobrien	and DT_FINI dynamic entries based on the existence of _init and
446060484Sobrien	_fini symbols, not on the .init and .fini sections.  This is
446160484Sobrien	compatible with some SVR4 linkers.
446260484Sobrien	(elf_bfd_final_link): Corresponding change.
446360484Sobrien
446460484SobrienSat Oct 29 12:18:10 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
446560484Sobrien
446660484Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't move a
446760484Sobrien	symbol with a PLT entry into the .plt section if it is defined in
446860484Sobrien	a regular file.
446960484Sobrien	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
447060484Sobrien
447160484Sobrien	* linker.c (_bfd_generic_link_add_archive_symbols): It's not an
447260484Sobrien	error if an empty archive has no symbol table.
447360484Sobrien	* ecoff.c (ecoff_link_add_archive_symbols): Likewise.
447460484Sobrien	* elfcode.h (elf_link_add_archive_symbols): Likewise.
447560484Sobrien
447660484SobrienFri Oct 28 10:08:41 1994  J.T. Conklin  (jtc@rtl.cygnus.com)
447760484Sobrien
447860484Sobrien        NetBSD/m68k support, based on work by mikeb@snow.datametrics.com: 
447960484Sobrien	* config.bfd (m68*-*-netbsd*): Use m68k-nbsd as bfd_name.
448060484Sobrien	* configure.in (m68knetbsd_vec): Added.
448160484Sobrien	* targets.c (bfd_m68knetbsd_vec): Added.
448260484Sobrien	* hosts/m68knbsd.h, config/m68k-nbsd.mt, m68knetbsd.c: New files.
448360484Sobrien	* Makefile.in (BFD32_BACKENDS, CFILES): Add m68knetbsd.c.
448460484Sobrien
448560484Sobrien	miscellaneous cleanup required by all netbsd targets, based on work 
448660484Sobrien	by Andrew Cagney <cagney@highland.com.au>:
448760484Sobrien	* netbsd.h (N_MAGIC, N_SET_MAGIC, N_GETMAGIC, N_GETMAGIC2, N_TXTADDR,
448860484Sobrien	  N_TXTOFF, N_ALIGN, N_DATADDR, N_DATOFF): Removed.  Generic a.out
448960484Sobrien	  definitions work.
449060484Sobrien	* i386nbsd.c, ns32knbsd.c, sparcnbsd.c (__LDPGSZ): Removed.
449160484Sobrien	  (MY(write_object_contents)): Use NetBSD's magic numbers
449260484Sobrien
449360484SobrienThu Oct 27 16:59:52 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
449460484Sobrien
449560484Sobrien	* libelf.h (struct bfd_elf_section_data): Add field dynindx.
449660484Sobrien	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Don't finalize
449760484Sobrien	the .dynsym, .dynstr or .hash sections until after the backend
449860484Sobrien	size_dynamic_sections routine, so that it can add dynamic symbols
449960484Sobrien	if it wants to.
450060484Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't define the
450160484Sobrien	symbol to be in the .plt section when generating a shared library
450260484Sobrien	if it is a defined symbol.
450360484Sobrien	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
450460484Sobrien	(elf32_sparc_size_dynamic_sections): When generating a shared
450560484Sobrien	library, allocate space for a dynamic symbol for each output
450660484Sobrien	section, storing the index in the dynindx field of the ELF section
450760484Sobrien	data.  Adjust the other dynindx fields to account for this.
450860484Sobrien	(elf32_sparc_adjust_dynindx): New static function.
450960484Sobrien	(elf32_sparc_relocate_section): When copying a reloc into a shared
451060484Sobrien	library, use the original addend as appropriate.  Convert an
451160484Sobrien	R_SPARC_32 reloc into an R_SPARC_RELATIVE reloc.  Use the dynamic
451260484Sobrien	symbol index of the output section, not the normal symbol index.
451360484Sobrien	(elf32_sparc_finish_dynamic_sections): Don't die if a section does
451460484Sobrien	not exist when setting the value of the dynamic tags.  Write out
451560484Sobrien	a dynamic symbol for each output section.
451660484Sobrien
451760484SobrienWed Oct 26 01:15:51 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
451860484Sobrien
451960484Sobrien	* aoutx.h (aout_link_input_section): Don't bother to read or write
452060484Sobrien	the relocs if there aren't any.
452160484Sobrien
452260484SobrienTue Oct 25 11:44:38 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
452360484Sobrien
452460484Sobrien	* Makefile.in (ALL_MACHINES): Add tekhex.o.
452560484Sobrien	* targets.c (bfd_target_vector): If SELECT_VECS is not defined,
452660484Sobrien	include tekhex_vec.
452760484Sobrien	* tekhex.c (NIBBLE, ISHEX): Cast array arguments to unsigned char.
452860484Sobrien	(getvalue, getsym, out): Likewise.
452960484Sobrien	(find_chunk): Remove unused variable s.
453060484Sobrien	(first_phase): Remove unused variable s.
453160484Sobrien	(pass_over): Remove unused variable address.
453260484Sobrien	(tekhex_object_p): Remove unused variable section.
453360484Sobrien	(move_section_contents): Change return type from boolean to void.
453460484Sobrien	(tekhex_write_object_contents): Remove unused variables tdata and
453560484Sobrien	list.
453660484Sobrien
453760484Sobrien	* linker.c (enum link_action): Add CIND.
453860484Sobrien	(link_action): Change COMMON_ROW\indr from MDEF to CREF.  Change
453960484Sobrien	INDR_ROW\common from MDEF to CIND.
454060484Sobrien	(_bfd_generic_link_add_one_symbol): In CREF case, handle an
454160484Sobrien	existing symbol which is indirect rather than defined.  Add new
454260484Sobrien	CIND case.
454360484Sobrien
454460484SobrienMon Oct 24 15:33:16 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
454560484Sobrien
454660484Sobrien	Change S-record backend to use multiple sections to handle gaps in
454760484Sobrien	file.
454860484Sobrien	* srec.c (srec_data_list_struct): Move field next from last place
454960484Sobrien	to first.  Change type of data to bfd_byte *.
455060484Sobrien	(struct srec_symbol): Define.
455160484Sobrien	(tdata_type): Remove done_symbol_read, count, strings, symbol_idx,
455260484Sobrien	string_size, string_idx.  Change type of symbols to struct
455360484Sobrien	srec_symbol *.  Add symtail and csymbols.
455460484Sobrien	(low, high): Remove.
455560484Sobrien	(size_symbols, fillup_symbols, size_srec, fillup): Remove.
455660484Sobrien	(white, skipwhite, pass_over, object_p): Remove.
455760484Sobrien	(srec_mkobject): Call srec_init.  Adjust tdata initialization for
455860484Sobrien	field changes.
455960484Sobrien	(srec_get_byte, srec_bad_byte): New static functions.
456060484Sobrien	(srec_new_symbol, srec_scan): New static functions.
456160484Sobrien	(srec_object_p): Change type of b to bfd_byte.  Explicitly set
456260484Sobrien	wrong_format error.  Call srec_mkobject and srec_scan instead of
456360484Sobrien	object_p.
456460484Sobrien	(symbolsrec_object_p): Likewise.  Also, change b to be only two
456560484Sobrien	bytes.
456660484Sobrien	(srec_read_section): New static function.
456760484Sobrien	(srec_get_section_contents): Call srec_read_section rather than
456860484Sobrien	pass_over.  Handle zero length section correctly.
456960484Sobrien	(set_set_arch_mach): Change from function to macro.
457060484Sobrien	(srec_set_section_contents): Change data to bfd_byte *.
457160484Sobrien	(srec_write_record): Change data, end and src to bfd_byte *.
457260484Sobrien	(srec_write_header): Change buffer and dst to bfd_byte *.
457360484Sobrien	(srec_write_section): Change location to bfd_byte *.
457460484Sobrien	(srec_write_terminator): Change buffer to bfd_byte *.
457560484Sobrien	(srec_get_symtab_upper_bound): Don't call
457660484Sobrien	srec_get_section_contents.
457760484Sobrien	(srec_get_symtab): Rewrite.
457860484Sobrien
457960484Sobrien	* ecoff.c (ecoff_set_symbol_info): Set udata.i to 0, not NULL.
458060484Sobrien
458160484SobrienFri Oct 21 16:43:13 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
458260484Sobrien
458360484Sobrien	* libaout.h (machine_type): added M_68K_NETBSD and M_SPARC_NETBSD.
458460484Sobrien	* i386netbsd.c, ns32knetbsd.c, sparcnetbsd.c: removed RCS Id's.
458560484Sobrien	  changed how PAGE_SIZE and SEGMENT_SIZE are defined so they are
458660484Sobrien	  consistant with each other.
458760484Sobrien	* netbsd.h (N_HEADER_IN_TEXT, TEXT_START_ADDR): NetBSD fits its
458860484Sobrien	  header into the start of its text segment.
458960484Sobrien
459060484SobrienFri Oct 21 17:13:07 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
459160484Sobrien
459260484Sobrien	* targets.c (BFD_JUMP_TABLE_ARCHIVE): Add case for
459360484Sobrien	_construct_extended_name_table.
459460484Sobrien	(bfd_target): Add _bfd_construct_extended_name_table.
459560484Sobrien	* archive.c (_bfd_archive_bsd_construct_extended_name_table): New
459660484Sobrien	function.
459760484Sobrien	(_bfd_archive_coff_construct_extended_name_table): New function.
459860484Sobrien	(_bfd_construct_extended_name_table): Renamed by adding a leading
459960484Sobrien	underscore, and made externally visible.  Added trailing_slash
460060484Sobrien	argument, and used it instead of elf_style.  Changed type of
460160484Sobrien	tablen to bfd_size_type *.
460260484Sobrien	(_bfd_write_archive_contents): Use BFD_SEND to call
460360484Sobrien	construct_extended_name_table.  Use the returned name.
460460484Sobrien	* libbfd-in.h (_bfd_construct_extended_name_table): Declare.
460560484Sobrien	(_bfd_noarchive_construct_extended_name_table): Define.
460660484Sobrien	(_bfd_archive_bsd_construct_extended_name_table): Declare.
460760484Sobrien	(_bfd_archive_coff_construct_extended_name_table): Declare.
460860484Sobrien	* bfd-in2.h: Rebuild.
460960484Sobrien	* libbfd.h: Rebuild.
461060484Sobrien	* som.c (som_construct_extended_name_table): New static function.
461160484Sobrien	* aout-target.h (MY_construct_extended_name_table): Define.
461260484Sobrien	* coff-rs6000.c (rs6000coff_construct_extended_name_table):
461360484Sobrien	Define.
461460484Sobrien	* ieee.c (ieee_construct_extended_name_table): Define.
461560484Sobrien	* libecoff.h (_bfd_ecoff_construct_extended_name_table): Define.
461660484Sobrien	* oasys.c (oasys_construct_extended_name_table): Define.
461760484Sobrien
461860484Sobrien	Fix the ELF linker to not require an interpreter if no dynamic
461960484Sobrien	objects were seen, even when linking PIC code.
462060484Sobrien	* libelf.h (ELF_LINK_HASH_NEEDS_PLT): Define.
462160484Sobrien	(struct elf_link_hash_table): Add field dynamic_sections_created.
462260484Sobrien	* elfcode.h (elf_link_record_dynamic_symbol): Create dynstr if it
462360484Sobrien	doesn't already exist.
462460484Sobrien	(elf_link_add_object_symbols): Create dynamic sections based on
462560484Sobrien	dynamic_sections_created field, not dynobj field.  Don't bother to
462660484Sobrien	set dynobj.
462760484Sobrien	(elf_link_create_dynamic_sections): If dynamic sections were
462860484Sobrien	already created, don't do anything.  If dynobj is already set, use
462960484Sobrien	it; otherwise, set it to the bfd argument.  Don't initialize
463060484Sobrien	dynsymcount.  Only create dynstr if it does not exist.  Set
463160484Sobrien	dynamic_sections_created to true.
463260484Sobrien	(NAME(bfd_elf,size_dynamic_sections)): Skip most of this function
463360484Sobrien	if no dynamic objects were seen.
463460484Sobrien	(elf_adjust_dynamic_symbol): If a symbol has the
463560484Sobrien	ELF_LINK_HASH_NEEDS_PLT flag set, let the backend adjust it.
463660484Sobrien	(elf_bfd_final_link): Change most decisions based on dynobj to
463760484Sobrien	check dynamic_sections_created instead.
463860484Sobrien	(elf_link_output_extsym): Only handle dynamic symbols if a dynamic
463960484Sobrien	object was seen.
464060484Sobrien	* elf.c (_bfd_elf_link_hash_table_init): Initialize new field
464160484Sobrien	dynamic_sections_created.  Set dynsymcount to 1, not 0.
464260484Sobrien	* elf32-i386.c (elf_i386_create_dynamic_sections): Call
464360484Sobrien	elf_i386_create_got_section rather than creating the .got and
464460484Sobrien	.got.plt sections.
464560484Sobrien	(elf_i386_create_got_section): New static function.
464660484Sobrien	(elf_i386_check_relocs): Just call elf_i386_create_got_section if
464760484Sobrien	a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
464860484Sobrien	Only create the .rel.got section, and only make space for a reloc,
464960484Sobrien	for a global symbol or when generating a shared object.  For a
465060484Sobrien	R_386_PLT32 reloc, just set the	ELF_LINK_HASH_NEEDS_PLT flag.
465160484Sobrien	(elf_i386_adjust_dynamic_symbol): Rework initial assertion to
465260484Sobrien	permit ELF_LINK_HASH_NEEDS_PLT non dynamic symbols.  Create a
465360484Sobrien	procedure linkage table entry for such symbols.  But, if no
465460484Sobrien	dynamic objects were seen, never create a PLT entry.
465560484Sobrien	(elf_i386_size_dynamic_sections): If no dynamic objects were seen,
465660484Sobrien	skip most of this function, and force the size of the .rel.got
465760484Sobrien	section to zero.
465860484Sobrien	(elf_i386_relocate_section): For a R_386_GOT32 reloc against a global
465960484Sobrien	symbol when no dynamic object was seen, initialize the contents of
466060484Sobrien	the .got section.  For a R_386_GOT32 against a local symbol, only
466160484Sobrien	create a R_386_RELATIVE reloc when generating a shared object.
466260484Sobrien	Treat a R_386_PLT32 reloc against a symbol for which we did not
466360484Sobrien	create a PLT entry as a R_386_PC32 reloc.
466460484Sobrien	(elf_i386_finish_dynamic_sections): Only fiddle with the dynamic
466560484Sobrien	entries and the PLT if we saw a dynamic object.
466660484Sobrien	* elf32-sparc.c (elf_sparc_howto_table): Fix R_SPARC_PC22 by
466760484Sobrien	setting rightshift to 10.  Fix R_SPARC_WPLT20 by setting
466860484Sobrien	rightshift to 2, size to 2, bitsize to 30, and dst_mask to
466960484Sobrien	0x3fffffff.
467060484Sobrien	(elf32_sparc_create_dynamic_sections): Don't set the size of the
467160484Sobrien	.plt section.  Call elf32_sparc_create_got_section rather than
467260484Sobrien	creating the .got section.
467360484Sobrien	(elf32_sparc_check_relocs): Call elf32_sparc_create_got_section if
467460484Sobrien	a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
467560484Sobrien	Only create the .rela.got section, and only make space for a
467660484Sobrien	reloc, for a global symbol or when generating a shared object.
467760484Sobrien	Set the alignment of the .rela.got section to 2.  For a
467860484Sobrien	R_SPARC_WPLT30 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
467960484Sobrien	(elf32_sparc_adjust_dynamic_symbol): Rework initial assertion to
468060484Sobrien	permit ELF_LINK_HASH_NEDS_PLT non dynamic symbols.  Create a
468160484Sobrien	procedure linkage table for such symbols.  But, if no dynamic
468260484Sobrien	objects were seen, never create a PLT entry.  Initialize the size
468360484Sobrien	of the .plt section.
468460484Sobrien	(elf32_sparc_size_dynamic_sections): If no dynamic objects were
468560484Sobrien	seen, skip most of this function, and force the size of the
468660484Sobrien	.rela.got section to zero.  Strip empty reloc sections, and strip
468760484Sobrien	an empty .plt section.
468860484Sobrien	(elf32_sparc_relocate_section): For a GOT reloc against a global
468960484Sobrien	symbol when no dynamic object was seen, initialize the contents of
469060484Sobrien	the .got section.  For a GOT reloc against a local symbol, only
469160484Sobrien	create a R_SPARC_RELATIVE reloc when generating a shared object.
469260484Sobrien	Treat a R_SPARC_WPLT30 reloc against a symbol for which we did not
469360484Sobrien	create a PLT entry as a R_SPARC_WDISP30 reloc.
469460484Sobrien	(elf32_sparc_finish_dynamic_sections): Only fiddle with the
469560484Sobrien	dynamic entries and the PLT if we saw a dynamic object.
469660484Sobrien
469760484SobrienThu Oct 20 13:28:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
469860484Sobrien
469960484Sobrien	* elfcode.h (elf_map_symbols): Don't worry about section symbols
470060484Sobrien	in a section not owned by any BFD.
470160484Sobrien	(elf_section_from_bfd_section): Separate out loop which calls
470260484Sobrien	backend routine.  Check bfd_section and call the backend routine
470360484Sobrien	even for a section not owned by any BFD.
470460484Sobrien	* elf32-mips.c (mips_elf_section_from_bfd_section): Handle
470560484Sobrien	.acommon section.
470660484Sobrien
470760484SobrienWed Oct 19 13:28:29 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
470860484Sobrien
470960484Sobrien	* coffgen.c (coff_print_symbol): Make names for section number and
471060484Sobrien	storage class slightly more verbose.  It's not clear how many
471160484Sobrien	characters I can justify using up, but before this change they
471260484Sobrien	both were abbreviated "sc" which is (IMHO) clearly unacceptable.
471360484Sobrien
471460484SobrienWed Oct 19 01:26:39 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
471560484Sobrien
471660484Sobrien	* binary.c (binary_set_section_contents): Set the base file
471760484Sobrien	position from the lowest section VMA, not the start address.
471860484Sobrien
471960484Sobrien	* aoutx.h (NAME(aout,slurp_symbol_table)): Don't return an error
472060484Sobrien	if there are no symbols.
472160484Sobrien	* coffgen.c (coff_get_normalized_symtab): Likewise.
472260484Sobrien	* hp300hpux.c (MY(slurp_symbol_table)): Likewise.
472360484Sobrien
472460484SobrienTue Oct 18 12:56:43 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
472560484Sobrien
472660484Sobrien	* aout-target.h (MY_bfd_copy_private_section_data): Only copy
472760484Sobrien	subformat to another bfd_target_aout_flavour file.
472860484Sobrien
472960484Sobrien	* binary.c: New file for raw binary output format.
473060484Sobrien	* Makefile.in (BFD_LIBS): Add binary.o.
473160484Sobrien	(CFILES): Add binary.c.
473260484Sobrien	* targets.c (binary_vec): Declare.
473360484Sobrien	(bfd_target_vector): Include binary_vec.
473460484Sobrien
473560484Sobrien	* srec.c (tdata_type): Add field tail.
473660484Sobrien	(srec_mkobject): Initialize tail.
473760484Sobrien	(srec_set_section_contents): Sort S record list by address.
473860484Sobrien
473960484SobrienMon Oct 17 11:38:16 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
474060484Sobrien
474160484Sobrien	* elfcode.h (elf_map_symbols): Sort the symbols into a new array,
474260484Sobrien	rather than messing with Elf_Sym_Extra.  Store the symbol index in
474360484Sobrien	the udata.i field.
474460484Sobrien	(swap_out_syms): Use outbound_syms as a pointer rather than as an
474560484Sobrien	array.  Don't worry about elf_sym_num.
474660484Sobrien	* libelf.h (struct elf_sym_extra): Don't define.
474760484Sobrien	(Elf_Sym_Extra): Don't define.
474860484Sobrien	(struct elf_obj_tdata): Remove sym_extra field.
474960484Sobrien	(elf_sym_extra): Don't define.
475060484Sobrien	* elf32-hppa.c (elf32_hppa_backend_final_write_processing): Use
475160484Sobrien	udata.i rather than elf_sym_extra array.
475260484Sobrien
475360484Sobrien	* syms.c (asymbol): Change udata field into a union.
475460484Sobrien	* bfd-in2.h: Rebuild.
475560484Sobrien	* aoutx.h (NAME(aout,translate_symbol_table)): Use udata.p rather
475660484Sobrien	than just udata.
475760484Sobrien	* bout.c (perform_slip): Likewise.
475860484Sobrien	* hp300hpux.c (MY(slurp_symbol_table)): Likewise.
475960484Sobrien	* ieee.c (ieee_slurp_external_symbols): Likewise.
476060484Sobrien	* linker.c (generic_link_add_symbol_list): Likewise.
476160484Sobrien	(default_indirect_link_order): Likewise.
476260484Sobrien	* oasys.c (oasys_slurp_symbol_table): Likewise.
476360484Sobrien	* reloc16.c (bfd_perform_slip): Likewise.
476460484Sobrien	* srec.c (fillup_symbols): Likewise.
476560484Sobrien	* coffcode.h (get_index): Use udata.i rather than just udata.
476660484Sobrien	(coff_slurp_symbol_table): Likewise.
476760484Sobrien	* coffgen.c (set_index): Likewise.
476860484Sobrien	* ecoff.c (ecoff_set_symbol_info): Likewise.
476960484Sobrien	* elfcode.h (elf_symbol_from_bfd_symbol): Likewise.
477060484Sobrien	* libecoff.h (ecoff_get_sym_index, ecoff_set_sym_index): Likewise.
477160484Sobrien	* som.c (compare_syms): Likewise.
477260484Sobrien	(som_prep_for_fixups): Likewise.
477360484Sobrien	(som_write_fixups): Likewise.
477460484Sobrien
477560484Sobrien	Use a hash table when writing out ELF symbol names.
477660484Sobrien	* elfcode.h (elf_stringtab_init): New static function.
477760484Sobrien	(bfd_new_strtab, bfd_add_to_strtab, bfd_add_2_to_strtab): Remove.
477860484Sobrien	Change all callers to use elf_stringtab_init or
477960484Sobrien	_bfd_stringtab_add, and get stringtab lengths using
478060484Sobrien	_bfd_stringtab_size.
478160484Sobrien	(elf_fake_sections): Change ignored argument to pointer to
478260484Sobrien	boolean, and set the boolean to true if an error occurs.  If an
478360484Sobrien	error has already occurred, don't do anything.
478460484Sobrien	(assign_section_numbers): Just set sh_size, not contents.
478560484Sobrien	(elf_compute_section_file_positions): Pass the address of a
478660484Sobrien	boolean to elf_fake_sections.  Pass the address of a
478760484Sobrien	bfd_strtab_hash to swap_out_syms.  Write out the .strtab section.
478860484Sobrien	(prep_headers): Change shstrtab to bfd_strtab_hash.
478960484Sobrien	(swap_out_syms): Take a pointer to a bfd_strtab_hash as an
479060484Sobrien	argument.  Set it to the symbol names.
479160484Sobrien	(NAME(bfd_elf,write_object_contents)): Write out the section
479260484Sobrien	header names using _bfd_stringtab_emit.
479360484Sobrien	(elf_debug_section): Remove first argument; get the section name
479460484Sobrien	via the bfd_section pointer.  Change caller.
479560484Sobrien	(elf_bfd_final_link): Write out the symbol names using
479660484Sobrien	_bfd_stringtab_emit.  Likewise for the .dynstr section contents.
479760484Sobrien	Free the symbol names at the end of the function.
479860484Sobrien	(elf_link_input_bfd): Remove the last argument, output_names,
479960484Sobrien	from relocate_section.  Save the old symbol contents before
480060484Sobrien	calling elf_link_output_sym, and restore them afterward.
480160484Sobrien	* libelf.h (struct elf_link_hash_table): Change dynstr field to
480260484Sobrien	struct bfd_strtab_hash.
480360484Sobrien	(struct elf_backend_data): Remove last argument, output_names,
480460484Sobrien	from elf_backend_relocate_section field.
480560484Sobrien	(struct strtab): Don't define.
480660484Sobrien	(struct elf_obj_tdata): Change strtab_ptr field to struct
480760484Sobrien	bfd_strtab_hash.
480860484Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): Remove last
480960484Sobrien	argument, output_names.
481060484Sobrien	* elf32-i386.c (elf_i386_relocate_section): Likewise.
481160484Sobrien	* elf32-mips.c (mips_elf_relocate_section): Likewise.
481260484Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
481360484Sobrien
481460484Sobrien	* libbfd-in.h (DEFAULT_STRING_SPACE_SIZE): Don't define.
481560484Sobrien	(bfd_add_to_string_table): Don't declare.
481660484Sobrien	* libbfd.h: Rebuild.
481760484Sobrien	* libbfd.c (bfd_add_to_string_table): Remove.
481860484Sobrien
481960484Sobrien	* elfcode.h (elf_swap_shdr_in): Use bfd_section, not rawdata.
482060484Sobrien	Clear contents field.
482160484Sobrien	(bfd_section_from_shdr): In SHT_STRTAB case, check bfd_section,
482260484Sobrien	not rawdata.  Don't set rawdata if e_shstrndx.  Use bfd_section
482360484Sobrien	rather than rawdata in commented out code.  In SHT_REL[A] case,
482460484Sobrien	don't bother to check elf_section_data of section returned by
482560484Sobrien	section_from_elf_index.
482660484Sobrien	(elf_fake_sections): Set bfd_section, not rawdata.  Don't set
482760484Sobrien	size.
482860484Sobrien	(elf_map_symbols): Don't set elf_num_section_syms.  Don't create
482960484Sobrien	section symbols that already exist.
483060484Sobrien	(assign_file_position_for_section): Use bfd_section, not rawdata.
483160484Sobrien	(section_from_elf_index): Just check bfd_section field.
483260484Sobrien	(elf_section_from_bfd_section): Likewise.
483360484Sobrien	(elf_debug_section): Don't print rawdata, contents, or size.
483460484Sobrien	(elf_link_add_object_symbols): Don't error out if
483560484Sobrien	section_from_elf_index returns NULL.
483660484Sobrien	(elf_bfd_final_link): Check return value from
483760484Sobrien	section_from_elf_index against NULL, not bfd_is_abs_section.
483860484Sobrien	(elf_link_input_bfd): Don't check section_from_elf_index return
483960484Sobrien	value.
484060484Sobrien	* libelf.h (struct elf_obj_tdata): Remove num_section_syms field.
484160484Sobrien	(elf_num_section_syms): Don't define.
484260484Sobrien	* elf.c (elf_get_str_section): Store section contents in contents
484360484Sobrien	field rather than rawdata field.
484460484Sobrien	(elf_string_from_elf_section): Likewise.
484560484Sobrien	(_bfd_elf_make_section_from_shdr): Store BFD section pointer in
484660484Sobrien	bfd_section field rather than rawdata field.
484760484Sobrien	* elf32-hppa.c (elf32_hppa_read_symext_info): Use bfd_section
484860484Sobrien	rather than rawdata.
484960484Sobrien	(elf32_hppa_size_stubs): Likewise.
485060484Sobrien	(elf32_hppa_backend_symbol_table_processing): Don't set
485160484Sobrien	symextn_hdr->size; just use sh_size.
485260484Sobrien	* elf32-mips.c (mips_elf_final_write_processing): Use bfd_section
485360484Sobrien	rathern than rawdata.
485460484Sobrien	(mips_elf_section_from_shdr): Likewise.
485560484Sobrien	(mips_elf_section_processing): Likewise.
485660484Sobrien	(mips_elf_section_from_bfd_section): Remove rawdata check.
485760484Sobrien
485860484Sobrien	* srec.c (pass_over): Set the start address for S7, S8 or S9.
485960484Sobrien
486060484SobrienFri Oct 14 19:15:46 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
486160484Sobrien
486260484Sobrien	* VERSION: Updated to 2.5.
486360484Sobrien
486460484SobrienFri Oct 14 11:07:50 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
486560484Sobrien
486660484Sobrien	* bfd.c (bfd_scan_vma): Cast end to be non const before passing it
486760484Sobrien	to strtoul.
486860484Sobrien
486960484SobrienThu Oct 13 14:40:41 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
487060484Sobrien
487160484Sobrien	* bfd.c (bfd_scan_vma): Pass end argument on to strtoul.
487260484Sobrien
487360484SobrienWed Oct 12 16:46:43 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
487460484Sobrien
487560484Sobrien	* opncls.c (bfd_realloc): Deleted, since it's broken and fixing it
487660484Sobrien	would make it slow.  Besides, it isn't used much.
487760484Sobrien	* elfcode.h (elf_map_symbols): Always allocate new storage for the
487860484Sobrien	symbol table.
487960484Sobrien
488060484SobrienWed Oct 12 11:54:37 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
488160484Sobrien
488260484Sobrien	* ecoff.c (ecoff_set_symbol_info): Mark local stProc, stLabel or
488360484Sobrien	stabs symbols as BSF_DEBUGGING.
488460484Sobrien
488560484Sobrien	* rs6000-core.c (rs6000coff_core_file_matches_executable_p): Make
488660484Sobrien	str1 and str2 const pointers.
488760484Sobrien
488860484Sobrien	* Makefile.in (INSTALL): Use top level install.sh script.
488960484Sobrien	* config/README (INSTALL): Remove.
489060484Sobrien	* config/delta88.mh (INSTALL): Remove.
489160484Sobrien	* config/i386v4.mh (INSTALL): Remove.
489260484Sobrien	* config/irix4.mh (INSTALL): Remove.
489360484Sobrien	* config/irix5.mh (INSTALL): Remove.
489460484Sobrien	* config/ncrt3000.mh (INSTALL): Remove.
489560484Sobrien
489660484SobrienTue Oct 11 13:57:56 1994  Eric Youngdale  (eric@andante.aib.com)
489760484Sobrien
489860484Sobrien	* elf32-i386.c (elf_i386_check_relocs): Make sure that a symbol
489960484Sobrien	with a global offset table entry or a procedure linkage table
490060484Sobrien	entry is added to the dynamic symbol table.
490160484Sobrien	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
490260484Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): If a symbol has
490360484Sobrien	already gotten a procedure linkage table entry, change the
490460484Sobrien	definition to the PLT entry.
490560484Sobrien	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
490660484Sobrien
490760484SobrienTue Oct 11 17:12:00 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
490860484Sobrien
490960484Sobrien	* lynx-core.c (lynx_core_file_p): SPARC Lynx appears to start
491060484Sobrien	dumping the .data section in a core file at a page boundary.
491160484Sobrien
491260484SobrienMon Oct 10 16:24:44 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
491360484Sobrien
491460484Sobrien	* cofflink.c (_bfd_coff_final_link): Cast argument to bfd_h_put_32
491560484Sobrien	to correct type.
491660484Sobrien	(coff_read_string_table): Cast argument to bfd_h_get_32 to correct
491760484Sobrien	type.
491860484Sobrien	* elfcode.h (elf_link_output_extsym): Cast argument to
491960484Sobrien	bfd_elf_hash to correct type.
492060484Sobrien
492160484Sobrien	* elf32-sparc.c (elf_sparc_howto_table): The PC10, PC22, and
492260484Sobrien	WPLT30 relocations are PC-relative.
492360484Sobrien
492460484SobrienThu Oct  6 12:57:26 1994  Richard Earnshaw (rwe@pegasus.esprit.ec.org)
492560484Sobrien
492660484Sobrien	* aoutx.h (adjust_o_magic): Correctly initialize vma if the vma of
492760484Sobrien	the text section was user-defined.
492860484Sobrien
492960484SobrienWed Oct  5 14:42:12 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
493060484Sobrien
493160484Sobrien	* archive.c (bfd_construct_extended_name_table): SVR4 uses slash
493260484Sobrien	newline at the end of the file name, not just newline.
493360484Sobrien
493460484SobrienTue Oct  4 11:23:12 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
493560484Sobrien
493660484Sobrien	* ecoff.c (_bfd_ecoff_new_section_hook): Default section alignment
493760484Sobrien	power to 4, rather than using align_power_min.
493860484Sobrien
493960484Sobrien	* coffcode.h (coff_new_section_hook): Don't use align_power_min;
494060484Sobrien	use COFF_DEFAULT_SECTION_ALIGNMENT_POWER instead.  Force the .stab
494160484Sobrien	and .stabstr sections to be aligned to no more than 2.  Remove
494260484Sobrien	COFF_SPARC special cases.
494360484Sobrien	* coff-a29k.c: Define COFF_DEFAULT_SECTION_ALIGNMENT_POWER.
494460484Sobrien	* coff-apollo.c, coff-go32.c, coff-h8300.c: Likewise.
494560484Sobrien	* coff-h8500.c, coff-i386.c, coff-i960.c, coff-m68k.c: Likewise.
494660484Sobrien	* coff-m88k.c, coff-rs6000.c, coff-sh.c, coff-sparc.c: Likewise.
494760484Sobrien	* coff-we32k.c, coff-z8k.c: Likewise.
494860484Sobrien
494960484Sobrien	* configure.in: Use ${config_shell} when running config.bfd.
495060484Sobrien
495160484Sobrien	* cofflink.c (coff_link_input_bfd): Don't try to convert a long
495260484Sobrien	filename if the offset field is zero.
495360484Sobrien
495460484Sobrien	* elfcode.h (swap_out_syms): If the alignment of a common symbol
495560484Sobrien	was not set, use a sensible default rather than zero.
495660484Sobrien
495760484SobrienMon Oct  3 16:04:29 1994  H.J. Lu (hjl@nynexst.com)
495860484Sobrien
495960484Sobrien	* opncls.c (bfd_close): Honor umask when setting execution bits.
496060484Sobrien	(bfd_close_all_done): Likewise.
496160484Sobrien
496260484SobrienMon Oct  3 04:41:49 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
496360484Sobrien
496460484Sobrien	* rs6000-core.c (rs6000coff_core_p):  Set SEC_HAS_CONTENTS flag
496560484Sobrien	for .stack and .ldinfo sections. Cast coredata.c_tab to a
496660484Sobrien	file_ptr to avoid warnings from gcc.
496760484Sobrien
496860484SobrienFri Sep 30 13:11:38 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
496960484Sobrien
497060484Sobrien	* elfcode.h (elf_bfd_final_link): Remove assertion when a non
497160484Sobrien        SEC_IN_MEMORY section is found in dynobj.  This can happen when
497260484Sobrien	linking PIC compiled code.
497360484Sobrien
497460484SobrienThu Sep 29 15:21:44 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
497560484Sobrien
497660484Sobrien	* reloc.c (bfd_install_relocation): Change type of "data" to
497760484Sobrien	bfd_byte *, to go along with yesterday's change.
497860484Sobrien
497960484Sobrien	* elf.c (bfd_elf_print_symbol): Moved here from elf_print_symbol
498060484Sobrien	in elfcode.h.  (case bfd_print_symbol_all): Print symbol's size
498160484Sobrien	field, except for common symbols; print their alignment.
498260484Sobrien	* elfcode.h (elf_print_symbol): Deleted.
498360484Sobrien	* libelf.h (bfd_elf_print_symbol): Declare.
498460484Sobrien	(bfd_elf{32,64}_print_symbol): Replace declarations with macros.
498560484Sobrien
498660484Sobrien	* syms.c (bfd_print_symbol_vandf): Show BSF_LOCAL and BSF_GLOBAL
498760484Sobrien	in one column.  Use the column freed up to show BSF_FUNCTION and
498860484Sobrien	BSF_FILE.
498960484Sobrien
499060484SobrienThu Sep 29 12:29:01 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
499160484Sobrien
499260484Sobrien	* syms.c (stt): Add .rdata and .rodata.
499360484Sobrien
499460484SobrienWed Sep 28 13:35:05 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
499560484Sobrien
499660484Sobrien	* reloc.c (bfd_install_relocation): Cast data_start to bfd_byte *
499760484Sobrien	before trying to add values to it.
499860484Sobrien
499960484SobrienTue Sep 27 16:47:58 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
500060484Sobrien
500160484Sobrien	* elf32-hppa.c (elf32_hppa_backend_final_write_processing): Cast
500260484Sobrien	return value from elf_sym_extra.
500360484Sobrien	(elf32_hppa_build_stubs): Cast return value from bfd_zalloc.
500460484Sobrien	(elf32_hppa_size_stubs): Cast return value from malloc.
500560484Sobrien
500660484Sobrien	* gen-aout.c (main): Declare and initialize "arch".
500760484Sobrien
500860484Sobrien	* cofflink.c (coff_link_add_symbols): Cast return value of
500960484Sobrien	bfd_hash_allocate.
501060484Sobrien
501160484Sobrien	* riscix.c (riscix_callback): Use PARAMS macro in prototype.
501260484Sobrien
501360484Sobrien	* reloc.c (bfd_install_relocation): New function, mostly copied
501460484Sobrien	from bfd_perform_relocation, adjusted for the assembler's needs.
501560484Sobrien	* bfd-in2.h: Regenerated.
501660484Sobrien
501760484SobrienMon Sep 26 11:00:14 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
501860484Sobrien
501960484Sobrien	* elfcode.h (assign_file_positions_except_relocs): Align the
502060484Sobrien	section VMA and the file position even if D_PAGED is not set.
502160484Sobrien
502260484Sobrien	* bfd-in.h (bfd_seek): Change declaration to not mark fp const.
502360484Sobrien	* bfd-in2.h: Rebuild.
502460484Sobrien	* libbfd.c (bfd_seek): Don't mark parameters const, to avoid
502560484Sobrien	conflicts with declaration.
502660484Sobrien
502760484SobrienFri Sep 23 15:15:31 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
502860484Sobrien
502960484Sobrien	* elfcode.h (map_program_segments): Don't abort if we allocated
503060484Sobrien	too much space for the program header, only if we allocated too
503160484Sobrien	little.
503260484Sobrien	(assign_file_positions_except_relocs): Similar change.
503360484Sobrien
503460484SobrienTue Sep 20 13:17:07 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
503560484Sobrien
503660484Sobrien	* libaout.h: Fix comment.
503760484Sobrien	* ns32knbsd.h: Changed M_NS32K_NETBSD to M_532_NETBSD to match
503860484Sobrien	  libaout.h.
503960484Sobrien
504060484SobrienTue Sep 20 15:23:21 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
504160484Sobrien
504260484Sobrien	* Makefile.in: Rebuilt dependencies.
504360484Sobrien	(BFD32_BACKENDS): Add sparcnetbsd.o.
504460484Sobrien	(CFILES): Add ns32knetbsd.c and sparcnetbsd.c.
504560484Sobrien	* targets.c: ns32knetbsd_vec was renamed to pc532netbsd_vec.
504660484Sobrien
504760484Sobrien	* coff-sh.c (rtype2howto): Remove; unused.
504860484Sobrien	(coff_sh_relocate_section): Remove unused local variable rstat.
504960484Sobrien	(reloc_processing): Comment out; unused.
505060484Sobrien
505160484SobrienFri Sep 16 12:12:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
505260484Sobrien
505360484Sobrien	* aoutx.h (aout_link_write_other_symbol): If h->indx is -2, then
505460484Sobrien	always write it out even if it would normally be stripped.
505560484Sobrien	(aout_link_input_section_std): If we find a reloc against a
505660484Sobrien	stripped global symbol, force it to be written out rather than
505760484Sobrien	merely calling unattached_reloc.
505860484Sobrien	(aout_link_input_section_ext): Likewise.
505960484Sobrien	(aout_link_reloc_link_order): Likewise.
506060484Sobrien
506160484SobrienWed Sep 14 15:37:19 1994  Jeff Law  (law@snake.cs.utah.edu)
506260484Sobrien
506360484Sobrien	* som.h (struct somdata): New field sorted_syms.
506460484Sobrien	(obj_som_sorted_syms): Accessor macro.
506560484Sobrien	* som.c (som_object_setup): Initialize sorted_syms to NULL.
506660484Sobrien	(som_prep_for_fixups): Sort a copy of the BFD's symbol table;
506760484Sobrien	store the sorted symbol table in sorted_syms.
506860484Sobrien	(som_write_fixups): Initalize tmp_reloc to NULL to make GCC happy.
506960484Sobrien	(som_begin_writing): Similarly for exec_header.  Pass the sorted
507060484Sobrien	symbol table to som_write_symbol_strings.
507160484Sobrien	(som_build_and_write_symbol_table): Use the sorted symbols rather
507260484Sobrien	than the canonical symbol table.
507360484Sobrien
507460484Sobrien	* som.h (som_symbol_type): Add "stringtab_offset" field.
507560484Sobrien	* som.c (som_write_symbol_strings): Use "stringtab_offset"
507660484Sobrien	rather than destroying the "name" field in the BFD symbol.
507760484Sobrien	(som_build_and_write_symbol_table): Likewise.
507860484Sobrien
507960484SobrienWed Sep 14 15:06:55 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
508060484Sobrien
508160484Sobrien	* aoutx.h (aout_link_write_symbols): Rename skip_indirect to
508260484Sobrien	skip_next.  If we find an N_WARNING symbol which has already been
508360484Sobrien	written out, set skip_next.
508460484Sobrien
508560484Sobrien	* libecoff.h (struct ecoff_tdata): Add field find_buffer.
508660484Sobrien	* ecoff.c: Include aout/stab_gnu.h.
508760484Sobrien	(ecoff_find_nearest_line): Handle stabs debugging information.
508860484Sobrien
508960484Sobrien	* elfcode.h (elf_link_output_extsym): Keep a symbol marked as weak
509060484Sobrien	even if it is referenced by another object.
509160484Sobrien
509260484SobrienTue Sep 13 17:57:00 1994  Jeff Law  (law@snake.cs.utah.edu)
509360484Sobrien
509460484Sobrien	* som.c (som_fixup_formats): Case R_ENTRY (0xb3), set both
509560484Sobrien	'T' and 'U' to grab all the unwind information.
509660484Sobrien	(som_set_reloc_info): Make 'U' unwind bits persist across
509760484Sobrien	multiple SOM relocations.  Set the addend field of an R_ENTRY
509860484Sobrien	relocation to the value in 'T'; set the addend field on an
509960484Sobrien	R_EXIT relocation to the value in 'U'.
510060484Sobrien
510160484Sobrien	* som.h (som_symbol_type): Delete unwind field.
510260484Sobrien
510360484Sobrien	* som.c (som_write_fixups): For R_ENTRY fixups, get 32bits of
510460484Sobrien	unwind information from the addend field of the R_ENTRY, get the
510560484Sobrien	other 32bits from the addend field of the R_EXIT.
510660484Sobrien	(bfd_som_attach_unwind_info): Delete function and all references.
510760484Sobrien
510860484Sobrien	* som.h (som_symbol_type): Delete unused a.out-related fields.
510960484Sobrien
511060484Sobrien	* som.c (bfd_section_from_som_symbol): Use bfd_abs_section_ptr
511160484Sobrien	instead of &bfd_abs_section.
511260484Sobrien
511360484Sobrien	* som.c (som_object_setup): Handle exec_entry and exec_flags being
511460484Sobrien	switched in executables created by the OSF1 linker.
511560484Sobrien	(som_write_fixups): Handle R_EXIT just like the R_{F,L,R}SEL
511660484Sobrien	fixups.  Support R_ALT_ENTRY (handle just like R_EXIT).
511760484Sobrien
511860484SobrienTue Sep 13 16:04:07 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
511960484Sobrien
512060484Sobrien	* cofflink.c (coff_link_input_bfd): syment_base is unsigned
512160484Sobrien	so can't compare -ve numbers with it.
512260484Sobrien
512360484SobrienMon Sep 12 20:31:17 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
512460484Sobrien
512560484Sobrien	* configure.in (shcoff_vec): Use cofflink.o now.
512660484Sobrien	* coff-sh.c: Rewritten to use new fast coff backend.
512760484Sobrien
512860484SobrienTue Sep 13 16:23:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
512960484Sobrien
513060484Sobrien	* aoutx.h (NAME(aout,final_link)): Don't assume that all the input
513160484Sobrien        files are a.out.
513260484Sobrien
513360484SobrienTue Sep 13 11:09:39 1994  J.T. Conklin  (jtc@rtl.cygnus.com)
513460484Sobrien
513560484Sobrien	* configure.host (sparc-*-netbsd): use sparcnbsd.
513660484Sobrien	  (ns32k-*-netbsd): use ns32knbsd.
513760484Sobrien
513860484Sobrien	* hosts/{nbsd,i386nbsd,ns32knbsd,sparcnbsd}.h: New files, NetBSD
513960484Sobrien	  host support.
514060484Sobrien
514160484Sobrien	* sparcnetbsd.c: New file, adds support for NetBSD/sparc.
514260484Sobrien	* config/sparc-nbsd.mt: Likewise.
514360484Sobrien
514460484Sobrien	* netbsd.h: New file, definitions common to all netbsd ports.
514560484Sobrien	* i386netbsd.c: Use it.
514660484Sobrien        * ns32knetbsd.c: Use it.
514760484Sobrien
514860484Sobrien	* Makefile.in, configure.in, targets.c, config/i386-nbsd.mt,
514960484Sobrien	  config/ns32k-nbsd.mt: canonicalize netbsd targets to conform to
515060484Sobrien	  file/variable naming conventions.
515160484Sobrien	* i386netbsd.c: New file, renamed from netbsd386.c.
515260484Sobrien	* ns32knetbsd.c: New file, renamed from netbsd532.c.
515360484Sobrien	
515460484SobrienMon Sep 12 21:56:20 1994  Jeff Law  (law@snake.cs.utah.edu)
515560484Sobrien
515660484Sobrien	* som.c (som_reloc_skip): Correct off-by-one error for 4-byte
515760484Sobrien	R_NO_RELOCATION fixups.
515860484Sobrien	(bfd_section_from_som_symbol): Return the absolute section if the
515960484Sobrien	symbol isn't contained in any section in the output file.
516060484Sobrien	(som_slurp_symbol_table): ST_PRI_PROG and ST_SEC_PROG symbols are
516160484Sobrien	not function symbols (they are magic code labels which *can* be the
516260484Sobrien	targets of cross space branches).  $START$ is not a section symbol.
516360484Sobrien
516460484SobrienMon Sep 12 11:43:08 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
516560484Sobrien
516660484Sobrien	* coff-alpha.c (ecoffalpha_little_vec): Add SEC_CODE and SEC_DATA
516760484Sobrien	to section_flags.
516860484Sobrien	* coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
516960484Sobrien
517060484Sobrien	* elfcode.h (swap_out_syms): Set the type of an undefined symbol
517160484Sobrien	to STT_FUNC if the BSF_FUNCTION flag is set.
517260484Sobrien
517360484Sobrien	* cofflink.c (coff_link_input_bfd): If r_symndx is -1, don't
517460484Sobrien	change it.
517560484Sobrien	(_bfd_coff_generic_relocate_section): If r_symndx is -1, it is an
517660484Sobrien	absolute reloc.  Don't dump core using r_symndx as an array index.
517760484Sobrien	* cf-m68klynx.c (coff_bfd_link_add_symbols): Define.
517860484Sobrien	(lynx_link_add_symbols): New static function (copy of function in
517960484Sobrien	coff-i386.c).
518060484Sobrien	(coff_m68k_lynxrtype_to_howto): sym argument may be NULL.
518160484Sobrien	* coff-i386.c (coff_i386_rtype_to_howto): Likewise.
518260484Sobrien	* coff-a29k.c (coff_a29k_relocate_section): Handle an r_symndx
518360484Sobrien	value of -1, meaning an absolute reloc.
518460484Sobrien
518560484Sobrien	* ctor.c: Remove; obsolete.
518660484Sobrien	* Makefile.in: Rebuild dependencies.
518760484Sobrien	(BFD_LIBS): Remove ctor.o.
518860484Sobrien	(CFILES): Remove ctor.c.
518960484Sobrien	* libbfd.h: Rebuild.
519060484Sobrien
519160484SobrienMon Sep 12 01:58:47 1994  Jeff Law  (law@snake.cs.utah.edu)
519260484Sobrien
519360484Sobrien	* elf32-hppa.c (elf32_hppa_relocate_section): If there was a link
519460484Sobrien	error of some sort (for example, undefined symbols), then do not
519560484Sobrien	apply any relocs, just notify the user of the errors.
519660484Sobrien	(elf32_hppa_backend_begin_write_processing): Do not build a symbol
519760484Sobrien	extension section for an executable (it's useless).
519860484Sobrien	(elf32_hppa_link_output_symbol_hook): Do nothing if there was a
519960484Sobrien	link error of some sort (for example, undefined symbols).
520060484Sobrien	(elf32_hppa_read_symext_info): Kludge.  Turn off SEC_HAS_CONTENTS
520160484Sobrien	for all the input symbol extension sections to keep the generic
520260484Sobrien	BFD code happy.  Temporarily turn it on to read the contents of
520360484Sobrien	the symbol extension section.
520460484Sobrien
520560484SobrienSun Sep 11 21:58:59 1994  Jeff Law  (law@snake.cs.utah.edu)
520660484Sobrien
520760484Sobrien	* config/hppaosf.mh (RANLIB): Do not set.
520860484Sobrien	* config/hppabsd.mh (RANLIB): Likewise.
520960484Sobrien
521060484SobrienSun Sep 11 22:50:49 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
521160484Sobrien
521260484Sobrien	* cf-i386lynx.c: Remove #if 0 code.
521360484Sobrien	(i386_lynxos_coff_object_p): Remove unused function.
521460484Sobrien	(coff_bfd_link_add_symbols): Define.
521560484Sobrien	(lynx_link_add_symbols): New static function.
521660484Sobrien	* coffcode.h (coff_bfd_link_hash_table_create): If
521760484Sobrien	coff_relocate_section is defined, only define this if not already
521860484Sobrien	defined.
521960484Sobrien	(coff_bfd_link_add_symbols, coff_bfd_final_link): Likewise.
522060484Sobrien
522160484Sobrien	* linker.c (_bfd_generic_final_link): Handle
522260484Sobrien	bfd_indirect_link_order explicitly, rather than via
522360484Sobrien	_bfd_default_link_order.
522460484Sobrien	(set_symbol_from_hash): New static function, broken out of
522560484Sobrien	_bfd_generic_link_write_global_symbol.
522660484Sobrien	(_bfd_generic_link_write_global_symbol): Symbol setting code moved
522760484Sobrien	to set_symbol_from_hash; call it.
522860484Sobrien	(default_indirect_link_order): Add generic_linker argument.
522960484Sobrien	Change all callers.  If false, set the generic symbols based on
523060484Sobrien	the hash table entries.
523160484Sobrien
523260484SobrienFri Sep  9 11:51:49 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
523360484Sobrien
523460484Sobrien	* coffgen.c (coff_get_symtab): Reindented.  Removed commented out
523560484Sobrien	call to bfd_constructor_entry.
523660484Sobrien
523760484Sobrien	Convert m68k COFF to use new COFF backend linker.
523860484Sobrien	* coff-m68k.c (coff_relocate_section): Define.
523960484Sobrien	* cf-m68klynx.c (coff_rtype_to_howto): Define.
524060484Sobrien	(coff_m68k_lynx_rtype_to_howto): New static function.
524160484Sobrien	* configure.in (m68kcoff_vec): Build cofflink.o.
524260484Sobrien	(m68kcoffun_vec, m68klynx_coff_vec): Likewise.
524360484Sobrien
524460484SobrienThu Sep  8 16:20:38 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
524560484Sobrien
524660484Sobrien	* coff-h8300.c (h8300_reloc16_extra_cases, case RELBYTE): Flag
524760484Sobrien	overflows correctly.
524860484Sobrien
524960484SobrienWed Sep  7 19:01:42 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
525060484Sobrien
525160484Sobrien	* libelf.h (struct elf_backend_data): Change second argument of
525260484Sobrien	elf_backend_final_write_processing hook to boolean.
525360484Sobrien	(struct elf_obj_tdata): Add linker field.
525460484Sobrien	* elfcode.h (NAME(bfd_elf,write_object_contents)): Pass value of
525560484Sobrien	tdata linker field to final_write_processing, rather than NULL.
525660484Sobrien	(elf_bfd_final_link): Don't call final_write_processing hook.  Set
525760484Sobrien	tdata linker field to true.
525860484Sobrien	* elf32-mips.c (mips_elf_final_write_processing): Change type of
525960484Sobrien	second argument to boolean.
526060484Sobrien	* elf32-hppa.c (elf32_hppa_backend_final_write_processing):
526160484Sobrien	Likewise.
526260484Sobrien
526360484Sobrien	* coff-go32.c (RTYPE2HOWTO): Fully parenthesize arguments.
526460484Sobrien	* coff-i960.c (RTYPE2HOWTO): Likewise.
526560484Sobrien	* coff-m88k.c (RTYPE2HOWTO): Likewise.
526660484Sobrien	* coff-we32k.c (RTYPE2HOWTO): Likewise.
526760484Sobrien
526860484Sobrien	Make i386 COFF use new COFF backend linker.
526960484Sobrien	* coff-i386.c (RTYPE2HOWTO): Fully parenthesize arguments.
527060484Sobrien	(coff_relocate_section): Define.
527160484Sobrien	(coff_i386_rtype_to_howto): New function.
527260484Sobrien	* configure.in (i386coff_vec): Use cofflink.o.
527360484Sobrien	(i386lynx_coff_vec): Likewise.
527460484Sobrien
527560484Sobrien	* coffcode.h (bfd_coff_backend_data): Add new field
527660484Sobrien	_bfd_coff_rtype_to_howto.
527760484Sobrien	(bfd_coff_rtype_to_howto): Define.
527860484Sobrien	(coff_rtype_to_howto): Define to use RTYPE2HOWTO, if not already
527960484Sobrien	defined.
528060484Sobrien	(bfd_coff_std_swap_table): Initialize new field.
528160484Sobrien	* cofflink.c (_bfd_coff_final_link): Allocate section_count + 1
528260484Sobrien	section_info structures, since the target_index is 1 based.
528360484Sobrien	(coff_link_input_bfd): Set *secpp to bfd_com_section_ptr for a
528460484Sobrien	common symbol.  Adjust rel_hash by the output reloc count.
528560484Sobrien	(_bfd_coff_generic_relocate_section): New function.
528660484Sobrien	* libcoff-in.h (_bfd_coff_generic_relocate_section): Declare.
528760484Sobrien	* libcoff.h: Rebuild.
528860484Sobrien	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
528960484Sobrien	* coff-mips.c (mips_ecoff_backend_data): Likewise.
529060484Sobrien
529160484SobrienTue Sep  6 23:28:52 1994  Jeff Law  (law@snake.cs.utah.edu)
529260484Sobrien
529360484Sobrien	* som.c (som_bfd_derive_misc_symbol_info): Treat undefined code
529460484Sobrien	symbols and undefined symbols which no type in the same manner
529560484Sobrien	if the associated BFD symbol has BSF_FUNCTION set.  For a defined
529660484Sobrien	symbol which no type, select a SOM type based on the flags of the
529760484Sobrien	section containing the symbol.
529860484Sobrien	(som_slurp_symbol_type): Set BSF_FUNCTION for undefined ST_STUB
529960484Sobrien	or ST_CODE symbols (importing a non-function code symbol is
530060484Sobrien	meaningless in SOM).
530160484Sobrien	(som_set_reloc_info): Don't set "offset" to the section's vma; it
530260484Sobrien	should always start at zero.
530360484Sobrien
530460484SobrienTue Sep  6 14:51:11 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
530560484Sobrien
530660484Sobrien	Add new style linker support to COFF backend.  a29k only for now.
530760484Sobrien	* cofflink.c: New file.
530860484Sobrien	* libcoff-in.h: Include bfdlink.h.
530960484Sobrien	(obj_coff_external_syms, obj_coff_strings): Define accessor macro.
531060484Sobrien	(obj_coff_sym_hashes): Define accessor macro.
531160484Sobrien	(struct coff_tdata): Add fields external_syms, strings, and
531260484Sobrien	sym_hashes.
531360484Sobrien	(struct coff_link_hash_entry): Define.
531460484Sobrien	(struct coff_link_hash_table): Define.
531560484Sobrien	(coff_link_hash_lookup, coff_link_hash_traverse): Define.
531660484Sobrien	(coff_hash_table): Define.
531760484Sobrien	(_bfd_coff_link_hash_table_create): Declare.
531860484Sobrien	(_bfd_coff_link_add_symbols, _bfd_coff_final_link): Declare.
531960484Sobrien	* coffcode.h (bfd_coff_backend_data): Add fields _bfd_relsz,
532060484Sobrien	_bfd_coff_swap_reloc_in, _bfd_coff_sym_is_global,
532160484Sobrien	_bfd_coff_compute_section_file_positions,
532260484Sobrien	_bfd_coff_relocate_section.
532360484Sobrien	(bfd_coff_relsz, bfd_coff_swap_reloc_in): Define.
532460484Sobrien	(bfd_coff_sym_is_global): Define.
532560484Sobrien	(bfd_coff_compute_section_file_positions): Define.
532660484Sobrien	(bfd_coff_relocate_section): Define.
532760484Sobrien	(coff_mkobject_hook): Initialize obj_raw_syment_count and
532860484Sobrien	obj_conv_table_size.
532960484Sobrien	(coff_compute_section_file_positions): Set target_index of all
533060484Sobrien	sections.  Set output_has_begun field.
533160484Sobrien	(coff_write_object_contents): Don't set target_index; now done by
533260484Sobrien	coff_compute_section_file_positions.  Remove obsolete handling of
533360484Sobrien	scn_base and data_base.  Don't bother to check that target_index
533460484Sobrien	is positive, since it always is.  Remove use of pad, which is
533560484Sobrien	always zero.  Check obj_raw_syment_count, not bfd_get_symcount,
533660484Sobrien	for the number of symbols, but only write them out if
533760484Sobrien	bfd_get_symcount is non-zero.  Don't check obj_raw_syment_count
533860484Sobrien	until after coff_write_symbols is called.
533960484Sobrien	(coff_slurp_symbol_table): Use obj_raw_syment_count, not
534060484Sobrien	bfd_get_symcount for the number of symbols.  Don't set
534160484Sobrien	obj_conv_table_size.
534260484Sobrien	(coff_sym_is_global): New static function or macro.
534360484Sobrien	(coff_slurp_reloc_table): Call coff_swap_reloc_in, not
534460484Sobrien	bfd_swap_reloc_in.
534560484Sobrien	(coff_bfd_link_hash_table_create): If coff_relocate_section is
534660484Sobrien	defined, define as _bfd_coff_link_hash_table_create.
534760484Sobrien	(coff_bfd_link_add_symbols): Similar change.
534860484Sobrien	(coff_bfd_final_link): Similar change.
534960484Sobrien	(coff_relocate_section): Define as NULL if not defined.
535060484Sobrien	(bfd_coff_std_swap_table): Initialize new fields.
535160484Sobrien	* coffgen.c (coff_real_object_p): Don't set obj_raw_syment_count
535260484Sobrien	and obj_conv_table_size here.
535360484Sobrien	(coff_count_linenumbers): Reindent.  If bfd_get_symcount is zero,
535460484Sobrien	add up the line numbers from the sections.
535560484Sobrien	(coff_write_symbols): Set obj_raw_syment_count, not
535660484Sobrien	bfd_get_symcount.
535760484Sobrien	(coff_pointerize_aux): Don't pointerize a nonpositive x_endndx
535860484Sobrien	field.
535960484Sobrien	(coff_get_normalized_symtab): Use obj_raw_syment_count, not
536060484Sobrien	bfd_get_symcount.
536160484Sobrien	(coff_print_symbol): If auxp->fix_end, print x_endndx value.
536260484Sobrien	* coffswap.h (coff_swap_reloc_in): Rename from bfd_swap_reloc_in.
536360484Sobrien	Reindent.  Change argument type to  PTR.
536460484Sobrien	* coff-a29k.c (coff_a29k_relocate_section): New static function.
536560484Sobrien	(coff_relocate_section): Define.
536660484Sobrien	* configure.in (a29kcoff_big_vec): Compile cofflink.o.
536760484Sobrien	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new fields.
536860484Sobrien	* coff-mips.c (mips_ecoff_backend_data): Likewise.
536960484Sobrien	* libcoff.h: Rebuilt.
537060484Sobrien	* Makefile.in: Rebuilt dependencies.
537160484Sobrien	(BFD32_BACKENDS): Add cofflink.o.
537260484Sobrien	(CFILES): Add cofflink.c.
537360484Sobrien
537460484SobrienTue Sep  6 14:00:45 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
537560484Sobrien
537660484Sobrien	* coffgen.c (coff_print_symbol, case bfd_symbol_print_all): Check
537760484Sobrien	for section symbol, and print its aux fields with appropriate
537860484Sobrien	labels.
537960484Sobrien
538060484Sobrien	* Makefile.in (ALL_MACHINES): Added cpu-arm.o.
538160484Sobrien
538260484SobrienSun Sep 04 17:58:10 1994  Richard Earnshaw (rwe@pegasus.esprit.ec.org)
538360484Sobrien
538460484Sobrien	* aoutx.h (NAME(aout,machine_type)): Recognize the ARM processor.
538560484Sobrien	* archures.c, config.bfd, configure.host, libaout.h, reloc.c,
538660484Sobrien	targets.c: Add support for the ARM.
538760484Sobrien	* cpu-arm.c, riscix.c, config/riscix.mh, config/riscix.mt: New files.
538860484Sobrien
538960484Sobrien	* aoutx.h (add_to_stringtable): Check that str isn't a NULL pointer.
539060484Sobrien
539160484SobrienFri Sep  2 14:10:30 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
539260484Sobrien
539360484Sobrien	* reloc.c (enum bfd_reloc_code_real): Rewrote definition to use
539460484Sobrien	new "chew" commands for simultaneous definition of enumerator and
539560484Sobrien	enumerator name table.
539660484Sobrien	(bfd_get_reloc_code_name): New function, for retrieving a symbolic
539760484Sobrien	name associated with an enumerator.
539860484Sobrien	* libbfd.h, bfd-in2.h: Regenerated.
539960484Sobrien
540060484SobrienTue Aug 30 21:24:54 1994  Jeff Law  (law@snake.cs.utah.edu)
540160484Sobrien
540260484Sobrien	* som.c (som_write_fixups, case R_ENTRY): Handle case where no
540360484Sobrien	unwind descriptor information is available.
540460484Sobrien
540560484SobrienTue Aug 30 11:43:30 1994  Eric Youngdale  (ericy@cais.cais.com)
540660484Sobrien
540760484Sobrien	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add soname
540860484Sobrien	argument, and use it to set DT_SONAME dynamic entry.
540960484Sobrien	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
541060484Sobrien	(bfd_elf64_size_dynamic_sections): Update prototype.
541160484Sobrien	* bfd-in2.h: Rebuilt.
541260484Sobrien
541360484SobrienFri Aug 26 15:47:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
541460484Sobrien
541560484Sobrien	* coffgen.c (coff_real_object_p): Set obj_raw_syment_count.
541660484Sobrien	(coff_get_normalized_symtab): Verify obj_raw_syment_count, rather
541760484Sobrien	than setting it.
541860484Sobrien
541960484SobrienThu Aug 25 10:44:53 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
542060484Sobrien
542160484Sobrien	* archive.c (bsd_write_armap): Remove host dependencies.
542260484Sobrien
542360484Sobrien	* aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error
542460484Sobrien	before adding BYTES_IN_WORD.
542560484Sobrien
542660484Sobrien	* coffgen.c (coff_find_nearest_line): Look for the best C_FILE,
542760484Sobrien	not merely the first.
542860484Sobrien
542960484Sobrien	* coffgen.c (coff_write_alien_symbol): If we are not using the
543060484Sobrien	symbol, clear the name so that it is not put in the string table.
543160484Sobrien	From Antti.Miettinen@ntc.nokia.com.
543260484Sobrien
543360484SobrienWed Aug 24 11:49:19 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
543460484Sobrien
543560484Sobrien	* coffgen.c (coff_print_symbol): Cast pointer different to long
543660484Sobrien	and use %ld to print it.
543760484Sobrien	* osf-core.c (osf_core_core_file_p): Remove unused variable
543860484Sobrien	dseccnt.
543960484Sobrien	* ecoffswap.h (ecoff_swap_ext_out): If ECOFF_64, clear remaining
544060484Sobrien	bytes in bits2.
544160484Sobrien
544260484Sobrien	* configure.host, config.bfd: Change i[34]86 to i[345]86.
544360484Sobrien	* coffgen.c (coff_real_object_p): Set obj_conv_table_size here,
544460484Sobrien	rather than waiting until coff_slurp_symbol_table.
544560484Sobrien	(coff_write_alien_symbol): Just ignore BSF_DEBUGGING symbols.
544660484Sobrien	From Antti.Miettinen@ntc.nokia.com.
544760484Sobrien
544860484Sobrien	* section.c (bfd_make_section_anyway): Fix failure check of
544960484Sobrien	bfd_make_empty_symbol.  From Antti.Miettinen@ntc.nokia.com.
545060484Sobrien
545160484Sobrien	* aoutx.h (translate_to_native_sym_flags): Use the output_section
545260484Sobrien	(and output_offset) if there is one.
545360484Sobrien
545460484Sobrien	* aoutx.h (aout_link_check_archive_element): Discard the symbols
545560484Sobrien	if the archive element was not needed.
545660484Sobrien
545760484Sobrien	* aoutx.h (aout_get_external_symbols): Ensure that a zero string
545860484Sobrien	index yields an empty string.
545960484Sobrien	(aout_link_write_symbols): If info->keep_memory is false, use name
546060484Sobrien	from original hash table entry, not from entry in *sym_hash.
546160484Sobrien
546260484Sobrien	* aoutx.h (struct aout_final_link_info): Add fields contents,
546360484Sobrien	relocs, symbol_map and output_syms.
546460484Sobrien	(NAME(aout,final_link)): Work out the largest section size, reloc
546560484Sobrien	size, and number of symbols.  Use them to preallocate buffers that
546660484Sobrien	are large enough for all cases.
546760484Sobrien	(aout_link_input_bfd): Use preallocated symbol_map.
546860484Sobrien	(aout_link_write_symbols): Remove symbol_map argument; use
546960484Sobrien	preallocated symbol_map instead.  Change all callers.  Use
547060484Sobrien	preallocated output_syms.
547160484Sobrien	(aout_link_input_section): Remove symbol_map argument.  Change all
547260484Sobrien	callers.  Use preallocated contents and relocs.
547360484Sobrien	(aout_link_input_section_std): Remove symbol_map argument; use
547460484Sobrien	preallocated symbol_map instead.  Change all callers.
547560484Sobrien	(aout_link_input_section_ext): Likewise.
547660484Sobrien
547760484SobrienTue Aug 23 10:51:09 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
547860484Sobrien
547960484Sobrien	* archive.c (_bfd_write_archive_contents): Don't update the
548060484Sobrien	symbol map timestamp if there is no symbol map.  From
548160484Sobrien	schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
548260484Sobrien
548360484SobrienMon Aug 22 12:26:42 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
548460484Sobrien
548560484Sobrien	* targets.c (BFD_JUMP_TABLE_ARCHIVE): Add _update_armap_timestamp.
548660484Sobrien	(bfd_target): Add field _bfd_update_armap_timestamp.
548760484Sobrien	* bfd.c (bfd_update_armap_timestamp): Define.
548860484Sobrien	* bfd-in2.h: Rebuilt.
548960484Sobrien	* libbfd-in.h (_bfd_noarchive_update_armap_timestamp): Define.
549060484Sobrien	(_bfd_archive_bsd_update_armap_timestamp): Declare.
549160484Sobrien	(_bfd_archive_coff_update_armap_timestamp): Define.
549260484Sobrien	* libbfd.h: Rebuilt.
549360484Sobrien	* archive.c (_bfd_write_archive_contents): Call
549460484Sobrien	bfd_update_armap_timestamp instead of checking for a BSD archive
549560484Sobrien	and calling bsd_update_armap_timestamp.
549660484Sobrien	(_bfd_archive_bsd_update_armap_timestamp): Rename from
549760484Sobrien	_bsd_update_armap_timestamp.  Don't assume that armap_datepos is
549860484Sobrien	already set.
549960484Sobrien	* aout-target.h (MY_update_armap_timestamp): Define if not already
550060484Sobrien	defined.
550160484Sobrien	* coff-rs6000.c (rs6000coff_update_armap_timestamp): Define.
550260484Sobrien	* ieee.c (ieee_update_armap_timestamp): Define.
550360484Sobrien	* libecoff.h (_bfd_ecoff_update_armap_timestamp): Define.
550460484Sobrien	* oasys.c (oasys_update_armap_timestamp): Define.
550560484Sobrien	* som.c (som_update_armap_timestamp): Define.
550660484Sobrien
550760484Sobrien	* hash.c: Copy string hash functions from aoutx.h.
550860484Sobrien	* aoutx.h: String hash functions moved to hash.c.  Retain
550960484Sobrien	simplified versions of add_to_stringtab and emit_stringtab.
551060484Sobrien	Change all callers to use new function and structure names.
551160484Sobrien	* libbfd-in.h (_bfd_stringtab_init, _bfd_stringtab_free): Declare.
551260484Sobrien	(_bfd_stringtab_size, _bfd_stringtab_add): Declare.
551360484Sobrien	(_bfd_stringtab_emit): Declare.
551460484Sobrien	* libbfd.h: Rebuilt.
551560484Sobrien
551660484SobrienMon Aug 22 10:49:37 1994  Eric Youngdale  (ericy@cais.cais.com)
551760484Sobrien
551860484Sobrien	* i386linux.c (linux_add_one_symbol): Create a fixup for any
551960484Sobrien	defined absolute symbol, not just GOT or PLT symbols.
552060484Sobrien	(linux_tally_symbols): Correct handling of references to defined
552160484Sobrien	symbols.
552260484Sobrien
552360484SobrienThu Aug 18 16:29:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
552460484Sobrien
552560484Sobrien	Get ld -x -r to handle a.out set symbols correctly.
552660484Sobrien	* aoutx.h (adjust_o_magic): If the .bss VMA was set outside of
552760484Sobrien	BFD, pad the .data section up to the VMA of the .bss section.
552860484Sobrien	(aout_link_add_symbols): If a set symbol does not get modified,
552960484Sobrien	treat it as a local symbol.
553060484Sobrien	(aout_link_write_symbols): Set the value of set symbols
553160484Sobrien	correctly.  Don't discard set symbols even if discarding local
553260484Sobrien	symbols.
553360484Sobrien	(aout_link_write_other_symbol): Don't abort on bfd_link_hash_new,
553460484Sobrien	since it can now happen for set symbols.
553560484Sobrien
553660484Sobrien	* elfcode.h (elf_fake_sections): Just check for ".rela" and
553760484Sobrien	".rel", not ".rela." and ".rel."; make this work by checking
553860484Sobrien	use_rela_p.
553960484Sobrien	* elf32-i386.c (elf_i386_check_relocs): Just check for ".rel", not
554060484Sobrien	".rel."
554160484Sobrien	(elf_i386_size_dynamic_sections): Likewise.
554260484Sobrien	(elf_i386_relocate_section): Likewise.
554360484Sobrien	* elf32-sparc.c (elf32_sparc_check_relocs): Just check for
554460484Sobrien	".rela", not ".rela."
554560484Sobrien	(elf32_sparc_size_dynamic_sections): Likewise.
554660484Sobrien	(elf32_sparc_relocate_section): Likewise.
554760484Sobrien
554860484SobrienWed Aug 17 16:54:18 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
554960484Sobrien
555060484Sobrien	* linker.c (_bfd_generic_link_add_archive_symbols): Initialize
555160484Sobrien	PASS to the old value + 1.
555260484Sobrien
555360484Sobrien	* coffgen.c (coff_get_normalized_symtab): If a C_FILE symbol has
555460484Sobrien	no aux entries, use the symbol name as the file name.
555560484Sobrien	(coff_find_nearest_line): Look for the right C_FILE symbol, rather
555660484Sobrien	than always using the first one.  If there is a debugging symbol
555760484Sobrien	after a function symbol, skip it.  Add the section VMA to the line
555860484Sobrien	offset, since it was subtracted out in coff_slurp_line_table.
555960484Sobrien
556060484SobrienTue Aug 16 16:53:00 1994  Jeff Law  (law@snake.cs.utah.edu)
556160484Sobrien
556260484Sobrien	* som.c (som_prep_headers): If writing some form of an executable,
556360484Sobrien	allocate and attach an exec header to the BFD private data.
556460484Sobrien	(som_begin_writing): Don't fill fields of the exec header based
556560484Sobrien	on BFD private data here (like the exec flags).  Do not write
556660484Sobrien	the exec header here.
556760484Sobrien	(som_write_headers): Instead do it here.
556860484Sobrien	* som.h (struct somdata): New field "exec_hdr" for the executable
556960484Sobrien	file header.
557060484Sobrien	(obj_som_exec_hdr): New accessor macro.
557160484Sobrien
557260484SobrienTue Aug 16 00:12:31 1994  Eric Youngdale  (ericy@cais.cais.com)
557360484Sobrien
557460484Sobrien	* i386linux.c (linux_link_create_dynamic_sections): Create section
557560484Sobrien	named .linux-dynamic, not .dynamic.
557660484Sobrien	(linux_add_one_symbol): Use .linux-dynamic, not .dynamic.
557760484Sobrien	(bfd_linux_size_dynamic_sections): Likewise.
557860484Sobrien	(linux_finish_dynamic_link): Likewise.
557960484Sobrien
558060484SobrienMon Aug 15 12:16:56 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
558160484Sobrien
558260484Sobrien	* coffgen.c (STRING_SIZE_SIZE): Define.
558360484Sobrien	(coff_fix_symbol_name): Use STRING_SIZE_SIZE, not 4.
558460484Sobrien	(coff_write_symbols, build_string_table): Likewise.
558560484Sobrien	(coff_get_normalized_symtab): Likewise.
558660484Sobrien
558760484Sobrien	* libcoff-in.h (obj_symbol_slew): Don't define.
558860484Sobrien	(struct coff_tdata): Remove unused fields index_slew, raw_linenos,
558960484Sobrien	and flags.
559060484Sobrien	* libcoff.h: Rebuilt.
559160484Sobrien	* coffcode.h (coff_mkobject): Don't initialize raw_linenos.
559260484Sobrien	(coff_mkobject_hook): Don't initialize flags.
559360484Sobrien
559460484Sobrien	* aout-target.h (MY_zmagic_contiguous): Define as 0 if not already
559560484Sobrien	defined.
559660484Sobrien	(MY(backend_data)): Use MY_zmagic_contiguous, not hardcoded 0.
559760484Sobrien	* i386linux.c (MY_zmagic_contiguous): Define.
559860484Sobrien
559960484Sobrien	* elfcode.h (bfd_section_from_shdr): If a SHT_SYMTAB section in a
560060484Sobrien	shared object has SHF_ALLOC set, create a BFD section for it.
560160484Sobrien	(elf_section_from_bfd_section): There may be a BFD section for a
560260484Sobrien	SHT_SYMTAB section.
560360484Sobrien
560460484Sobrien	* coffcode.h (styp_to_sec_flags): Add name argument.  If no flags
560560484Sobrien	are recognized, chose section flags based on the name.
560660484Sobrien	(bfd_coff_backend_data): _bfd_styp_to_sec_flags_hook field: Add
560760484Sobrien	name argument.
560860484Sobrien	(bfd_coff_styp_to_sec_flags_hook): Add name argument.
560960484Sobrien	(coff_compute_section_file_positions): Don't adjust the section
561060484Sobrien	position by COFF_PAGE_SIZE unless SEC_ALLOC is set.
561160484Sobrien	* libcoff.h: Rebuilt.
561260484Sobrien	* coffgen.c (make_a_section_from_file): Pass section name to
561360484Sobrien	bfd_coff_styp_to_sec_flags_hook.
561460484Sobrien	* ecoff.c (_bfd_ecoff_styp_to_sec_flags): Add unused name
561560484Sobrien	argument.
561660484Sobrien	* libecoff.h (_bfd_ecoff_styp_to_sec_flags): Add name argument to
561760484Sobrien	prototype.
561860484Sobrien
561960484SobrienFri Aug 12 11:22:40 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
562060484Sobrien
562160484Sobrien	* elfcode.h (section_from_elf_index): Correct check for invalid
562260484Sobrien	section index.
562360484Sobrien
562460484Sobrien	* elfcode.h (elf_link_add_object_symbols): If there is no symbol
562560484Sobrien	table, try using the dynamic symbol table.  From Eric Youngdale
562660484Sobrien	<ericy@cais.cais.com>.
562760484Sobrien
562860484Sobrien	* configure.host (sparc-*-solaris2*): Use solaris2, not sysv4.
562960484Sobrien	The linker depends upon configuring for solaris2.
563060484Sobrien	* hosts/solaris2.h: New file; include hosts/sysv4.h.
563160484Sobrien	* config/solaris2.mh: New file; copy of config/sysv4.mh.
563260484Sobrien
563360484SobrienWed Aug 10 13:09:38 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
563460484Sobrien
563560484Sobrien	* aoutx.h (adjust_z_magic): Make sure data section is padded to
563660484Sobrien	page boundary when the VMA is set by the calling program.  From
563760484Sobrien	Eric Youngdale <ericy@cais.cais.com>.
563860484Sobrien
563960484SobrienMon Aug  8 17:18:49 1994  Stan Shebs  (shebs@andros.cygnus.com)
564060484Sobrien
564160484Sobrien	Update to ns32k support, from Ian Dall (dall@hfrd.dsto.gov.au).
564260484Sobrien	* aout-ns32k.c: Add declarations that were in aout-ns32k.h, change
564360484Sobrien	declarations to traditional form.
564460484Sobrien	(MY_reloc_howto, MY_put_reloc): Change from macro to function.
564560484Sobrien	(ns32k_relocate_contents): New function.
564660484Sobrien	* aout-ns32k.h: Remove.
564760484Sobrien	* cpu-ns32k.c: Add declarations that were in aout-ns32k.h, change
564860484Sobrien	declarations to traditional form.
564960484Sobrien	(ns32k_final_link_relocate): Call ns32k_relocate_contents.
565060484Sobrien	* netbsd532.c: Reformat to standards, add copyright notice.
565160484Sobrien	(ARCH): Don't define.
565260484Sobrien	(aout-ns32k.h): Don't include.
565360484Sobrien	* pc532-mach.c: Ditto.
565460484Sobrien
565560484SobrienMon Aug  8 17:55:52 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
565660484Sobrien
565760484Sobrien	* coff-i960.c (coff_i960_relocate): Don't try to convert relocs
565860484Sobrien	against common symbols.
565960484Sobrien
566060484SobrienSat Aug  6 22:27:30 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
566160484Sobrien
566260484Sobrien	* irix-core.c (irix_core_core_file_p):  Ignore sections that
566360484Sobrien	are not contained in the core file.
566460484Sobrien
566560484SobrienThu Aug  4 11:32:23 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
566660484Sobrien
566760484Sobrien	* coff-m68k.c (m68k_reloc_type_lookup): New function.
566860484Sobrien	(coff_bfd_reloc_type_lookup): Define.
566960484Sobrien	* cf-m68klynx.c (_bfd_m68kcoff_reloc_type_lookup): Define.
567060484Sobrien
567160484Sobrien	* elfcode.h (elf_bfd_final_link): Force the vma of sections which
567260484Sobrien	do not have SEC_ALLOC set to be 0.  This is needed to handle
567360484Sobrien	relocs against debugging sections.
567460484Sobrien
567560484SobrienWed Aug  3 16:45:41 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
567660484Sobrien
567760484Sobrien	* coff-i960.c (coff_i960_relocate): Rewrote to change relocs
567860484Sobrien	against locally defined symbols into relocs against section
567960484Sobrien	symbols, for VxWorks 5.1.
568060484Sobrien
568160484SobrienWed Aug  3 10:34:37 1994  Eric Youngdale  (ericy@cais.cais.com)
568260484Sobrien
568360484Sobrien	* i386linux.c (linux_add_one_symbol): Only handle
568460484Sobrien	SHARABLE_CONFLICTS specially if BSF_CONSTRUCTOR is set.  Set hashp
568560484Sobrien	for a GOT or PLT symbol.  Set jump field of fixup for a PLT symbol.
568660484Sobrien	(linux_tally_symbols): Check section of real symbol.  When looking
568760484Sobrien	for a builtin fixup, check builtin and jump flags.  Create no more
568860484Sobrien	than one fixup, and always create one if the real symbol is in the
568960484Sobrien	absolute section.  Only strip absolute symbols.
569060484Sobrien
569160484SobrienWed Aug  3 05:08:24 1994  D. V. Henkel-Wallace  (gumby@cygnus.com)
569260484Sobrien
569360484Sobrien	* coffcode.h (coff_write_object_contents): set internal_a.magic to
569460484Sobrien	LYNXCOFFMAGIC whenever 68k, SPARC or i386 LynxOS
569560484Sobrien	(yes, they have the same magic number!)
569660484Sobrien
569760484SobrienTue Aug  2 10:43:21 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
569860484Sobrien
569960484Sobrien	* hp300hpux.c (BMAGIC): Define as HPUX_DOT_O_MAGIC, to make test
570060484Sobrien	in aoutx.h work correctly.
570160484Sobrien
570260484Sobrien	* coff-i960.c (coff_i960_relocate): New function.
570360484Sobrien	(howto_rellong, howto_iprmed): Use it as special_function.
570460484Sobrien
570560484Sobrien	* libbfd-in.h: Move declarations of bfd_read, bfd_write, bfd_seek,
570660484Sobrien	bfd_tell, bfd_flush, and bfd_stat from here...
570760484Sobrien	* bfd-in.h: ...to here, to make them visible to programs which
570860484Sobrien	know more about the object file format than BFD does.
570960484Sobrien	* libbfd.h, bfd-in2.h: Rebuilt.
571060484Sobrien
571160484SobrienMon Aug  1 17:55:53 1994  Fred Fish  (fnf@cygnus.com)
571260484Sobrien
571360484Sobrien	* ptrace-core.c (ptrace_unix_core_file_p):  Convert zalloc usage
571460484Sobrien	to bfd_zalloc.
571560484Sobrien
571660484SobrienMon Aug  1 12:04:40 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
571760484Sobrien
571860484Sobrien	* elf64-sparc.c (ELF_MAXPAGESIZE): Define.
571960484Sobrien
572060484Sobrien	ELF linker patches from Eric Youngdale <ericy@cais.cais.com>.
572160484Sobrien	* elfcode.h (elf_link_create_dynamic_sections): Set type of
572260484Sobrien	_DYNAMIC to STT_OBJECT.
572360484Sobrien	(NAME(bfd_elf,record_link_assignment)): Always create hash table
572460484Sobrien	entry.  Set type to STT_OBJECT.
572560484Sobrien	(elf_link_output_extsym): Don't set type of weak defined symbol to
572660484Sobrien	STB_WEAK if symbol was referenced.
572760484Sobrien	(map_program_segments): Check DYNAMIC as well as EXEC_P.
572860484Sobrien	(assign_file_positions_except_relocs): Likewise.
572960484Sobrien	* elf32-i386.c (elf_i386_create_dynamic_sections): Set type of
573060484Sobrien	_GLOBAL_OFFSET_TABLE to STT_OBJECT.
573160484Sobrien	(elf_i386_check_relocs): Ignore local PLT32 relocs.
573260484Sobrien	(elf_i386_relocate_section): Treat local PLT32 relocs as PC32.
573360484Sobrien
573460484Sobrien	* elfcode.h (elf_adjust_dynamic_symbol): Correct weak symbol
573560484Sobrien	handling again.
573660484Sobrien
573760484Sobrien	* elfcode.h (elf_slurp_reloc_table): Don't try to read the relocs
573860484Sobrien	if there aren't any.
573960484Sobrien
574060484Sobrien	* configure.host (sparc-*-solaris2*): Use sysv4, not solaris2.
574160484Sobrien	* hosts/solaris2.h: Remove.
574260484Sobrien	* config/solaris2.mh: Remove.
574360484Sobrien
574460484SobrienSun Jul 31 14:27:04 1994  Jeff Law  (law@snake.cs.utah.edu)
574560484Sobrien
574660484Sobrien	* elf32-hppa.c, elf32-hppa.h: Update comment reflecting which
574760484Sobrien	HPPA ELF spec the code implements.
574860484Sobrien
574960484SobrienTue Jul 26 17:38:01 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
575060484Sobrien
575160484Sobrien	* cpu-i960.c (MAX_ARCH): New macro.
575260484Sobrien	(compatible): Use it in computing array bounds.  Put comma after
575360484Sobrien	last entry in array, for regularity.
575460484Sobrien	(arch_info_struct): Adjust spacing for easier reading.
575560484Sobrien
575660484Sobrien	* coff-i960.c (howto_rellong, howto_iprmed, howto_optcall): Use
575760484Sobrien	HOWTO macro.
575860484Sobrien
575960484Sobrien	* cpu-i960.c (JX): Define as bfd_mach_i960_jx.
576060484Sobrien	(scan_960_mach): Recognize jx machine.
576160484Sobrien	(MAX_ARCH): Define to be JX.
576260484Sobrien	(compatible): Add JX row to array.
576360484Sobrien	(arch_info_struct): Add JX entry.
576460484Sobrien
576560484Sobrien	* archures.c (bfd_mach_i960_jx): New macro.
576660484Sobrien	* bfd-in2.h: Regenerated.
576760484Sobrien
576860484Sobrien	* coffcode.h (coff_set_arch_mach_hook): For F_I960JX, set machine
576960484Sobrien	to bfd_mach_i960_jx.
577060484Sobrien	(coff_set_flags): For bfd_mach_i960_jx, set F_I960JX.
577160484Sobrien
577260484SobrienTue Jul 26 11:04:00 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
577360484Sobrien
577460484Sobrien	* elfcode.h (elf_adjust_dynamic_symbol): When handling a weak
577560484Sobrien	symbol, correct check to see whether the equivalent normal symbol
577660484Sobrien	was referenced.
577760484Sobrien
577860484Sobrien	Add support for creating shared libraries under i386 ELF and SPARC
577960484Sobrien	ELF.  Based on patches by Eric Youngdale <ericy@cais.cais.com>.
578060484Sobrien	* libelf.h (struct elf_link_hash_entry): Remove copy_offset field.
578160484Sobrien	Add got_offset and plt_offset fields.
578260484Sobrien	(ELF_LINK_HASH_REF_DYNAMIC_MULTIPLE): Don't define.
578360484Sobrien	(ELF_LINK_HASH_DEF_DYNAMIC_MULTIPLE): Don't define.
578460484Sobrien	(ELF_LINK_HASH_NEEDS_COPY): Define.
578560484Sobrien	(struct elf_backend_data): Add check_relocs field.
578660484Sobrien	(struct bfd_elf_section_data): Change relocs from PTR to
578760484Sobrien	Elf_Internal_Rela *.
578860484Sobrien	(struct elf_obj_tdata): Add local_got_offsets field.
578960484Sobrien	(elf_local_got_offsets): Define accessor macro.
579060484Sobrien	(bfd_elf32_link_create_dynamic_sections): Declare.
579160484Sobrien	(bfd_elf32_link_record_dynamic_symbol): Declare.
579260484Sobrien	(bfd_elf64_link_create_dynamic_sections): Declare.
579360484Sobrien	(bfd_elf64_link_record_dynamic_symbol): Declare.
579460484Sobrien	* elfcode.h (elf_slurp_reloc_table): Don't use the section data
579560484Sobrien	relocs field.
579660484Sobrien	(elf_link_record_dynamic_symbol): Make globally visible.  Use
579760484Sobrien	macro to rename to NAME(bfd_elf,link_record_dynamic_symbol).
579860484Sobrien	(elf_link_add_object_symbols): If creating a shared library, put
579960484Sobrien	make all local symbols dynamic.  Don't bother with the
580060484Sobrien	DYNAMIC_MULTIPLE flags.  Call the check_relocs backend function if
580160484Sobrien	it is defined.
580260484Sobrien	(elf_link_create_dynamic_sections): Make globally visible.  Use
580360484Sobrien	macro to rename to NAME(bfd_elf,link_create_dynamic_sections).  If
580460484Sobrien	creating a shared library, make sure that _DYNAMIC is added as a
580560484Sobrien	dynamic symbol.
580660484Sobrien	(elf_link_read_relocs): New function.
580760484Sobrien	(NAME(bfd_elf,record_link_assignment)): If creating a shared
580860484Sobrien	library, always create symbols, and always make them dynamic.
580960484Sobrien	(elf_bfd_final_link): Permit creation of shared libraries.
581060484Sobrien	(elf_link_input_bfd): Use elf_link_read_relocs to get the relocs.
581160484Sobrien	* elf.c (_bfd_elf_link_hash_newfunc): Don't initialize
581260484Sobrien	copy_offset.  Initialize got_offset and plt_offset.
581360484Sobrien	* elf32-target.h (elf_backend_check_relocs): Define as 0 if not
581460484Sobrien	defined.
581560484Sobrien	(elf32_bed): Initialize check_relocs field.
581660484Sobrien	* elf64-target.h (elf_backend_check_relocs): Define as 0 if not
581760484Sobrien	defined.
581860484Sobrien	(elf64_bed): Initialize check_relocs field.
581960484Sobrien	* elf32-i386.c (elf_howto_table): Change R_386_PLT32 and
582060484Sobrien	R_386_GOTPC to be pc_relative and pcrel_offset.
582160484Sobrien	(elf_i386_pic_plt0_entry): Define.
582260484Sobrien	(elf_i386_pic_plt_entry): Define.
582360484Sobrien	(elf_i386_create_dynamic_sections): Create a .got.plt section, and
582460484Sobrien	define _GLOBAL_OFFSET_TABLE_ at the start of it.  If creating a
582560484Sobrien	shared library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a
582660484Sobrien	dynamic symbol.  Don't create .rel.bss if creating a shared
582760484Sobrien	library.
582860484Sobrien	(elf_i386_check_relocs): New function.
582960484Sobrien	(elf_i386_adjust_dynamic_symbol): Don't make a PLT entry if the
583060484Sobrien	symbol already has one.  When making a PLT entry, set plt_offset.
583160484Sobrien	Don't create a copy reloc when creating a shared library.  Don't
583260484Sobrien	set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY.
583360484Sobrien	(elf_i386_allocate_dynamic_section): Remove.
583460484Sobrien	(elf_i386_size_dynamic_sections): Look through all the sections
583560484Sobrien	rather than assuming we know their names.  Remove any empty reloc
583660484Sobrien	or plt sections.  Only add a DT_DEBUG entry if not creating a
583760484Sobrien	shared library.  Only add a DT_PLTGOT entry if there is a PLT.
583860484Sobrien	Add a DT_TEXTREL entry if required.
583960484Sobrien	(elf_i386_relocate_section): Permit undefined symbols when
584060484Sobrien	creating a shared library.  Handle the special relocation types
584160484Sobrien	specially.
584260484Sobrien	(elf_i386_finish_dynamic_symbol): Create a PLT entry if plt_offset
584360484Sobrien	is set.  If creating a shared library, produce a PIC PLT entry.
584460484Sobrien	Only mark a PLT symbol as undefined if it was not defined by a
584560484Sobrien	regular object file.  Create a GOT entry if got_offset is set.
584660484Sobrien	Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set.
584760484Sobrien	(elf_i386_finish_dynamic_sections): Change the handling of
584860484Sobrien	DT_RELSZ to simply subtract out the size of .rel.plt.  If creating
584960484Sobrien	a shared library, produce PIC PLT code.
585060484Sobrien	(elf_backend_check_relocs): Define.
585160484Sobrien	* elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT10,
585260484Sobrien	R_SPARC_GOT22, and R_SPARC_PC10 to not warn about reloc overflow.
585360484Sobrien	(elf32_sparc_create_dynamic_sections): If creating a shared
585460484Sobrien	library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a
585560484Sobrien        dynamic symbol, and set the type to STT_OBJECT.  Likewise for
585660484Sobrien        _PROCEDURE_LINKAGE_TABLE_.  Don't create .rel.bss if creating a
585760484Sobrien        shared library.
585860484Sobrien	(elf32_sparc_check_relocs): New function.
585960484Sobrien	(elf32_sparc_adjust_dynamic_symbol): Don't make a PLT entry if the
586060484Sobrien	symbol already has one.  When making a PLT entry, set plt_offset.
586160484Sobrien	Don't create a copy reloc when creating a shared library.  Don't
586260484Sobrien	set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY.
586360484Sobrien	(elf32_sparc_allocate_dynamic_section): Remove.
586460484Sobrien	(elf32_sparc_size_dynamic_sections): Look through all the sections
586560484Sobrien	rather than assuming we know their names.  Only add a DT_DEBUG
586660484Sobrien	entry if not creating a shared library.  Add a DT_TEXTREL entry if
586760484Sobrien	required.
586860484Sobrien	(elf32_sparc_relocate_section): Permit undefined symbols when
586960484Sobrien	creating a shared library.  Handle the special relocation types
587060484Sobrien	specially.
587160484Sobrien	(elf32_sparc_finish_dynamic_symbol): Create a PLT entry if plt_offset
587260484Sobrien	is set.  Only mark a PLT symbol as undefined if it was not defined
587360484Sobrien	by a regular object file.  Create a GOT entry if got_offset is
587460484Sobrien	set.  Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set.
587560484Sobrien	(elf32_sparc_finish_dynamic_sections): Store dynobj in a local
587660484Sobrien	variable.
587760484Sobrien	(elf_backend_check_relocs): Define.
587860484Sobrien
587960484SobrienMon Jul 25 12:21:07 1994  Stan Shebs  (shebs@andros.cygnus.com)
588060484Sobrien
588160484Sobrien	* configure.in (pc532mach_vec): Change to pc532machaout_vec.
588260484Sobrien	* config.bfd (ns32k-*-netbsd*): Use ns32k-nbsd as bfd_name.
588360484Sobrien	* Makefile.in (ALL_MACHINES): Add cpu-ns32k.o.
588460484Sobrien	(BFD32_BACKENDS): Add aout-ns32k.o, netbsd532.o, m88kmach3.o,
588560484Sobrien	pc532-mach.o.
588660484Sobrien	* targets.c (pc532machaout_vec): Use instead of pc532mach_vec.
588760484Sobrien	* config/pc532-mach.mt (DEFAULT_VECTOR): Ditto.
588860484Sobrien	(SELECT_VECS): Remove.
588960484Sobrien	* config/ns32k-nbsd.mt: New file, was ns32k-netbsd.mt.
589060484Sobrien	* config/ns32k-netbsd.mt: Remove, name too long.
589160484Sobrien
589260484SobrienFri Jul 22 11:07:14 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
589360484Sobrien
589460484Sobrien	* linker.c (generic_link_check_archive_element): When changing a
589560484Sobrien	symbol to common, set the alignment.
589660484Sobrien	(_bfd_generic_link_add_one_symbol): When creating a common symbol,
589760484Sobrien	set the alignment.
589860484Sobrien	* aoutx.h (aout_link_check_ar_symbols): When changing a symbol to
589960484Sobrien	common, set the alignment.
590060484Sobrien	(aout_link_add_symbols): Restrict the alignment of a common symbol
590160484Sobrien	to the alignment power given by the architecture.
590260484Sobrien	* libelf.h (struct elf_link_hash_entry): Remove align field.  Add
590360484Sobrien	copy_offset field.
590460484Sobrien	* elfcode.h (elf_link_add_object_symbols): Store alignment in
590560484Sobrien	new bfd_link_hash_entry field, not in elf_link_hash_entry field.
590660484Sobrien	(elf_link_output_extsym): Similar change when getting alignment.
590760484Sobrien	* elf.c (_bfd_elf_link_hash_newfunc): Don't initialize align.  Do
590860484Sobrien	initialize copy_offset.
590960484Sobrien	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use copy_offset
591060484Sobrien	field rather than align field.  Get alignment using bfd_log2
591160484Sobrien	rather than switch.
591260484Sobrien	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
591360484Sobrien	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Use copy_offset,
591460484Sobrien	not align.
591560484Sobrien	* elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Likewise.
591660484Sobrien
591760484Sobrien	* aoutx.h (NAME(aout,some_aout_object_p)): Just check
591860484Sobrien	STAT_FOR_EXEC, don't check MACH.
591960484Sobrien	* m88kmach3.c (MACH): Don't define.
592060484Sobrien	* config/i386-mach3.mt (TDEFINES): Define STAT_FOR_EXEC.
592160484Sobrien	* config/m88k-mach3.mt (TDEFINES): Likewise.
592260484Sobrien	* config/mips-mach3.mt (TDEFINES): Likewise.
592360484Sobrien
592460484SobrienThu Jul 21 17:24:31 1994  Stan Shebs  (shebs@andros.cygnus.com)
592560484Sobrien
592660484Sobrien	* i386mach3.c: Reverted to version from before Jul 5 1994 changes.
592760484Sobrien
592860484SobrienThu Jul 21 12:26:01 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
592960484Sobrien
593060484Sobrien	* reloc.c (struct reloc_howto_struct): Remove special_function1.
593160484Sobrien	It's the wrong way to do things.
593260484Sobrien	(HOWTO): Change accordingly.
593360484Sobrien	(HOWTO2): Remove.
593460484Sobrien	(_bfd_final_link_relocate): Remove references to
593560484Sobrien	special_function1.
593660484Sobrien	* bfd-in2.h: Rebuilt.
593760484Sobrien	* aoutx.h (aout_link_input_section_std): Remove references to
593860484Sobrien	special_function1.
593960484Sobrien	(aout_link_reloc_link_order): Likewise.
594060484Sobrien
594160484SobrienWed Jul 20 15:46:44 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
594260484Sobrien
594360484Sobrien	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add rpath
594460484Sobrien	argument.  If it is not NULL, use it to set DT_RPATH.
594560484Sobrien	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
594660484Sobrien	(bfd_elf64_size_dynamic_sections): Likewise.
594760484Sobrien	* bfd-in2.h: Rebuilt.
594860484Sobrien
594960484SobrienSat Jul 16 21:10:39 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
595060484Sobrien
595160484Sobrien	* elfcode.h (elf_get_dynamic_symtab_upper_bound): If there is no
595260484Sobrien	dynamic symtab, return error.
595360484Sobrien
595460484Sobrien	* libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Define.
595560484Sobrien	* elfcode.h (elf_link_add_object_symbols): If symbol is defined as
595660484Sobrien	weak, set ELF_LINK_HASH_DEFINED_WEAK.
595760484Sobrien	(elf_link_output_extsym): If symbol is defined as weak, mark it
595860484Sobrien	STB_WEAK.
595960484Sobrien
596060484Sobrien	* libelf.h (struct bfd_elf_section_data): Add relocs field.
596160484Sobrien	(shdr_name): Remove; unused.
596260484Sobrien	* elfcode.h (elf_slurp_reloc_table): Rewrote to handle both REL
596360484Sobrien	and RELA relocs.  Free up the unswapped relocs.  Permit the relocs
596460484Sobrien	to be cached in the section_data.  Correct the reloc address.
596560484Sobrien	(elf_slurp_reloca_table): Remove.
596660484Sobrien	(elf_canonicalize_reloc): Rewrote.
596760484Sobrien	(elf_link_input_bfd): Permit the relocs to be cached in the
596860484Sobrien	section data.
596960484Sobrien
597060484SobrienSat Jul 16 13:55:38 1994  Stan Shebs  (shebs@andros.cygnus.com)
597160484Sobrien
597260484Sobrien	* config.bfd (m88*-harris-cxux*): Recognize.
597360484Sobrien	* hosts/harris.h (POSIX_UTIME, HAVE_PROCFS): Define.
597460484Sobrien
597560484Sobrien	* configure.host (m68*-atari-sysv4*): New host.
597660484Sobrien	(m68*-cbm-sysv4*): Use m68kv4 instead of amix.
597760484Sobrien	* hosts/amix.h: Remove.
597860484Sobrien	* hosts/m68kv4.h: New file, was amix.h.
597960484Sobrien
598060484SobrienThu Jul 14 15:12:24 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
598160484Sobrien
598260484Sobrien	* reloc.c (enum bfd_reloc_code_real, bfd_type, struct
598360484Sobrien	reloc_howto_struct, reloc_howto_type, HOWTO, HOWTO2): Copied
598460484Sobrien	changes over from bfd-in2.h so they get generated properly next
598560484Sobrien	time someone runs "make headers".
598660484Sobrien	* bfd-in2.h: Rebuilt.
598760484Sobrien
598860484Sobrien	* targets.c (netbsd532_vec, pc532mach_vec): Declare const.
598960484Sobrien	(m88kmach3_vec): Restore deleted declaration.
599060484Sobrien
599160484Sobrien	* configure.in: Alphabetize target vector names.
599260484Sobrien
599360484Sobrien	* config/pc532mach.mh: New file.
599460484Sobrien	(HDEPFILES, HDEFINES): Define here.
599560484Sobrien	* config/pc532-mach.mt (HDEPFILES, HDEFINES): Deleted.
599660484Sobrien	* config/ns32k-netbsd.mt (HDEPFILES, HDEFINES): Deleted.
599760484Sobrien
599860484Sobrien	Sun Jul 10 00:04:20 1994  Ian Dall  (dall@hfrd.dsto.gov.au)
599960484Sobrien
600060484Sobrien	* pc532-mach.c: New File. pc532-mach a.out format.
600160484Sobrien
600260484Sobrien	* netbsd532.c: New file. pc532-netbsd532 a.out format.
600360484Sobrien
600460484Sobrien	* hosts/pc532mach.h: New file. pc532-mach host support.
600560484Sobrien
600660484Sobrien	* cpu-ns32k.c: New file. ns32k support cpu specific code rather
600760484Sobrien	than format specific code.
600860484Sobrien
600960484Sobrien	* config/pc532-mach.mt: New file. Support for pc532-mach target.
601060484Sobrien
601160484Sobrien	* config/ns32k-netbsd.mt: New file. Support for netbsd532 target.
601260484Sobrien
601360484Sobrien	* aout-ns32k.c, aout-ns32k.h: New files supporting aout format for
601460484Sobrien	ns32k series. 
601560484Sobrien
601660484Sobrien	* targets.c: Add netbsd532_vec and pc532machaout_vec into
601760484Sobrien	bfd_target_vector array. Move netbsd386_vec to alphabetic order
601860484Sobrien	location.
601960484Sobrien
602060484Sobrien	* reloc.c (_bfd_final_link_relocate) Add support for
602160484Sobrien	special_function1 in howto.
602260484Sobrien
602360484Sobrien	* libaout.h: add M_NS32032, M_NS32532, M_532_NETBSD entries in
602460484Sobrien	machine_type enum.
602560484Sobrien
602660484Sobrien	* configure.in: add pc532mach_vec and netbsd532_vec entries.
602760484Sobrien
602860484Sobrien	* config.bfd: add pc532mach host entries. Use for both
602960484Sobrien	ns32k-pc532-mach and ns32k-pc532-netbsd.
603060484Sobrien
603160484Sobrien	* config.bfd: it doesn't work to use i386-mach3 for ns32k*-*-mach.
603260484Sobrien	add ns32k-pc532-mach* and ns32k-*-netbsd* entries.
603360484Sobrien
603460484Sobrien	* bfd-in2.h: Add ns32k specific relocations to bfd_reloc_code_real
603560484Sobrien	enum.
603660484Sobrien
603760484Sobrien	* bfd-in2.h: Add special_function1 to struct howto. Change HOWTO
603860484Sobrien	and NEWHOWTO macros to make special_function1 NULL. Neww HOWTO2
603960484Sobrien	macro.
604060484Sobrien
604160484Sobrien	* bfd-in2.h: Split definition of struct reloc_howto_struct
604260484Sobrien	and corresponding typedef into two statements.
604360484Sobrien
604460484Sobrien	* bfd-in2.h: Add entry bfd_arch_ns32k to bfd_architecture enum.
604560484Sobrien
604660484Sobrien	* archures.c: Add bfd_ns32k_arch prototype, and entry in
604760484Sobrien	archures_init_table. 
604860484Sobrien
604960484Sobrien	* aoutx.h (aout_link_reloc_link_order): Allow for target dependent
605060484Sobrien	MY_put_reloc macro. Allow for target dependent special_function1
605160484Sobrien	to apply the relocation. 
605260484Sobrien
605360484Sobrien	* aoutx.h (aout_link_input_section_std): Allow for target
605460484Sobrien	dependent determination of reloc howto. Allow for target dependent
605560484Sobrien	special_function1 to apply the relocation.
605660484Sobrien
605760484Sobrien	* aoutx.h (get_reloc_upper_bound): Detect bss and return 0.
605860484Sobrien
605960484Sobrien	* aoutx.h (slurp_reloc_table): Detect bss and succesfully read
606060484Sobrien	zero reloc entries.
606160484Sobrien
606260484Sobrien	* aoutx.h (machine_type): Add bfd_arch_ns32k case.
606360484Sobrien
606460484Sobrien	* aoutx.h: Stat to determine executable status if STAT_FOR_EXEC
606560484Sobrien	is defined (not just MACH). Use fstat instead of stat and check
606660484Sobrien	for fstat error.
606760484Sobrien
606860484Sobrien	* aoutx.h: Allow target dependent swap_std_reloc_{in,out}.
606960484Sobrien
607060484Sobrien	* aoutx.h: Allow CTORS reloc info to be in target dependent reloc
607160484Sobrien	table.
607260484Sobrien
607360484Sobrien	* aout-target.h: Apply SWAP_MAGIC (if defined) after
607460484Sobrien	swap_exec_header_in, otherwise we have magic in the wrong order.
607560484Sobrien
607660484SobrienThu Jul 14 11:47:27 1994  Stan Shebs  (shebs@andros.cygnus.com)
607760484Sobrien
607860484Sobrien	* coff-sparc.c (sparccoff_vec): Have leading underscores.
607960484Sobrien
608060484SobrienTue Jul 12 12:08:10 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
608160484Sobrien
608260484Sobrien	* aix386-core.c, aoutf1.h, cisco-core.c, elfcode.h, hppabsd-core.c,
608360484Sobrien	hpux-core.c, irix-core.c, lynx-core.c, osf-core.c, ptrace-core.c,
608460484Sobrien	rs6000-core.c, trad-core.c:  Remove SEC_ALLOC flag from .reg
608560484Sobrien	sections, .reg sections are not allocated and contain debug
608660484Sobrien	information only.
608760484Sobrien	* osf-core.c (make_bfd_asection, osf_core_core_file_p):  Use
608860484Sobrien	bfd_make_section_anyway instead of building unique section names.
608960484Sobrien
609060484SobrienTue Jul 12 11:41:22 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
609160484Sobrien
609260484Sobrien	* libelf.h (bfd_elf32_swap_symbol_in): Declare.
609360484Sobrien	(bfd_elf32_swap_symbol_out): Declare.
609460484Sobrien	(bfd_elf64_swap_symbol_in, bfd_elf64_swap_symbol_out): Declare.
609560484Sobrien	* elf32-hppa.c (elf32_hppa_args_hash_table_init): Correct cast.
609660484Sobrien
609760484Sobrien	* aout-encap.c (ARCH): Don't define.  Obsolete.
609860484Sobrien	* aout0.c, aoutx.h, gen-aout.c, hp300bsd.c, hp300hpux.c: Likewise.
609960484Sobrien	* i386aout.c, i386bsd.c, i386dynix.c, i386linux.c: Likewise.
610060484Sobrien	* i386lynx.c, m68klynx.c, mipsbsd.c, netbsd386.c: Likewise.
610160484Sobrien	* newsos3.c, sparclynx.c, sunos.c: Likewise.
610260484Sobrien
610360484SobrienMon Jul 11 20:08:23 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
610460484Sobrien
610560484Sobrien	* section.c (STD_SECTION): Make the sixth argument boolean, not
610660484Sobrien	the seventh.  From gary@tuva.pacsemi.oz.au (gary kopff).
610760484Sobrien
610860484SobrienSun Jul 10 09:12:02 1994  D. V. Henkel-Wallace  (gumby@cygnus.com)
610960484Sobrien
611060484Sobrien	* aoutx.h (bfd_free_cached_info): Change name of FREE to BFCI_FREE
611160484Sobrien	in order not to collide with LynxOS's definition of FREE in
611260484Sobrien	/usr/include/sys/proc.h
611360484Sobrien
611460484SobrienThu Jul  7 14:18:06 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
611560484Sobrien
611660484Sobrien	* reloc.c (bfd_perform_relocation): Don't clobber the relocation
611760484Sobrien	value for coff-Intel-little or coff-Intel-big.  Hack upon hack.
611860484Sobrien
611960484SobrienThu Jul  7 10:10:34 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
612060484Sobrien
612160484Sobrien	* aoutx.h (howto_table_std):  Add entry for GOT relocations
612260484Sobrien	which are present in sun3 shared libraries, to avoid assertions
612360484Sobrien	when reading the dynamic relocations.
612460484Sobrien
612560484SobrienThu Jul  7 10:19:20 1994  Jeff Law  (law@snake.cs.utah.edu)
612660484Sobrien
612760484Sobrien	* som.h (R_HPPA_COMPLEX): Fix dumb typo. 
612860484Sobrien
612960484SobrienWed Jul  6 19:21:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
613060484Sobrien
613160484Sobrien	* hosts/sysv4.h (qsort, strtol): Don't declare.
613260484Sobrien
613360484Sobrien	* elfcode.h (elf_link_output_sym): Don't call output_symbol_hook
613460484Sobrien	if it is NULL.
613560484Sobrien
613660484Sobrien	* elf32-mips.c (mips_elf_final_write_processing): Add ignored info
613760484Sobrien	argument to correspond to recent libelf.h change.
613860484Sobrien
613960484SobrienWed Jul  6 00:48:57 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
614060484Sobrien
614160484Sobrien	* coff-alpha.c (alpha_ecoff_mkobject_hook):  New hook to
614260484Sobrien	additionally copy object type information from the alpha file
614360484Sobrien	header to the BFD flags.
614460484Sobrien	(alpha_ecoff_backend_data):  Use it.
614560484Sobrien	(ecoffalpha_little_vec):  Add DYNAMIC to object_flags.
614660484Sobrien	* aout64.c:  Fix typo in conditional QMAGIC definition.
614760484Sobrien
614860484SobrienWed Jul  6 00:13:17 1994  Jeff Law  (law@snake.cs.utah.edu)
614960484Sobrien
615060484Sobrien	* hppabsd-core.c (hppabsd_core_core_file_p): Sanity check the
615160484Sobrien	value of clicksz to help weed out non HPPA BSD core files.
615260484Sobrien
615360484SobrienTue Jul  5 13:26:02 1994  Stan Shebs  (shebs@andros.cygnus.com)
615460484Sobrien
615560484Sobrien	Mach 3 support.
615660484Sobrien	* config.bfd (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*):
615760484Sobrien	New targets.
615860484Sobrien	* configure.host (i[34]86-*-mach3*, ns32k-*-mach3*): Recognize
615960484Sobrien	"mach3" instead of "mach".
616060484Sobrien	(m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*): New hosts.
616160484Sobrien	* targets.c (m88kmach3_vec): New target vector.
616260484Sobrien	(bfd_target_vector): Add i386mach3_vec and m88kmach3_vec, but
616360484Sobrien	inside #if 0.
616460484Sobrien	* aoutx.h (some_aout_object_p) [MACH]: Recognize executables by
616560484Sobrien	checking for execute permission, instead of looking at entry
616660484Sobrien	point.
616760484Sobrien	* i386mach3.c: Update, define MACH, N_TXTOFF, N_TXTADDR,
616860484Sobrien	N_SHARED_LIB, don't include aout/*.h files, etc.
616960484Sobrien	* m88kmach3.c: New file, m88k Mach 3 target.
617060484Sobrien	* config/m88k-mach3.mt,	config/mips-mach3.mt: New files, target
617160484Sobrien	makefile fragments.
617260484Sobrien	* config/i386mach3.mh, config/m88kmach3.mh, config/mipsmach3.mh:
617360484Sobrien	New files, host	makefile fragments.
617460484Sobrien	* hosts/m88kmach3.h, hosts/mipsmach3.h: New files, host definitions.
617560484Sobrien
617660484SobrienTue Jul  5 13:56:52 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
617760484Sobrien
617860484Sobrien	* elfcode.h (swap_out_syms): Get alignment of common symbol from
617960484Sobrien	st_value field of saved ELF symbol information, if there is any.
618060484Sobrien
618160484SobrienMon Jul  4 19:13:32 1994  Jeff Law  (law@snake.cs.utah.edu)
618260484Sobrien
618360484Sobrien	* som.h (R_HPPA_COMPLEX): Define.
618460484Sobrien	* elf32-hppa.h (R_HPPA_COMPLEX): Define.
618560484Sobrien	(elf32_hppa_reloc_type): Delete R_PARISC_STUB_CALL_17.
618660484Sobrien
618760484SobrienFri Jul  1 12:07:41 1994  Jeff Law  (law@snake.cs.utah.edu)
618860484Sobrien
618960484Sobrien	* Support code for enabling the new style linker for PA ELF.
619060484Sobrien	* elfcode.h (swap_symbol_in, swap_symbol_out): Externalize.
619160484Sobrien	(elf_compute_section_file_positions): Pass link_info to
619260484Sobrien	the begin_write_processing hook.
619360484Sobrien	(bfd_elf_write_object_contents): Pass NULL for new link_info
619460484Sobrien	argument to final_write_processing hook.
619560484Sobrien	(elf_link_output_sym): Accept new "input_section" argument for
619660484Sobrien	the symbols's input section.  All callers changed.  Call the
619760484Sobrien	link_output_symbol_hook if it's defined.
619860484Sobrien	(elf_bfd_final_link): Call the final_write_processing hook if
619960484Sobrien	it's defined.
620060484Sobrien	* libelf.h (elf_backend_link_output_symbol_hook): Declare.
620160484Sobrien	(elf_backend_begin_write_processing): Add new "info" argument.
620260484Sobrien	(elf_backend_final_write_processing): Likewise.
620360484Sobrien	* elf32-target.h (elf_backend_link_output_symbol_hook): Provide
620460484Sobrien	a default definition.
620560484Sobrien	(elf32_bed): Add elf_backend_link_output_symbol_hook.
620660484Sobrien	* elf64-target.h: Likewise.
620760484Sobrien	
620860484Sobrien	* Major rework of the PA ELF code.  Uses the new style BFD
620960484Sobrien	linker, major cleanups.
621060484Sobrien	* hppa_stubs.h: Rewrite from scratch.  Much smaller and simpler.
621160484Sobrien	* elf32-hppa.h: Delete all symbol extension related code.
621260484Sobrien	(hppa_look_for_stubs_in_section): Delete decl.
621360484Sobrien	(elf32_hppa_size_stubs, elf32_hppa_build_stubs): New decls.
621460484Sobrien	* elf32-hppa.c: Symbol extension stuff moved form elf32-hppa.h
621560484Sobrien	into elf32-hppa.c.  Do not include aout64.h.
621660484Sobrien	(typdef hppa_stub_type): Delete.
621760484Sobrien	(elf32_hppa_stub_name_list_struct): Delete.
621860484Sobrien	(elf32_hppa_stub_description_struct): Delete.
621960484Sobrien	(arg_reloc_type): Use simpler enumerations.  All references changed.
622060484Sobrien	(arg_location, arg_reloc_relocation): Likewise.
622160484Sobrien	(elf32_hppa_symextn_map_struct): Delete.
622260484Sobrien	(get_symbol_value): Delete.
622360484Sobrien	(elf32_hppa_get_sym_extn): Delete.
622460484Sobrien	(find_stubs, new_stubs, type_of_mismatch): Delete.
622560484Sobrien	(find_stub_by_name, add_stub_by_name): Delete.
622660484Sobrien	(hppa_elf_stub_finish, hppa_elf_stub_reloc): Delete.
622760484Sobrien	(hppa_elf_arg_reloc_needed): Renamed.  Simplify.
622860484Sobrien	(hppa_elf_build_linker_stub, hppa_elf_create_stub_sec): Delete.
622960484Sobrien	(hppa_elf_long_branch_needed_p): Delete.
623060484Sobrien	(hppa_look_for_stubs_in_section): Delete.
623160484Sobrien	(hppa_elf_get_section_contents): Delete.
623260484Sobrien	(elf32_hppa_backend_symbol_processing): Delete.
623360484Sobrien	(elf32_hppa_backend_section_processing): Delete.
623460484Sobrien	(elf32_hppa_backend_section_from_shdr): Delete.
623560484Sobrien	(elf32_hppa_backend_fake_sections): Delete.
623660484Sobrien	(elf32_hppa_backend_section_from_bfd_section): Delete.
623760484Sobrien	(NEW_INSTRUCTION): Delete.
623860484Sobrien	(CURRENT_STUB_OFFSET): Delete.
623960484Sobrien	(elf32_hppa_relocate_section): New function.
624060484Sobrien	(elf32_hppa_bfd_final_link_relocate): New function.
624160484Sobrien	(elf32_hppa_size_symext): New function.
624260484Sobrien	(elf32_hppa_link_output_symbol_hook): New function.
624360484Sobrien	(elf32_hppa_read_symext_info): New function.
624460484Sobrien	(elf32_hppa_add_symbol_hook): New function.
624560484Sobrien	(elf32_hppa_name_of_stub): New function.
624660484Sobrien	(elf32_hppa_size_of_stub): New function.
624760484Sobrien	(elf32_hppa_build_one_sub): New function.
624860484Sobrien	(elf32_hppa_build_stubs): New function.
624960484Sobrien	(elf32_hppa_size_stubs): New function.
625060484Sobrien	(linker, stub and argument hash tables): Add appropriate
625160484Sobrien	structures, definitions and functions to implement all three
625260484Sobrien	hash tables.
625360484Sobrien	(hppa_elf_relocate_insn): Don't need argument location information
625460484Sobrien	in this function.
625560484Sobrien	(add_entry_to_symext_chain): Accept a symbol's argument location
625660484Sobrien	information rather than the symbol itself.  All callers changed.
625760484Sobrien	(hppa_elf_gen_reloc_type): Simplify.
625860484Sobrien	(hppa_elf_set_section_contents): Stub section is no longer special.
625960484Sobrien	(hppa_elf_reloc): Greatly simplify.
626060484Sobrien	(elf32_hppa_begin_write_processing): Accept link_info argument.
626160484Sobrien	Handle being called from the BFD backend linker.
626260484Sobrien	(elf32_hppa_final_write_processing): Likewise.
626360484Sobrien	(elf_hppa_tc_make_sections): No longer call stub_finish.
626460484Sobrien	
626560484SobrienMon Jun 27 18:07:06 1994  Steve Chamberlain  (sac@cirdan.cygnus.com)
626660484Sobrien
626760484Sobrien	* section.c (bfd_get_section_contents): Put in parens to get
626860484Sobrien	precedence right.
626960484Sobrien
627060484SobrienSun Jun 26 18:08:29 1994  Jeff Law  (law@snake.cs.utah.edu)
627160484Sobrien
627260484Sobrien	* libelf.h (relocate_section): New argument "output_names" added
627360484Sobrien	to prototype.
627460484Sobrien	* elfcode.h (elf_link_input_bfd): New argument "output_names"
627560484Sobrien	added to prototype of relocate_section.  Pass the output symbol
627660484Sobrien	names to relocate_section.
627760484Sobrien	* elf32-i386.c (elf_i386_relocate_section): Use "output_names" to
627860484Sobrien	determine the name of a local symbol.
627960484Sobrien	* elf32-mips.c (mips_elf_relocate_section): Likewise.
628060484Sobrien	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
628160484Sobrien
628260484SobrienFri Jun 24 08:15:42 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
628360484Sobrien
628460484Sobrien	Add Solaris BCP (the part of Solaris which allows it to run
628560484Sobrien	SunOS4 a.out files) core file handling.
628660484Sobrien	* aoutf1.h (external_solaris_bcp_core, swapcore_solaris_bcp):
628760484Sobrien	New structure and its swap in function.
628860484Sobrien	(internal_sunos_core):  New member c_data_addr, to receive the
628960484Sobrien	start address of the data section in the core file.
629060484Sobrien	(swapcore_sun3, swapcore_sparc, sunos4_core_file_p):  Use it.
629160484Sobrien	(sunos4_core_file_p):  Recognize Solaris BCP core file.
629260484Sobrien	(sunos4_core_file_matches_executable_p):  Always indicate match
629360484Sobrien	for Solaris BCP core files.
629460484Sobrien
629560484SobrienThu Jun 23 15:31:28 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
629660484Sobrien
629760484Sobrien	Preliminary support for generating shared libraries, from Eric
629860484Sobrien	Youngdale <ericy@cais.cais.com>.
629960484Sobrien	* elfcode.h (prep_headers): If DYNAMIC, set e_type to ET_DYN.
630060484Sobrien	(elf_link_add_object_symbols): If generating a shared library,
630160484Sobrien	create dynamic sections for first input BFD with the right format.
630260484Sobrien	(elf_link_create_dynamic_sections): Don't create .interp section
630360484Sobrien	if creating a shared library.
630460484Sobrien	(elf_link_input_bfd): Skip dynamic sections in input file.
630560484Sobrien	(elf_bfd_final_link): If creating a shared library, it's OK for
630660484Sobrien	dynobj to have sections which are not SEC_IN_MEMORY.
630760484Sobrien	* elf32-i386.c (elf_i386_size_dynamic_sections): Only set .interp
630860484Sobrien	section if not creating a shared library.
630960484Sobrien	* elf32-sparc.c (elf_sparc_size_dynamic_sections): Likewise.
631060484Sobrien
631160484Sobrien	* elfcode.h (elf_object_p): Don't set DYNAMIC just because there
631260484Sobrien	is an SHT_DYNAMIC section.
631360484Sobrien
631460484Sobrien	* cf-i386lynx.c (i386coff_vec): Don't include DYNAMIC in
631560484Sobrien	object_flags.
631660484Sobrien	* coff-sparc.c (sparccoff_vec): Likewise.
631760484Sobrien	* hppabsd-core.c (hppabsd_core_vec): Likewise.
631860484Sobrien
631960484Sobrien	* aoutx.h (NAME(aout,some_aout_object_p)): Don't set SEC_RELOC
632060484Sobrien	just because DYNAMIC is set.
632160484Sobrien
632260484SobrienThu Jun 23 12:53:41 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
632360484Sobrien
632460484Sobrien	* configure.in: Change --with-targets to --enable-targets and
632560484Sobrien	--with-64-bit-bfd to --enable-64-bit-bfd.
632660484Sobrien	* Makefile.in, mpw-make.in, targets.c: Change comments.
632760484Sobrien
632860484SobrienWed Jun 22 17:59:59 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
632960484Sobrien
633060484Sobrien	* config.bfd (powerpc-*-elf*): New target, just like
633160484Sobrien	powerpc-*-sysv4*.
633260484Sobrien
633360484Sobrien	* linker.c (FAIL): Undefine macro before defining as enum.
633460484Sobrien
633560484SobrienWed Jun 22 10:52:47 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
633660484Sobrien
633760484Sobrien	* linker.c (_bfd_generic_link_add_archive_symbols): Initialize
633860484Sobrien	pass from abfd->archive_pass, and save it there as well.
633960484Sobrien
634060484Sobrien	* hash.c (bfd_hash_allocate): Don't call bfd_set_error if
634160484Sobrien	obstack_alloc returns NULL unless the size is non-zero.
634260484Sobrien
634360484Sobrien	* linker.c (archive_hash_allocate): Define.
634460484Sobrien	(_bfd_generic_link_add_archive_symbols): Use archive_hash_allocate
634560484Sobrien	rather than obstack_alloc, for clarity.
634660484Sobrien
634760484Sobrien	* elfcode.h (elf_get_reloc_upper_bound): Correct.
634860484Sobrien
634960484Sobrien	* aout64.c (BMAGIC, QMAGIC): Define if not already defined.  From
635060484Sobrien	Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.
635160484Sobrien
635260484Sobrien	Linux ZMAGIC support from Eric Youngdale <ericy@cais.cais.com>.
635360484Sobrien	* libaout.h (struct aoutdata): Add field zmagic_disk_block_size.
635460484Sobrien	* aout-target.h (MY(callback)): Only set alignment according to
635560484Sobrien	architecture if the section sizes are aligned to that alignment,
635660484Sobrien	for backward compatibility.
635760484Sobrien	(MY(set_sizes)): Initialize zmagic_disk_block_size field.
635860484Sobrien	* aoutx.h (adjust_z_magic): Set ztih if using q_magic_format.  Set
635960484Sobrien	text section filepos to zmagic_disk_block_size if not ztih.  Use a
636060484Sobrien	different padding algorithm if not ztih.
636160484Sobrien	* i386linux.c (MY_text_includes_header): Don't define.
636260484Sobrien
636360484Sobrien	* aoutx.h (aout_link_check_ar_symbols): Just skip N_STAB and N_FN
636460484Sobrien        symbols; don't look them up in the hash table.  From
636560484Sobrien        ralphc@pyramid.com (Ralph Campbell).
636660484Sobrien
636760484SobrienTue Jun 21 11:47:20 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
636860484Sobrien
636960484Sobrien	* coff-go32.c (go32coff_archive_p): Remove unused function.
637060484Sobrien
637160484Sobrien	* section.c (bfd_abs_section): Make const.
637260484Sobrien	(bfd_abs_section_ptr, bfd_is_abs_section): Define.
637360484Sobrien	(bfd_und_section): Make const.
637460484Sobrien	(bfd_und_section_ptr, bfd_is_und_section): Define.
637560484Sobrien	(bfd_com_section): Make const.
637660484Sobrien	(bfd_com_section_ptr): Define.
637760484Sobrien	(bfd_ind_section): Make const.
637860484Sobrien	(bfd_ind_section_ptr, bfd_is_ind_section): Define.
637960484Sobrien	(bfd_abs_symbol, bfd_com_symbol): Make const.
638060484Sobrien	(bfd_und_symbol, bfd_ind_symbol): Likewise.
638160484Sobrien	(global_syms): Cast initialization of section field.
638260484Sobrien	(STD_SECTION): Define as const, and cast initializations.
638360484Sobrien	* bfd-in2.h: Rebuilt.
638460484Sobrien	* Many files: Change uses of bfd_abs_section, etc., to use
638560484Sobrien	bfd_abs_section_ptr or bfd_is_abs_section, etc.
638660484Sobrien
638760484SobrienMon Jun 20 11:06:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
638860484Sobrien
638960484Sobrien	* Many files: change all bfd_target vectors to be const.  Change
639060484Sobrien	all uses of bfd_target * to be const bfd_target *.  Change
639160484Sobrien	bfd_target_vector and bfd_default_vector arrays to be const
639260484Sobrien	bfd_target * const *.
639360484Sobrien
639460484Sobrien	* ecoff.c, libecoff.h, ecoffswap.h, coff-alpha.c, coff-mips.c,
639560484Sobrien	elf32-mips.c: Renamed all externally visible ECOFF routines which
639660484Sobrien	are local to BFD to start with _bfd_ecoff instead of just ecoff.
639760484Sobrien
639860484Sobrien	* ecoff.c (ecoff_swap_tir_in): Change input argument to const.
639960484Sobrien	(ecoff_swap_tir_out): Likewise.
640060484Sobrien	(ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
640160484Sobrien	(ecoff_slurp_symbolic_info): Add new arguments to correspond to
640260484Sobrien	read_debug_info entry point in ecoff_debug_swap structure.
640360484Sobrien	Change all calls.
640460484Sobrien	* libecoff.h (ecoff_slurp_symbolic_info): Change declaration.
640560484Sobrien	* ecoffswap.h (ecoff_swap_tir_in, ecoff_swap_tir_out): Declare.
640660484Sobrien	(ecoff_swap_rndx_in, ecoff_swap_rndx_out): Declare.
640760484Sobrien	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new
640860484Sobrien	ecoff_debug_swap fields.
640960484Sobrien	* coff-mips.c (mips_ecoff_backend_data): Likewise.
641060484Sobrien	* elf32-mips.c (mips_elf_read_ecoff_info): Undefine READ.
641160484Sobrien	(mips_elf_ecoff_debug_swap): Initialize new ecoff_debug_swap
641260484Sobrien	fields.
641360484Sobrien	* configure.in (bfd_elf32_bigmips_vec): Use ecoff.o and
641460484Sobrien	ecofflink.o.
641560484Sobrien	(bfd_elf32_littlemips_vec): Likewise.
641660484Sobrien	(ecoff_big_vec, ecoff_little_vec): Likewise.
641760484Sobrien	(ecoffalpha_little_vec): Likewise.
641860484Sobrien	* Makefile.in (BFD_LIBS): Remove ecoff.o and ecofflink.o.
641960484Sobrien	(BFD32_BACKENDS): Add ecoff.o and ecofflink.o.
642060484Sobrien
642160484Sobrien	* aoutx.h (NAME(aout,final_link)): Check flavour of sub, not abfd,
642260484Sobrien	when computing reloc sizes.  From Eric Youngdale
642360484Sobrien	<ericy@cais.cais.com>.
642460484Sobrien	* elfcode.h (elf_bfd_final_link): Don't try to compute maximum
642560484Sobrien	reloc count or size for a non-ELF file.
642660484Sobrien
642760484Sobrien	* mipsbsd.c (MY_final_link_callback): Define to avoid warning.
642860484Sobrien
642960484Sobrien	* hp300hpux.c (MY_final_link_callback): Define to avoid warning.
643060484Sobrien	(BMAGIC, QMAGIC): Define; used by aoutx.h.
643160484Sobrien	(MY(slurp_symbol_table)): Change translate_from_native_sym_flags
643260484Sobrien	calls to use new parameters.
643360484Sobrien
643460484SobrienFri Jun 17 14:45:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
643560484Sobrien
643660484Sobrien	* aout-target.h (MY(callback)): Set the alignments of the text,
643760484Sobrien	data and bss sections after determining the architecture.
643860484Sobrien
643960484Sobrien	* sunos.c (sunos_add_one_symbol): Treat a common symbol from a
644060484Sobrien	dynamic object as being in the .bss section of the object, rather
644160484Sobrien	than as being undefined.
644260484Sobrien
644360484SobrienFri Jun 17 11:16:50 1994  Jeff Law  (law@snake.cs.utah.edu)
644460484Sobrien
644560484Sobrien	* libhppa.h (bfd_hppa_insn2fmt, hppa_rebuild_insn): Make INLINE.
644660484Sobrien
644760484Sobrien	* elf32-hppa.h (elf_hppa_final_processing): Delete decl.
644860484Sobrien
644960484SobrienThu Jun 16 23:36:23 1994  Jeff Law  (law@snake.cs.utah.edu)
645060484Sobrien
645160484Sobrien	* elfcode.h (elf_link_input_bfd): Don't try to read local symbols
645260484Sobrien	if there aren't any in the input file.
645360484Sobrien
645460484SobrienThu Jun 16 14:25:22 1994  Eric Youngdale  (ericy@cais.cais.com)
645560484Sobrien
645660484Sobrien	* i386linux.c: Many new functions and definitions for linker
645760484Sobrien	support for Linux shared libraries.
645860484Sobrien	* bfd-in.h (bfd_linux_size_dynamic_sections): Declare.
645960484Sobrien	* bfd-in2.h: Rebuild.
646060484Sobrien
646160484SobrienThu Jun 16 14:23:46 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
646260484Sobrien
646360484Sobrien	* config.bfd: If second argument is ``_'', then, instead of
646460484Sobrien	echoing config file name, echo whether target uses leading
646560484Sobrien	underscores on symbol names.  Add appropriate settings to
646660484Sobrien	different cases.  Used by binutils/configure.in to set default for
646760484Sobrien	c++filt.
646860484Sobrien
646960484Sobrien	* elfcode.h (elf_bfd_final_link): If trying to generate a shared
647060484Sobrien	object, warn and return false.
647160484Sobrien
647260484Sobrien	* aoutx.h (NAME(aout,some_aout_object_p)): Accept BMAGIC objects
647360484Sobrien	and treat them as OMAGIC.
647460484Sobrien
647560484SobrienWed Jun 15 18:02:21 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
647660484Sobrien
647760484Sobrien	Enable sparc v9 support for release.  Note that this is still a
647860484Sobrien	work in progress, pending release of an ABI specification.
647960484Sobrien	* config.bfd, configure.in: Include sparc v9 elf config.
648060484Sobrien	* elfcode.h (prep_headers): Handle sparc v9 (64 bit).
648160484Sobrien	* reloc.c (bfd_reloc_code_real): New reloc types.
648260484Sobrien	* elf64-sparc.c: Implement elf64-sparc target.
648360484Sobrien	* Makefile.in, targets.c: Updated.
648460484Sobrien
648560484SobrienWed Jun 15 01:34:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
648660484Sobrien
648760484Sobrien	* libelf.h (struct elf_obj_tdata): New field dt_needed_name.
648860484Sobrien	(elf_dt_needed_name): New accessor macro.
648960484Sobrien	* elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
649060484Sobrien	is set, use that instead of the filename for the DT_NEEDED dynamic
649160484Sobrien	entry.
649260484Sobrien	* elf.c (bfd_elf_set_dt_needed_name): New function.
649360484Sobrien	* bfd-in.h (bfd_elf_set_dt_needed_name): Declare.
649460484Sobrien	* bfd-in2.h: Rebuilt.
649560484Sobrien
649660484Sobrien	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add sinterpptr
649760484Sobrien	argument, and set it to the .interp section.
649860484Sobrien	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
649960484Sobrien	(bfd_elf64_size_dynamic_sections): Likewise.
650060484Sobrien	* bfd-in2.h: Rebuilt.
650160484Sobrien
650260484Sobrien	* coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare
650360484Sobrien	field of the reloc rather than letting it be garbage.
650460484Sobrien
650560484Sobrien	* archive.c (bfd_slurp_armap): Recognize __.SYMDEF/ as well as
650660484Sobrien	__.SYMDEF; the former was used in old Linux archives.  From
650760484Sobrien	jrs@world.std.com (Rick Sladkey).
650860484Sobrien
650960484Sobrien	* i386linux.c (i386linux_write_object_contents): Define; like
651060484Sobrien	MY(write_object_contents) in aout-target.h, but set MACHTYPE to
651160484Sobrien	M_386.  From jrs@world.std.com (Rick Sladkey).
651260484Sobrien	(MY_write_object_contents): Define.
651360484Sobrien
651460484Sobrien	* aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols
651560484Sobrien	as N_DATA symbols.
651660484Sobrien	(aout_link_add_symbols): Likewise.
651760484Sobrien
651860484Sobrien	* aoutx.h: Rewrite symbol duplicate elimination to use BFD hash
651960484Sobrien	tables.
652060484Sobrien	(struct stringtab_entry, struct stringtab_data): Remove.
652160484Sobrien	(HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove.
652260484Sobrien	(struct strtab_hash_entry, struct strtab_hash): Define.
652360484Sobrien	(strtab_hash_newfunc, strtab_hash_lookup): Define.
652460484Sobrien	(stringtab_free, emit_stringtab): Define.
652560484Sobrien	(stringtab_init, add_to_stringtab): Rewrite.
652660484Sobrien	(NAME(aout,write_syms)): Use new stringtab code.
652760484Sobrien	(struct aout_final_link_info, NAME(aout,final_link)): Likewise.
652860484Sobrien	(aout_link_write_symbols, aout_link_write_other_symbol): Likewise.
652960484Sobrien
653060484Sobrien	* bfd-in.h (BFD_TRADITIONAL_FORMAT): Define new BFD flag to
653160484Sobrien	request BFD to write object in the traditional format, whatever
653260484Sobrien	that means for the particular backend.
653360484Sobrien	* bfd-in2.h: Rebuilt.
653460484Sobrien
653560484Sobrien	* hash.c (bfd_hash_allocate): If obstack_alloc fails, set
653660484Sobrien	bfd_error_no_memory.
653760484Sobrien
653860484SobrienTue Jun 14 13:00:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
653960484Sobrien
654060484Sobrien	* libaout.h (struct aoutdata): Add q_magic_format to subformat
654160484Sobrien	enum.
654260484Sobrien	* aout-target.h (MY_bfd_copy_private_bfd_data): Define as function
654360484Sobrien	if not already defined.  Copy subformat information.
654460484Sobrien	(MY_text_includes_header): Define as 0 if not already defined.
654560484Sobrien	(MY(backend_data)): Use MY_text_includes_header rather than 0.
654660484Sobrien	(MY_final_link_callback): Rename from final_link_callback, and
654760484Sobrien	define only if MY_final_link_callback is not already defined.
654860484Sobrien	(MY_bfd_final_link): Rename use of final_link_callback to
654960484Sobrien	MY_final_link_callback.
655060484Sobrien	* aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like
655160484Sobrien	ZMAGIC, but set the subformat to q_magic_format.  Abort if the
655260484Sobrien	magic number if not recognized.
655360484Sobrien	(adjust_z_magic): Use QMAGIC if q_magic_format.
655460484Sobrien	* i386linux.c (MY_text_includes_header): Define as 1.
655560484Sobrien	(i386linux_bfd_final_link): New static function.
655660484Sobrien	(MY_bfd_final_link): Define as i386linux_bfd_final_link.
655760484Sobrien
655860484Sobrien	* aoutx.h (translate_to_native_sym_flags): Check both section and
655960484Sobrien	output_section against sections of abfd.
656060484Sobrien
656160484Sobrien	* libecoff.h (struct ecoff_link_hash_entry): Change type of
656260484Sobrien	written from boolean to char.  Add new field small.
656360484Sobrien	* ecoff.c (ecoff_link_hash_newfunc): Initialize written to 0
656460484Sobrien	rather than false.  Initialize small to 0.
656560484Sobrien	(ecoff_link_add_externals): If ECOFF type is scSUndefined, set
656660484Sobrien	small.  If small is set, and hash table type is common, force the
656760484Sobrien	symbol into a section named SCOMMON and change the ECOFF type from
656860484Sobrien	scCommon to scSCommon.
656960484Sobrien	(ecoff_link_write_external): Set written to 1 rather than true.
657060484Sobrien	* coff-mips.c (mips_relocate_section): Correct JMPADDR reloc
657160484Sobrien	overflow check to consider section VMA of input file.
657260484Sobrien
657360484SobrienMon Jun 13 14:20:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
657460484Sobrien
657560484Sobrien	* aoutf1.h (aout_32_sunos4_write_object_contents): Handle a
657660484Sobrien	machine type of 68000.
657760484Sobrien	* aoutx.h (NAME(aout,machine_type)): Add new argument unknown.
657860484Sobrien	Set *unknown to true if machine type is really unknown, as opposed
657960484Sobrien	to M_UNKNOWN for the 68000.
658060484Sobrien	(NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call
658160484Sobrien	accordingly.
658260484Sobrien	* libaout.h (NAME(aout,machine_type)): Add new argument to
658360484Sobrien	prototype.
658460484Sobrien
658560484SobrienSun Jun 12 20:21:03 1994  Jeff Law  (law@snake.cs.utah.edu)
658660484Sobrien
658760484Sobrien	* som.c (EXEC_AUX_ID): Define based on availablity of HPUX_AUX_ID
658860484Sobrien	or HIUX_AUX_ID.
658960484Sobrien	(som_begin_writing): Use EXEC_AUX_ID instead of HPUX_AUX_ID.
659060484Sobrien	(som_write_armap): Use CPU_PA_RISC1_0 as the magic number.  Note
659160484Sobrien	som.c is careful to always define CPU_PA_RISC1_0.
659260484Sobrien
659360484SobrienSat Jun 11 16:32:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
659460484Sobrien
659560484Sobrien	Add weak symbols as an extension to a.out.
659660484Sobrien	* aoutx.h (sym_in_text_section): Don't define.
659760484Sobrien	(sym_in_data_section, sym_in_bss_section): Likewise.
659860484Sobrien	(sym_is_undefined, sym_is_global_defn): Likewise.
659960484Sobrien	(sym_is_debugger_info, sym_is_fortrancommon): Likewise.
660060484Sobrien	(sym_is_absolute, sym_is_indirect): Likewise.
660160484Sobrien	(translate_from_native_sym_flags): Rewrite for clarity.  Rearrange
660260484Sobrien	arguments and change caller.  Handle weak symbols.
660360484Sobrien	(translate_to_native_sym_flags): Likewise.
660460484Sobrien	(aout_link_check_ar_symbols): Don't ignore weak symbols.  Pull
660560484Sobrien	object in from archive if a weak defintion is found for an
660660484Sobrien	existing undefined symbol.
660760484Sobrien	(aout_link_add_symbols): Put all cases in switch.  Set flags of an
660860484Sobrien	undefined symbol to 0.  Handle weak symbols.
660960484Sobrien	(aout_link_write_symbols): Handle weak symbols.
661060484Sobrien	(aout_link_write_other_symbol): Likewise.
661160484Sobrien	(aout_link_input_section_std): Likewise.
661260484Sobrien	(aout_link_input_section_ext): Likewise.
661360484Sobrien	* sunos.c (sunos_write_dynamic_symbol): Likewise.
661460484Sobrien
661560484SobrienFri Jun 10 13:25:13 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
661660484Sobrien
661760484Sobrien	* aoutx.h (NAME(aout,canonicalize_reloc)): Handle .bss section.
661860484Sobrien	(NAME(aout,get_reloc_upper_bound)): Likewise.
661960484Sobrien
662060484Sobrien	* coff-i960.c (coff_i960_reloc_type_lookup): Add BFD_RELOC_CTOR.
662160484Sobrien	* linker.c (_bfd_generic_link_write_global_symbol): Don't assume
662260484Sobrien	the section of a common symbol is not NULL.
662360484Sobrien
662460484SobrienWed Jun  8 23:15:53 1994  Stu Grossman  (grossman@cygnus.com)
662560484Sobrien
662660484Sobrien	* nlmcode.h (nlm_object_p):  Set EXEC_P and start address for GDB.
662760484Sobrien
662860484SobrienWed Jun  8 23:57:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
662960484Sobrien
663060484Sobrien	* aoutx.h (aout_get_external_symbols): Don't try to read the
663160484Sobrien	strings if there are no symbols.
663260484Sobrien	(aout_link_write_other_symbol): Use the output section when
663360484Sobrien	working out the type.
663460484Sobrien
663560484SobrienTue Jun  7 13:25:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
663660484Sobrien
663760484Sobrien	* elfcode.h (assign_section_numbers): Put shstrtab, symtab and
663860484Sobrien	strtab sections at end of file.  Avoids bug in some versions of
663960484Sobrien	SVR4 strip.  From Eric Youngdale <eric@tantalus.nrl.navy.mil>.
664060484Sobrien
664160484Sobrien	* coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
664260484Sobrien	set SEC_DEBUGGING for STYP_INFO sections.
664360484Sobrien	(coff_compute_section_file_positions): If COFF_PAGE_SIZE is
664460484Sobrien	defined, and D_PAGED is set, set the file position equal to the
664560484Sobrien	section VMA modulo COFF_PAGE_SIZE.
664660484Sobrien	* coffgen.c (coff_real_object_p): If F_EXEC is set, set D_PAGED.
664760484Sobrien	* coff-i386.c: Set D_PAGED in BFD target.
664860484Sobrien	(COFF_PAGE_SIZE): Define.
664960484Sobrien	* coff-m68k.c, coff-sparc.c: Likewise.
665060484Sobrien
665160484SobrienMon Jun  6 10:57:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
665260484Sobrien
665360484Sobrien	* elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
665460484Sobrien	into a BFD section just because SHF_ALLOC is set; require that it
665560484Sobrien	not use the normal symbol table.
665660484Sobrien	(elf_section_from_bfd_section): Corresponding change.
665760484Sobrien
665860484Sobrien	Better indirect and warning symbol handling inspired by Stuart
665960484Sobrien	Quick <stuck@cs.man.ac.uk>.
666060484Sobrien	* linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
666160484Sobrien	(link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT
666260484Sobrien	to REF.  Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to
666360484Sobrien	REFC.  Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF.
666460484Sobrien	Change DEFW_ROW/indr from CYCLE to NOACT.  Change INDR_ROW/indr
666560484Sobrien	from MDEF to MIND.  Change INDR_ROW/warn from WARNC to CYCLE.
666660484Sobrien	Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN.  Change
666760484Sobrien	WARN_ROW/com from MWARN to WARN.  Change WARN_ROW/warn from NOACT
666860484Sobrien	to CYCLE.  Change SET_ROW/warn from WARNC to CYCLE>
666960484Sobrien	(_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and
667060484Sobrien	REFC.  If a new indirect symbol has been referenced, push the
667160484Sobrien	reference down to the symbol it points to.  FIx handling of WARN.
667260484Sobrien	* aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't
667360484Sobrien	clobber e_type of next symbol.
667460484Sobrien	(translate_to_native_sym_flags): Likewise.
667560484Sobrien	(aout_link_write_symbols): Loop on bfd_link_hash_warning as well
667660484Sobrien	as bfd_link_hash_indirect.
667760484Sobrien
667860484Sobrien	* libaout.h (struct aout_link_hash_entry): New field written.
667960484Sobrien	* aoutx.h (NAME(aout,link_hash_newfunc)): Initialize written.
668060484Sobrien	(aout_link_write_symbols): Use written, not root.written.
668160484Sobrien	(aout_link_write_other_symbol): Likewise.
668260484Sobrien	* sunos.c (sunos_scan_dynamic_symbol): Likewise.
668360484Sobrien	* libecoff.h (struct ecoff_link_hash_entry): New field written.
668460484Sobrien	* ecoff.c (ecoff_link_hash_newfunc): Initialize written.
668560484Sobrien	(ecoff_link_write_external): use written, not root.written.
668660484Sobrien	* genlink.h (struct generic_link_hash_entry): New field written.
668760484Sobrien	* linker.c (_bfd_link_hash_newfunc): Don't initialize written.
668860484Sobrien	(generic_link_hash_newfunc): Initialize written.
668960484Sobrien	(_bfd_generic_link_output_symbols): Use written, not root.written.
669060484Sobrien	(_bfd_generic_link_write_global_symbol): Likewise.
669160484Sobrien	(_bfd_generic_reloc_link_order): Likewise.
669260484Sobrien
669360484Sobrien	* libecoff.h (ecoff_data_type): Add linker field.
669460484Sobrien	* ecoff.c (ecoff_write_object_contents): Check new tdata linker
669560484Sobrien	field, rather than outsymbols being non-NULL, to decide whether to
669660484Sobrien	output the symbols and relocs.
669760484Sobrien	(ecoff_bfd_final_link): Set new tdata linker field to true.
669860484Sobrien
669960484Sobrien	* ecoff.c (ecoff_bfd_copy_private_bfd_data): Don't try to copy
670060484Sobrien	data to a non-ECOFF file.
670160484Sobrien
670260484Sobrien	* libbfd-in.h: Add warning that libbfd.h is a generated file.
670360484Sobrien	* libbfd.h: Rebuilt.
670460484Sobrien
670560484SobrienSun Jun  5 15:02:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
670660484Sobrien
670760484Sobrien	Changes to support ELF strip and objcopy on dynamically linked
670860484Sobrien	files.
670960484Sobrien	* elfcode.h (elf_fake_sections): Add prototype.
671060484Sobrien	(bfd_section_from_shdr): Make a BFD section from an SHT_HASH
671160484Sobrien	section, and from an SHT_DYNSYM section, and from the dynamic
671260484Sobrien	string table section.
671360484Sobrien	(elf_object_p): Set D_PAGED if there is a program header.
671460484Sobrien	(elf_make_sections): Remove.
671560484Sobrien	(fix_up_strtabs): Remove.
671660484Sobrien	(elf_fake_sections): Rewrite.  Now sets sh_entsize.
671760484Sobrien	(assign_section_numbers): Rewrite.  Now sets sh_link and sh_info
671860484Sobrien	for all sections.
671960484Sobrien	(elf_compute_section_file_positions):  Don't call obsolete
672060484Sobrien	functions elf_make_sections or fix_up_strtabs.
672160484Sobrien	(swap_out_syms): Set sh_addralign to FILE_ALIGN rather than 4.
672260484Sobrien	(NAME(bfd_elf,write_object_contents)): Permit writing DYNAMIC
672360484Sobrien	objects.
672460484Sobrien	(elf_section_from_bfd_section): Treat SHT_DYNSYM like other normal
672560484Sobrien	sections.  If an SHT_REL or SHT_RELA section is allocated or uses
672660484Sobrien	an unusual symbol table, permit a BFD section to map to it.
672760484Sobrien	Permit most SHT_STRTAB sections to have a BFD section mapped to
672860484Sobrien	them.
672960484Sobrien	(elf_bfd_final_link): Don't set sh_link, sh_info or sh_entsize
673060484Sobrien	fields of dynamic sections here; do it in assign_section_numbers.
673160484Sobrien	* elf32-target.h, elf64-target.h: Add D_PAGED to permitted object
673260484Sobrien	flags.
673360484Sobrien
673460484Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): Only set SEC_DATA if
673560484Sobrien	SEC_LOAD is set, rather than checking SEC_ALLOC.
673660484Sobrien
673760484Sobrien	* libbfd-in.h (bfd_realloc): Change last arg to "size_t size".
673860484Sobrien
673960484SobrienFri Jun  3 10:58:02 1994  Jeff Law  (law@snake.cs.utah.edu)
674060484Sobrien
674160484Sobrien	* som.c (som_write_object_contents): Don't compute the file header's
674260484Sobrien	checksum here.
674360484Sobrien	(som_write_headers): Instead do it here.
674460484Sobrien
674560484Sobrien	* libbfd.h (bfd_realloc): Change last arg to "size_t size".
674660484Sobrien
674760484SobrienThu Jun  2 17:39:22 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
674860484Sobrien
674960484Sobrien	* hosts/sun3.h: Include <stdlib.h>.  Don't declare free, exit or
675060484Sobrien	getenv.
675160484Sobrien
675260484Sobrien	Add linker support for SunOS shared libraries.
675360484Sobrien	* sunos.c: Include bfdlink.h.  Add many new functions and
675460484Sobrien	definitions for SunOS shared library support.
675560484Sobrien	* bfd-in.h (bfd_sunos_record_link_assignment): Declare.
675660484Sobrien	(bfd_sunos_size_dynamic_sections): Declare.
675760484Sobrien	* bfd-in2.h: Rebuilt.
675860484Sobrien	* aoutx.h (struct aout_link_hash_entry): Move to libaout.h.
675960484Sobrien	(struct aout_link_hash_table): Likewise.
676060484Sobrien	(aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
676160484Sobrien	(aout_hash_table): Likewise.
676260484Sobrien	(NAME(aout,link_hash_newfunc)): Rename from aout_link_hash_newfunc
676360484Sobrien	and make externally visible.
676460484Sobrien	(NAME(aout,link_hash_table_init)): New function.
676560484Sobrien	(NAME(aout,link_hash_table_create)): Call
676660484Sobrien	NAME(aout,link_hash_table_init), not _bfd_link_hash_table_init.
676760484Sobrien	(aout_link_add_symbols): Don't fail if no symbols.  If it exists,
676860484Sobrien	call add_dynamic_symbols backend entry point for dynamic objects.
676960484Sobrien	Use add_one_symbol backend entry point if it exists.
677060484Sobrien	(NAME(aout,final_link)): Call finish_dynamic_link backend entry
677160484Sobrien	point, if it exists.
677260484Sobrien	(aout_link_input_bfd): For a dynamic object, call
677360484Sobrien	link_dynamic_object backend entry point, if it exists.
677460484Sobrien	(aout_link_write_other_symbol): Call write_dynamic_symbol backend
677560484Sobrien	entry point, if it exists.
677660484Sobrien	(aout_link_input_section): Don't read the relocs if they have
677760484Sobrien	already been read.
677860484Sobrien	(aout_link_input_section_std): When doing a final link, for a
677960484Sobrien	reloc against an external symbol, call check_dynamic_reloc backend
678060484Sobrien	entry point, if it exists.
678160484Sobrien	(aout_link_input_section_ext): Likewise.
678260484Sobrien	* libaout.h: Protect against multiple inclusion.  Include
678360484Sobrien	bfdlink.h.
678460484Sobrien	(struct aout_link_hash_entry): Move in from aoutx.h.
678560484Sobrien	(struct aout_link_hash_table): Likewise.
678660484Sobrien	(aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
678760484Sobrien	(aout_hash_table): Likewise.
678860484Sobrien	(struct aout_backend_data): Add fields add_dynamic_symbols,
678960484Sobrien	add_one_symbol, link_dynamic_object, write_dynamic_symbol,
679060484Sobrien	check_dynamic_reloc, and finish_dynamic_link.
679160484Sobrien	(struct aout_section_data_struct): Define new structure.
679260484Sobrien	(aout_section_data): Define new accessor macro.
679360484Sobrien	(NAME(aout,link_hash_newfunc)): Declare.
679460484Sobrien	(NAME(aout,link_hash_table_init)): Declare.
679560484Sobrien	* aoutf1.h (sunos4_aout_backend): Initialize new aout_backend_data
679660484Sobrien	fields.
679760484Sobrien	* aout-target.h (MY(backend_data)): Likewise.
679860484Sobrien	* i386aout.c (MY(backend_data)): Likewise.
679960484Sobrien	* i386mach3.c (MY(backend_data)): Likewise.
680060484Sobrien	* mipsbsd.c (MY(backend_data)): Likewise.
680160484Sobrien	* sparclynx.c (sparclynx_aout_backend): Likewise.
680260484Sobrien
680360484Sobrien	* aoutx.h (NAME(aout,slurp_symbol_table)): Don't zero out cached
680460484Sobrien	until we know it is non-NULL.
680560484Sobrien	(aout_link_write_symbols): Don't skip a warning symbol even if it
680660484Sobrien	has already been written out.  If skipping an indirect symbol,
680760484Sobrien	skip the next symbol as well.
680860484Sobrien
680960484SobrienWed Jun  1 14:37:50 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
681060484Sobrien
681160484Sobrien	* hosts/sun3.h: Don't declare qsort, malloc or realloc.
681260484Sobrien
681360484SobrienThu May 26 13:56:03 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
681460484Sobrien
681560484Sobrien	* nlmcode.h (nlm_swap_auxiliary_headers_in): Cast bfd_byte pointer
681660484Sobrien	to char pointer to avoid compiler warnings.
681760484Sobrien
681860484Sobrien	* dep-in.sed: Remove spaces before colons.
681960484Sobrien
682060484Sobrien	Merged changes back in from FSF gas release 2.3:
682160484Sobrien
682260484Sobrien	* Makefile.in (stmp-bfd.h): Wrap `if' block around grep
682360484Sobrien	invocation, to avoid a bug in BSD 4.4 make.
682460484Sobrien
682560484Sobrien	From Ralph Campbell:
682660484Sobrien	* mipsbsd.c (mips_fix_jmp_addr): If symbol is undefined, return an
682760484Sobrien	error.
682860484Sobrien	(mips_fix_hi16_s): Ditto.
682960484Sobrien
683060484Sobrien	Fri May 13 21:21:00 1994  DJ Delorie (dj@ctron.com)
683160484Sobrien
683260484Sobrien	* makefile.dos: define a default target, or archives won't work
683360484Sobrien	  due to multiple matches.
683460484Sobrien
683560484Sobrien	Wed May 11 22:32:00 1994  DJ Delorie (dj@ctron.com)
683660484Sobrien
683760484Sobrien	* configure.bat: update for latest files
683860484Sobrien	* makefile.dos: update for correct targets and sources
683960484Sobrien	* coff-go32.c: [new] go32's COFF format (i386coff with underscores)
684060484Sobrien	* targets.c: add go32coff target
684160484Sobrien	* makefile.in: add coff-go32.c support
684260484Sobrien
684360484SobrienThu May 26 10:10:21 1994  Jeff Law  (law@snake.cs.utah.edu)
684460484Sobrien
684560484Sobrien	* som.c (som_prep_headers): Do not set the system_id here, private
684660484Sobrien	bfd data has not been copied yet.
684760484Sobrien	(som_write_headers): Instead do it here.
684860484Sobrien
684960484SobrienTue May 24 16:17:18 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
685060484Sobrien
685160484Sobrien	Make MIPS ELF use new ELF backend linker.  No shared library
685260484Sobrien	support yet.
685360484Sobrien	* elf32-mips.c (bfd_mips_elf32_swap_gptab_in): New function.
685460484Sobrien	(bfd_mips_elf32_swap_gptab_out): New function.
685560484Sobrien	(mips_elf_object_p): If last symbol is LOCAL, set elf_bad_symtab.
685660484Sobrien	(mips_elf_final_write_processing): Set sh_info field for .gptab.*
685760484Sobrien	sections.
685860484Sobrien	(mips_elf_fake_sections): Set sh_entsize for .gptab.* sections.
685960484Sobrien	(mips_elf_read_ecoff_info): Read and free external symbols last,
686060484Sobrien	not first, for clarity.
686160484Sobrien	(struct mips_elf_link_hash_entry): Define new structure.
686260484Sobrien	(struct mips_elf_link_hash_table): Define new structure.
686360484Sobrien	(mips_elf_link_hash_lookup): Define new macro.
686460484Sobrien	(mips_elf_link_hash_traverse): Define new macro.
686560484Sobrien	(mips_elf_hash_table): Define new macro.
686660484Sobrien	(mips_elf_link_hash_newfunc): New static function.
686760484Sobrien	(mips_elf_link_hash_table_create): New static function.
686860484Sobrien	(mips_elf_add_symbol_hook): New static function.
686960484Sobrien	(struct extsym_info): Define new structure.
687060484Sobrien	(mips_elf_get_extr, mips_elf_set_index): Remove.
687160484Sobrien	(mips_elf_output_extsym): New static function.
687260484Sobrien	(gptab_compare): New static function.
687360484Sobrien	(mips_elf_final_link): Rewrite to use ELF backend linker, and to
687460484Sobrien	merge gptab information in input files.
687560484Sobrien	(mips_elf_relocate_hi16): New static function.
687660484Sobrien	(mips_elf_relocate_section): New static function.
687760484Sobrien	(bfd_elf32_bfd_link_hash_table_create): Define as macro before
687860484Sobrien	including elf32-target.h.
687960484Sobrien	(elf_backend_relocate_section): Likewise.
688060484Sobrien	(elf_backend_add_symbol_hook): Likewise.
688160484Sobrien	* elf.c (_bfd_elf_link_hash_newfunc): Rename from
688260484Sobrien	elf_link_hash_newfunc and make globally visible.  Change caller.
688360484Sobrien	(_bfd_elf_link_hash_table_init): New function, broken out of
688460484Sobrien	_bfd_elf_link_hash_table_create.
688560484Sobrien	(_bfd_elf_link_hash_table_create): Use
688660484Sobrien	_bfd_elf_link_hash_table_init.
688760484Sobrien	* libelf.h (struct elf_obj_tdata): Add new field bad_symtab.
688860484Sobrien	(elf_bad_symtab): Define new accessor macro.
688960484Sobrien	(_bfd_elf_link_hash_newfunc): Declare.
689099461Sobrien	(_bfd_elf_link_hash_table_init): Declare.
689160484Sobrien	* elfcode.h (elf_object_p): Call backend object_p hook after
689260484Sobrien	swapping in all the section headers.
689360484Sobrien	(map_program_segments): Correct typo: Internal for External.
689460484Sobrien	(elf_link_add_object_symbols): If elf_bad_symtab is set, read all
689560484Sobrien	the symbols.  Skip STB_LOCAL symbols rather than giving an error.
689660484Sobrien	(elf_bfd_final_link): If elf_bad_symtab is set, allocate space for
689760484Sobrien	all symbols, not just locals.
689860484Sobrien	(elf_link_output_extsym): Only skip a symbol not mentioned by a
689960484Sobrien	regular file if it is mentioned by a dynamic object.
690060484Sobrien	(elf_link_input_bfd): If elf_bad_symtab is set, read all the
690160484Sobrien	symbols.
690260484Sobrien
690360484SobrienFri May 20 13:38:23 1994  Jeff Law  (law@snake.cs.utah.edu)
690460484Sobrien
690560484Sobrien	* som.c (som_set_reloc_info): Do not set any relocation info
690660484Sobrien	for SOM fixups which are never passed to BFD.
690760484Sobrien
690860484SobrienFri May 20 11:57:05 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
690960484Sobrien
691060484Sobrien	* coff-mips.c (mips_relocate_section): Add MIPS_R_JMPADDR overflow
691160484Sobrien	checking.
691260484Sobrien
691360484Sobrien	* elf32-i386.c (elf_i386_size_dynamic_sections): Add DT_DEBUG to
691460484Sobrien	the dynamic linking information for the benefit of the debugger.
691560484Sobrien	From Peter Schauer.
691660484Sobrien	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
691760484Sobrien
691860484Sobrien	* elf.c (_bfd_elf_make_section_from_shdr): New function, based on
691960484Sobrien	code repeated three times in bfd_section_from_shdr in elfcode.h.
692060484Sobrien	* libelf.h (_bfd_elf_make_section_from_shdr): Declare.
692160484Sobrien	* elfcode.h (bfd_section_from_shdr): Use new function
692260484Sobrien	_bfd_elf_make_section_from_shdr to create BFD sections.  If a
692360484Sobrien	reloc section does not use the main symbol table, or it is part of
692460484Sobrien	the process image, treat it as a normal section, not relocs.
692560484Sobrien	* elf32-mips.c (mips_elf_section_from_shdr): Use new function
692660484Sobrien	_bfd_elf_make_section_from_shdr.
692760484Sobrien
692860484SobrienThu May 19 11:37:11 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
692960484Sobrien
693060484Sobrien	* elf32-target.h, elf64-target.h: Change ar_max_namelen value from
693160484Sobrien	15 to 14 to match SVR4 ar.
693260484Sobrien
693360484Sobrien	Add support for ELF shared libraries.  Loosely based on work by
693460484Sobrien	Eric Youngdale <ericy@cais.com>.
693560484Sobrien	* libelf.h (struct elf_backend_data): Add new fields for dynamic
693660484Sobrien	linking: elf_backend_create_dynamic_sections,
693760484Sobrien	elf_backend_adjust_dynamic_symbol,
693860484Sobrien	elf_backend_size_dynamic_sections,
693960484Sobrien	elf_backend_finish_dynamic_symbol,
694060484Sobrien	elf_backend_finish_dynamic_sections.
694160484Sobrien	(struct elf_link_hash_entry): Change type of align field to
694260484Sobrien	bfd_size_type.  Add fields dynindx, dynstr_index, weakdef,
694360484Sobrien	elf_link_hash_flags.
694460484Sobrien	(struct elf_link_hash_table): Add fields dynobj, dynsymcount,
694560484Sobrien	dynstr, bucketcount.
694660484Sobrien	(bfd_elf32_swap_reloc_in, bfd_elf32_swap_reloc_out): Declare.
694760484Sobrien	(bfd_elf32_swap_reloca_in, bfd_elf32_swap_reloca_out): Declare.
694860484Sobrien	(bfd_elf32_swap_dyn_in, bfd_elf32_swap_dyn_out): Declare.
694960484Sobrien	(bfd_elf32_add_dynamic_entry): Declare.
695060484Sobrien	(bfd_elf64_swap_reloc_in, bfd_elf64_swap_reloc_out): Declare.
695160484Sobrien	(bfd_elf64_swap_reloca_in, bfd_elf64_swap_reloca_out): Declare.
695260484Sobrien	(bfd_elf64_swap_dyn_in, bfd_elf64_swap_dyn_out): Declare.
695360484Sobrien	(bfd_elf64_add_dynamic_entry): Declare.
695460484Sobrien	* elfcode.h (Elf_External_Dyn): Define.
695560484Sobrien	(elf_swap_reloc_in): Define as macro using NAME.  Make externally
695660484Sobrien	visible.
695760484Sobrien	(elf_swap_reloc_out): Likewise.
695860484Sobrien	(elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
695960484Sobrien	(elf_swap_dyn_in, elf_swap_dyn_out): Define as macro using NAME
696060484Sobrien	and as new externally visible function.
696160484Sobrien	(elf_fake_sections): Set section type of dynamic sections based on
696260484Sobrien	section names.
696360484Sobrien	(elf_write_phdrs): Remove.
696460484Sobrien	(assign_file_position_for_section): Add new align argument.
696560484Sobrien	Change all callers.
696660484Sobrien	(get_program_header_size): New static function.
696760484Sobrien	(struct seg_info): Remove.
696860484Sobrien	(map_program_segments): Completely rewrite.
696960484Sobrien	(assign_file_positions_except_relocs): Completely rewrite.
697060484Sobrien	(assign_file_positions_for_relocs): Don't set a file position for
697160484Sobrien	sections which already have one.  Don't bother to align the file
697260484Sobrien	position here.
697360484Sobrien	(section_from_elf_index): Handle SHT_HASH and SHT_DYNAMIC
697460484Sobrien	section types.
697560484Sobrien	(elf_section_from_bfd_section): Likewise.
697660484Sobrien	(elf_slurp_symbol_table): If section_from_elf_index fails, just
697760484Sobrien	use bfd_abs_section rather than returning an error.
697860484Sobrien	(elf_sizeof_headers): Make useful.
697960484Sobrien	(elf_link_record_dynamic_symbol): New static function.
698060484Sobrien	(elf_link_add_object_symbols): Handle dynamic objects.
698160484Sobrien	(elf_link_create_dynamic_sections): New static function.
698260484Sobrien	(elf_add_dynamic_entry): Define as macro using NAME and as new
698360484Sobrien	externally visible function.
698460484Sobrien	(NAME(bfd_elf,record_link_assignment)): New function.
698560484Sobrien	(elf_buckets): New static variable.
698660484Sobrien	(NAME(bfd_elf,size_dynamic_sections)): New function.
698760484Sobrien	(struct elf_final_link_info): Add dynsym_sec and hash_sec fields.
698860484Sobrien	(elf_bfd_final_link): Handle dynamic linking.  Create a section
698960484Sobrien	symbol for all ELF sections, not all BFD sections.  Store section
699060484Sobrien	symbol index in target_index field, not index field.  Traverse
699160484Sobrien	over global symbols even if stripping.
699260484Sobrien	(elf_link_output_extsym): Output dynamic symbols.  Mark symbols
699360484Sobrien	defined by dynamic objects as undefined.
699460484Sobrien	(elf_link_input_bfd): Ignore dynamic objects.  Use target_index
699560484Sobrien	field for section relocs, and make sure it is set.
699660484Sobrien	(elf_reloc_link_order): Use target_index field for section relocs,
699760484Sobrien	and make sure it is set.
699860484Sobrien	* elf.c (elf_link_hash_newfunc): Initialize dynindx, dynstr_index,
699960484Sobrien	weakdef and elf_link_hash_flags fields.
700060484Sobrien	(_bfd_elf_link_hash_table_create): Initialize dynobj, dynsymcount,
700160484Sobrien	dynstr and bucketcount fields.
700260484Sobrien	* elf32-target.h: Initialize new dynamic linking fields.
700360484Sobrien	* elf64-target.h: Likewise.  
700460484Sobrien	* elf32-i386.c: New functions for dynamic linking support.
700560484Sobrien	* elf32-sparc.c: Likewise.
700660484Sobrien	* bfd-in.h (bfd_elf32_record_link_assignment): Declare.
700760484Sobrien	(bfd_elf64_record_link_assignment): Declare.
700860484Sobrien	(bfd_elf32_size_dynamic_sections): Declare.
700960484Sobrien	(bfd_elf64_size_dynamic_sections): Declare.
701060484Sobrien	* bfd-in2.h: Rebuilt.
701160484Sobrien
701260484SobrienWed May 18 08:29:04 1994  Ian Lance Taylor  (ian@cygnus.com)
701360484Sobrien
701460484Sobrien	* som.c: Don't include <sys/dir.h> or <sys/user.h>.
701560484Sobrien	(som_reloc_queue_find): Call memcmp instead of bcmp.
701660484Sobrien	(som_bfd_reloc_type_lookup): Change first argument to bfd *.
701760484Sobrien	(compare_syms): Change types of arguments to const void *.
701860484Sobrien	(bfd_section_from_som_symbol): Removed unused local found.
701960484Sobrien	(som_write_armap): Add elength, map, orl_count and int arguments.
702060484Sobrien	(som_write_armap): Use %ld and cast to long for getuid result.
702160484Sobrien
702260484SobrienWed May 18 09:09:32 1994  Jeff Law  (law@snake.cs.utah.edu)
702360484Sobrien
702460484Sobrien	* elf32-hppa.h (R_HPPA_ABS_CALL): Define.
702560484Sobrien	* elf32-hppa.c (hppa_elf_gen_reloc_type): Handle absolute calls.
702660484Sobrien
702760484Sobrien	* som.h (R_HPPA_ABS_CALL): Define.
702860484Sobrien	* som.c (hppa_som_gen_reloc_type): Delete complex relocation types.
702960484Sobrien
703060484SobrienTue May 17 19:33:12 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
703160484Sobrien
703260484Sobrien	* coff-i960.c (icoff_little_vec, icoff_big_vec): Indicate leading
703360484Sobrien	underscore, for compatibility with Intel tool chain (gnu960v2).
703460484Sobrien
703560484SobrienMon May 16 10:09:22 1994  Jeff Law  (law@snake.cs.utah.edu)
703660484Sobrien
703760484Sobrien	* bfd-in2.h: Rebuilt.
703860484Sobrien
703960484Sobrien	* elf32-hppa.c: Change .hppa_linker_stubs to .PARISC.stubs,
704060484Sobrien	likewise for other PA specific sections.
704160484Sobrien	(hppa_elf_relocate_unwind_table): Delete unused
704260484Sobrien	function.
704360484Sobrien	(elf_hppa_howto_table): Completely new table based on 94-02-02
704460484Sobrien	draft PA ELF spec.  Change relocation tags appropriately
704560484Sobrien	throughout elf32-hppa.c
704660484Sobrien	(hppa_elf_gen_reloc_type): Rewrite and simplify based on 94-02-02
704760484Sobrien	spec.
704860484Sobrien	(hppa_elf_reloc): Likewise.
704960484Sobrien	(hppa_look_for_stubs_in_section): Likewise
705060484Sobrien	(ELF_MACHINE_CODE): Change to EM_PARISC.
705160484Sobrien	* elf32-hppa.h: Include "elf/hppa.h".  Change relocation tags 
705260484Sobrien	appropriately throughout elf32-hppa.h.
705360484Sobrien	(elf32_hppa_reloc_type): New table based on 94-02-02 draft PA ELF
705460484Sobrien	spec.
705560484Sobrien	(R_HPPA_ABS_CALL, R_HPPA_COMPLEX*, R_HPPA_UNWIND): Delete definitions.
705660484Sobrien	* elfcode.h (prep_headers): Use EM_PARISC instead of EM_HPPA.
705760484Sobrien	* reloc.c (bfd_reloc_code_real): Delete unused HPPA relocations.
705860484Sobrien	* som.h (R_HPPA_ABS_CALL, R_HPPA_COMPLEX): Delete definitions.
705960484Sobrien
706060484Sobrien	* libhppa.h (hppa_field_adjust): Avoid adding constant_value into
706160484Sobrien	the final value twice for LR and RR field selectors.
706260484Sobrien
706360484SobrienSat May 14 09:09:19 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
706460484Sobrien
706560484Sobrien	* aoutx.h (add_to_stringtab): Use BFD_ASSERT not assert.  This
706660484Sobrien	avoids __eprintf troubles.
706760484Sobrien
706860484SobrienFri May 13 10:51:21 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
706960484Sobrien
707060484Sobrien	* bout.c (b_out_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR.
707160484Sobrien
707260484Sobrien	* config/mipsbelf.mt (SELECT_VECS): Add ecoff_big_vec and
707360484Sobrien	ecoff_little_vec since Irix 5 supports ECOFF executables.
707460484Sobrien
707560484SobrienWed May 11 00:31:57 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
707660484Sobrien
707760484Sobrien	* ecoff.c (ecoff_find_nearest_line): Handle fdr.adr != pdr.adr
707860484Sobrien	correctly.
707960484Sobrien
708060484Sobrien	* Makefile.in (stmp-bfd.h): Use || instead of ; to force SunOS
708160484Sobrien	make to invoke the shell.
708260484Sobrien
708360484SobrienTue May 10 14:23:43 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
708460484Sobrien
708560484Sobrien	* section.c (SEC_COFF_SHARED_LIBRARY): Renamed from
708660484Sobrien	SEC_SHARED_LIBRARY for clarity.  Changed all uses.
708760484Sobrien	* bfd-in2.h: Rebuilt.
708860484Sobrien	* coffcode.h (sec_to_styp_flags): If SEC_COFF_SHARED_LIBRARY is
708960484Sobrien	set, set STYP_NOLOAD.
709060484Sobrien	* coffgen.c (coff_section_from_bfd_index): Don't get an assertion
709160484Sobrien	failure because of a bad shared library.
709260484Sobrien
709360484SobrienMon May  9 18:53:40 1994  Bill Cox  (bill@rtl.cygnus.com)
709460484Sobrien
709560484Sobrien	* linker.c: Add missing comment terminator.
709660484Sobrien
709760484SobrienMon May  9 11:53:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
709860484Sobrien
709960484Sobrien	* linker.c (_bfd_generic_link_add_one_symbol): If hashp and *hashp
710060484Sobrien	are not NULL, assume the caller has already looked up the symbol
710160484Sobrien	in the hash table and has stored the entry in *hashp.
710260484Sobrien	(generic_link_add_symbol_list): Set h to NULL before calling
710360484Sobrien	_bfd_generic_link_add_one_symbol.
710460484Sobrien	* ecoff.c (ecoff_link_add_externals): Likewise.
710560484Sobrien
710660484Sobrien	* elfcode.h (assign_file_positions_except_relocs): Don't require
710760484Sobrien	page shared between .data and .bss segments to contain zeroes.
710860484Sobrien
710960484Sobrien	* elfcode.h: Include bfdlink.h.  Added several new functions to do
711060484Sobrien	linking.
711160484Sobrien	(ELF_R_TYPE): Define.
711260484Sobrien	(bfd_add_to_strtab): Return unsigned long.  Change check for
711360484Sobrien	realloc failure.
711460484Sobrien	(elf_fake_sections): Check return value of bfd_add_to_strtab.
711560484Sobrien	(elf_compute_section_file_positions): Add link_info argument.
711660484Sobrien	Call elf_backend_begin_write_processing hook and prep_headers
711760484Sobrien	here.  Only call swap_out_syms if link_info is NULL.  Set up
711860484Sobrien	.shstrtab section here.  Pass dosyms argument to
711960484Sobrien	assign_file_positions_except_relocs.  Set output_has_begun flag.
712060484Sobrien	(assign_file_positions_for_symtab_and_strtabs): Add dosyms
712160484Sobrien	argument, and use it to control setting .symtab and .strtab file
712260484Sobrien	positions.
712360484Sobrien	(assign_file_positions_except_relocs): Add dosyms argument, and
712460484Sobrien	pass it on.
712560484Sobrien	(prep_headers): Check return value of bfd_add_to_strtab.
712660484Sobrien	(swap_out_syms): Likewise.  Also, don't set up .shstrtab here.
712760484Sobrien	(NAME(bfd_elf,write_object_contents)): Some calls moved into
712860484Sobrien	elf_compute_section_file_positions.
712960484Sobrien	(elf_set_section_contents): Likewise.
713060484Sobrien	(elf_slurp_symbol_table): SHN_LORESERV corrected to SHN_LORESERVE.
713160484Sobrien	* libelf.h: Include bfdlink.h.
713260484Sobrien	(struct elf_backend_data): Add fields collect,
713360484Sobrien	elf_add_symbol_hook, elf_backend_relocate_section.
713460484Sobrien	(struct bfd_elf_section_data): Add field rel_hashes.
713560484Sobrien	(struct elf_obj_tdata): Remove fields internal_syms and symbols.
713660484Sobrien	Add field sym_hashes.
713760484Sobrien	(obj_symbols, obj_internal_syms): Remove definitions.
713860484Sobrien	(elf_sym_hashes): Define.
713960484Sobrien	(struct elf_link_hash_entry): Define.
714060484Sobrien	(struct elf_link_hash_table): Define.
714160484Sobrien	(elf_link_hash_lookup): Define.
714260484Sobrien	(elf_link_hash_traverse): Define.
714360484Sobrien	(elf_hash_table): Define.
714460484Sobrien	(_bfd_elf_link_hash_table_create): Declare.
714560484Sobrien	(bfd_elf32_bfd_link_add_symbols): Declare.
714660484Sobrien	(bfd_elf32_bfd_final_link): Declare.
714760484Sobrien	(bfd_elf64_bfd_link_add_symbols): Declare.
714860484Sobrien	(bfd_elf64_bfd_final_link): Declare.
714960484Sobrien	* elf.c: Include bfdlink.h.
715060484Sobrien	(elf_link_hash_newfunc): New function.
715160484Sobrien	(_bfd_elf_link_hash_table_create): New function.
715260484Sobrien	* elf32-target.h (elf_backend_relocate_section): If not defined,
715360484Sobrien	define as 0 and use generic linker.  Otherwise, use ELF backend
715460484Sobrien	linker.
715560484Sobrien	(elf_backend_collect): If not defined, define as false.
715660484Sobrien	(elf_backend_add_symbol_hook): If not defined, define as 0.
715760484Sobrien	(elf32_bed): Initialize new fields.
715860484Sobrien	* elf64-target.h: Same changes as elf32-target.h.
715960484Sobrien	* elf32-i386.c: Include bfdlink.h.
716060484Sobrien	(elf_i386_relocate_section): New function.
716160484Sobrien	(elf_backend_relocate_section): Define.
716260484Sobrien	* elf32-sparc.c: Include bfdlink.h.
716360484Sobrien	(elf_info_to_howto): Change type of dst from Elf32_Internal_Rela
716460484Sobrien	to Elf_Internal_Rela (they're the same type anyhow).
716560484Sobrien	(elf_sparc_relocate_section): New function.
716660484Sobrien	(elf_backend_relocate_section): Define.
716760484Sobrien	* elf32-mips.c (elf_backend_collect): Define.
716860484Sobrien
716960484Sobrien	* Makefile.in (stmp-bfd.h): Avoid useless make error message in a
717060484Sobrien	different way; touch takes a numeric argument on some systems.
717160484Sobrien
717260484SobrienFri May  6 13:34:14 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
717360484Sobrien
717460484Sobrien	* nlmcode.h (nlm_swap_auxiliary_headers_in): Rework custom header
717560484Sobrien	handling for latest suggested format.
717660484Sobrien	(nlm_swap_auxiliary_headers_out): Likewise.
717760484Sobrien	(nlm_compute_section_file_positions): Likewise.
717860484Sobrien
717960484SobrienFri May  6 11:11:50 1994  D. V. Henkel-Wallace  (gumby@rtl.cygnus.com)
718060484Sobrien
718160484Sobrien	* config.bfd: handle erricsson config (for OSE).
718260484Sobrien
718360484SobrienThu May  5 15:40:47 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
718460484Sobrien
718560484Sobrien	Patches from Ralph Campbell:
718660484Sobrien	* mipsbsd.c (mips_fix_jmp_addr): New function.
718760484Sobrien	(mips_fix_hi16_s): Use bfd_is_com_section.
718860484Sobrien	(mips_howto_table_ext): Call mips_fix_jmp_addr for MIPS_RELOC_JMP.
718960484Sobrien
719060484SobrienFri May  6 11:48:55 1994  Steve Chamberlain  (sac@cygnus.com)
719160484Sobrien
719260484Sobrien	* config/go32.mh: XX support.
719360484Sobrien
719460484Sobrien	From bill
719560484Sobrien	* Makefile.in: Build sysdep.h without causing worrying but
719660484Sobrien	harmless error message.
719760484Sobrien
719860484SobrienWed May  4 11:09:53 1994  Ian Lance Taylor  (ian@cygnus.com)
719960484Sobrien
720060484Sobrien	Changed m68k-aout to set flags to 0; m68k-sunos still uses 1.
720160484Sobrien	* aout0.c: New file.
720260484Sobrien	* targets.c (aout0_big_vec): Declare.
720360484Sobrien	(bfd_target_vector): Add aout0_big_vec.
720460484Sobrien	* config.bfd (m68*-*-aout*): Use m68k-0aout, not m68k-aout.
720560484Sobrien	* config/m68k-aout.mt (SELECT_VECS): Removed.
720660484Sobrien	* config/m68k-0aout.mt: New file.
720760484Sobrien	* configure.in (aout0_big_vec): New target vector: use aout0.o,
720860484Sobrien	aout32.o and stab-syms.o.
720960484Sobrien	* Makefile.in: Rebuilt dependencies.
721060484Sobrien	(BFD32_BACKENDS): Add aout0.o.
721160484Sobrien	(CFILES): Add aout0.c.
721260484Sobrien
721360484Sobrien	* libaout.h (struct aout_backend_data): Add field exec_hdr_flags.
721460484Sobrien	* aout-target.h (MY_exec_hdr_flags): If not defined, define as 0.
721560484Sobrien	MY(backend_data): Initialize exec_hdr_flags field.
721660484Sobrien	* aoutf1.h (sunos_32_set_arch_mach): Make static.
721760484Sobrien	(aout32_sunos4_write_object_contents): Set flags from backend
721860484Sobrien	info.
721960484Sobrien	(MY_exec_hdr_flags): If not defined, define as 1.
722060484Sobrien	(sunos4_aout_backend): Initialize exec_hdr_flags field.
722160484Sobrien	* aout-encap.c (encap_write_object_contents): Set flags from
722260484Sobrien	backend info.
722360484Sobrien	(MY_exec_hdr_flags): Define as N_FLAGS_COFF_ENCAPSULATE.
722460484Sobrien	* hp300hpux.c (MY_exec_hdr_flags): Define as 0x2.
722560484Sobrien	(MY(write_object_contents)): Set flags from backend info.
722660484Sobrien	* i386aout.c (MY(backend_data)): Initialize exec_hdr_flags field.
722760484Sobrien	* i386mach3.c (MY(backend_data)): Likewise.
722860484Sobrien	* mipsbsd.c (MY(backend_data)): Likewise.
722960484Sobrien	* sparclynx.c (NAME(aout,sparclynx_write_object_contents)): Set
723060484Sobrien	flags from backend info.
723160484Sobrien	(sparclynx_aout_backend): Initialize exec_hdr_flags field.
723260484Sobrien
723360484SobrienWed May  4 02:56:00 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
723460484Sobrien
723560484Sobrien	* config.bfd (i386-*-gnu*): Treat like i386-*-mach*.
723660484Sobrien	(m68*-apollo-*): Treat all Apollo configs the same, don't handle
723760484Sobrien	BSD specially.
723860484Sobrien
723960484SobrienTue May  3 19:43:21 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
724060484Sobrien
724160484Sobrien	* cache.c: Rewrote to work correctly.
724260484Sobrien	* libbfd.h: Rebuilt.
724360484Sobrien	* opncls.c (bfd_cache_init, bfd_open_file): Don't declare.
724460484Sobrien	(bfd_fdopenr): Check return value of bfd_cache_init.
724560484Sobrien
724660484SobrienFri Apr 29 15:08:23 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
724760484Sobrien
724860484Sobrien	* cf-m68klynx.c (CALC_ADDEND): Check for PC relative relocs by
724960484Sobrien	enumerating them, since the reloc type can not serve as an index
725060484Sobrien	into the m68k COFF howto_table.
725160484Sobrien
725260484SobrienFri Apr 29 09:42:39 1994  Steve Chamberlain  (sac@cygnus.com)
725360484Sobrien
725460484Sobrien        * config.bfd (*-go32): Changed to coff.
725560484Sobrien	* coff-h8300.c (JMPL1): Get HOWTO right for 24bit branches.
725660484Sobrien	* srec.c (srec_write_symbols): Write out the correct number of
725760484Sobrien	symbols and don't stick in extra nulls.
725860484Sobrien
725960484SobrienTue Apr 26 15:07:24 1994  Stan Shebs  (shebs@andros.cygnus.com)
726060484Sobrien
726160484Sobrien	* cf-sparclynx.c (LYNXOS, COFF_LONG_FILENAMES): Define.
726260484Sobrien	* coff-sparc.c (BADMAG): Recognize LYNXCOFFMAGIC.
726360484Sobrien	(COFF_SPARC): Define.
726460484Sobrien	* coffcode.h (coff_new_section_hook): If COFF_SPARC, set alignment
726560484Sobrien	power of data and bss sections to 3.
726660484Sobrien	* hosts/lynx.h (__LYNXOS): Define.
726760484Sobrien
726860484SobrienTue Apr 26 15:04:26 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
726960484Sobrien
727060484Sobrien	* elf32-hppa.c (hppa_elf_reloc): Adjust the addend of relocations
727160484Sobrien	against section symbols to avoid losing during ld -r.
727260484Sobrien
727360484SobrienTue Apr 26 12:16:41 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
727460484Sobrien
727560484Sobrien	* elfcode.h (shstrtab_length_fixed): Remove useless static
727660484Sobrien	variable.
727760484Sobrien	(struct elf_sect_data): Remove unused structure.
727860484Sobrien	(elf_object_p): Free memory if error occurs.  Check return value
727960484Sobrien	of bfd_default_set_arch_mach.  If elf_get_str_section fails,
728060484Sobrien	preserve error code rather than setting wrong_format.
728160484Sobrien	(null_shdr): Remove static variable.
728260484Sobrien	(assign_section_numbers): Remove shstrtab_length_fixed assignment.
728360484Sobrien	Allocate first section header on BFD obstack rather than using
728460484Sobrien	null_shdr.
728560484Sobrien	(bfd_prpsinfo): Remove unused local variable newsect.
728660484Sobrien
728760484SobrienMon Apr 25 15:31:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
728860484Sobrien
728960484Sobrien	* elfcode.h (write_relocs): Undo patch of Apr 10; breaks Solaris.
729060484Sobrien
729160484Sobrien	* elfcode.h (bfd_section_from_shdr): Use bfd_make_section_anyway
729260484Sobrien	to create sections.  Check return value of recursive calls.
729360484Sobrien	(bfd_section_from_phdr): Check return value of bfd_make_section.
729460484Sobrien	(elf_symbol_from_bfd_symbol): Likewise.
729560484Sobrien	(elf_object_p): Check return value of bfd_section_from_shdr.
729660484Sobrien	(section_from_elf_index): Likewise.
729760484Sobrien	(elf_slurp_symbol_table): Check return value of
729860484Sobrien	section_from_elf_index.
729960484Sobrien	(bfd_prstatus): Return boolean value.  Check return value of
730060484Sobrien	bfd_make_section.
730160484Sobrien	(bfd_fpregset): Likewise.
730260484Sobrien	(bfd_prpsinfo): Return boolean value.
730360484Sobrien	(elf_corefile_note): Check return values of bfd_prstatus,
730460484Sobrien	bfd_fpregset, and bfd_prpsinfo.
730560484Sobrien	(elf_core_file_p): Check return value of elf_corefile_note.
730660484Sobrien
730760484SobrienFri Apr 22 11:08:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
730860484Sobrien
730960484Sobrien	Get rid of the ECOFF .reginfo section hack.
731060484Sobrien	* ecoff.c (ecoff_mkobject_hook): Don't create a .reginfo section.
731160484Sobrien	(ecoff_new_section_hook): Don't handle the .reginfo section.
731260484Sobrien	(ecoff_sizeof_headers): Likewise.
731360484Sobrien	(ecoff_get_section_contents): Likewise.
731460484Sobrien	(ecoff_compute_section_file_positions): Likewise.
731560484Sobrien	(ecoff_compute_reloc_file_positions): Likewise.
731660484Sobrien	(ecoff_set_section_contents): Likewise.
731760484Sobrien	(ecoff_write_object_contents): Likewise.
731860484Sobrien	(ecoff_bfd_final_link): Likewise.
731960484Sobrien	(ecoff_bfd_copy_private_bfd_data): Copy the GP value and the
732060484Sobrien	register masks.
732160484Sobrien	(bfd_ecoff_get_gp_value): New function.
732260484Sobrien	(bfd_ecoff_set_gp_value): New function.
732360484Sobrien	(bfd_ecoff_set_regmasks): New function.
732460484Sobrien	* bfd-in.h (bfd_ecoff_get_gp_value): Declare.
732560484Sobrien	(bfd_ecoff_set_gp_value): Declare.
732660484Sobrien	(bfd_ecoff_set_regmasks): Declare.
732760484Sobrien	* bfd-in2.h: Rebuilt.
732860484Sobrien
732960484Sobrien	Fix ECOFF objcopy to actually copy debugging information.
733060484Sobrien	* ecoff.c (ecoff_bfd_copy_private_bfd_data): New function.
733160484Sobrien	(ecoff_get_extr): Assume that any ECOFF symbol with local clear is
733260484Sobrien	an external symbol, rather than checking the symbol flags.  Only
733360484Sobrien	check the flags for non-ECOFF symbols.
733460484Sobrien	* ecofflink.c (bfd_ecoff_debug_externals): Don't crash if the
733560484Sobrien	output_section field of the symbol section is NULL.
733660484Sobrien	* libecoff.h (ecoff_bfd_copy_private_bfd_data): Declare as
733760484Sobrien	function rather than defining as macro.
733860484Sobrien
733960484Sobrien	* ieee.c (ieee_object_p): Set bfd_error_got_wrong_format if
734060484Sobrien	appropriate.
734160484Sobrien
734260484Sobrien	* targets.c (bfd_target_vector): Add bfd_elf32_powerpc_vec.
734360484Sobrien
734460484Sobrien	* aout-adobe.c (aout_adobe_set_arch_mach): Check return value of
734560484Sobrien	bfd_default_set_arch_mach.  Accept bfd_arch_m68k as well as
734660484Sobrien	bfd_arch_unknown.
734760484Sobrien	* coffcode.h (coff_set_arch_mach): Check return value of
734860484Sobrien	bfd_default_set_arch_mach.
734960484Sobrien	* elfcode.h (elf_set_arch_mach): Don't check a list of ELF
735060484Sobrien	architectures, just see if the desired architecture matches what
735160484Sobrien	the ELF backend permits.
735260484Sobrien
735360484Sobrien	* coffcode.h (coff_set_arch_mach_hook): Rename SHMAGIC to
735460484Sobrien	SH_ARCH_MAGIC to match change in coff/sh.h.
735560484Sobrien	(coff_set_flags): Likewise.
735660484Sobrien
735760484Sobrien	Follow convention in which each NLM header has an 8 byte stamp
735860484Sobrien	followed by a four byte length.
735960484Sobrien	* libnlm.h (struct nlm_obj_tdata): Rename nlm_cygnus_section_hdr
736060484Sobrien	to nlm_cygnus_ext_header, and change type to
736160484Sobrien	Nlm_Internal_Cygnus_Ext_Header.
736260484Sobrien	(nlm_cygnus_ext_header): Rename from nlm_cygnus_section_header.
736360484Sobrien	* nlmcode.h (nlm_swap_auxiliary_headers_in): Use CyGnUsEx instead
736460484Sobrien	of CyGnUsSeCs.  Rename from cygnus_section to cygnus_ext.  Require
736560484Sobrien	length word to be 8.
736660484Sobrien	(nlm_swap_auxiliary_headers_out): Rename from cygnus_section to
736760484Sobrien	cygnus_ext.  Set length word to 8.
736860484Sobrien	(nlm_compute_section_file_positions): Rename from cygnus_section
736960484Sobrien	to cygnus_ext.
737060484Sobrien
737160484SobrienThu Apr 21 22:54:22 1994  Stu Grossman  (grossman at cygnus.com)
737260484Sobrien
737360484Sobrien	* nlmcode.h (nlm_swap_auxiliary_headers_in):  Keep section table
737460484Sobrien	(from CyGnUsSeCs) in more permanent memory to keep section names
737560484Sobrien	from getting trashed.
737660484Sobrien
737760484SobrienThu Apr 21 09:29:37 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
737860484Sobrien
737960484Sobrien	* libelf.h (elf_obj_tdata):  Add members for dynamic symbol table
738060484Sobrien	handling.
738160484Sobrien	* elfcode.h (bfd_section_from_shdr):  Handle dynamic symbol table.
738260484Sobrien	* elfcode.h (elf_slurp_symbol_table):  Take additional parameter
738360484Sobrien	to select static or dynamic symbol table and return number of
738460484Sobrien	symbols slurped or -1 on error.
738560484Sobrien	* elfcode.h (elf_get_symtab):  Set bfd symcount from
738660484Sobrien	elf_slurp_symbol_table result.
738760484Sobrien	* elfcode.h (elf_get_dynamic_symtab_upper_bound,
738860484Sobrien	elf_canonicalize_dynamic_symtab):  New functions to handle dynamic
738960484Sobrien	symbol table.
739060484Sobrien	* elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC):
739160484Sobrien	Change to handle dynamic symbol table, provide default definitions
739260484Sobrien	for dynamic relocs.
739360484Sobrien	* aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out),
739460484Sobrien	NAME(aout,swap_std_reloc_in), aout_link_input_section_std,
739560484Sobrien	aout_link_reloc_link_order):  Handle r_jmptable and r_relative
739660484Sobrien	relocations.
739760484Sobrien
739860484SobrienThu Apr 21 11:58:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
739960484Sobrien
740060484Sobrien	Clean up uses of _bfd_dummy_target (from Peter Schauer).
740160484Sobrien	* libbfd.c (_bfd_dummy_target): Set bfd_error_wrong_format.
740260484Sobrien	* nlm-target.h (nlm_core_file_p): Define as _bfd_dummy_target, not
740360484Sobrien	NULL.
740460484Sobrien	* srec.c (srec_vec): Use _bfd_dummy_target, not NULL, in
740560484Sobrien	_bfd_check_format.
740660484Sobrien	(symbolsrec_vec): Likewise.
740760484Sobrien	* tekhex.c (tekhex_vec): Likewise.
740860484Sobrien
740960484Sobrien	* libnlm.h (struct nlm_obj_tdata): Add nlm_cygnus_section_hdr
741060484Sobrien	field.
741160484Sobrien	(nlm_cygnus_section_header): New accessor macro.
741260484Sobrien	* nlmcode.h (nlm_object_p): Free new tdata structure if failure.
741360484Sobrien	Add fixed sections before swapping in auxiliary headers.  After
741460484Sobrien	adding sections, treat errors as real, not as wrong format.
741560484Sobrien	(nlm_swap_auxiliary_headers_in): Swap in the sections header; add
741660484Sobrien	sections to the BFD for each section it describes.
741760484Sobrien	(nlm_swap_auxiliary_headers_out): Swap out the sections header.
741860484Sobrien	(nlm_compute_section_file_positions): Account for the size of the
741960484Sobrien	sections header.
742060484Sobrien
742160484SobrienWed Apr 20 16:45:51 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
742260484Sobrien
742360484Sobrien	* coff-sparc.c (sparccoff_vec): Change minimum alignment power to
742460484Sobrien	2, so that stab sections can be multiples of 4 bytes only.
742560484Sobrien
742660484Sobrien	* hosts/i386aix.h: Changes to avoid prototypes conflicts with the
742760484Sobrien	ones defined in stdlib.h.  (From Minh Tran-Le.)
742860484Sobrien
742960484SobrienWed Apr 20 14:15:21 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
743060484Sobrien
743160484Sobrien	* nlm32-ppc.c: Complete rewrite for new version of PowerPC
743260484Sobrien	NetWare.  Old code still present, but ifdeffed out.
743360484Sobrien
743460484Sobrien	* nlmcode.h (nlm_swap_auxiliary_headers_in): Don't assume a
743560484Sobrien	particular format for the customer header.  Allocate a block of
743660484Sobrien	memory and read it into that.
743760484Sobrien	(nlm_swap_auxiliary_headers_out): Write out the block of memory.
743860484Sobrien	(nlm_compute_section_file_positions): Include length of customer
743960484Sobrien	header when computing its size.
744060484Sobrien
744160484SobrienMon Apr 18 14:27:17 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
744260484Sobrien
744360484Sobrien	* som.c (som_prep_headers): Get the space's number from the
744460484Sobrien	backend private section data rather than target_index.
744560484Sobrien	(bfd_som_set_section_attributes): Store the space's number
744660484Sobrien	in the backend private section data rather than target_index.
744760484Sobrien
744860484Sobrien	* som.h (som_copyable_section_data_struct): Add space_number.
744960484Sobrien
745060484SobrienFri Apr 15 12:22:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
745160484Sobrien
745260484Sobrien	* coff-a29k.c (reloc_processing): Always set the address of a
745360484Sobrien	R_IHCONST reloc to that of the immediately preceding R_IHIHALF.
745460484Sobrien	gas does this anyhow, but some other assemblers seem to leave
745560484Sobrien	garbage in the R_IHCONST address field.
745660484Sobrien
745789857Sobrien	* archive.c: Consistently use ARFMAG; from
745860484Sobrien	schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
745960484Sobrien	(_bfd_write_archive_contents): Use ARFMAG rather than '`' and
746060484Sobrien	'\012'.
746160484Sobrien	(bsd_write_armap): Likewise.
746260484Sobrien	(coff_write_armap): Likewise.
746360484Sobrien
746460484Sobrien	* coff-mips.c (mips_relocate_section): When relaxing, adjust local
746560484Sobrien	relocs against the .text section as required.
746660484Sobrien	* ecofflink.c (bfd_ecoff_debug_accumulate): When relaxing, adjust
746760484Sobrien	PDR addresses as required.
746860484Sobrien
746960484Sobrien	* ecoff.c (ecoff_emit_aggregate): Take fdr argument.  Map fdr
747060484Sobrien	index through rfd map if it exists.  Check for a couple of cases
747160484Sobrien	which gdb handles specially.  Change all callers.
747260484Sobrien	(ecoff_type_to_string): Take fdr argument rather than aux_ptr and
747360484Sobrien	bigendian argument.  Change all callers.
747460484Sobrien	(ecoff_print_symbol): Handle stStruct, stUnion and stEnum.
747560484Sobrien
747660484SobrienThu Apr 14 13:05:10 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
747760484Sobrien
747860484Sobrien	* coff-mips.c (mips_howto_table): Add dummy entries to account for
747960484Sobrien	numbering changes in include/coff/mips.h.  Add entries for
748060484Sobrien	MIPS_R_RELHI and MIPS_R_RELLO.
748160484Sobrien	(mips_ecoff_swap_reloc_in): Handle an extra bit for the reloc type
748260484Sobrien	when little endian.  Treat internal MIPS_R_RELLO or MIPS_R_RELHI
748360484Sobrien	relocs like MIPS_R_SWITCH, and convert r_offset from 24 to 32
748460484Sobrien	bits.
748560484Sobrien	(mips_ecoff_swap_reloc_out): Likewise.
748660484Sobrien	(mips_adjust_reloc_in): Handle internal MIPS_R_RELLO or
748760484Sobrien	MIPS_R_RELHI relocs like MIPS_R_SWITCH.
748860484Sobrien	(mips_adjust_reloc_out): Likewise.
748960484Sobrien	(mips_relhi_addr, mips_relhi_addend): New static variables.
749060484Sobrien	(mips_relhi_reloc, mips_rello_reloc): New functions.
749160484Sobrien	(mips_bfd_reloc_type_lookup): Turn BFD_RELOC_PCREL_HI16_S into
749260484Sobrien	MIPS_R_RELHI and turn BFD_RELOC_PCREL_LO16 into MIPS_R_RELLO.
749360484Sobrien	(mips_relocate_hi): Rename from mips_relocate_refhi, and add pcrel
749460484Sobrien	argument.  Changed all callers.
749560484Sobrien	(mips_relocate_section): Rename got_reflo to got_lo and
749660484Sobrien	reflo_int_rel to lo_int_rel.  Handle MIPS_R_RELLO and MIPS_R_RELHI
749760484Sobrien	relocs.
749860484Sobrien	(mips_relax_section): Adjust MIPS_R_RELHI/MIPS_R_RELLO pairs when
749960484Sobrien	expanding a PC relative call.
750060484Sobrien
750160484Sobrien	* reloc.c (bfd_reloc_code_real_type): Add BFD_RELOC_PCREL_HI16_S
750260484Sobrien	and BFD_RELOC_PCREL_LO16.
750360484Sobrien	* bfd-in2.h: Rebuilt.
750460484Sobrien
750560484SobrienWed Apr 13 11:50:07 1994  Stan Shebs  (shebs@andros.cygnus.com)
750660484Sobrien
750760484Sobrien	* coff-sparc.c (sparccoff_vec): Set minimum alignment power to 3.
750860484Sobrien
750960484SobrienTue Apr 12 13:36:20 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
751060484Sobrien
751160484Sobrien	* som.c (som_write_fixups): Always emit at least
751260484Sobrien        one relocation for any non-bss section.
751360484Sobrien
751460484SobrienMon Apr 11 14:41:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
751560484Sobrien
751660484Sobrien	* elfcode.h (assign_file_positions_except_relocs): Don't require
751760484Sobrien	the file alignment to correspond to the page size when linking
751860484Sobrien	with -N.
751960484Sobrien
752060484SobrienSun Apr 10 01:02:24 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
752160484Sobrien
752260484Sobrien	* elfcode.h (write_relocs): For rela relocations, adjust the
752360484Sobrien	addend for relocations involving section symbols to account
752460484Sobrien	for the lossage of 1:1 mapping from input section symbols to
752560484Sobrien	output section symbols.
752660484Sobrien
752760484SobrienFri Apr  8 12:22:02 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
752860484Sobrien
752960484Sobrien	* aoutx.h (NAME(aout,make_sections)): New function.
753060484Sobrien	(NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections)
753160484Sobrien	rather than making sections inline.
753260484Sobrien	(NAME(aout,mkobject)): Don't make any sections.
753360484Sobrien	(NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections).
753460484Sobrien	(NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or
753560484Sobrien	obj_datasec (abfd) if they are NULL.
753660484Sobrien	* libaout.h (NAME(aout,make_sections)): Declare.
753760484Sobrien	* bout.c (b_out_mkobject): Don't make any sections.
753860484Sobrien	(b_out_write_object_contents): Call aout_32_make_sections.
753960484Sobrien	(b_out_set_section_contents): Likewise.
754060484Sobrien	* i386os9k.c (os9k_mkobject): Don't make any sections.
754160484Sobrien	(os9k_write_object_contents): Call aout_32_make_sections.
754260484Sobrien	(os9k_set_section_contents): Likewise.
754360484Sobrien
754460484Sobrien	* aoutx.h (NAME(aout,new_section_hook)): Don't set N_EXT in target
754560484Sobrien	index.
754660484Sobrien
754760484SobrienWed Apr  6 20:44:56 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
754860484Sobrien
754960484Sobrien	* config.bfd, configure.host:  Add mips-*-sysv4* support.
755060484Sobrien
755160484SobrienThu Apr  7 14:23:05 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
755260484Sobrien
755360484Sobrien	* coff-mips.c (mips_howto_table): Add entry for MIPS_R_SWITCH.
755460484Sobrien	(mips_ecoff_swap_reloc_in): For MIPS_R_SWTICH, copy r_symndx into
755560484Sobrien	r_offset and set r_symndx to RELOC_SECTION_TEXT.
755660484Sobrien	(mips_ecoff_swap_reloc_out): For MIPS_R_SWITCH, get the r_symndx
755760484Sobrien	value from the r_offset field.
755860484Sobrien	(mips_adjust_reloc_in): Maximum r_type value is now MIPS_R_SWITCH.
755960484Sobrien	For MIPS_R_SWITCH, copy the r_offset field into the addend field.
756060484Sobrien	(mips_adjust_reloc_out): For MIPS_R_SWITCH, copy the addend field
756160484Sobrien	into the r_offset field.
756260484Sobrien	(mips_switch_reloc): New function.
756360484Sobrien	(mips_bfd_reloc_type_lookup): Translate BFD_RELOC_GPREL32 into
756460484Sobrien	MIPS_R_SWITCH.
756560484Sobrien	(mips_relocate_section): Handle MIPS_R_SWITCH.
756660484Sobrien	(mips_relax_section): Adjust MIPS_R_SWITCH offset if necessary.
756760484Sobrien
756860484SobrienThu Apr  7 11:10:51 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
756960484Sobrien
757060484Sobrien	* elfcode.h (elf_set_section_contents): Support calling the backend
757160484Sobrien	function elf_backend_begin_write_processing when just beginning to
757260484Sobrien	write an object file.
757360484Sobrien
757460484Sobrien	* libelf.h (elf_backend_begin_write_processing): Declare.
757560484Sobrien
757660484Sobrien	* elf{32,64}-target.h (elf_backend_begin_write_processing): Provide
757760484Sobrien	a default definition.
757860484Sobrien	(elf{32,64}_bed): Add elf_backend_begin_write_processing.
757960484Sobrien	
758060484Sobrien	* elf32-hppa.h (elf_hppa_tc_symbol): Delete extern declaration.
758160484Sobrien	(elf_hppa_tc_make_sections): Likewise.
758260484Sobrien
758360484Sobrien	* elf32-hppa.c (symext_chain_built): Delete.
758460484Sobrien	(symext_chain_size): Renamed from symextn_contents_real_size.
758560484Sobrien	(elf32_hppa_backend_{begin,final}_write_processing): New functions.
758660484Sobrien	(add_entry_to_symext_chain): New function.
758760484Sobrien	(hppa_elf_set_section_contents): Ignore writes to the symbol extension
758860484Sobrien	section until it's been rebuilt internally.
758960484Sobrien	(hppa_elf_get_section_contents): Symbol extension section is no
759060484Sobrien	longer special.
759160484Sobrien	(elf_backend_{begin,final}_write_processing): Define.
759260484Sobrien	(elf_hppa_tc_make_sections): Simplify now that much code has
759360484Sobrien	migrated into elf32_hppa_backend_{being,final}_write_processing.
759460484Sobrien
759560484SobrienWed Apr  6 17:24:14 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
759660484Sobrien
759760484Sobrien	Add new target vectors to read the dynamic symbols and dynamic
759860484Sobrien	relocs.  Change a.out to use these rather than reading the dynamic
759960484Sobrien	symbols and relocs along with the normal symbols and relocs.
760060484Sobrien	* targets.c (bfd_target): Add fields
760160484Sobrien	_bfd_get_dynamic_symtab_upper_bound,
760260484Sobrien	_bfd_canonicalize_dynamic_symtab,
760360484Sobrien	_bfd_get_dynamic_reloc_upper_bound,
760460484Sobrien	_bfd_canonicalize_dynamic_reloc.
760560484Sobrien	(BFD_JUMP_TABLE_DYNAMIC): Define.
760660484Sobrien	* libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound):
760760484Sobrien	Define.
760860484Sobrien	(_bfd_nodynamic_canonicalize_dynamic_symtab): Define.
760960484Sobrien	(_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define.
761060484Sobrien	(_bfd_nodynamic_canonicalize_dynamic_reloc): Define.
761160484Sobrien	* bfd.c (bfd_get_dynamic_symtab_upper_bound): Define.
761260484Sobrien	(bfd_canonicalize_dynamic_symtab): Define.
761360484Sobrien	(bfd_get_dynamic_reloc_upper_bound): Define.
761460484Sobrien	(bfd_canonicalize_dynamic_reloc): Define.
761560484Sobrien	* sunos.c (MY_read_dynamic_symbols): Don't define.
761660484Sobrien	(MY_read_dynamic_relocs): Don't define.
761760484Sobrien	(MY_get_dynamic_symtab_upper_bound): Define.
761860484Sobrien	(MY_canonicalize_dynamic_symtab): Define.
761960484Sobrien	(MY_get_dynamic_reloc_upper_bound): Define.
762060484Sobrien	(MY_canonicalize_dynamic_reloc): Define.
762160484Sobrien	(struct sunos_dynamic_info): Change type of dynsym_count and
762260484Sobrien	dynrel_count to long.  Add fields canonical_dynsym and
762360484Sobrien	canonical_dynrel.
762460484Sobrien	(sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set.
762560484Sobrien	Clear info->canonical_dynsym and info->canonical_dynrel.
762660484Sobrien	(MY(read_dynamic_symbols)): Removed.
762760484Sobrien	(MY(read_dynamic_relocs)): Removed.
762860484Sobrien	(sunos_get_dynamic_symtab_upper_bound): New function.
762960484Sobrien	(sunos_canonicalize_dynamic_symtab): New function.
763060484Sobrien	(sunos_get_dynamic_reloc_upper_bound): New function.
763160484Sobrien	(sunos_canonicalize_dynamic_reloc): New function.
763260484Sobrien	* libaout.h: Declare struct reloc_ext_external and
763360484Sobrien	reloc_std_external to avoid prototype problems.
763460484Sobrien	(struct aout_backend_data): Remove fields read_dynamic_symbols and
763560484Sobrien	read_dynamic_relocs.
763660484Sobrien	(NAME(aout,translate_symbol_table)): Declare.
763760484Sobrien	(NAME(aout,swap_ext_reloc_in)): Declare.
763860484Sobrien	(NAME(aout,swap_std_reloc_in)): Declare.
763960484Sobrien	* aoutx.h (NAME(aout,translate_symbol_table)): Renamed from
764060484Sobrien	translate_symbol_table and made non-static.  Changed all callers.
764160484Sobrien	(NAME(aout,slurp_symbol_table)): Don't read dynamic symbols.
764260484Sobrien	(NAME(aout,slurp_reloc_table)): Don't read dynamic relocs.
764360484Sobrien	(NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs.
764460484Sobrien	* aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to
764560484Sobrien	remove dynamic symbols and relocs.  They will no longer be
764660484Sobrien	present.
764760484Sobrien	(MY_read_dynamic_symbols): Don't define.
764860484Sobrien	(MY_read_dynamic_relocs): Don't define.
764960484Sobrien	(sunos4_aout_backend): Don't initialize dynamic entry points.
765060484Sobrien	* aout-target.h (MY_read_dynamic_symbols): Don't define.
765160484Sobrien	(MY_read_dynamic_relocs): Don't define.
765260484Sobrien	(MY(backend_data)): Don't initialize dynamic entry points.
765360484Sobrien	(MY_get_dynamic_symtab_upper_bound): If not defined, define to
765460484Sobrien	_bfd_nodynamic version.
765560484Sobrien	(MY_canonicalize_dynamic_symtab): Likewise.
765660484Sobrien	(MY_get_dynamic_reloc_upper_bound): Likewise.
765760484Sobrien	(MY_canonicalize_dynamic_reloc): Likewise.
765860484Sobrien	* All backends: Added BFD_JUMP_TABLE_DYNAMIC to target vector.
765960484Sobrien	* bfd-in2.h: Rebuilt.
766060484Sobrien	* libbfd.h: Rebuilt.
766160484Sobrien
766260484Sobrien	* cf-m68klynx.c: Include sysdep.h.
766360484Sobrien
766460484Sobrien	* hp300hpux.c: Removed some spaces in uses of NAME to avoid
766560484Sobrien	problems with traditional C compilers.
766660484Sobrien
766760484Sobrien	* targets.c (bfd_target): Rearranged fields in target vector.
766860484Sobrien	Removed _bfd_debug_info_start, _bfd_debug_info_end and
766960484Sobrien	_bfd_debug_info_accumulate, which were never used.
767060484Sobrien	(BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined.
767160484Sobrien	(BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined.
767260484Sobrien	(BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined.
767360484Sobrien	(BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined.
767460484Sobrien	* All backends: Changed to use the new BFD_JUMP_TABLE_* macros
767560484Sobrien	rather than the single JUMP_TABLE macro.  Removed many of the
767660484Sobrien	weird macro definitions needed to support the monolithic
767760484Sobrien	JUMP_TABLE.
767860484Sobrien	* bfd-in.h (JUMP_TABLE): Removed.
767960484Sobrien	* libbfd-in.h: Define a bunch of macros, and declare a few
768060484Sobrien	functions, for use with the new BFD_JUMP_TABLE_* macros.
768160484Sobrien	* libbfd.c (_bfd_dummy_new_section_hook): Removed.
768260484Sobrien	(bfd_false): Set bfd_error_invalid_operation.
768360484Sobrien	(bfd_nullvoidptr): Likewise.
768460484Sobrien	(bfd_n1): New function.
768560484Sobrien	(_bfd_nocore_core_file_matches_executable_p): Renamed from
768660484Sobrien	_bfd_dummy_core_file_matches_executable_p.
768760484Sobrien	(_bfd_nocore_core_file_failing_command): Similar rename.  Set
768860484Sobrien	bfd_error_invalid_operation.
768960484Sobrien	(_bfd_nocore_core_file_failing_signal): Likewise.
769060484Sobrien	(_bfd_generic_get_section_contents): Renamed from
769160484Sobrien	bfd_generic_get_section_contents.  Changed all callers.
769260484Sobrien	(_bfd_generic_set_section_contents): Similar rename.
769360484Sobrien	* ieee.c: #if 0 out ieee_bfd_debug_info_start,
769460484Sobrien	ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate.  They
769560484Sobrien	were never called.
769660484Sobrien	* bfd-in2.h: Rebuilt.
769760484Sobrien	* libbfd.h: Rebuilt.
769860484Sobrien
769960484SobrienTue Apr  5 22:10:04 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
770060484Sobrien
770160484Sobrien	* Crude support for examining dynamic libraries.
770260484Sobrien	* som.c (som_object_setup): Set DYNAMIC flag for SHL_MAGIC and
770360484Sobrien	DL_MAGIC objects.
770460484Sobrien	(som_prep_headers): Preserve the system_id for DYNAMIC objects.
770560484Sobrien	Use SHL_MAGIC as the magic number of the DYNAMIC flag is set.
770660484Sobrien	Write exec headers for DYNAMIC objects.
770760484Sobrien	(som_begin_writing): DYNAMIC objects have the same alignment
770860484Sobrien	restrictions as D_PAGED objects.
770960484Sobrien	(bfd_section_from_som_symbol): Treat DYNAMIC objects like EXEC_P
771060484Sobrien	objects.
771160484Sobrien	(object_flags): Add DYNAMIC.
771260484Sobrien
771360484SobrienTue Apr  5 17:48:52 1994  Stan Shebs  (shebs@andros.cygnus.com)
771460484Sobrien
771560484Sobrien	* i386lynx.c, sparclynx.c (NAME): Remove embedded whitespace in
771660484Sobrien	macro uses, confuses some non-ANSI compilers.
771760484Sobrien
771860484SobrienTue Apr  5 15:50:01 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
771960484Sobrien
772060484Sobrien	* som.c (som_bfd_free_cached_info): Add missing PARAMS decl.
772160484Sobrien	Don't free anything if we don't have a bfd_object.
772260484Sobrien	(som_close_and_cleanup): Call som_bfd_free_cached_info.
772360484Sobrien
772460484SobrienTue Apr  5 11:22:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
772560484Sobrien
772660484Sobrien	* elf32-mips.c (mips_elf_final_link): Don't remove empty sections.
772760484Sobrien	It turns out not to be required on Irix 5, and it causes problems
772860484Sobrien	if the sections happen to contain symbols.
772960484Sobrien
773060484Sobrien	* elfcode.h (write_shdrs_and_ehdr): Correct bfd_write check.
773160484Sobrien
773260484Sobrien	* aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if
773360484Sobrien	section->relocation is NULL; malloc might have returned NULL when
773460484Sobrien	given a zero size if there were no relocations.
773560484Sobrien	* bout.c (b_out_canonicalize_reloc): Likewise.
773660484Sobrien	* coffcode.h (coff_canonicalize_reloc): Likewise.
773760484Sobrien	* ecoff.c (ecoff_canonicalize_reloc): Likewise.
773860484Sobrien	* elfcode.h (elf_canonicalize_reloc): Likewise.
773960484Sobrien	* mipsbsd.c (MY(canonicalize_reloc)): Likewise.
774060484Sobrien	* i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
774160484Sobrien	* nlmcode.h (nlm_canonicalize_reloc): Likewise.
774260484Sobrien	* som.c (som_canonicalize_reloc): Likewise.
774360484Sobrien	* hp300hpux.c (MY(slurp_reloc_table)): Likewise.  Also, if malloc
774460484Sobrien	returns NULL, don't report an error if we asked for zero bytes.
774560484Sobrien	* i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns
774660484Sobrien	NULL, don't report an error if we asked for zero bytes.
774760484Sobrien	* nlmcode.h (nlm_slurp_reloc_fixups): Likewise.
774860484Sobrien
774960484SobrienMon Apr  4 15:30:49 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
775060484Sobrien
775160484Sobrien	* aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anything
775260484Sobrien	if we don't have a bfd_object.
775360484Sobrien
775460484Sobrien	Made sure that every call to bfd_read, bfd_write, and bfd_seek
775560484Sobrien	checks the return value and handled bfd_error correctly.  These
775660484Sobrien	changes are not itemised.  Also:
775760484Sobrien	* aoutx.h (emit_strtab): Change return type to boolean, and return
775860484Sobrien	errors.
775960484Sobrien	(NAME(aout,write_syms)): Check emit_strtab return value.
776060484Sobrien	(NAME(aout,final_link)): Likewise.
776160484Sobrien	* coffcode.h (coff_write_relocs): Change return type to boolean,
776260484Sobrien	and return errors.
776360484Sobrien	(coff_write_object_contents): Check coff_write_relocs return
776460484Sobrien	value.
776560484Sobrien	* i386os9k.c (os9k_swap_exec_header_in): Change return type to
776660484Sobrien	boolean.
776760484Sobrien	(os9k_object_p): Check os9k_swap_exec_header_in return value.
776860484Sobrien	* oasys.c (oasys_read_record): Change return type to boolean.
776960484Sobrien	(oasys_slurp_symbol_table: Check oasys_read_record return value.
777060484Sobrien	(oasys_object_p, oasys_slurp_section_data): Likewise.
777160484Sobrien	(oasys_write_record): Change return type to boolean.
777260484Sobrien	(oasys_write_syms): Likewise.  Also, check oasys_write_record
777360484Sobrien	return value.
777460484Sobrien	(oasys_write_sections): Check oasys_write_record return value.
777560484Sobrien	(oasys_write_header): Change return type to boolean.  Check
777660484Sobrien	oasys_write_record return value.
777760484Sobrien	(oasys_write_end, oasys_write_data): Likewise.
777860484Sobrien	(oasys_write_object_contents): Check return values of
777960484Sobrien	oasys_write_header, oasys_write_syms, oasys_write_data, and
778060484Sobrien	oasys_write_end.
778160484Sobrien	* srec.c (srec_write_record): Change return type to boolean.
778260484Sobrien	(srec_write_header): Likewise.  Also, check srec_write_record
778360484Sobrien	return value.
778460484Sobrien	(srec_write_section, srec_write_terminator): Likewise.
778560484Sobrien	(srec_write_symbols): Change return type to boolean.
778660484Sobrien	(internal_srec_write_object_contents): Check return value of
778760484Sobrien	srec_write_symbols, srec_write_header, srec_write_section, and
778860484Sobrien	srec_write_terminator.
778960484Sobrien
779060484Sobrien	* Makefile.in: Rebuilt dependencies.
779160484Sobrien
779260484SobrienMon Apr  4 10:56:45 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
779360484Sobrien
779460484Sobrien	* aix386-core.c (aix386_bfd_is_local_label):  Correct cast from
779560484Sobrien	asection to asymbol.
779660484Sobrien	* ptrace-core.c (ptrace_unix_bfd_is_local_label):  Correct cast from
779760484Sobrien	bfd to asymbol.
779860484Sobrien	* trad-core.c (trad_unix_bfd_is_local_label):  Correct cast from
779960484Sobrien	asection to asymbol.
780060484Sobrien
780160484SobrienSun Apr  3 18:27:29 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
780260484Sobrien
780360484Sobrien	* som.c (som_slurp_string_table): Use malloc to allocate space
780460484Sobrien	for the cached copy of the native string table.
780560484Sobrien	(som_slurp_symbol_table): Likewise for the native symbol table.
780660484Sobrien	(som_slurp_reloc_table): Likewise for the native and generic
780760484Sobrien	relocation tables.
780860484Sobrien	(som_bfd_free_cached_info): Free the cached native strings,
780960484Sobrien	symbols, and relocations.  Also free the canonical cached
781060484Sobrien	relocations.
781160484Sobrien
781260484SobrienFri Apr  1 12:40:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
781360484Sobrien
781460484Sobrien	* aoutx.h (aout_link_write_symbols): If keep_memory is false, make
781560484Sobrien	sure the symbol name is stored in permanent memory before adding
781660484Sobrien	it to the string table.
781760484Sobrien
781860484Sobrien	* archive.c (_bfd_write_archive_contents): Once we've found an
781960484Sobrien	object, don't bother to look for more when deciding whether to
782060484Sobrien	build a map.
782160484Sobrien	(compute_and_write_armap): After adding the symbols for a BFD,
782260484Sobrien	call bfd_free_cached_info on it.
782360484Sobrien
782460484Sobrien	Add bfd_free_cached_info support to a.out backends.
782560484Sobrien	* aoutx.h (aout_get_external_symbols): Renamed from
782660484Sobrien	aout_link_get_symbols.  Read strings even if symbols have been
782760484Sobrien	read.  Store string size in obj_aout_string_size.
782860484Sobrien	(NAME(aout,slurp_symbol_table)): Call aout_get_external_symbols to
782960484Sobrien	read the symbols.  Allocate the cached symbols with malloc, not
783060484Sobrien	bfd_alloc.
783160484Sobrien	(NAME(aout,slurp_reloc_table)): Allocate the cached relocs with
783260484Sobrien	malloc, not bfd_alloc.
783360484Sobrien	(NAME(aout,bfd_free_cached_info)): New function; free cached
783460484Sobrien	symbols and relocs.
783560484Sobrien	* libaout.h (struct aoutdata): Add external_string_size field.
783660484Sobrien	(obj_aout_external_string_size): New accessor macro.
783760484Sobrien	(NAME(aout,close_and_cleanup)): Don't declare.
783860484Sobrien	(NAME(aout,bfd_free_cached_info)): Declare.
783960484Sobrien	(aout_32_close_and_cleanup): Don't define.
784060484Sobrien	(aout_64_close_and_cleanup): Don't define.
784160484Sobrien	* aout-target.h (MY_bfd_free_cached_info): If not already defined,
784260484Sobrien	define as NAME(aout,free_cached_info).
784360484Sobrien	(MY_close_and_cleanup): If not already defined, define as
784460484Sobrien	MY_bfd_free_cached_info.
784560484Sobrien	* aout-adobe.c (aout_32_close_and_cleanup): Define.
784660484Sobrien	(aout_32_bfd_free_cached_info): Don't define.
784760484Sobrien	* bout.c (aout_32_close_and_cleanup): Define.
784860484Sobrien	(aout_32_bfd_free_cached_info): Don't define.
784960484Sobrien	* hp300hpux.c (MY_bfd_free_cached_info): Define as bfd_true.
785060484Sobrien	(MY_close_and_cleanup): Don't define.
785160484Sobrien	* i386lynx.c (NAME(lynx,slurp_reloc_table)): Allocate the cached
785260484Sobrien	relocs with malloc, not bfd_alloc.
785360484Sobrien	* i386os9k.c (aout_32_close_and_cleanup): Define.
785460484Sobrien	(aout_32_bfd_free_cached_info): Don't define.
785560484Sobrien
785660484Sobrien	Add a new entry point to free memory cached by a BFD.
785760484Sobrien	* targets.c (bfd_target): Add _bfd_free_cached_info field.
785860484Sobrien	* bfd.c (bfd_free_cached_info): Define.
785960484Sobrien	* bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info.
786060484Sobrien	* bfd-in2.h: Rebuilt.
786160484Sobrien	* All backends: Initialize bfd_free_cached_info entry point to
786260484Sobrien	bfd_true.
786360484Sobrien
786460484Sobrien	* elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of
786560484Sobrien	first, unused, argument.
786660484Sobrien	(hppa_elf_is_local_label): Declare instead of
786760484Sobrien	som_bfd_is_local_label.
786860484Sobrien
786960484Sobrien	* coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of
787060484Sobrien	absolute R_IREL reloc.
787160484Sobrien
787260484SobrienThu Mar 31 11:52:15 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
787360484Sobrien
787460484Sobrien	Added some support for Irix 4 shared libraries.
787560484Sobrien	* ecoff.c (ecoff_new_section_hook): Set SEC_SHARED_LIBRARY for a
787660484Sobrien	.lib section.
787760484Sobrien	(ecoff_sec_to_styp_flags): Set SEC_SHARED_LIBRARY if
787860484Sobrien	STYP_ECOFF_LIB bit is set.
787960484Sobrien	(ecoff_compute_section_file_positions): Round the contents of a
788060484Sobrien	.lib section up to the next page boundary.
788160484Sobrien	(ecoff_set_section_contents): If we see a .lib section, increment
788260484Sobrien	the vma by one to count the number of shared libraries we have.
788360484Sobrien	(ecoff_write_object_contents): Don't crash if we see a
788460484Sobrien	STYP_ECOFF_LIB section, and don't adjust text_start or data_start
788560484Sobrien	or bss_size either.
788660484Sobrien
788760484Sobrien	* coffcode.h (CALC_ADDEND): Change to fetch original symbol value
788860484Sobrien	from original BFD, rather than using value of current BFD symbol.
788960484Sobrien	Needed for new linker.
789060484Sobrien	* coff-sparc.c (CALC_ADDEND): Likewise.
789160484Sobrien
789260484Sobrien	* ecoff.c (ecoff_write_object_contents): Set the text_start and
789360484Sobrien	data_start entries in the optional header correctly even if a text
789460484Sobrien	or data section starts at location zero.
789560484Sobrien
789660484Sobrien	* reloc.c (bfd_reloc_code_real_type): Added BFD_RELOC_26 (from sef
789760484Sobrien	and raeburn).
789860484Sobrien	* bfd-in2.h: Rebuilt.
789960484Sobrien
790060484Sobrien	* nlm32-i386.c (nlm_i386_read_import): Null terminate the symbol
790160484Sobrien	name.
790260484Sobrien	* nlm32-alpha.c (nlm_alpha_read_import): Likewise.
790360484Sobrien	* nlm32-sparc.c (nlm_sparc_read_import): Likewise.
790460484Sobrien
790560484Sobrien	* coffgen.c (coff_write_symbol): Reindented.  Changed to return
790660484Sobrien	boolean, and changed written to unsigned int *.  Check error
790760484Sobrien	returns from called functions.
790860484Sobrien	(coff_write_alien_symbol): Likewise.
790960484Sobrien	(coff_write_native_symbol): Likewise.
791060484Sobrien	(coff_write_symbols): Likewise.  Reworked checks on whether to
791160484Sobrien	write symbol name to string table for clarity and to avoid core
791260484Sobrien	dumping when given a non COFF symbol.
791360484Sobrien	* libcoff-in.h (coff_write_symbols): Declare as returning boolean.
791460484Sobrien	* libcoff.h: Rebuilt.
791560484Sobrien	* coffcode.h (coff_write_object_contents): Check return value of
791660484Sobrien	coff_write_symbols.
791760484Sobrien
791860484SobrienWed Mar 30 16:25:41 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
791960484Sobrien
792060484Sobrien	Changes to let BFD return an error indication from
792160484Sobrien	get_symtab_upper_bound, bfd_canonicalize_symtab,
792260484Sobrien	bfd_get_reloc_upper_bound, and bfd_canonicalize_reloc.  They now
792360484Sobrien	return long instead of unsigned int, and use -1 to indicate an
792460484Sobrien	error.  Along the way, rename get_symtab_upper_bound to
792560484Sobrien	bfd_get_symtab_upper_bound.
792660484Sobrien	* bfd.c (bfd_get_reloc_upper_bound): Return long, and -1 on
792760484Sobrien	errors.
792860484Sobrien	(bfd_canonicalize_reloc): Likewise.
792960484Sobrien	* syms.c (bfd_get_symtab_upper_bound): Renamed from
793060484Sobrien	get_symtab_upper_bound.
793160484Sobrien	* targets.c (bfd_target): Renamed _get_symtab_upper_bound to
793260484Sobrien	_bfd_get_symtab_upper_bound, and changed it and
793360484Sobrien	_bfd_canonicalize_symtab and _get_reloc_upper_bound and
793460484Sobrien	_bfd_canonicalize_reloc to all return long.
793560484Sobrien	* aoutx.h (NAME(aout,get_symtab)): Return long, and -1 on errors.
793660484Sobrien	(NAME(aout,canonicalize_reloc)): Likewise.
793760484Sobrien	(NAME(aout,get_reloc_upper_bound)): Likewise.
793860484Sobrien	(NAME(aout,get_symtab_upper_bound)): Likewise.
793960484Sobrien	* bout.c (b_out_canonicalize_reloc): Likewise.
794060484Sobrien	(b_out_get_reloc_upper_bound): Likewise.
794160484Sobrien	* coffcode.h (coff_canonicalize_reloc): Likewise.
794260484Sobrien	* coffgen.c (coff_get_symtab_upper_bound): Likewise.
794360484Sobrien	(coff_get_symtab): Likewise.
794460484Sobrien	(coff_get_reloc_upper_bound): Likewise.
794560484Sobrien	* ecoff.c (ecoff_get_symtab_upper_bound): Likewise.
794660484Sobrien	(ecoff_get_symtab): Likewise.
794760484Sobrien	(ecoff_canonicalize_reloc): Likewise.
794860484Sobrien	* elfcode.h (elf_get_symtab_upper_bound): Likewise.
794960484Sobrien	(elf_get_reloc_upper_bound): Likewise.
795060484Sobrien	(elf_canonicalize_reloc): Likewise.
795160484Sobrien	(elf_get_symtab): Likewise.
795260484Sobrien	* hp300hpux.c (MY(get_symtab)): Likewise.
795360484Sobrien	(MY(get_symtab_upper_bound)): Likewise.
795460484Sobrien	(MY(canonicalize_reloc)): Likewise.
795560484Sobrien	* i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
795660484Sobrien	* ieee.c (ieee_slurp_external_symbols): Change return type to
795760484Sobrien	boolean.  Check for errors from get_symbol.
795860484Sobrien	(ieee_slurp_symbol_table): Change return type to boolean.  Check
795960484Sobrien	for errors from ieee_slurp_external_symbols.
796060484Sobrien	(ieee_get_symtab_upper_bound): Return long, and -1 on errors.
796160484Sobrien	(ieee_get_symtab): Likewise.
796260484Sobrien	(ieee_get_reloc_upper_bound): Likewise.
796360484Sobrien	(ieee_canonicalize_reloc): Likewise.
796460484Sobrien	* mipsbsd.c (MY(canonicalize_reloc)): Likewise.
796560484Sobrien	* nlmcode.h (nlm_get_symtab_upper_bound): Likewise.
796660484Sobrien	(nlm_get_symtab): Likewise.
796760484Sobrien	(nlm_get_reloc_upper_bound): Likewise.
796860484Sobrien	(nlm_canonicalize_reloc): Likewise.
796960484Sobrien	* oasys.c (oasys_get_symtab_upper_bound): Likewise.
797060484Sobrien	(oasys_get_symtab): Likewise.
797160484Sobrien	(oasys_get_reloc_upper_bound): Likewise.
797260484Sobrien	(oasys_canonicalize_reloc): Likewise.
797360484Sobrien	* som.c (som_get_symtab_upper_bound): Likewise.
797460484Sobrien	(som_get_symtab): Likewise.
797560484Sobrien	(som_get_reloc_upper_bound): Likewise.
797660484Sobrien	(som_canonicalize_reloc): Likewise.
797760484Sobrien	* srec.c (srec_get_symtab_upper_bound): Likewise.
797860484Sobrien	(srec_get_symtab): Likewise.
797960484Sobrien	(srec_get_reloc_upper_bound): Define as bfd_0l.
798060484Sobrien	(srec_canonicalize_reloc): Likewise.
798160484Sobrien	* tekhex.c (tekhex_get_symtab): Return long, and -1 on errors.
798260484Sobrien	(tekhex_get_symtab_upper_bound): Likewise.
798360484Sobrien	(tekhex_get_reloc_upper_bound): Define as bfd_0l.
798460484Sobrien	(tekhex_canonicalize_reloc): Likewise.
798560484Sobrien	* libaout.h (NAME(aout,get_symtab_upper_bound)): Change
798660484Sobrien	declaration to return long.
798760484Sobrien	(NAME(aout,get_symtab)): Likewise.
798860484Sobrien	(NAME(aout,canonicalize_reloc)): Likewise.
798960484Sobrien	(NAME(aout,get_reloc_upper_bound)): Likewise.
799060484Sobrien	* libcoff-in.h (coff_get_symtab_upper_bound): Likewise.
799160484Sobrien	(coff_get_symtab): Likewise.
799260484Sobrien	(coff_get_reloc_upper_bound): Likewise.
799360484Sobrien	* libecoff.h (ecoff_get_symtab_upper_bound): Likewise.
799460484Sobrien	(ecoff_get_symtab): Likewise.
799560484Sobrien	(ecoff_canonicalize_reloc): Likewise.
799660484Sobrien	* libelf.h (bfd_elf32_get_symtab_upper_bound): Likewise.
799760484Sobrien	(bfd_elf32_get_symtab): Likewise.
799860484Sobrien	(bfd_elf32_get_reloc_upper_bound): Likewise.
799960484Sobrien	(bfd_elf32_canonicalize_reloc): Likewise.
800060484Sobrien	(bfd_elf64_get_symtab_upper_bound): Likewise.
800160484Sobrien	(bfd_elf64_get_symtab): Likewise.
800260484Sobrien	(bfd_elf64_get_reloc_upper_bound): Likewise.
800360484Sobrien	(bfd_elf64_canonicalize_reloc): Likewise.
800460484Sobrien	* libnlm.h (nlmNAME(get_symtab_upper_bound)): Likewise.
800560484Sobrien	(nlmNAME(get_symtab)): Likewise.
800660484Sobrien	(nlmNAME(get_reloc_upper_bound)): Likewise.
800760484Sobrien	(nlmNAME(canonicalize_reloc)): Likewise.
800860484Sobrien	* archive.c (compute_and_write_armap): Use error_return and
800960484Sobrien	no_memory_return labels rather than freeing information in various
801060484Sobrien	places.  Change storage, symcount and src_count to long.  Check
801160484Sobrien	errors from bfd_get_symtab_upper_bound and
801260484Sobrien	bfd_canonicalize_symtab.
801360484Sobrien	* bout.c (b_out_relax_section): Change reloc_size to long.  Check
801460484Sobrien	for errors from bfd_get_reloc_upper_bound and
801560484Sobrien	bfd_canonicalize_reloc.
801660484Sobrien	(b_out_get_relocated_section_contents): Likewise.
801760484Sobrien	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
801860484Sobrien	Likewise.
801960484Sobrien	* elf32-mips.c: Likewise.
802060484Sobrien	* elf32-hppa.c (hppa_elf_stub_finish): Likewise.
802160484Sobrien	(hppa_look_for_stubs_in_section): Check for errors from
802260484Sobrien	bfd_get_symtab_upper_bound, bfd_canonicalize_symtab, and
802360484Sobrien	bfd_canonicalize_reloc.
802460484Sobrien	* ecofflink.c (bfd_ecoff_debug_accumulate_other): Check for errors
802560484Sobrien	from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
802660484Sobrien	* linker.c (generic_link_read_symbols): Likewise.
802760484Sobrien	(_bfd_generic_final_link): Check for errors from
802860484Sobrien	bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
802960484Sobrien	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
803060484Sobrien	* reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
803160484Sobrien	(bfd_coff_reloc16_get_relocated_section_contents): Likewise.
803260484Sobrien	* libbfd.c (bfd_0l): New function.
803360484Sobrien	* libbfd-in.h (bfd_0l): Declare.
803460484Sobrien	* aix386-core.c: Change get_symtab_upper_bound, get_symtab,
803560484Sobrien	get_reloc_upper_bound, and canonicalize_reloc to use bfd_0l rather
803660484Sobrien	than bfd_0u.
803760484Sobrien	* cisco-core.c, hppabsd-core.c, hpux-core.c: Likewise.
803860484Sobrien	* irix-core.c, osf-core.c, ptrace-core.c, trad-core.c: Likewise.
803960484Sobrien	* bfd-in2.h: Rebuilt.
804060484Sobrien	* libbfd.h: Rebuilt.
804160484Sobrien	* libcoff.h: Rebuilt.
804260484Sobrien
804360484Sobrien	* nlm32-sparc.c (nlm_sparc_read_reloc): Remove unused variables
804460484Sobrien	temp and name.
804560484Sobrien
804660484SobrienWed Mar 30 08:33:04 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
804760484Sobrien
804860484Sobrien	* hosts/dpx2.h: Define POSIX_UTIME.
804960484Sobrien
805060484SobrienWed Mar 30 00:31:49 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
805160484Sobrien
805260484Sobrien	* i386dynix.c, config/i386-dynix.mt:  New files, handling Dynix
805360484Sobrien	variant of a.out.
805460484Sobrien	* configure.in, config.bfd:  Use them for Dynix.
805560484Sobrien	* Makefile.in:  Add dependencies for i386dynix.o. 
805660484Sobrien	* targets.c:  Add definition for i386dynix_vec.
805760484Sobrien	* hosts/symmetry.h:  Do not define TRAD_CORE_USER_OFFSET for Dynix.
805860484Sobrien	Define HOST_DATA_START_ADDR and TRAD_UNIX_CORE_FILE_FAILING_SIGNAL
805960484Sobrien	for Dynix. Remove inclusion of dynix3.h, Dynix bfd is now handled by
806060484Sobrien	i386dynix.c
806160484Sobrien
806260484SobrienMon Mar 28 12:53:27 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
806360484Sobrien
806460484Sobrien	* Makefile.in (BFD32_BACKENDS): Add coff-sparc.o.
806560484Sobrien
806660484Sobrien	* coffcode.h (coff_set_flags): Handle bfd_arch_powerpc like
806760484Sobrien	bfd_arch_rs6000.
806860484Sobrien
806960484Sobrien	* config.bfd (powerpc-*-aix*): New target; use rs6000.mt.
807060484Sobrien	* config/rs6000.mt (SELECT_ARCHITECTURES): Add bfd_powerpc_arch.
807160484Sobrien
807260484Sobrien	* aoutx.h (translate_from_native_sym_flags): Set SEC_RELOC flag
807360484Sobrien	for generated constructor section.
807460484Sobrien
807560484SobrienSun Mar 27 16:25:22 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
807660484Sobrien
807760484Sobrien	* som.c (som_begin_writing): New approach at dealing with holes
807860484Sobrien	in executables left by the HP linker.  Does not rely on subspace
807960484Sobrien	alignments as subspaces are *NOT* guaranteed to be properly
808060484Sobrien	aligned in an executable (can you believe that!).
808160484Sobrien
808260484SobrienSat Mar 26 10:25:43 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
808360484Sobrien
808460484Sobrien	* som.c (som_get_section_contents): New function.  Do not try
808560484Sobrien	to actually read data from a section that doesn't have either
808660484Sobrien	SEC_LOAD or SEC_DEBUGGING set (eg $BSS$) just return true.
808760484Sobrien
808860484Sobrien        * libbfd.c (bfd_read): Set bfd_error as appropriate for a short
808960484Sobrien	read. (bfd_error_system_call or bfd_error_file_truncated).
809060484Sobrien
809160484Sobrien	* som.c: Do not blindly set bfd_error_system_call after a
809260484Sobrien	failing bfd_read, bfd_write, or bfd_seek.  In a few places
809360484Sobrien	(like som_object_p) override the error status set by bfd_read.
809460484Sobrien
809560484Sobrien	* aix386-core.c, aout-encap,c archive.c, bout.c: Likewise.
809660484Sobrien	* coff-rs6000.c, coffgen.c ecoff.c, elf.c: Likewise.
809760484Sobrien	* elf32-hppa.c, elfcode.h, hp300hpux.c, i386lynx.c: Likewise.
809860484Sobrien	* nlm32-alpha.c, nlm32-i386.c, nlm32-sparc.c: Likewise.
809960484Sobrien
810060484Sobrien	* som.c: Check return values from several bfd_{seek,read,write}
810160484Sobrien	calls that we just assumed were not failing.
810260484Sobrien
810360484SobrienFri Mar 25 11:44:06 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
810460484Sobrien
810560484Sobrien	* hosts/sysv4.h (HAVE_PROCFS): Add comments about ptx4.
810660484Sobrien	* config/sysv4.mh: Add comment.
810760484Sobrien	* config/symmetry.mh: Change comment.
810860484Sobrien	* configure.host: Use sysv4, not symmetry, for i[34]86-sequent-sysv4*.
810960484Sobrien
811060484SobrienFri Mar 25 17:10:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
811160484Sobrien
811260484Sobrien	Changes to support linker relaxing of embedded MIPS PIC code to
811360484Sobrien	use a five instruction sequence for function calls which are out of
811460484Sobrien	range of the bal instruction.
811560484Sobrien	* libecoff.h (struct ecoff_section_tdata): Define.
811660484Sobrien	(ecoff_section_data): Define.
811760484Sobrien	(ecoff_bfd_relax_section): Don't define.
811860484Sobrien	* ecoff.c (ecoff_final_link_debug_accumulate): Don't read or free
811960484Sobrien	the debugging information if it has already been read.
812060484Sobrien	(ecoff_indirect_link_order): Handle _cooked_size being different
812160484Sobrien	from _raw_size.  Don't reread the contents or the relocs if they
812260484Sobrien	have already been read in.
812360484Sobrien	* coff-mips.c (mips_howto_table): Change bitsize of PCREL16 from
812460484Sobrien	18 to 16.
812560484Sobrien	(PCREL16_EXPANSION_ADJUSTMENT): Define.
812660484Sobrien	(mips_relocate_refhi): Take adjust argument.
812760484Sobrien	(mips_relocate_section): Handle reloc offsets stored in section
812860484Sobrien	used_by_bfd field.  Call mips_relax_pcrel16 to handle details of
812960484Sobrien	expanding an out of range PCREL16.  Keep trace of adjustments
813060484Sobrien	required by expansions.  Set s and unset h when converting a reloc
813160484Sobrien	from undefined to section.  Change handling of PC relative relocs:
813260484Sobrien	if against a section, they are correct in the object file, if
813360484Sobrien	against an external symbol they are pcrel_offset.
813460484Sobrien	(mips_relax_section): New function.
813560484Sobrien	(mips_relax_pcrel16): New function.
813660484Sobrien	(ecoff_bfd_relax_section): Define.
813760484Sobrien	* coff-alpha.c (ecoff_bfd_relax_section): Define.
813860484Sobrien	* ecofflink.c (bfd_ecoff_debug_accumulate): Handle adjustments
813960484Sobrien	built by mips_relax_section when writing out addresses.
814060484Sobrien	* elf32-mips.c (mips_elf_read_ecoff_info): Clear adjust field.
814160484Sobrien
814260484Sobrien	* aoutx.h (NAME(aout,find_nearest_line)): The caller expects
814360484Sobrien	functionname_ptr to be set to a symbol name, so prepend
814460484Sobrien	symbol_leading_char.
814560484Sobrien
814660484SobrienThu Mar 24 11:33:46 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
814760484Sobrien
814860484Sobrien	* coff-h8300.c (h8300_reloc16_extra_cases): Add relaxing info
814960484Sobrien	for 16bit relative branches.
815060484Sobrien	* coff-h8500.c (r_high8, r_low16, r_high16): Don't complain on
815160484Sobrien	overflow.
815260484Sobrien
815360484SobrienThu Mar 24 09:21:13 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
815460484Sobrien
815560484Sobrien	* som.c (som_bfd_prep_for_ar_write): Ignore non-SOM objects.
815660484Sobrien	(som_bfd_ar_write_symbol_stuff, som_write_armap): Likewise.
815760484Sobrien
815860484SobrienWed Mar 23 14:29:31 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
815960484Sobrien
816060484Sobrien	* netbsd386.c (N_SET_FLAGS): Delete the old definition.
816160484Sobrien
816260484SobrienWed Mar 23 14:58:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
816360484Sobrien
816460484Sobrien	Clean up the relaxing code for the new linker.
816560484Sobrien	* targets.c (_bfd_relax_section): Take boolean *again argument
816660484Sobrien	rather than asymbol list.
816760484Sobrien	* bfd.c (bfd_relax_section): Change name of fourth argument from
816860484Sobrien	symbols to again.
816960484Sobrien	* reloc.c (bfd_generic_relax_section): Take boolean *again
817060484Sobrien	argument rather than asymbol list.  Always return true.
817160484Sobrien	* bout.c: Include genlink.h.
817260484Sobrien	(aligncode, perform_slip): Declare.
817360484Sobrien	(perform_slip): Take BFD argument rather than asymbol list.
817460484Sobrien	Changed all callers.  Get the symbols from the BFD.  Change the
817560484Sobrien	hash table entry value as well as the symbol value.
817660484Sobrien	(abs32code): Take BFD argument rather than asymbol list.  Changed
817760484Sobrien	all callers.
817860484Sobrien	(aligncode): Likewise.
817960484Sobrien	(b_out_relax_section): Take boolean *again argument rather than
818060484Sobrien	asymbol list.  Only return false if an error occurred.  Set *again
818160484Sobrien	to false.  Get symbols from BFD.
818260484Sobrien	* reloc16.c: Include genlink.h.
818360484Sobrien	(bfd_perform_slip): Take BFD argument rather than asymbol list.
818460484Sobrien	Get the symbols from the BFD.  Change the hash table entry value
818560484Sobrien	as well as the symbol value.
818660484Sobrien	(bfd_coff_reloc16_relax_section): Take boolean *again argument
818760484Sobrien	rather than asymbol list.  Only return false if an error occurred.
818860484Sobrien	Set *again to false.  Get symbols from BFD.
818960484Sobrien	* coffcode.h (bfd_coff_backend_data): Change
819060484Sobrien	_bfd_coff_reloc16_estimate to take BFD argument rather than
819160484Sobrien	asymbol list.
819260484Sobrien	(bfd_coff_reloc16_estimate): Corresponding change.
819360484Sobrien	(dummy_reloc16_estimate): Corresponding change.
819460484Sobrien	* libcoff-in.h (bfd_coff_reloc16_relax_section): Change
819560484Sobrien	declaration to take boolean * rather than asymbol list.
819660484Sobrien	(bfd_perform_slip): Change declaration to take BFD rather than
819760484Sobrien	asymbol list.
819860484Sobrien	* coff-h8300.c (h300_reloc16_estimate): Take BFD argument rather
819960484Sobrien	than asymbol list.  Changed calls to bfd_perform_slip.
820060484Sobrien	* bfd-in2.h: Rebuilt.
820160484Sobrien	* libbfd.h: Rebuilt.
820260484Sobrien	* libcoff.h: Rebuilt.
820360484Sobrien	* Makefile.in: Rebuilt dependencies.
820460484Sobrien
820560484Sobrien	* genlink.h (_bfd_generic_link_get_symbols): Define.
820660484Sobrien	(_bfd_generic_link_get_symcount): Define.
820760484Sobrien	* linker.c (generic_link_read_symbols): New function.
820860484Sobrien	(generic_link_add_object_symbols): Use it.  Use
820960484Sobrien	_bfd_generic_link_get_symbols and _bfd_generic_link_get_symcount
821060484Sobrien	to get the symbols from the BFD.
821160484Sobrien	(generic_link_check_archive_element): Likewise.
821260484Sobrien	(_bfd_generic_final_link): Likewise.
821360484Sobrien	(_bfd_generic_link_output_symbols): Likewise.
821460484Sobrien	(default_indirect_link_order): Likewise.
821560484Sobrien	(generic_link_add_symbol_list): Store pointer to hash table entry
821660484Sobrien	in asymbol udata field.
821760484Sobrien
821860484SobrienTue Mar 22 13:09:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
821960484Sobrien
822060484Sobrien	* coff-mips.c (mips_howto_table): Add entry for new MIPS_R_PCREL16
822160484Sobrien	reloc, used in embedded PIC code.
822260484Sobrien	(mips_adjust_reloc_in): Change sanity check to permit new reloc.
822360484Sobrien	(mips_bfd_reloc_type_lookup): Turn BFD_RELOC_16_PCREL_S2 into
822460484Sobrien	MIPS_R_PCREL16.
822560484Sobrien
822660484Sobrien	* elf32-mips.c (mips_elf_final_link): Account for link_order
822760484Sobrien	relocs when allocating space for relocations.  Set SEC_RELOC flag
822860484Sobrien	for any section which has relocs.  Handle link_order relocs in
822960484Sobrien	link_order loop.  Use _bfd_generic_link_add_symbols_collect for
823060484Sobrien	add_symbls entry point.
823160484Sobrien
823260484Sobrien	* linker.c (_bfd_generic_final_link): Set reloc_count to 0 before
823360484Sobrien	counting relocs.  Set SEC_RELOC flag for any section which has
823460484Sobrien	relocs.
823560484Sobrien
823660484Sobrien	* linker.c (_bfd_default_link_order): Handle bfd_data_link_order.
823760484Sobrien
823860484Sobrien	* linker.c (_bfd_generic_link_add_symbols): Just call
823960484Sobrien	generic_link_add_symbols.
824060484Sobrien	(_bfd_generic_link_add_symbols_collect): New function, like
824160484Sobrien	_bfd_generic_link_add_symbols but also collect constructors and
824260484Sobrien	destructors by name as collect2 does.
824360484Sobrien	(generic_link_add_symbols): New function, like old
824460484Sobrien	_bfd_generic_link_add_symbols but with collect argument.
824560484Sobrien	(generic_link_add_object_symbols): Take collect argument.
824660484Sobrien	(generic_link_check_archive_element_no_collect): New function.
824760484Sobrien	(generic_link_check_archive_element_collect): New function.
824860484Sobrien	(generic_link_check_archive_element): Take collect argument.
824960484Sobrien	(generic_link_add_symbol_list): Take collect argument.
825060484Sobrien	(_bfd_generic_link_add_one_symbol): Rename constructor argument to
825160484Sobrien	collect.
825260484Sobrien	* libbfd-in.h (_bfd_generic_link_add_symbols_collect): Declare.
825360484Sobrien	* libbfd.h: Rebuilt.
825460484Sobrien
825560484SobrienTue Mar 22 10:04:00 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
825660484Sobrien
825760484Sobrien	* archive.c (bfd_construct_extended_name_table): Use ar_padchar
825860484Sobrien	for first character in an extended name.
825960484Sobrien	(_bfd_write_archive_contents): If ar_padchar == '/', then use
826060484Sobrien	"//" as the name of the special archive member holding the
826160484Sobrien	extended name table.
826260484Sobrien
826360484SobrienMon Mar 21 12:28:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
826460484Sobrien
826560484Sobrien	Support for link_order types which generate relocs in order to
826660484Sobrien	support -Ur in the linker.
826760484Sobrien	* linker.c (generic_link_add_symbol_list): Remove bitsize argument
826860484Sobrien	from call to _bfd_generic_link_add_one_symbol.
826960484Sobrien	(_bfd_generic_link_add_one_symbol): Remove bitsize argument.
827060484Sobrien	Don't pass bitsize to constructor call back.  Pass BFD_RELOC_CTOR
827160484Sobrien	instead of bitsize to add_to_set call back.
827260484Sobrien	(_bfd_generic_final_link): Account for link_order relocs when
827360484Sobrien	allocating space for relocations.  Handle them in link_order loop.
827460484Sobrien	(_bfd_generic_reloc_link_order): New function.
827560484Sobrien	(_bfd_default_link_order): If a reloc_link_order is seen here,
827660484Sobrien	abort.
827760484Sobrien	(_bfd_count_link_order_relocs): New function.
827860484Sobrien	* libbfd-in.h (_bfd_generic_link_add_one_symbol): Remove bitsize
827960484Sobrien	argument from declaration.
828060484Sobrien	(_bfd_generic_reloc_link_order): Declare.
828160484Sobrien	(_bfd_count_link_order_relocs): Declare.
828260484Sobrien	* libbfd.h: Rebuilt.
828360484Sobrien	* aoutx.h (aout_link_add_symbols): Remove bitsize argument from
828460484Sobrien	call to _bfd_generic_link_add_one_symbol.
828560484Sobrien	(NAME(aout,final_link)): Account for link_order relocs when
828660484Sobrien	allocating space for relocations.  Handle them after handling all
828760484Sobrien	input BFDs.
828860484Sobrien	(aout_link_reloc_link_order): New function.
828960484Sobrien	* ecoff.c (ecoff_link_add_externals): Remove bitsize argument from
829060484Sobrien	call to _bfd_generic_link_add_one_symbol.
829160484Sobrien	(ecoff_bfd_final_link): Account for link_order relocs when
829260484Sobrien	allocating space for relocations.  Handle them in link_order loop.
829360484Sobrien	(ecoff_link_write_external): Set the storage class of a defined
829460484Sobrien	linker created symbol based on the section it is in.  Correct
829560484Sobrien	bfd_link_hash_weak case to use .sc rather than .st.
829660484Sobrien	(ecoff_reloc_link_order): New function.
829760484Sobrien	* coff-alpha.c (alpha_bfd_reloc_type_lookup): Handle
829860484Sobrien	BFD_RELOC_CTOR.
829960484Sobrien	* coff-mips.c (mips_bfd_reloc_type_lookup): Likewise.
830060484Sobrien
830160484Sobrien	* sunos.c (sunos_read_dynamic_info): Remove unused locals dynsym
830260484Sobrien	and buf.
830360484Sobrien
830460484Sobrien	* cisco-core.c (cisco_core_file_p): Only pass one argument to
830560484Sobrien	bfd_zmalloc.  Free a pointer, not a union.
830660484Sobrien	(cisco_bfd_is_local_label): Correct cast from asection to asymbol.
830760484Sobrien
830860484SobrienSun Mar 20 09:24:36 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
830960484Sobrien
831089857Sobrien	* som.c (som_begin_writing): Fix thinko (off by one error).
831160484Sobrien
831260484Sobrien	* som.c (bfd_section_from_som_symbol): Only to do the value
831360484Sobrien	comparison for function symbols within executables.
831460484Sobrien
831560484Sobrien	* som.c (bfd_section_from_som_symbol): Renamed from
831660484Sobrien	som_section_from_subspace_index.  Pass in a native SOM symbol.
831760484Sobrien	For executables, iterate through the sections to find out
831860484Sobrien	which contains the symbol's address rather than using the
831960484Sobrien	symbol_info field.  (symbol_info has a different meaning for
832060484Sobrien	dynamicly linked executables.)
832160484Sobrien
832260484Sobrien	* trad-core.c (trad_unix_core_file_p): Don't pass abfd to
832360484Sobrien	bfd_zmalloc.
832460484Sobrien
832560484Sobrien	* som.c (som_begin_writing): Fix braino (one call to align
832660484Sobrien	space/subspace data was done unconditionally rather than
832760484Sobrien	just for executables.)
832860484Sobrien
832960484Sobrien	* som.c (som_begin_writing): Align text in all executables to
833060484Sobrien	make HPUX kernel happy.  Fixes strip/objcopy for shared
833160484Sobrien	executables.
833260484Sobrien
833360484SobrienSat Mar 19 07:06:59 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
833460484Sobrien
833560484Sobrien	* som.c (som_begin_writing): Account for alignment needs of
833660484Sobrien	subspaces too when writing executables.  Never request a negative
833760484Sobrien	bss size.  Fixes some problems with demand paged executables,
833860484Sobrien	still having problems with pure executables and shared executables.
833960484Sobrien
834060484SobrienFri Mar 18 19:12:47 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
834160484Sobrien
834260484Sobrien	* trad-core.c (trad_unix_core_file_p): Call bfd_zmalloc not
834360484Sobrien	bfd_zalloc for rawptr, because later on we may call free, not
834460484Sobrien	bfd_release, on it.
834560484Sobrien
834660484Sobrien	* bfd.c (struct _bfd): Add cisco_core_struct to tdata union.
834760484Sobrien	* libbfd.c (bfd_read, bfd_seek): Add comments regarding errors.
834860484Sobrien	* cisco-core.c: New file.
834960484Sobrien	* Makefile.in: Change accordingly.
835060484Sobrien	* configure.in: Recognize cisco_core_vec.
835160484Sobrien	* config/m68k-aout.mt (SELECT_VECS): Add cisco_core_vec.
835260484Sobrien	* targets.c: Add cisco_core_vec.
835360484Sobrien	* bfd-in2.h: Rebuilt.
835460484Sobrien
835560484SobrienFri Mar 18 18:13:49 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
835660484Sobrien
835760484Sobrien	* som.h (som_copyable_section_data_struct): New structure
835860484Sobrien	containing all the private section information which needs
835960484Sobrien	to be copied from input section to output section during
836060484Sobrien	objcopy or strip.
836160484Sobrien	(som_section_data_struct): Remove several fields now in
836260484Sobrien	som_copyable_section_data_struct.  Make the space and 
836360484Sobrien	subspace dictionaries be pointers (to save space when
836460484Sobrien	only reading objects).
836560484Sobrien
836660484Sobrien	* som.c (bfd_som_set_section_attributes): Now returns a boolean;
836760484Sobrien	some references changed.  Allocate a copyable data stucture if
836860484Sobrien	none exists.  Store info into the copyable data structure.
836960484Sobrien	(bfd_som_set_subsection_attributes): Likewise.
837060484Sobrien	(som_is_space, som_is_subspace, som_is_container): New functions.
837160484Sobrien	Use these instead of directly accessing private data.
837260484Sobrien	(som_prep_headers): Allocate space and subspace headers here.
837360484Sobrien	Fill in some fields in the space/subspace headers from the
837460484Sobrien	copyable data.
837560484Sobrien	(som_bfd_copy_private_section_data): Only copy the stuff
837660484Sobrien	that we really need to make objcopy and strip work.  Allocate
837760484Sobrien	the copy_data structure for the output bfd before copying.
837860484Sobrien
837960484Sobrien	* som.h (struct som_exec_data): New structure to hold exec
838060484Sobrien	info that must be preserved when running objcopy/strip.
838160484Sobrien	(struct somdata): Add new "exec_data" field and accessor
838260484Sobrien	macro.  Add some comments on how the various fields are used.
838360484Sobrien	(som_section_data_struct): Make is_space and is_subspace bitfields.
838460484Sobrien	Delete unused subspace_index.  All references now use the
838560484Sobrien	target_index field within the section structure itself.
838660484Sobrien
838760484Sobrien	* som.c (make_unique_section): Delete unused declaration.
838860484Sobrien	(som_bfd_copy_private_bfd_data): New function.
838960484Sobrien	(som_object_setup): Allocate space for and save exec information
839060484Sobrien	that needs to be copied during objcopy/strip.
839160484Sobrien	(som_mkobject): Do not allocate space for a file header here.
839260484Sobrien	It is not used when only reading SOM objects.
839360484Sobrien	(som_prep_headers): Allocate space for and attach a file header
839460484Sobrien	to the output bfd.  For executables, use the saved system_id
839560484Sobrien	value rather than trying to guess the right value.  Do not abort
839660484Sobrien	wwhen setting file_hdr->entry* for executables.
839760484Sobrien	(som_begin_writing): For executables, set the exec_entry and
839860484Sobrien	exec_flags fields.
839960484Sobrien	(som_copy_private_backend_section_data): Always return a value.
840060484Sobrien
840160484Sobrien	* libhppa.h (PA_PAGESIZE): Define.
840260484Sobrien
840360484Sobrien	* som.c (SOM_ALIGN): Define.
840460484Sobrien	(som_begin_writing): If writing an executable, initialize all
840560484Sobrien	fields in the exec header to zero.  Update fields in the exec
840660484Sobrien	header as sizes of loadable subspaces are computed.  Carefully
840760484Sobrien	preserve alignments when building executables.  Actually write the
840860484Sobrien	exec after all the fields are filled in.
840960484Sobrien
841060484Sobrien        * Better long-filename handling.  Reads SOM ABI compliant extended
841160484Sobrien	names, but doesn't quite write compliant extended names yet.
841260484Sobrien	* som.c (som_slurp_extended_name_table): Delete function.  The
841360484Sobrien	generic code will handle things correctly.
841460484Sobrien	(som_slurp_armap): Seek to the beginning of the next member.
841560484Sobrien	(normalize): New function.
841660484Sobrien	(som_bfd_ar_write_symbol_stuff): Take the size of the extended
841760484Sobrien	name table into account when computing the file offsets in the
841860484Sobrien	SOM dictionary.  Make sure to align to an even boundary.
841960484Sobrien	(som_write_armap): Initialize the checksum to zero.
842060484Sobrien	(ar_maxchars): Fix.  Opps.
842160484Sobrien
842260484SobrienFri Mar 18 20:35:24 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
842360484Sobrien
842460484Sobrien	* aoutx.h (reloc_type_lookup): Handle BFD_RELOC_CTOR on a 64-bit
842560484Sobrien	machine.  Handle BFD_RELOC_SPARC13 and BFD_RELOC_SPARC_BASE13.
842660484Sobrien
842760484SobrienThu Mar 17 18:26:46 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
842860484Sobrien
842960484Sobrien	* bfd-in.h (BFD_VERSION): Use @VERSION@.
843060484Sobrien	* Makefile.in (bfd.h): Replace it with contents of VERSION file.
843160484Sobrien	* bfd-in2.h: Regenerated.
843260484Sobrien
843360484Sobrien	* trad-core.c (trad_unix_bfd_is_local_label): Fixed typo where
843460484Sobrien	this was also named trad_unix_bfd_copy_private_bfd_data.
843560484Sobrien
843660484SobrienThu Mar 17 10:37:07 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
843760484Sobrien
843860484Sobrien	* aoutx.h, elfcode.h, coff-alpha.c, bout.c, ecoff.c, ecofflink.c,
843960484Sobrien	elf32-hppa.c, elf32-mips.c, linker.c, som.c, sunos.c: If malloc(0)
844060484Sobrien	returns NULL, it is not an error.  It's possible that some of
844160484Sobrien	these checks are not necessary (because the size can never be
844260484Sobrien	zero), but putting in the checks is the conservative thing to do
844360484Sobrien	in light of the fact that some of these malloc calls replaced
844460484Sobrien	unchecked alloca calls, in which a zero argument would work fine.
844560484Sobrien
844660484SobrienThu Mar 17 11:44:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
844760484Sobrien
844860484Sobrien	* osf-core.c (osf_core_bfd_copy_private_bfd_data): Remove
844960484Sobrien	duplicate definition.
845060484Sobrien	(osf_core_bfd_is_local_label): Define.
845160484Sobrien
845260484Sobrien	* reloc.c (bfd_generic_get_relocated_section_contents): Don't fail
845360484Sobrien	if malloc (0) fails.  bfd_canonicalize_reloc returning 0 is not a
845460484Sobrien	failure indication, it merely means there are no relocs.
845560484Sobrien
845660484Sobrien	* elfcode.h (NAME(bfd_elf,write_object_contents)): Don't use space
845760484Sobrien	after NAME, since SunOS /bin/cc can't handle it.
845860484Sobrien
845960484SobrienWed Mar 16 16:43:33 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
846060484Sobrien
846160484Sobrien	* netbsd386.c (N_SET_FLAGS): Don't nuke the machine id field.
846260484Sobrien	From sukes@glue.umd.edu (Tasuki Hirata).
846360484Sobrien
846460484SobrienWed Mar 16 07:55:54 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
846560484Sobrien
846660484Sobrien	* aoutf1.h (4 places): Use a simple #if on ARCH_SIZE, rather than
846760484Sobrien	all that convoluted stuff with NAME, CAT3, etc.  The convoluted
846860484Sobrien	stuff broke for SunOS4 /bin/cc (due to DEFUN elimination, I guess).
846960484Sobrien
847060484SobrienWed Mar 16 00:02:05 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
847160484Sobrien
847260484Sobrien	* som.c (som_prep_for_fixups): Detect section symbols based
847360484Sobrien	on either the lack of private data or the symbol flags.  Do not
847460484Sobrien	munge section symbol names anymore -- they no longer confuse GDB.
847560484Sobrien	(som_begin_writing): Leave space for an exec header if writing
847660484Sobrien	an executable.
847760484Sobrien	(som_slurp_symbol_table): Recognize both forms of section symbol
847860484Sobrien	names "L$0\002" and "$<FOO>$".  Change the name of "L$0\002"
847960484Sobrien	section symbols to be the name of the section they represent.
848060484Sobrien	Debugging  symbols begin with "L$0\001", not just "L$".
848160484Sobrien
848260484SobrienTue Mar 15 22:58:28 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
848360484Sobrien
848460484Sobrien	* bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
848560484Sobrien
848660484Sobrien	* bfd-in.h (JUMP_TABLE): Add new entries to the jump table
848760484Sobrien	for bfd_copy_private_section_data, bfd_copy_private_bfd_data,
848860484Sobrien	and bfd_is_local_label.
848960484Sobrien
849060484Sobrien	* targets.c: Add new entries to the bfd_target structure.
849160484Sobrien	
849260484Sobrien	* bfd.c (bfd_copy_private_bfd_data): New definition.
849360484Sobrien
849460484Sobrien	* section.c (bfd_copy_private_section_data): New definition.
849560484Sobrien
849660484Sobrien	* syms.c (bfd_is_local_label): New definition.
849760484Sobrien
849860484Sobrien	* libbfd-in.h (bfd_generic_is_local_label): Declare.
849960484Sobrien
850060484Sobrien	* libbfd.c (bfd_generic_is_local_label): New function.
850160484Sobrien
850260484Sobrien	* *-core.c: Provide default definitions for new functions in
850360484Sobrien	the target vector which all point to bfd_false.
850460484Sobrien
850560484Sobrien	* aout-target.h, coffcode.h, elf32-target.h elf64-target.h, ieee.c
850660484Sobrien	libaout.h, libecoff.h, nlm-target.h, oasys.c, srec.c, tekhex.c
850760484Sobrien	Default new vectors for copying private backend data to bfd_true.
850860484Sobrien	Default new vector for determining if a symbol is a local label
850960484Sobrien	to bfd_generic_is_local_label.
851060484Sobrien
851160484Sobrien	* som.c (som_bfd_copy_private_section_data): New function.
851260484Sobrien	(som_bfd_is_local_label): New function.
851360484Sobrien	(som_bfd_copy_private_bfd_data): For now default to bfd_true.
851460484Sobrien
851560484Sobrien	* elf32-hppa.c (hppa_elf_is_local_label): New function.
851660484Sobrien
851760484SobrienTue Mar 15 23:55:47 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
851860484Sobrien
851960484Sobrien	* cf-m68klynx.c (CALC_ADDEND): Use _bfd_m68klynx_howto_table.
852060484Sobrien
852160484SobrienTue Mar 15 04:41:13 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
852260484Sobrien
852360484Sobrien	* Most files:
852460484Sobrien	Replace DEFUN and DEFUN_VOID with K&R-style function definition.
852560484Sobrien	Indent some of them to GNU standards.
852660484Sobrien
852760484Sobrien	* aout32.c, archures.c, core.c, cpu-h8300.c, cpu-i960.c,
852860484Sobrien	cpu-m68k.c, cpu-m88k.c, cpu-mips.c, cpu-vax.c, ctor.c, demo64.c,
852960484Sobrien	elf32-hppa.h, gen-aout.c, host-aout.c, init.c, libhppa.h,
853060484Sobrien	libieee.h, liboasys.h, newsos3.c, som.h, stab-syms.c, sunos.c:
853160484Sobrien	Update copyright years.
853260484Sobrien
853360484SobrienMon Mar 14 11:41:23 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
853460484Sobrien
853560484Sobrien	* som.c (som_prep_for_fixups): A relocation involving the section
853660484Sobrien	symbol for the *ABS* section is really a relocation involving
853760484Sobrien	no symbol.
853860484Sobrien	(som_slurp_symbol_table): Do not set BSF_GLOBAL or BSF_EXPORT for
853960484Sobrien	undefined symbols.  Correctly distinguish between debugger symbols
854060484Sobrien	and section symbols.
854160484Sobrien
854289857Sobrien	* som.c (setup_sections): Set SEC_DEBUGGING and the section attributes
854360484Sobrien	for spaces and subspaces.
854460484Sobrien
854560484Sobrien	* som.c (som_bfd_count_ar_symbols): Fix typo.
854660484Sobrien
854760484Sobrien	* som.c (som_object_setup): Set EXEC_P, D_PAGED, WP_TEXT, and
854860484Sobrien	HAS_RELOC based on the object's magic number.
854960484Sobrien	(make_unique_section): Delete function.  BFD and its users are
855060484Sobrien	prepared to handle multiple sections with the same name.
855160484Sobrien	(setup_sections): Allocate space on the BFD's obstack to hold
855260484Sobrien	section names.  Use bfd_make_setion_anyway rather than the
855360484Sobrien	obsolete make_unique_section.
855460484Sobrien	(som_prep_headers): Choose the correct SOM magic number based
855560484Sobrien	on the BFD's flags.
855660484Sobrien	(som_bfd_fill_in_ar_symbols): Return false, not NULL on error.
855760484Sobrien
855860484SobrienSat Mar 12 09:46:09 1994  Ian Lance Taylor  (ian@cygnus.com)
855960484Sobrien
856060484Sobrien	* elf32-ppc.c: Renamed from elf32-powerpc.c.
856160484Sobrien	* nlm32-ppc.c: Renamed from nlm32-powerpc.c.
856260484Sobrien	* Makefile.in, configure.in: Corresponding changes.
856360484Sobrien
856460484SobrienFri Mar 11 22:27:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
856560484Sobrien
856660484Sobrien	* elf32-powerpc.c: Extensive changes to update to preliminary ABI.
856760484Sobrien
856860484SobrienFri Mar 11 00:34:59 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
856960484Sobrien
857060484Sobrien	* sunos.c (sunos_read_dynamic_info):  Assume that dynamic info
857160484Sobrien	is always located at the start of the data section to allow
857260484Sobrien	recovery of the dynamic info from a stripped executable.
857360484Sobrien	* ecoff.c (ecoff_styp_to_sec_flags):  Handle STYP_PDATA, STYP_XDATA
857460484Sobrien	and STYP_COMMENT.
857560484Sobrien
857660484SobrienWed Mar  9 17:17:53 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
857760484Sobrien
857860484Sobrien	* libbfd-in.h: Remove alloca cruft.  It was missing some necessary
857960484Sobrien	cruft (like the #pragma alloca for AIX).
858060484Sobrien	In addition to that problem, the C alloca calls xmalloc, which
858160484Sobrien	means checking for being out of memory can't work right.  The
858260484Sobrien	following changes remove all uses of alloca from BFD.
858360484Sobrien	* hosts/solaris2.h: Remove alloca cruft.
858460484Sobrien	* som.c: Replace alloca with a fixed size auto array.
858560484Sobrien	* aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
858660484Sobrien	ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c,
858760484Sobrien	sunos.c: Replace alloca with malloc and appropriate error checking and
858860484Sobrien	freeing.
858960484Sobrien	* linker.c: Replace alloca with obstack_alloc.
859060484Sobrien	* libbfd.h: Rebuilt.
859160484Sobrien
859260484SobrienTue Mar  8 12:10:38 1994  Ian Lance Taylor  (ian@cygnus.com)
859360484Sobrien
859460484Sobrien	* coff-mips.c (mips_relocate_section): Handle MIPS_R_LITERAL like
859560484Sobrien	MIPS_R_GPREL.
859660484Sobrien
859760484SobrienSat Mar  5 14:08:54 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
859860484Sobrien
859960484Sobrien	* elf32-hppa.h, elfcode.h:  Replace uses of Elf*_Half, Elf*_Word,
860060484Sobrien	Elf*_Off typedefs by their expansion, the typedefs have been
860160484Sobrien	removed from include/elf/internal.h.
860260484Sobrien	* elfcode.h (bfd_section_from_shdr):  Handle SHT_DYNAMIC section like
860360484Sobrien	SHT_PROGBITS section.
860460484Sobrien
860560484SobrienThu Mar  3 20:03:39 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
860660484Sobrien
860760484Sobrien	* som.h (_PA_RISC_ID): Treat HOST_HPPAOSF just like HOST_HPPABSD.
860860484Sobrien
860960484SobrienWed Mar  2 13:28:06 1994  Jim Kingdon  (kingdon@deneb.cygnus.com)
861060484Sobrien
861160484Sobrien	* configure.host: Recognize i[34]86-sequent-*.
861260484Sobrien
861360484Sobrien	* trad-core.c (trad_unix_core_file_p): A non-zero, not zero,
861460484Sobrien	return from bfd_seek indicates an error.
861560484Sobrien	New macro TRAD_CORE_DSIZE_INCLUDES_TSIZE to replace
861660484Sobrien	TRAD_CORE_STACK_OFFSET.
861760484Sobrien	* hosts/symmetry.h: Define TRAD_CORE_DSIZE_INCLUDES_TSIZE and
861860484Sobrien	TRAD_CORE_USER_OFFSET but not HOST_STACK_OFFSET.
861960484Sobrien
862060484SobrienWed Mar  2 11:57:03 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
862160484Sobrien
862260484Sobrien	* som.[ch]: Do not include libhppa.h in som.c, instead include
862360484Sobrien	it in som.h.
862460484Sobrien
862560484Sobrien	* elf32-hppa.[ch]: Do not include libhppa.h in elf32-hppa.c, instead
862660484Sobrien	include it in elf32-hppa.h.
862760484Sobrien
862860484Sobrien	* som.c (log2): Return -1 on error rather than aborting.
862960484Sobrien	(setup_sections): Bubble up an error from log2.
863060484Sobrien
863160484Sobrien	* Changes to make HP C compiler happy in both traditional
863260484Sobrien	and ANSI mode.
863360484Sobrien	* som.c (hppa_som_gen_reloc_type): Use correct enum type for
863460484Sobrien	field parameter.
863560484Sobrien	(bfd_som_set_section_attributes): Use unsigned int rather than
863660484Sobrien	unsigned char to avoid GNU-C extensions.
863760484Sobrien	(bfd_som_attach_aux_hdr): Return a boolean to indicate success
863860484Sobrien	or failure rather than aborting on failure.
863960484Sobrien
864060484Sobrien	* som.h (bfd_som_set_section_attributes): Fix prototype to match
864160484Sobrien	som.c changes.
864260484Sobrien	(bfd_som_attach_aux_hdr): Add prototype.
864360484Sobrien	(hppa_som-gen_reloc_type): Likewise.
864460484Sobrien
864560484Sobrien	* elf32-hppa.c: Add a couple casts to make HP compiler happy.
864660484Sobrien	(hppa_look_for_stubs_in_section): Do not return false on failure
864760484Sobrien	until rest of code is ready to handle it.  Abort for now.
864860484Sobrien
864960484SobrienTue Mar  1 18:33:59 1994  Jim Kingdon  (kingdon@deneb.cygnus.com)
865060484Sobrien
865160484Sobrien	* bfd-in2.h: Rebuilt.
865260484Sobrien
865360484SobrienTue Mar  1 13:06:53 1994  Kung Hsu  (kung@mexican.cygnus.com)
865460484Sobrien
865560484Sobrien	* i386os9k.c: use new functions bfd_set_error and bfd_get_error.
865660484Sobrien	* Makefile.in: delete an extra blank.
865760484Sobrien	* configure.in : Add i396os9k_vec.
865860484Sobrien
865960484SobrienMon Feb 28 15:41:01 1994  Kung Hsu  (kung@mexican.cygnus.com)
866060484Sobrien
866160484Sobrien	* config.bfd : Add i386-os9k.
866260484Sobrien	* config/i386-os9k.mt : Newly add os9k target makefile.
866360484Sobrien
866460484Sobrien	* i386os9k.c : new file to handle os9k format bfd.
866560484Sobrien	* Makefile.in : Handle new file i386os9k.c
866660484Sobrien	* targets.c : Add bfd_target_os9k_flavour and i386os9k_vec.
866760484Sobrien	* cache.c : Initialize cache_sentinel to 0.
866860484Sobrien
866960484SobrienSun Feb 27 16:30:55 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
867060484Sobrien
867160484Sobrien	* elf32-hppa.c (mismatches, retval_mismatches): Fix mismatch
867260484Sobrien	action in case where caller specified no argument relocation.
867360484Sobrien	(hppa_elf_build_linker_stub): Try again to get the sym_ptr_ptr
867460484Sobrien	right in the original relocation and the stub's relocation.
867560484Sobrien
867660484Sobrien        * elf32-hppa.h (hppa_look_for_stub_in_section): Fix typo.  Delete
867760484Sobrien	unused symbols argument.
867860484Sobrien
867960484Sobrien	* elf32-hppa.c (hppa_elf_stub_reloc): Accept asymbol ** rather
868060484Sobrien	than asymbol * for original target symbol.  All callers changed.
868160484Sobrien	Set reloc->sym_ptr_ptr appropriately.
868260484Sobrien	(hppa_elf_build_linker_stub): Set reloc->sym_ptr_ptr correctly.
868360484Sobrien	(hppa_elf_look_for_stubs_in_section): No longer need symbols
868460484Sobrien	argument.  Use the output symbols when canonicalizing the relocs,
868560484Sobrien	creating them if necessary.
868660484Sobrien
868760484Sobrien	* linker.c (_bfd_generic_link_output_symbols): Do not
868860484Sobrien	rebuild/clobber the output symbols if they already exist.
868960484Sobrien
869060484SobrienSun Feb 27 15:22:36 1994  Stan Shebs  (shebs@andros.cygnus.com)
869160484Sobrien
869260484Sobrien	* targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that
869360484Sobrien	check all the pointer dereferences.  Enabled via DEBUG_BFD_SEND.
869460484Sobrien	* bfd-in2.h: Rebuilt.
869560484Sobrien
869660484Sobrien	* srec.c (hex_value): Always set to a size of 256 bytes.
869760484Sobrien	(srec_init): Cosmetic changes.
869860484Sobrien
869960484SobrienSun Feb 27 11:18:47 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
870060484Sobrien
870160484Sobrien	* elf32-hppa.c: Second half of major cleanup.  More comments,
870260484Sobrien	PARAMize and staticize rest of functions.  Delete unused
870360484Sobrien	functions.  Delete unused/unnecessary arguments to some functions.
870460484Sobrien	Group static vars together.  Abort for bad errors until we have
870560484Sobrien	error code propogation working.  Work on spacing and indention.
870660484Sobrien	Add FIXMEs for unresolved problems.  Use enums rather than
870760484Sobrien	#defines for lots of things.  Merge two functions which build
870860484Sobrien	linker stubs into a single function (so they can easily share a
870960484Sobrien	ton of common code).
871060484Sobrien
871160484SobrienSat Feb 26 10:00:45 1994  Ian Lance Taylor  (ian@cygnus.com)
871260484Sobrien
871360484Sobrien	* reloc.c (_bfd_relocate_contents): Adjust handling of overflow to
871460484Sobrien	avoid depending upon right shifts of signed numbers, and to
871560484Sobrien	correct handling of src_mask with lower bits zero.
871660484Sobrien
871760484Sobrien	* aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.
871860484Sobrien	* ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
871960484Sobrien	* elf32-i386.c: Likewise.
872060484Sobrien	* elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
872160484Sobrien	#if 0 code.
872260484Sobrien	(elf_write_phdrs): Make i unsigned.
872360484Sobrien	(map_program_segments): Make i and n_left unsigned.
872460484Sobrien	(assign_file_positions_except_relocs): Make i unsigned.
872560484Sobrien	(write_shdrs_and_ehdr): Make count unsigned.
872660484Sobrien	(assign_file_positions_for_relocs): Make i unsigned.
872760484Sobrien	(NAME(bfd,elf_write_object_contents)): Make count unsigned.
872860484Sobrien	(section_from_elf_index): Make index argument unsigned.
872960484Sobrien
873060484SobrienFri Feb 25 21:34:58 1994  Ian Lance Taylor  (ian@cygnus.com)
873160484Sobrien
873260484Sobrien	* elfcode.h: Don't include assert.h.
873360484Sobrien	(swap_out_syms): Use BFD_ASSERT rather than assert.
873460484Sobrien
873560484Sobrien	* linker.c (_bfd_generic_link_write_global_symbol): Add missing
873660484Sobrien	break in switch.
873760484Sobrien
873860484Sobrien	* hosts/i386v4.h (qsort, strtol): Remove incorrect and useless
873960484Sobrien	declarations.
874060484Sobrien
874160484SobrienFri Feb 25 16:35:57 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
874260484Sobrien
874360484Sobrien	* libhppa.h (hppa_rebuild_insn): Moved here from elf32-hppa.c.
874460484Sobrien
874560484Sobrien	* elf32-hppa.h (elf_hppa_tc_symbol): Add new arguments.
874660484Sobrien	(elf_hppa_tc_make_sections): Likewise.
874760484Sobrien	(elf_hppa_final_processing): Add extern decl.
874860484Sobrien
874960484Sobrien	* elf32-hppa.c: First half of major cleanup.  Add/cleanup lots of
875060484Sobrien	comments.  PARAMize some static functions.  Delete unused functions.
875160484Sobrien	Delete unused/unnecessary arguments to many functions.  Group
875260484Sobrien	static vars together.  Collapse common case statements together
875360484Sobrien	in many places.  Use default case when possible instead of listing
875460484Sobrien	each case separately.  Abort for bad errors until we get error
875560484Sobrien	code propogation working.  Work on spacing and indention problems.
875660484Sobrien	Add FIXMEs for some unresolved problems.  Delete hopelessly broken 
875760484Sobrien	COMPLEX relocation support (it's never used anyway).
875860484Sobrien	(hppa_elf_rebuild_insn): Delete.  Moved into libhppa.h.
875960484Sobrien	(elf_hppa_tc_symbol): Accept and use new arguments (symext chains).
876060484Sobrien	(elf_hppa_tc_make_sections): Likewise.
876160484Sobrien
876260484Sobrien	* format.c (bfd_check_format_matches): Initialize matching_vector
876360484Sobrien	to keep gcc -Wall quiet.
876460484Sobrien
876560484Sobrien	* elfcode.h (elf_slurp_reloca_table): Fix typo.
876660484Sobrien
876760484Sobrien	* som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)"
876860484Sobrien	not "sizeof (som_symbol_type *)".
876960484Sobrien
877060484Sobrien	* elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)"
877160484Sobrien	not "sizeof (asymbol").  Opps.
877260484Sobrien
877360484SobrienFri Feb 25 13:19:04 1994  Ted Lemon  (mellon@pepper.ncd.com)
877460484Sobrien
877560484Sobrien	* bfd.c (bfd_get_gp_size): Can't return gp value on an archive.
877660484Sobrien	(bfd_set_gp_size):  Can't set gp value on an archive.
877760484Sobrien
877860484SobrienFri Feb 25 12:57:00 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
877960484Sobrien
878060484Sobrien	* srec.c (pass_over): Don't skip too many characters when
878160484Sobrien	end of line seen.
878260484Sobrien
878360484SobrienFri Feb 25 11:41:57 1994  Ian Lance Taylor  (ian@cygnus.com)
878460484Sobrien
878560484Sobrien	* ecoff.c (ecoff_sizeof_headers): Align result to 16 byte
878660484Sobrien	boundary.
878760484Sobrien
878860484SobrienThu Feb 24 07:13:22 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
878960484Sobrien
879060484Sobrien	* som.c (som_bfd_derive_misc_symbol_info): Derive symbol_info
879160484Sobrien	field for absolute symbols in the same manner as undefined
879260484Sobrien	and common symbols.
879360484Sobrien
879460484SobrienThu Feb 24 04:29:19 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
879560484Sobrien
879660484Sobrien	* elfcode.h (elf_core_file_p):  Check for core file e_machine match
879760484Sobrien	like in elf_object_p.
879860484Sobrien
879960484SobrienWed Feb 23 18:28:37 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
880060484Sobrien
880160484Sobrien	* elfcode.h (alloca): Delete declaration.
880260484Sobrien
880360484Sobrien	* som.c (som_prep_headers): Use CPU_PA_RISC1_0 for magic
880460484Sobrien	number rather than HP9000S800_ID.  Note som.c is careful
880560484Sobrien	to make sure CPU_PA_RISC1_0 is always defined.
880660484Sobrien
880760484SobrienMon Feb 21 10:12:02 1994  Stan Shebs  (shebs@andros.cygnus.com)
880860484Sobrien
880960484Sobrien	* Makefile.in (targets.o, archures.o): Use ALL_CFLAGS to supply
881060484Sobrien	flags to explicit compile actions.
881160484Sobrien
881260484SobrienMon Feb 21 09:50:06 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)
881360484Sobrien
881460484Sobrien	* ecofflink.c (ecoff_write_symhdr): Set symhdr->magic here.
881560484Sobrien	* ecoff.c (ecoff_write_object_contents): Make sure .bss section
881660484Sobrien	ends on a page boundary if there is no symbol table.
881760484Sobrien	(ecoff_bfd_final_link): Don't set symhdr->magic here.
881860484Sobrien
881960484Sobrien	* hosts/hp300.h: Include <stdlib.h>; don't declare free.
882060484Sobrien
882160484Sobrien	* som.c (som_bfd_count_ar_symbols): Use a pointer and alloca
882260484Sobrien	rather than an array of variable size.
882360484Sobrien	(som_bfd_fill_in_ar_symbols): Likewise.
882460484Sobrien	(som_bfd_ar_write_symbol_stuff): Likewise.
882560484Sobrien
882660484Sobrien	* coff-alpha.c (alpha_relocate_section): Rewrite mask and shift
882760484Sobrien	operation to avoid OSF 1.3 cc bug.
882860484Sobrien	* ecoff.c (ecoff_write_object_contents): Make text_size, data_size
882960484Sobrien	and bss_size bfd_size_type instead of unsigned long.  Make
883060484Sobrien	text_start and data_start bfd_vma instead of unsigned long.
883160484Sobrien	* ecofflink.c (ecoff_add_string): Remove incorrect cast of return
883260484Sobrien	value.
883360484Sobrien
883460484SobrienSun Feb 20 16:06:54 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)
883560484Sobrien
883660484Sobrien	* linker.c (_bfd_generic_link_add_archive_symbols): Consider
883760484Sobrien	symbols in the order they appear in the archive map.
883860484Sobrien
883960484SobrienSat Feb 19 03:17:32 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
884060484Sobrien
884160484Sobrien	* coff-alpha.c (reloc_nil):  Add forward declaration, add missing
884260484Sobrien	error_message argument.
884360484Sobrien	* coff-sparc.c (bfd_coff_generic_reloc):  Add forward declaration,
884460484Sobrien	add missing error_message argument.
884560484Sobrien	* mipsbsd.c (mips_fix_hi16_s):  Add forward declaration, add missing
884660484Sobrien	error_message argument.
884760484Sobrien
884860484SobrienFri Feb 18 11:41:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
884960484Sobrien
885060484Sobrien	Support for PowerPC NetWare.
885160484Sobrien	* nlm32-powerpc.c: New file.
885260484Sobrien	* config.bfd (powerpc-*-netware*): New target; use ppc-nlm.
885360484Sobrien	* config/ppc-nlm.mt: New file.
885460484Sobrien	* configure.in (nlm32_powerpc_vec): New target vector; use
885560484Sobrien	nlm32-powerpc.o, nlm32.o, nlm.o.
885660484Sobrien	* targets.c (nlm32_powerpc_vec): Declare.
885760484Sobrien	* Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o.
885860484Sobrien	(CFILES): Add nlm32-powerpc.c.
885960484Sobrien
886060484Sobrien	Initial support for PowerPC ELF.  Done without an ABI, and
886160484Sobrien	probably to be changed when I get an ABI.
886260484Sobrien	* config.bfd (powerpc-*-sysv4*): New target; use ppc-elf.
886360484Sobrien	* config/ppc-elf.mt: New file.
886460484Sobrien	* configure.in (bfd_elf32_powerpc_vec): New target vector; use
886560484Sobrien	elf32-powerpc.o, elf32.o, elf.o.
886660484Sobrien	* elf32-powerpc.c: New file.
886760484Sobrien	* elfcode.h (prep_headers): Add bfd_arch_powerpc case.
886860484Sobrien	(elf_set_arch_mach): Likewise.
886960484Sobrien	* targets.c (bfd_elf32_powerpc_vec): Declare.
887060484Sobrien	* Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o.
887160484Sobrien	(CFILES): Add elf32-powerpc.c.
887260484Sobrien	Rebuilt dependencies.
887360484Sobrien
887460484SobrienThu Feb 17 15:29:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
887560484Sobrien
887660484Sobrien	* coffgen.c (coff_write_linenumbers): Always return a value.
887760484Sobrien
887860484Sobrien	* elfcode.h (elf_slurp_symbol_table): Handle zero symbols
887960484Sobrien	reasonably.  Allocate x_symp using alloca.
888060484Sobrien
888160484Sobrien	* elfcode.h (map_program_segments): ELF program header entries
888260484Sobrien	must be sorted by load address.  This used to generate the entries
888360484Sobrien	in reverse order.
888460484Sobrien
888560484Sobrien	* section.c (SEC_IN_MEMORY): Define.
888660484Sobrien	(asection): Rename unused field otheruserdata to contents, and
888760484Sobrien	make it char *.
888860484Sobrien	(bfd_make_section_anyway): Initialize contents field to NULL.
888960484Sobrien	(bfd_get_section_contents): If SEC_IN_MEMORY is set, get section
889060484Sobrien	contents from contents field rather than from file.
889160484Sobrien	* bfd-in2.h: Rebuilt.
889260484Sobrien
889360484SobrienThu Feb 17 08:30:53 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
889460484Sobrien
889560484Sobrien	* bfd.c (bfd_get_error, bfd_set_error): New functions.
889660484Sobrien	(bfd_error): Make static.
889760484Sobrien	(bfd_error_type): Renamed from bfd_ec.  Prepend "bfd_error_" to
889860484Sobrien	all values.
889960484Sobrien	* bfd-in2.h: Regenerated.
890060484Sobrien	* aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h, 
890160484Sobrien	aoutf1.h, aoutx.h, archive.c, archures.c, 
890260484Sobrien	bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c, 
890360484Sobrien	coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c, 
890460484Sobrien	ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c, 
890560484Sobrien	elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c, 
890660484Sobrien	i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c, 
890760484Sobrien	lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c, 
890860484Sobrien	nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c, 
890960484Sobrien	ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c, 
891060484Sobrien	srec.c, sunos.c, syms.c, targets.c, tekhex.c, 
891160484Sobrien	trad-core.c: Change callers.
891260484Sobrien
891360484SobrienTue Feb 15 22:27:27 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
891460484Sobrien
891560484Sobrien	* som.c: Remove FIXMEs for things which have been dealt with.
891660484Sobrien
891760484SobrienTue Feb 15 19:39:24 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
891860484Sobrien
891960484Sobrien	* section.c (bfd_get_section_contents): Since this function reads
892060484Sobrien	unrelocated contents, the section's raw size is always the one to
892160484Sobrien	use for bounds checking.
892260484Sobrien
892360484Sobrien	* linker.c (default_indirect_link_order): In assertion, compare
892460484Sobrien	link_order size field against cooked size, not raw size, of input
892560484Sobrien	section.
892660484Sobrien
892760484Sobrien	* bout.c (b_out_get_reloc_upper_bound): For BSS section, just
892860484Sobrien	return 0.
892960484Sobrien	(aligncode): When shrinking, the addend should be set to the
893060484Sobrien	current offset in the section plus the number of bytes of padding
893160484Sobrien	that will actually be retained.
893260484Sobrien	(b_out_relax_section): If a section contains no relocations, don't
893360484Sobrien	bother processing them.
893460484Sobrien	(b_out_get_relocated_section_contents): Set reloc_done.  Assert
893560484Sobrien	that bfd_get_section_contents returns true.  Check that relocs are
893660484Sobrien	properly ordered.
893760484Sobrien	(b_out_get_relocated_section_contents, case ALIGNDONE): Assert
893860484Sobrien	that reloc->addend falls between the current source offset and the
893960484Sobrien	raw size of the input section.
894060484Sobrien
894160484Sobrien	* config.bfd: Support i960 vxworks versions > 5.0 with coff, not
894260484Sobrien	bout.  Default with no version number is still bout.  Support
894360484Sobrien	explicit i960-coff target too.
894460484Sobrien
894560484Sobrien	* bout.c: Changed some indentation, deleted trailing whitespace,
894660484Sobrien	fixed some comments, removed some "#if 1" lines.
894760484Sobrien	(output_addr): New macro.
894860484Sobrien	(calljx_callback, callj_callback, get_value, abs32code, aligncode,
894960484Sobrien	b_out_get_relocated_section_contents): Use it for readability.
895060484Sobrien
895160484SobrienTue Feb 15 09:00:16 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
895260484Sobrien
895360484Sobrien	* som.c (som_bfd_prep_for_ar_write): Iterate through the SOM
895460484Sobrien	symbols, not the BFD symbols.
895560484Sobrien	(som_bfd_ar_write_symbol_stuff): Likewise.
895660484Sobrien
895760484SobrienMon Feb 14 22:55:20 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
895860484Sobrien
895960484Sobrien	* som.c (som_slurp_symbol_table): Do not die if a BFD doesn't
896060484Sobrien	have any symbols.
896160484Sobrien
896260484Sobrien	* Finish basic read-write support for SOM archive libraries.  Bugs
896360484Sobrien	surely remain as this hasn't been tested all that much.
896460484Sobrien	* som.c (SOM_LST_HASH_SIZE, SOM_LST_MODULE_LIMIT): Define.
896560484Sobrien	(struct som_misc_symbol_info): New structure to hold info necessary
896660484Sobrien	to build both normal and library symbol tables.
896760484Sobrien	(som_derive_misc_symbol_info): New function to derive info necessary
896860484Sobrien	to build both normal and library symbol tables.
896960484Sobrien	(som_build_and_write_symbol_table): Use new function to derive misc
897060484Sobrien	symbol information.
897160484Sobrien	(som_slurp_symbol_table): Update backend private data for symbols
897260484Sobrien	appropriately.
897360484Sobrien	(som_bfd_prep_for_ar_write): New function.
897460484Sobrien	(som_bfd_ar_symbol_hash): New function.
897560484Sobrien	(som_bfd_ar_write_symbol_stuff): New function.
897660484Sobrien	(som_write_armap): Flesh out.
897760484Sobrien	(som_vec): Fix ar padding character.
897860484Sobrien
897960484Sobrien	* som.c: Consistently use memset rather than bzero.
898060484Sobrien
898160484SobrienMon Feb 14 17:02:28 1994  Stu Grossman  (grossman at cygnus.com)
898260484Sobrien
898360484Sobrien	* coff-rs6000.c:  Add Lynx core file support, use HOST_AIX, where
898460484Sobrien	appropriate.
898560484Sobrien	* rs6000-core.c:  Use HOST_AIX instead of COREFILES_PLEASE.
898660484Sobrien	* config/rs6000.mh:  Remove defs of ARCHIVES_PLEASE and
898760484Sobrien	COREFILES_PLEASE.
898860484Sobrien	* config/rs6000lynx.mh:  Turn on Lynx core file support.
898960484Sobrien	* hosts/rs6000.h:  #define HOST_AIX.
899060484Sobrien	* hosts/rs6000lynx.h:  Create this to enable Lynx host support.
899160484Sobrien
899260484SobrienSun Feb 13 14:30:00 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
899360484Sobrien
899460484Sobrien	* som.h (som_symbol_data): Safely access backend private data
899560484Sobrien	for BFD symbols.  All callers changed.
899660484Sobrien
899760484Sobrien	* Read-only SOM archive support.
899860484Sobrien	* som.c (som_bfd_count_ar_symbols): New helper function.
899960484Sobrien	(som_bfd_fill_in_ar_symbols): New helper function.
900060484Sobrien	(som_slurp_armap): New function to read a SOM LST.
900160484Sobrien
900260484Sobrien	* som.h: Include <lst.h> and <ar.h>.
900360484Sobrien
900460484SobrienSat Feb 12 22:34:14 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
900560484Sobrien
900660484Sobrien	* elfcode.h (elf_map_symbols): Fix typo.
900760484Sobrien	(write_object_contents): Check return values from prep_headers and
900860484Sobrien	elf_compute_section_file_positions.
900960484Sobrien	(set_section_contents): Likewise.
901060484Sobrien
901160484SobrienFri Feb 11 16:56:50 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
901260484Sobrien
901360484Sobrien	* archive.c (normalize) [VMS]: Call malloc, not bfd_xmalloc.
901460484Sobrien	(bfd_construct_extended_name_table): Check result of normalize.
901560484Sobrien
901660484SobrienTue Feb  8 08:57:31 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
901760484Sobrien
901860484Sobrien	Make all callers of malloc or realloc (including via obstacks)
901960484Sobrien	check the result for NULL.  Most set bfd_error to no_memory and
902060484Sobrien	return in that case; a few are harder to fix, and are marked
902160484Sobrien	with "FIXME <return type>".
902260484Sobrien
902360484Sobrien	* elf32-hppa.c (hppa_elf_build_arg_reloc_stub
902460484Sobrien	hppa_elf_build_long_branch_stub):  Check bfd_make_empty_symbol return.
902560484Sobrien	* linker.c (_bfd_generic_link_output_symbols
902660484Sobrien	_bfd_generic_link_write_global_symbol): Ditto
902760484Sobrien	* section.c (bfd_make_section_anyway): Ditto.
902860484Sobrien
902960484Sobrien	* tekhex.c (find_chunk tekhex_mkobject): Check bfd_alloc.
903060484Sobrien	(first_phase): Ditto.  FIXME void
903160484Sobrien	(tekhex_make_empty_symbol): Check bfd_zalloc.
903260484Sobrien
903360484Sobrien	* sunos.c (sunos_read_dynamic_info): Check bfd_zalloc.
903460484Sobrien	(MY(read_dynamic_symbols) MY(read_dynamic_relocs)): Check bfd_alloc.
903560484Sobrien
903660484Sobrien	* stringhash.c (_bfd_stringtab_hash_newfunc): Check bfd_hash_allocate.
903760484Sobrien
903860484Sobrien	* srec.c: Indent.
903960484Sobrien	(fillup_symbols): Check bfd_alloc.  FIXME void
904060484Sobrien	(srec_mkobject srec_get_section_contents
904160484Sobrien	srec_set_section_contents): Check bfd_alloc. 
904260484Sobrien	(srec_make_empty_symbol): Check bfd_zalloc.
904360484Sobrien
904460484Sobrien	* som.c (hppa_som_gen_reloc_type): Check bfd_alloc_by_size_t.
904560484Sobrien	(make_unique_section): Check bfd_alloc.
904660484Sobrien	(som_new_section_hook): Check bfd_zalloc.
904760484Sobrien	(bfd_som_attach_aux_hdr): Ditto.  FIXME void
904860484Sobrien
904960484Sobrien	* rs6000-core.c (rs6000coff_core_p): Check bfd_zalloc.
905060484Sobrien
905160484Sobrien	* osf-core.c (osf_core_make_empty_symbol): Check bfd_zalloc.
905260484Sobrien	(osf_core_core_file_p): Check bfd_alloc.
905360484Sobrien
905460484Sobrien	* oasys.c (oasys_slurp_symbol_table oasys_archive_p
905560484Sobrien	oasys_mkobject oasys_object_p oasys_new_section_hook
905660484Sobrien	oasys_set_section_contents): Check bfd_alloc.
905760484Sobrien	(oasys_slurp_section_data): Check bfd_zalloc and bfd_alloc.
905860484Sobrien	(oasys_make_empty_symbol): Check bfd_zalloc.
905960484Sobrien
906060484Sobrien	* nlmcode.h (nlm_make_empty_symbol): Check bfd_zalloc.
906160484Sobrien	(nlm_slurp_symbol_table): Check bfd_zalloc and bfd_alloc.
906260484Sobrien
906360484Sobrien	* nlm32-sparc.c (nlm_sparc_read_import): Check bfd_alloc.
906460484Sobrien
906560484Sobrien	* nlm32-i386.c (nlm_i386_read_import): Check bfd_alloc.
906660484Sobrien
906760484Sobrien	* nlm32-alpha.c (nlm_alpha_read_import): Check bfd_alloc.
906860484Sobrien
906960484Sobrien	* linker.c (_bfd_link_hash_newfunc
907060484Sobrien	(generic_link_hash_newfunc
907160484Sobrien	(archive_hash_newfunc
907260484Sobrien	(_bfd_generic_link_add_one_symbol): Check bfd_hash_allocate.
907360484Sobrien	(_bfd_generic_final_link
907460484Sobrien	(_bfd_generic_link_output_symbols
907560484Sobrien	(default_indirect_link_order): Check bfd_alloc.
907660484Sobrien	(bfd_new_link_order): Check bfd_alloc_by_size_t.
907760484Sobrien
907860484Sobrien	* irix-core.c (irix_core_make_empty_symbol): Check bfd_zalloc.
907960484Sobrien
908060484Sobrien	* ieee.c: Indent.
908160484Sobrien	(read_id get_symbol get_section_entry ieee_archive_p ieee_object_p
908260484Sobrien	ieee_slurp_section_data ieee_new_section_hook): Check bfd_alloc.
908360484Sobrien	(do_one): Check bfd_alloc.  Return a boolean.
908460484Sobrien	(ieee_slurp_section_data): Check it.
908560484Sobrien	(init_for_output): Check bfd_alloc.  Return a boolean.
908660484Sobrien	(ieee_set_section_contents): Check it.
908760484Sobrien	(do_with_relocs):  Check bfd_alloc.  Return a boolean.
908860484Sobrien	(ieee_bfd_debug_info_accumulate): Ditto.  FIXME void.
908960484Sobrien	(ieee_mkobject): Check bfd_zalloc.
909060484Sobrien	(ieee_make_empty_symbol): Check bfd_zmalloc.
909160484Sobrien
909260484Sobrien	* hpux-core.c (hpux_core_make_empty_symbol): Check
909360484Sobrien	bfd_zalloc.
909460484Sobrien
909560484Sobrien	* hppabsd-core.c (hppabsd_core_make_empty_symbol): Check
909660484Sobrien	bfd_zalloc.
909760484Sobrien	(hppabsd_core_core_file_p): Check bfd_zalloc.
909860484Sobrien
909960484Sobrien	* hp300hpux.c (MY(slurp_symbol_table)): Check bfd_alloc.
910060484Sobrien
910160484Sobrien	* elfcode.h (elf_new_section_hook): Check bfd_alloc.
910260484Sobrien	(bfd_section_from_phdr): Ditto.
910360484Sobrien	(write_relocs): Ditto.  FIXME void
910460484Sobrien	(elf_map_symbols assign_section_numbers map_program_segments):
910560484Sobrien	Ditto.  Return a boolean. 
910660484Sobrien	(swap_out_syms): Ditto.  Check elf_map_symbols.
910760484Sobrien	(elf_slurp_symbol_table): Check bfd_zalloc.
910860484Sobrien	(elf_slurp_reloca_table): Check bfd_alloc.
910960484Sobrien	(elf_slurp_reloc_table): Ditto.
911060484Sobrien	(elf_compute_section_file_positions): Check assign_section_numbers.
911160484Sobrien	(assign_file_positions_except_relocs): Return a boolean.
911260484Sobrien	Check map_program_segments.
911360484Sobrien	(elf_compute_section_file_positions): Check it.
911460484Sobrien
911560484Sobrien	* elf32-mips.c (mips_elf_final_link): Check bfd_alloc.
911660484Sobrien
911760484Sobrien	* elf32-hppa.c (hppa_elf_stub_branch_reloc): Check bfd_zmalloc and
911860484Sobrien	realloc. 
911960484Sobrien	(hppa_elf_stub_reloc): Ditto.
912060484Sobrien	(hppa_elf_build_arg_reloc_stub): Check bfd_zalloc.
912160484Sobrien	(hppa_elf_build_long_branch_stub): Ditto.
912260484Sobrien	(elf32_hppa_backend_symbol_table_processing): Ditto.
912360484Sobrien
912460484Sobrien	* ecoff.c (ecoff_set_symbol_info): Check bfd_alloc.  Return a boolean.
912560484Sobrien	(ecoff_slurp_symbol_table): Check it.
912660484Sobrien	(ecoff_slurp_armap): Check bfd_alloc.
912760484Sobrien	(ecoff_write_armap): Check bfd_zalloc.
912860484Sobrien	(ecoff_link_hash_newfunc): Check bfd_hash_allocate and
912960484Sobrien	_bfd_link_hash_newfunc. 
913060484Sobrien	(ecoff_link_add_externals): Check bfd_alloc.
913160484Sobrien
913260484Sobrien	* ctor.c (bfd_constructor_entry): Check bfd_alloc.
913360484Sobrien
913460484Sobrien	* coffgen.c (coff_real_object_p): Check bfd_alloc.
913560484Sobrien	(coff_renumber_symbols): Check bfd_alloc_by_size_t.  Return a boolean.
913660484Sobrien	(coff_write_symbol): Check bfd_alloc.  FIXME int
913760484Sobrien	(coff_write_linenumbers): Check bfd_alloc.  Return a boolean.
913860484Sobrien	(coff_section_symbol): Check bfd_alloc_by_size_t.
913960484Sobrien	(coff_get_normalized_symtab): Check bfd_alloc.
914060484Sobrien	(coff_bfd_make_debug_symbol): Check bfd_zalloc.
914160484Sobrien	* libcoff-in.h: Change decls of coff_renumber_symbols,
914260484Sobrien	coff_write_linenumbers.
914360484Sobrien	* libcoff.h: Rebuilt.
914460484Sobrien	* coffcode.h (coff_write_object_contents): Check
914560484Sobrien	coff_renumber_symbols, coff_write_linenumbers.
914660484Sobrien
914760484Sobrien	* coffcode.h: Indent.
914860484Sobrien	(coff_add_missing_symbols): Check bfd_alloc_by_size_t.  Return a
914960484Sobrien	boolean. 
915060484Sobrien	(coff_write_object_contents): Check it.
915160484Sobrien
915260484Sobrien	* coff-alpha.c (alpha_relocate_section): Check bfd_alloc.
915360484Sobrien	* coff-mips.c (mips_relocate_section): Ditto.
915460484Sobrien
915560484Sobrien	* archive.c (bfd_slurp_bsd_armap_f2): Check bfd_alloc value.
915660484Sobrien	(do_slurp_bsd_armap): Ditto.
915760484Sobrien	(compute_and_write_armap): Check bfd_realloc value.
915860484Sobrien
915960484Sobrien	* aoutx.h (translate_from_native_sym_flags): Check bfd_alloc
916060484Sobrien	return value.  Return boolean value.
916160484Sobrien	(NAME(aout,make_empty_symbol)): Check bfd_zalloc return value.
916260484Sobrien	(NAME(aout,slurp_symbol_table)): Check bf_alloc and bfd_zalloc
916360484Sobrien	return value.
916460484Sobrien	(add_to_stringtab): Ditto.  FIXME void
916560484Sobrien	(aout_link_hash_newfunc): Check bfd_hash_allocate return value.
916660484Sobrien	(aout_link_add_symbols): Check bfd_alloc value.
916760484Sobrien	(translate_symbol_table): Check translate_from_native_sym_flags.
916860484Sobrien	* hp300hpux.c (MY(slurp_symbol_table)): Ditto.
916960484Sobrien	* aoutx.h (aout_link_hash_newfunc): Check _bfd_link_hash_newfunc.
917060484Sobrien
917160484Sobrien	* opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc.
917260484Sobrien
917360484Sobrien	* opncls.c (obstack_chunk_alloc): Define as malloc, not
917460484Sobrien	bfd_xmalloc_by_size_t. 
917560484Sobrien	(_bfd_new_bfd): Check obstack_begin for 0 return.
917660484Sobrien
917760484Sobrien	* ieee.c (obstack_chunk_alloc): Define as malloc, not
917860484Sobrien	bfd_xmalloc_by_size_t. 
917960484Sobrien	(ieee_archive_p): Check obstack_begin for 0 return and
918060484Sobrien	obstack_finish for NULL return.
918160484Sobrien
918260484Sobrien	* hash.c (obstack_chunk_alloc): Define as malloc, not
918360484Sobrien	bfd_xmalloc_by_size_t. 
918460484Sobrien	(bfd_hash_table_init_n): Check obstack_begin for 0 return and
918560484Sobrien	obstack_finish for NULL return.
918660484Sobrien	(bfd_hash_lookup): Check obstack_alloc for NULL return.
918760484Sobrien
918860484Sobrien	* ecofflink.c (obstack_chunk_alloc): Define as malloc, not
918960484Sobrien	bfd_xmalloc_by_size_t. 
919060484Sobrien	bfd_ecoff_debug_accumulate
919160484Sobrien	bfd_ecoff_debug_accumulate_other): Check obstack_alloc.
919260484Sobrien	(add_file_shuffle add_memory_shuffle): Check obstack_alloc for
919360484Sobrien	NULL return.  Return boolean, not void.
919460484Sobrien	(bfd_ecoff_debug_init): Check obstack_begin for 0 return.
919560484Sobrien	(bfd_ecoff_debug_accumulate): Check add_file_shuffle
919660484Sobrien	and add_memory_shuffle return. 
919760484Sobrien	(string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc.
919860484Sobrien	(bfd_ecoff_debug_accumulate): Check bfd_alloc.
919960484Sobrien	(ecoff_add_string): Check add_memory_shuffle return.
920060484Sobrien
920160484Sobrien	* libbfd-in.h (xmalloc, bfd_xmalloc, bfd_xmalloc_by_size_t):
920260484Sobrien	Remove decls. 
920360484Sobrien	* libbfd.h: Rebuilt.
920460484Sobrien
920560484SobrienFri Feb 11 15:35:32 1994  Stu Grossman  (grossman at cygnus.com)
920660484Sobrien
920760484Sobrien	* configure.host:  Add Lynx/rs6000 support.
920860484Sobrien	* config/i386-nlm.mt:  Enable a.out file support.
920960484Sobrien	* config/rs6000lynx.mh:  Lynx/rs6000 host support.
921060484Sobrien
921160484SobrienFri Feb 11 17:25:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
921260484Sobrien
921360484Sobrien	* archive.c (compute_and_write_armap): Rewrite somewhat to improve
921460484Sobrien	memory usage.
921560484Sobrien
921660484SobrienFri Feb 11 13:10:42 1994  Stan Shebs  (shebs@andros.cygnus.com)
921760484Sobrien
921860484Sobrien	* archive.c: Change all references to '\n' in archive magic
921960484Sobrien	to '\012', for greater portability.
922060484Sobrien	* ecoff.c (ecoff_write_armap): Ditto.
922160484Sobrien
922260484SobrienThu Feb 10 12:58:48 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
922360484Sobrien
922460484Sobrien	* aoutx.h (aout_link_write_other_symbol): Check strip settings to
922560484Sobrien	see whether symbol should be output.
922660484Sobrien	* genlink.h (struct generic_write_global_symbol_info): Added info
922760484Sobrien	field.
922860484Sobrien	* linker.c (_bfd_generic_final_link): Initialize wginfo.info.
922960484Sobrien	(_bfd_generic_link_write_global_symbol): Check strip settings to
923060484Sobrien	see whether symbol should be output.
923160484Sobrien	* elf32-mips.c (mips_elf_final_link): Initialize wginfo.info.
923260484Sobrien
923360484SobrienWed Feb  9 21:34:58 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
923460484Sobrien
923560484Sobrien	* som.c (som_reloc_queue_find): Do not examine a NULL queue entry.
923660484Sobrien
923760484Sobrien	* som.c: Cast return values from BFD memory allocation routines to
923860484Sobrien	avoid warnings from the HP compiler.
923960484Sobrien
924060484SobrienWed Feb  9 12:55:02 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
924160484Sobrien
924260484Sobrien	* coff-alpha.c (alpha_relocate_section): Accept a LITERAL
924360484Sobrien	reloc on an "ldl" instruction too.
924460484Sobrien
924560484Sobrien	* archive.c (bfd_ar_hdr_from_filesystem): Cast status elements
924660484Sobrien	when passing them to sprintf.  Use %ld instead of %d.
924760484Sobrien
924860484Sobrien	* coff-rs6000.c (rs6000coff_mkarchive): Return false.
924960484Sobrien	(rs6000_coff_snarf_ar_hdr): Don't declare errno; it's not used.
925060484Sobrien	Also removed unused variable namelen.
925160484Sobrien	(rs6000coff_write_armap): Declare orl_count and stridx parameters.
925260484Sobrien
925360484SobrienTue Feb  8 18:00:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
925460484Sobrien
925560484Sobrien	* libbfd-in.h (xmalloc): Don't declare parameter type, to avoid
925660484Sobrien	conflicts.
925760484Sobrien	* libbfd.h: Rebuilt.
925860484Sobrien
925960484SobrienTue Feb  8 15:55:50 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
926060484Sobrien
926160484Sobrien	* coff-alpha.c (reloc_nil): New function.
926260484Sobrien	(alpha_howto_table): Use it as special_function to prevent certain
926360484Sobrien	relocs from being adjusted by bfd_perform_relocation.  IGNORE
926460484Sobrien	reloc should be partial_inplace.
926560484Sobrien	(alpha_ecoff_get_relocated_section_contents): Accept a LITERAL
926660484Sobrien	reloc on an "ldl" instruction too.
926760484Sobrien
926860484SobrienTue Feb  8 00:32:28 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
926960484Sobrien
927060484Sobrien	* elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub,
927160484Sobrien	hppa_elf_build_long_branch_stub):  Cast to char * instead of int
927260484Sobrien	before performing pointer arithmetic.
927360484Sobrien
927460484SobrienMon Feb  7 20:56:27 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
927560484Sobrien
927660484Sobrien	* config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this
927760484Sobrien	configuration.
927860484Sobrien	(hppa*-*-*elf*): This configuration used hppa-elf now.
927960484Sobrien
928060484Sobrien	* som.c: This file is also used for HOST_HPPAOSF.
928160484Sobrien
928260484Sobrien	* targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.
928360484Sobrien
928460484Sobrien	* hosts/hppaosf.h: New host configuration file.
928560484Sobrien
928660484Sobrien	* config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
928760484Sobrien	BSD handles both SOM and ELF object files.
928860484Sobrien
928960484Sobrien	* config/hppaosf.mh (HDEFINES): Delete.  No longer needed.
929060484Sobrien	(RANLIB): Doesn't do anything, define it to be "echo".
929160484Sobrien
929260484Sobrien	* config/hppaosf.mt: New target makefile fragment for a PA running
929360484Sobrien	OSF1.
929460484Sobrien
929560484SobrienMon Feb  7 15:02:06 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
929660484Sobrien
929760484Sobrien	* archures.c (enum bfd_architecture): Added bfd_arch_powerpc.
929860484Sobrien	(archures_init_table): If SELECT_ARCHITECTURES is not defined,
929960484Sobrien	added bfd_powerpc_arch.
930060484Sobrien	* bfd-in2.h: Rebuilt.
930160484Sobrien	* cpu-powerpc.c: New file.
930260484Sobrien	* Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c.
930360484Sobrien	Rebuilt dependencies.
930460484Sobrien
930560484Sobrien	* elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
930660484Sobrien	of an SHT_STRTAB section from sh_addr and sh_addralign, rather
930760484Sobrien	than just setting them to zero.
930860484Sobrien
930960484SobrienSun Feb  6 20:04:10 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
931060484Sobrien
931160484Sobrien	* elfcode.h (prep_headers, swap_out_syms): Check for NULL return
931260484Sobrien	from bfd_new_strtab. 
931360484Sobrien	(elf_compute_section_file_positions): Check for false return from
931460484Sobrien	swap_out_syms. 
931560484Sobrien
931660484Sobrien	* linker.c (default_indirect_link_order): Check for NULL return
931760484Sobrien	from bfd_get_relocated_section_contents.
931860484Sobrien
931960484Sobrien	* syms.c: Make example application in doc call xmalloc, not
932060484Sobrien	bfd_xmalloc. 
932160484Sobrien
932260484Sobrien	* aoutx.h (NAME(aout,slurp_symbol_table),
932360484Sobrien	aout_link_get_symbols, NAME(aout,link_hash_table_create)):
932460484Sobrien	* bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs):
932560484Sobrien	* ecoff.c (ecoff_bfd_link_hash_table_create): 
932660484Sobrien	* ecofflink.c (bfd_ecoff_debug_init): 
932760484Sobrien	* format.c (bfd_check_format_matches): 
932860484Sobrien	* linker.c (_bfd_generic_link_hash_table_create): 
932960484Sobrien	(_bfd_generic_final_link): 
933060484Sobrien	* reloc16.c (bfd_coff_reloc16_relax_section): 
933160484Sobrien	(bfd_coff_reloc16_get_relocated_section_contents): 
933260484Sobrien	* elf32-hppa.c (hppa_elf_build_arg_reloc_stub): 
933360484Sobrien	* elf32-mips.c (mips_elf_final_link): 
933460484Sobrien	* elfcode.h (bfd_new_strtab): 
933560484Sobrien	(bfd_add_2_to_strtab): 
933660484Sobrien	(elf_slurp_symbol_table): 
933760484Sobrien	(elf_corefile_note): 
933860484Sobrien	* libbfd.c (bfd_zmalloc): 
933960484Sobrien	Use malloc and check the result, instead of bfd_xmalloc.
934060484Sobrien
934160484SobrienSat Feb  5 12:39:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
934260484Sobrien
934360484Sobrien	* config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*.
934460484Sobrien
934560484SobrienSat Feb  5 05:32:44 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
934660484Sobrien
934760484Sobrien	* srec.c (srec_write_record):  Put CONST keyword for "src" before
934860484Sobrien	"unsigned", some compilers don't like it after "unsigned".
934960484Sobrien	* libcoff.h, libcoff-in.h (bfd_perform_slip):  Rename "value" to
935060484Sobrien	"val" in prototype declaration because some compilers don't like
935160484Sobrien	arguments whose names are the same as types.
935260484Sobrien
935360484SobrienSat Feb  5 01:14:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
935460484Sobrien
935560484Sobrien	* aoutx.h (aout_link_check_ar_symbols): Correct test for whether
935660484Sobrien	object file defines symbol.  Also, if skipping a symbol, skip the
935760484Sobrien	second symbol of a N_WARNING or N_INDR symbol as well.
935860484Sobrien
935960484SobrienFri Feb  4 23:55:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
936060484Sobrien
936160484Sobrien	Add basic support for writing RS/6000 XCOFF files.
936260484Sobrien	* coff-rs6000.c (dummy_reloc): Removed.
936360484Sobrien	(rs6000coff_howto_table): Defined XCOFF relocs.
936460484Sobrien	(RTYPE2HOWTO): Defined to use rs6000coff_rtype2howto.
936560484Sobrien	(rs6000coff_rtype2howto): New function.
936660484Sobrien	(coff_bfd_reloc_type_lookup): Defined to use
936760484Sobrien	rs6000coff_reloc_type_lookup. 
936860484Sobrien	(rs6000coff_reloc_type_lookup): New function.
936960484Sobrien	(SELECT_RELOC): Defined to set r_type and r_size fields.
937060484Sobrien	(COFF_LONG_FILENAMES): Defined.
937160484Sobrien	* coffcode.h (combined_entry_type): Changed fix_tag and fix_end
937260484Sobrien	fields to bitfields.  Added fields fix_value and fix_scnlen.
937360484Sobrien	(sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
937460484Sobrien	STYP_INFO for the type of a section named .debug.
937560484Sobrien	(coff_add_missing_symbols): Don't define if RS6000COFF_C.
937660484Sobrien	(coff_write_object_contents): If RS6000COFF_C, don't call
937760484Sobrien	coff_add_missing_symbols.
937860484Sobrien	(coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
937960484Sobrien	entry has type STY_LD change the x_scnlen into a pointer to a
938060484Sobrien	symbol and set fix_scnlen.  Also, for a C_BSTAT symbol, change the
938160484Sobrien	value into a pointer to a symbol and set fix_value.
938260484Sobrien	* libcoff.h: Rebuilt.
938360484Sobrien	* coffgen.c (coff_mangle_symbols): Reindent.  If fix_value is set,
938460484Sobrien	get the symbol offset. Likewise for fix_scnlen.
938560484Sobrien	(string_size): Change type to bfd_size_type.
938660484Sobrien	(debug_string_size, debug_string_section): New static variables.
938760484Sobrien	(coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
938860484Sobrien	write the symbol name into the .debug section; assume that the
938960484Sobrien	section has already been created with the right size.
939060484Sobrien	(coff_write_symbols): Initialize debug_string_size to 0.  If
939160484Sobrien	bfd_coff_symname_in_debug returns true, don't put symbol name in
939260484Sobrien	usual string table.  After writing out all symbols, if
939360484Sobrien	debug_string_size is not 0, check that it matches the size of the
939460484Sobrien	.debug section.
939560484Sobrien	(coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
939660484Sobrien	fields.  If the string offset is 0, always use an empty string as
939760484Sobrien	the name.
939860484Sobrien	(coff_make_empty_symbol): Zero out the symbol structure.
939960484Sobrien	* reloc.c (bfd_perform_relocation): Work around one gross hack
940060484Sobrien	with another: actually look at the target name to avoid the broken
940160484Sobrien	COFF check.
940260484Sobrien	(bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
940360484Sobrien	BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
940460484Sobrien	* bfd-in2.h: Rebuilt.
940560484Sobrien
940660484SobrienFri Feb  4 17:28:32 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
940760484Sobrien
940860484Sobrien	* libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
940960484Sobrien	(bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
941060484Sobrien	* libbfd-in.h: Define them as macros calling xmalloc and declare
941160484Sobrien	xmalloc. 
941260484Sobrien	* libbfd.h: Rebuilt.
941360484Sobrien
941460484SobrienThu Feb  3 16:49:35 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
941560484Sobrien
941660484Sobrien	* ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
941760484Sobrien	symbol has a value in the ECOFF symbol but not in the BFD symbol,
941860484Sobrien	keep the value in the ECOFF symbol.  This helps gas.
941960484Sobrien
942060484Sobrien	* linker.c (_bfd_generic_link_output_symbols,
942160484Sobrien	_bfd_generic_link_write_global_symbol): Don't require that all
942260484Sobrien	references to a common symbol be themselves common symbols.
942360484Sobrien
942460484Sobrien	* aoutx.h (aout_reloc_index_to_section): Handle N_UNDF.
942560484Sobrien
942660484SobrienWed Feb  2 20:37:19 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
942760484Sobrien
942860484Sobrien	* libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h,
942960484Sobrien	sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT.
943060484Sobrien	* bfd-in2.h: Rebuilt.
943160484Sobrien
943260484SobrienWed Feb  2 12:30:13 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
943360484Sobrien
943460484Sobrien	* coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
943560484Sobrien	and size correctly.
943660484Sobrien	(coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
943760484Sobrien	x_csect.x_scnlen.l to match change in coff/internal.h.
943860484Sobrien	(coff_swap_aux_out): Likewise.
943960484Sobrien
944060484Sobrien	* coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
944160484Sobrien	(alpha_ecoff_backend_data): Change casts of aux_in and aux_out
944260484Sobrien	fields to match yesterday's changes.
944360484Sobrien
944460484Sobrien	* coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
944560484Sobrien	in the internal_reloc itself, not the type.
944660484Sobrien	* coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
944760484Sobrien	coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
944860484Sobrien	definition of SELECT_RELOC accordingly.
944960484Sobrien
945060484SobrienTue Feb  1 12:05:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
945160484Sobrien
945260484Sobrien	* coffcode.h (bfd_coff_backend_data): Added new arguments to
945360484Sobrien	_bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
945460484Sobrien	and number of aux entries.
945560484Sobrien	(bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
945660484Sobrien	accordingly.
945760484Sobrien	* libcoff.h: Rebuilt.
945860484Sobrien	* coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
945960484Sobrien	arguments.  If RS6000COFF_C, only treat C_EXT and C_HIDEXT
946060484Sobrien	specially if this is the last aux entry.
946160484Sobrien	* coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
946260484Sobrien	new arguments to swap_aux functions.
946360484Sobrien
946460484SobrienSun Jan 30 15:14:36 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
946560484Sobrien
946660484Sobrien	* gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
946760484Sobrien	(only testing for m68k and vax at the moment); do verify that the
946860484Sobrien	preprocessor didn't trash the arch name inside the string version.
946960484Sobrien	Don't print out "pagesize =" line that prevents output from
947060484Sobrien	compiling.  Derive BYTES_IN_WORD and ARCH values from sizeof
947160484Sobrien	results.
947260484Sobrien	* Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
947360484Sobrien	(check, installcheck): Identify directory in "no testsuites"
947460484Sobrien	message.
947560484Sobrien
947660484SobrienSun Jan 30 13:25:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
947760484Sobrien
947860484Sobrien	* aoutx.h (aout_link_write_symbols): Write out correct value for
947960484Sobrien	object file symbol.
948060484Sobrien
948160484SobrienFri Jan 28 18:34:05 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
948260484Sobrien
948360484Sobrien	* hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
948460484Sobrien	KERNBASE, so hard-code 0x80000000 instead.
948560484Sobrien
948660484SobrienThu Jan 27 13:54:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
948760484Sobrien
948860484Sobrien	* linker.c (generic_link_add_symbol_list): If symbol is common,
948960484Sobrien	set the BSF_OLD_COMMON flag.
949060484Sobrien
949160484SobrienWed Jan 26 13:47:15 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
949260484Sobrien
949360484Sobrien	* format.c (bfd_check_format_matches): Put the new entry in the
949460484Sobrien	correct element of matching_vector.
949560484Sobrien
949660484SobrienTue Jan 25 11:43:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
949760484Sobrien
949860484Sobrien	* som.c, som.h (bfd_som_set_section_attributes,
949960484Sobrien	bfd_som_set_subsection_attributes): Change parameters from char
950060484Sobrien	to int.  Following a prototype with an old-style function definition
950160484Sobrien	in the presence of widened parameters is a GCC-ism not supported
950260484Sobrien	by the HP compiler in ANSI mode.
950360484Sobrien
950460484SobrienTue Jan 25 11:46:46 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
950560484Sobrien
950660484Sobrien	* reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2.
950760484Sobrien
950860484Sobrien	* hp300hpux.c (MY(write_object_contents)): Write out the symbols
950960484Sobrien	before writing out the relocs, so that the right symbol indices
951060484Sobrien	are used.
951160484Sobrien
951260484Sobrien	* archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
951360484Sobrien	try to overlay the internal carsyms on the external symdefs.  That
951460484Sobrien	can not work if the size of a host pointer is larger than 4 bytes.
951560484Sobrien
951660484Sobrien	* format.c (bfd_check_format_matches): Cast result of
951760484Sobrien	bfd_xmalloc_by_size_t.
951860484Sobrien	* opncls.c (_bfd_new_bfd): Avoid ANSI C prototype.
951960484Sobrien
952060484Sobrien	* archive.c: Reindented to GNU standards.
952160484Sobrien
952260484SobrienMon Jan 24 14:41:23 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
952360484Sobrien
952460484Sobrien	* opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
952560484Sobrien	"_bfd_" to function names.
952660484Sobrien	* archive.c (_bfd_create_empty_archive_element_shell),
952760484Sobrien	libbfd-in.h: Change callers.
952860484Sobrien
952960484Sobrien	* libbfd.c (bfd_zmalloc): Renamed from zalloc.
953060484Sobrien	* libbfd.c (bfd_add_to_string_table),
953160484Sobrien	trad-core.c (trad_unix_core_file_p),
953260484Sobrien	targets.c (bfd_target_list),
953360484Sobrien	ptrace-core.c (ptrace_unix_core_file_p),
953460484Sobrien	opncls.c (new_bfd), libbfd-in.h,
953560484Sobrien	ieee.c (ieee_make_empty_symbol),
953660484Sobrien	elf32-hppa.c (hppa_elf_stub_branch_reloc),
953760484Sobrien	(hppa_elf_stub_reloc): Change callers.
953860484Sobrien	* libbfd.h: Regenerated.
953960484Sobrien
954060484Sobrien	* archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
954160484Sobrien	(_bfd_get_elt_at_filepos), 
954260484Sobrien	coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
954360484Sobrien	Change callers.
954460484Sobrien
954560484Sobrien	* format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
954660484Sobrien	elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
954760484Sobrien	and default_vector to bfd_default_vector.
954860484Sobrien	* libbfd.h: Regenerated.
954960484Sobrien
955060484Sobrien	* format.c (bfd_check_format_matches): New function.
955160484Sobrien	(bfd_check_format): Call it.
955260484Sobrien	(bfd_matching_formats): Function removed.
955360484Sobrien	* targets.c: Replace the vector added on Jan 21 with a count of
955460484Sobrien	entries in default_vector.
955560484Sobrien	* bfd-in2.h: Regenerated.
955660484Sobrien
955760484SobrienMon Jan 24 12:38:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
955860484Sobrien
955960484Sobrien	* coff-alpha.c (alpha_ecoff_object_p): New function.  Set size of
956060484Sobrien	.pdata section based on lnnoptr field, not section header.
956160484Sobrien	(alpha_relocate_section): Don't bother to check if r_symndx >= 0,
956260484Sobrien	since it is unsigned.
956360484Sobrien	(ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
956460484Sobrien	coff_object_p.
956560484Sobrien	* ecoff.c (ecoff_new_section_hook): Set alignment_power field of
956660484Sobrien	.pdata section to 3.
956760484Sobrien	(ecoff_compute_section_file_positions): Save the size of the
956860484Sobrien	.pdata section in the line_filepos field, and actually align the
956960484Sobrien	.pdata section to an alignment power of 4.
957060484Sobrien	(ecoff_compute_reloc_file_positions): Set output_has_begun after
957160484Sobrien	calling ecoff_compute_section_file_positions.
957260484Sobrien	(ecoff_write_object_contents): Set s_lnnoptr for the .pdata
957360484Sobrien	section from the line_filepos field.  Set vstamp for the optional
957460484Sobrien	header from the vstamp of the symbolic header.
957560484Sobrien	(ecoff_bfd_final_link): Set vstamp of the symbolic header to the
957660484Sobrien	vstamp used by the first object file in the link.
957760484Sobrien
957860484Sobrien	* ecofflink.c (ecoff_align_debug): Align RFDs to debug_align.
957960484Sobrien
958060484Sobrien	* linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
958160484Sobrien	for a created common section.
958260484Sobrien	(_bfd_generic_link_add_one_symbol): Likewise.
958360484Sobrien
958460484Sobrien	* elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
958560484Sobrien	get the index of a common section, rather than always using
958660484Sobrien	SHN_COMMON (MIPS has multiple common sections).
958760484Sobrien
958860484Sobrien	* elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
958960484Sobrien
959089857Sobrien	* aoutx.h (aout_link_input_section_std,
959160484Sobrien	aout_link_input_section_ext): Pass additional arguments to
959260484Sobrien	reloc_overflow callback.
959360484Sobrien	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
959460484Sobrien	alpha_relocat_section): Likewise.
959560484Sobrien	* coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
959660484Sobrien	* coff-h8500.c (extra_case): Likewise.
959760484Sobrien	* coff-mips.c (mips_relocate_section): Likewise.
959860484Sobrien	* coff-z8k.c (extra_case): Likewise.
959960484Sobrien	* elf32-hppa.c (hppa_elf_stub_finish): Likewise.
960060484Sobrien	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
960160484Sobrien
960260484Sobrien	* bout.c (calljx_callback, callj_callback): Use get_value to get
960360484Sobrien	the symbol value and check for undefined symbols.
960460484Sobrien	(get_value): If the symbol is undefined, look it up in the linker
960560484Sobrien	hash table.
960660484Sobrien	(b_out_get_relocated_section_contents): For PCREL24 and PCREL13
960760484Sobrien	use get_value to get the symbol value and check for undefined
960860484Sobrien	symbols.
960960484Sobrien	* reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
961060484Sobrien	undefined, look it up in the linker hash table.
961160484Sobrien
961260484Sobrien	* aoutx.h (translate_symbol_table): The string index 0 has a
961360484Sobrien	special meaning for normal symbols, but not for dynamic symbols.
961460484Sobrien
961560484SobrienSat Jan 22 12:26:01 1994  Stu Grossman  (grossman at cygnus.com)
961660484Sobrien
961760484Sobrien	* sparclynx.c:  Setup appropriate macros to enable core file
961860484Sobrien	support.
961960484Sobrien
962060484SobrienFri Jan 21 16:25:35 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
962160484Sobrien
962260484Sobrien	* targets.c: Add a vector of matching format names.
962360484Sobrien	* format.c (bfd_matching_formats): New function to return it.
962460484Sobrien	(bfd_check_format): Set it.
962560484Sobrien	* bfd-in2.h: Regenerated.
962660484Sobrien
962760484Sobrien	* bfd-in.h: Remove decls of bfd_ec type and error printing functions.
962860484Sobrien	Remove decl of type symclass; wasn't used.
962960484Sobrien	* bfd.c: Document error handling, including code fragments
963060484Sobrien	containing the error decls that were in bfd-in.h.
963160484Sobrien	Remove DEFUNs.
963260484Sobrien	* bfd-in2.h: Regenerated.
963360484Sobrien
963460484SobrienFri Jan 21 14:11:16 1994  Sean Fagan  (sef@cygnus.com)
963560484Sobrien
963660484Sobrien	* nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
963760484Sobrien	The sparc (and possibly other?) NLM format requires a different
963860484Sobrien	way to write exports, so add a write_export field to the backend
963960484Sobrien	data (and set it to NULL for everything but the sparc).
964060484Sobrien
964160484SobrienFri Jan 21 14:11:16 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
964260484Sobrien
964360484Sobrien	* sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
964460484Sobrien	not (struct external_nlist *) NULL.  info->dynrel is a PTR, not
964560484Sobrien	a struct external_nlist *.
964660484Sobrien
964760484SobrienFri Jan 21 09:29:01 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
964860484Sobrien
964960484Sobrien	* bfd.c: Remove error strings for errors removed below.
965060484Sobrien	* aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
965160484Sobrien	oasys.c (oasys_write_sections): Rename
965260484Sobrien	bfd_error_nonrepresentable_section to nonrepresentable_section.
965360484Sobrien	None of the other bfd error names start with "bfd_error".
965460484Sobrien	Remove errors symbol_not_found and no_relocation_info, which seem
965560484Sobrien	to be unused.
965660484Sobrien	* bfd-in2.h: Regenerated.
965760484Sobrien
965860484SobrienFri Jan 21 01:11:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
965960484Sobrien
966060484Sobrien	* bfd.c (bfd_get_gp_size): Added support for ELF.
966160484Sobrien
966260484Sobrien	* syms.c (BSF_DYNAMIC): New symbol flag.
966360484Sobrien	(bfd_print_symbol_vandf): Print it.
966460484Sobrien	* bfd-in2.h: Rebuilt.
966560484Sobrien	* libaout.h (struct aout_backend_data): New read_dynamic_symbols
966660484Sobrien	and read_dynamic_relocs fields.
966760484Sobrien	(struct aoutdata): New dynamic_info field.
966860484Sobrien	(obj_aout_dynamic_info): New accessor macro.
966960484Sobrien	* sunos.c (struct sunos_dynamic_info): New structure.
967060484Sobrien	(sunos_read_dynamic_info, MY(read_dynamic_symbols),
967160484Sobrien	MY(read_dynamic_relocs)): New functions to read dynamic symbols
967260484Sobrien	and relocs.
967360484Sobrien	* aoutx.h (NAME(aout,some_aout_object_p)): If the object is
967460484Sobrien	dynamically linked, set SEC_RELOC for both the .text and .data
967560484Sobrien	sections.
967660484Sobrien	(translate_from_native_sym_flags): Don't set BSF_LOCAL for an
967760484Sobrien	undefined symbol.
967860484Sobrien	(translate_symbol_table): New function, split out of
967960484Sobrien	slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
968060484Sobrien	(NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
968160484Sobrien	(NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
968260484Sobrien	(NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
968360484Sobrien	return value.
968460484Sobrien	* aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
968560484Sobrien	out dynamic symbols or relocs against reloc symbols, since they
968660484Sobrien	are already in the .text section and we wouldn't know where to
968760484Sobrien	write them anyhow.
968860484Sobrien	(sunos4_aout_backend): Initialize read_dynamic_symbols and
968960484Sobrien	read_dynamic_relocs fields.
969060484Sobrien	* aout-target.h (MY(backend_data)): Initialize
969160484Sobrien	read_dynamic_symbols and read_dynamic_relocs fields.
969260484Sobrien
969360484SobrienThu Jan 20 20:57:27 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
969460484Sobrien
969560484Sobrien	* hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
969660484Sobrien	typedefs, since HOST_64_BIT will take care of defining them in
969760484Sobrien	bfd.h.
969860484Sobrien
969960484SobrienWed Jan 19 17:28:59 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
970060484Sobrien
970160484Sobrien	* config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
970260484Sobrien	that's dealt with elsewhere.
970360484Sobrien	* hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
970460484Sobrien	(uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
970560484Sobrien	they get copied to bfd.h.
970660484Sobrien
970760484Sobrien	* reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
970860484Sobrien	types.  Reorganized some of the existing ones.
970960484Sobrien	* coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
971060484Sobrien	values in case of compilation on a 32-bit machine.  Fix pcrel
971160484Sobrien	fields of some reloc types.
971260484Sobrien	(alpha_bfd_reloc_type_lookup): Handle more relocation types.
971360484Sobrien
971460484Sobrien	* bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
971560484Sobrien	definitions when not defined, regardless of whether uint64_type is
971660484Sobrien	a defined macro or not.
971760484Sobrien	(fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
971860484Sobrien	already defined.
971960484Sobrien
972060484SobrienWed Jan 19 00:02:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
972160484Sobrien
972260484Sobrien	* aoutx.h (translate_to_native_sym_flags): Set the type of a
972360484Sobrien	BSF_WARNING symbol to N_WARNING.
972460484Sobrien
972560484SobrienTue Jan 18 16:43:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
972660484Sobrien
972760484Sobrien	* aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
972860484Sobrien	for an indirect or warning symbol.
972960484Sobrien	(aout_link_write_symbols): Update sym_hash with the target of an
973060484Sobrien	indirect or warning symbol.  If an indirect symbol is defined,
973160484Sobrien	output the calculated value and don't output the target symbol.
973260484Sobrien
973360484SobrienTue Jan 18 03:54:59 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
973460484Sobrien
973560484Sobrien	* aoutx.h (translate_from_native_sym_flags): Give warning symbols
973660484Sobrien	an (unused) nonzero section value, needed for check below.
973760484Sobrien
973860484SobrienMon Jan 17 15:12:07 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
973960484Sobrien
974060484Sobrien	* aoutx.h (translate_from_native_sym_flags,
974160484Sobrien	aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
974260484Sobrien	N_SET[ABDT].
974360484Sobrien
974460484SobrienFri Jan 14 16:45:43 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
974560484Sobrien
974660484Sobrien	* elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
974760484Sobrien	the DYNAMIC flag for the BFD.
974860484Sobrien	(NAME(bfd_elf,write_object_contents)): Don't try to write out a
974960484Sobrien	BFD with the DYNAMIC flag set, since we don't generate the program
975060484Sobrien	header table correctly.
975160484Sobrien
975260484SobrienFri Jan 14 01:04:36 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
975360484Sobrien
975460484Sobrien	* elfcode.h (elf_slurp_symbol_table):  Free x_symp at the end
975560484Sobrien	of the function to avoid storage leak.
975660484Sobrien
975760484SobrienThu Jan 13 23:07:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
975860484Sobrien
975960484Sobrien	* ecoff.c (ecoff_link_write_external): An ifd can be -1.
976060484Sobrien
976160484SobrienThu Jan 13 12:33:27 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
976260484Sobrien
976360484Sobrien	* som.c (som_set_reloc_info): Provide a default symbol for
976460484Sobrien	relocations which don't actually have an associated symbol.
976560484Sobrien
976660484Sobrien	* som.c (hppa_som_reloc): Add new "error message" argument.
976760484Sobrien
976860484SobrienWed Jan 12 13:36:43 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
976960484Sobrien
977060484Sobrien	Enable gdb to write to core files on more core file readers.
977160484Sobrien	* libbfd.c (bfd_generic_set_section_contents):  Remove range check
977260484Sobrien	for section size, it is already done in bfd_set_section_contents
977360484Sobrien	with bfd_get_section_size_now.
977460484Sobrien	* aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
977560484Sobrien	osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
977660484Sobrien	Use bfd_generic_set_section_contents instead of bfd_false.
977760484Sobrien
977860484SobrienWed Jan 12 15:31:57 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
977960484Sobrien
978060484Sobrien	* linker.c: Added initial documentation.
978160484Sobrien
978260484Sobrien	* linker.c (default_indirect_link_order): Don't expect space for
978360484Sobrien	output relocations if there aren't any input relocations.
978460484Sobrien
978560484SobrienTue Jan 11 14:37:12 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
978660484Sobrien
978760484Sobrien	* aoutx.h (NAME(aout,final_link)): Set a_entry before computing
978860484Sobrien	file offsets.
978960484Sobrien
979060484Sobrien	* elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
979160484Sobrien	STT_NOTYPE.
979260484Sobrien
979360484SobrienTue Jan 11 09:10:56 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
979460484Sobrien
979560484Sobrien	* config.bfd: Use ELF, not COFF for m88*-*-dgux*.
979660484Sobrien	Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
979760484Sobrien
979860484SobrienTue Jan 11 00:07:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
979960484Sobrien
980060484Sobrien	* ecofflink.c: Extensive changes to compress and merge debugging
980160484Sobrien	information, and to write some of out directly rather than saving
980260484Sobrien	it in memory.  Several new functions and structures, and new
980360484Sobrien	arguments to existing functions.
980460484Sobrien	* ecoff.c (ecoff_compute_reloc_file_positions): Compute
980560484Sobrien	sym_filepos as well.
980660484Sobrien	(ecoff_get_extr): Use ifdmap instead of ifdbase.
980760484Sobrien	(ecoff_write_object_contents): Don't compute sym_filepos here.
980860484Sobrien	Only output symbols if outsymbols is not NULL.
980960484Sobrien	(ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
981060484Sobrien	bfd_ecoff_debug functions.  Write out debugging information here.
981160484Sobrien	(ecoff_final_link_debug_accumulate): Adjust for changes in
981260484Sobrien	bfd_ecoff_debug functions.
981360484Sobrien	(ecoff_link_write_external): Use ifdmap rather than ifdbase.
981460484Sobrien	* elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
981560484Sobrien	first, to put them in the first memory buffer.  Clear fdr field.
981660484Sobrien	(mips_elf_get_extr): Use pointer to unswapped external symbol.
981760484Sobrien	(mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
981860484Sobrien	Preserve .text, .data and .bss even if they are empty.  Save
981960484Sobrien	pointer to unswapped external symbol rather than copying it.
982060484Sobrien	Don't free up the external symbols.
982160484Sobrien	* libelf.h (elf_symbol_type): Change mips_extr to PTR.
982260484Sobrien	* bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
982360484Sobrien	(bfd_ecoff_debug_accumulate): Update declaration.
982460484Sobrien	(bfd_ecoff_debug_accumulate_other): Rename declaration from
982560484Sobrien	bfd_ecoff_debug_link_other and update.
982660484Sobrien	(bfd_ecoff_write_accumulated_debug): Declare.
982760484Sobrien	* bfd-in2.h: Rebuilt.
982860484Sobrien	* Makefile.in: Rebuilt dependencies.
982960484Sobrien
983060484SobrienMon Jan 10 20:46:53 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
983160484Sobrien
983260484Sobrien	* Makefile.in (install): Remove "@" which follows a backslash.  In
983360484Sobrien	this position it just causes errors, not suppresses echoes.
983460484Sobrien
983560484SobrienMon Jan 10 09:06:21 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
983660484Sobrien
983760484Sobrien	* som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
983860484Sobrien	field selectors.
983960484Sobrien
984060484SobrienSun Jan  9 04:32:25 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
984160484Sobrien
984260484Sobrien	* config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
984360484Sobrien
984460484SobrienFri Jan  7 10:27:27 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
984560484Sobrien
984660484Sobrien	* aoutx.h (adjust_z_magic): Don't merge the start of bss with the
984760484Sobrien	end of data if they are not contiguous.
984860484Sobrien
984960484Sobrien	* aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
985060484Sobrien
985160484SobrienFri Jan  7 15:40:16 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
985260484Sobrien
985360484Sobrien	* ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
985460484Sobrien	for .reginfo section here.
985560484Sobrien	(ecoff_new_section_hook): Set it here instead.
985660484Sobrien
985760484SobrienFri Jan  7 10:29:27 1994  Stan Shebs  (shebs@andros.cygnus.com)
985860484Sobrien
985960484Sobrien    	* bfd-in.h: (bfd_boolean): Add workaround for systems that also
986060484Sobrien	define true and false as enums.
986160484Sobrien	(ALMOST_STDC): Add as alternative to __STDC__.
986260484Sobrien	* bfd-in2.h: Rebuilt.
986360484Sobrien	* syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
986460484Sobrien
986560484SobrienThu Jan  6 14:24:44 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
986660484Sobrien
986760484Sobrien	* aoutx.h (translate_to_native_sym_flags): Catch the case where
986860484Sobrien	there is no output section.
986960484Sobrien
987060484SobrienThu Jan  6 14:37:42 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
987160484Sobrien
987260484Sobrien	* nlmcode.h (nlm_object_p): If we can't read the fixed header,
987360484Sobrien	count it as a wrong format error, not a system call error, since
987460484Sobrien	the object file might simply be too small.
987560484Sobrien
987660484Sobrien	* targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
987760484Sobrien	BFD64.
987860484Sobrien	* Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
987960484Sobrien	(BFD64_BACKENDS): Add nlm32-alpha.o.  It depends on 64 bit
988060484Sobrien	support, even though it is for an Alpha in 32 bit mode.
988160484Sobrien	* configure.in (nlm32_alpha_vec): Set target64 to true.
988260484Sobrien
988360484Sobrien	* nlm32-gen.c, nlm64-gen.c: Removed.  All nlm targets are
988460484Sobrien	different, so there is no point to providing a generic one.
988560484Sobrien	* libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
988660484Sobrien	in the backend accessor macros; that should no longer be possible.
988760484Sobrien	* targets.c (target_vector): Removed nlm32_big_generic_vec,
988860484Sobrien	nlm64_big_generic_vec, nlm64_little_generic_vec.
988960484Sobrien	* configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
989060484Sobrien	nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
989160484Sobrien	* Makefile.in: Rebuilt dependencies, and
989260484Sobrien	(BFD32_BACKENDS): Removed nlm32-gen.o.
989360484Sobrien	(BFD64_BACKENDS): Removed nlm64-gen.o.
989460484Sobrien	(CFILES): Removed nlm32-gen.c and nlm64-gen.c.
989560484Sobrien
989660484Sobrien	* hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
989760484Sobrien
989860484Sobrien	* linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
989960484Sobrien	bitsize arguments.  Changed all callers (aoutx.h).
990060484Sobrien	* libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
990160484Sobrien	and bitsize arguments to declaration.
990260484Sobrien	* libbfd.h: Rebuilt.
990360484Sobrien
990460484Sobrien	* ecoff.c: First cut at new style of linker backend for
990560484Sobrien	ECOFF--added a bunch of functions.  Also:
990660484Sobrien	(ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
990760484Sobrien	(ecoff_slurp_symbolic_header): New function.
990860484Sobrien	(ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
990960484Sobrien	(ecoff_compute_reloc_file_positions): New function.
991060484Sobrien	(ecoff_set_section_contents): Get out quickly if count is zero.
991160484Sobrien	Check errors better.
991260484Sobrien	(ecoff_write_object_contents): Put .xdata section in data segment.
991360484Sobrien	Call ecoff_compute_reloc_file_positions.  Don't output relocs or
991460484Sobrien	external symbols if outsymbols is NULL.
991560484Sobrien	(ecoff_bfd_final_link): Completely rewritten.
991660484Sobrien	* libecoff.h: Include bfdlink.h.
991760484Sobrien	(struct ecoff_backend_data): Add relocate_section field.
991860484Sobrien	(ecoff_data_type): Add sym_hashes and symndx_to_section fields.
991960484Sobrien	(struct ecoff_link_hash_entry): Define.
992060484Sobrien	(struct ecoff_link_hash_table): Define.
992160484Sobrien	(ecoff_bfd_link_add_symbols): Declare as function, not macro.
992260484Sobrien	(ecoff_bfd_link_hash_table_create): Likewise.
992360484Sobrien	* ecofflink.c (bfd_ecoff_debug_one_external): New function.
992460484Sobrien	(bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
992560484Sobrien	* bfd-in.h (bfd_ecoff_debug_one_external): Declare.
992660484Sobrien	* bfd-in2.h: Rebuilt.
992760484Sobrien	* coff-alpha.c (alpha_howto_table): Mark BRADDR as
992860484Sobrien	partial_inplace, and set the src_mask to 0x1fffff.
992960484Sobrien	(alpha_ecoff_get_relocated_section_contents): Remove unused
993060484Sobrien	variable gp_warned.
993160484Sobrien	(alpha_convert_external_reloc): New static function.
993260484Sobrien	(alpha_relocate_section): New static function.
993360484Sobrien	(alpha_ecoff_backend_data): Initialize relocate_section field.
993460484Sobrien	* coff-mips.c (mips_relocate_refhi): New static function.
993560484Sobrien	(mips_relocate_section): New static function.
993660484Sobrien	(mips_ecoff_backend_data): Initialize relocate_section field.
993760484Sobrien
993860484Sobrien	* reloc.c (_bfd_relocate_contents): Corrected signed overflow
993960484Sobrien	checking when there is an addend.
994060484Sobrien
994160484Sobrien	* aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
994260484Sobrien	a non a.out file, just pass it to _bfd_default_link_order.
994360484Sobrien	(aout_link_input_section_std): When doing a final PC relative link
994460484Sobrien	against a section symbol, subtract the VMA of the input section.
994560484Sobrien	(aout_link_input_section_ext): Likewise.
994660484Sobrien
994760484Sobrien	* linker.c (default_indirect_link_order): Renamed from
994860484Sobrien	_bfd_generic_indirect_link_order and made static.
994960484Sobrien	(_bfd_generic_final_link): Don't switch on link_order type, just
995060484Sobrien	call _bfd_default_link_order.
995160484Sobrien	(_bfd_default_link_order): Handle bfd_indirect_link_order type.
995260484Sobrien	* genlink.h: Removed declaration of
995360484Sobrien	_bfd_generic_indirect_link_order.
995460484Sobrien	* elf32-mips.c (mips_elf_final_link): Don't switch on link_order
995560484Sobrien	type, just call _bfd_default_link_order.
995660484Sobrien
995760484SobrienTue Jan  4 21:23:37 1994  Ian Lance Taylor  (ian@cygnus.com)
995860484Sobrien
995960484Sobrien	* linker.c (generic_link_check_archive_element): Base the name of
996060484Sobrien	the created common section on the name of the section the symbol
996160484Sobrien	came from.
996260484Sobrien	(_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
996360484Sobrien	must have a section, so don't bother to create one.
996460484Sobrien
996560484SobrienMon Jan  3 15:32:16 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
996660484Sobrien
996760484Sobrien	* aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
996860484Sobrien	* aoutf1.h (NAME(aout,sunos4_write_object_contents)):
996960484Sobrien	If the DYNAMIC flag is set, set it in the exec header.
997060484Sobrien	* aoutx.h (NAME(aout,some_aout_object_p)): If the object is
997160484Sobrien	dynamically linked, set the DYNAMIC flag in the BFD.
997260484Sobrien	* libaout.h (N_SET_DYNAMIC): New macro.
997360484Sobrien	(N_DYNAMIC): Add missing 0 in mask.
997460484Sobrien
997560484SobrienMon Jan  3 11:41:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
997660484Sobrien
997760484Sobrien	* ecoff.c (ecoff_get_extr): Don't output section symbols as
997860484Sobrien	external symbols.
997960484Sobrien
998060484Sobrien	* bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
998160484Sobrien	to unsigned int, because size_t may not be defined in bfd.h.
998260484Sobrien	* bfd-in2.h: Rebuilt.
998360484Sobrien
998460484Sobrien	* bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
998560484Sobrien	be a const pointer.
998660484Sobrien	* bfd-in2.h: Rebuilt.
998760484Sobrien	* libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
998860484Sobrien	be a const pointer.
998960484Sobrien	* targets.c (bfd_target): Change swap function pointers
999060484Sobrien	accordingly.
999160484Sobrien	* archive.c (do_slurp_coff_armap): Change swap accordingly.
999260484Sobrien	* aix386-core.c: Change NO_GET and NO_GETS accordingly.
999360484Sobrien	* hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
999460484Sobrien	ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
999560484Sobrien	accordingly.
999660484Sobrien
999760484Sobrien	* libbfd-in.h (struct artdata): Added tdata field.
999860484Sobrien	(_bfd_add_bfd_to_archive_cache): Declare.
999960484Sobrien	(_bfd_get_elt_at_filepos): Declare.
1000060484Sobrien	(_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
1000160484Sobrien	* libbfd.h: Rebuilt.
1000260484Sobrien	* archive.c: Cleaned up some more.
1000360484Sobrien	(_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
1000460484Sobrien	pointer elements of artdata.
1000560484Sobrien	(_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
1000660484Sobrien	(_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
1000760484Sobrien	(_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
1000860484Sobrien	(get_extended_arelt_filename, bfd_construct_extended_name_table,
1000960484Sobrien	bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
1001060484Sobrien	* ecoff.c: Some comment changes.
1001160484Sobrien	(ecoff_slurp_armap): Handle rename of snarf_ar_hdr.  Set
1001260484Sobrien	ardata->tdata to raw_armap.
1001360484Sobrien	(ecoff_archive_p): Initialize pointer elements of artdata.
1001460484Sobrien	* coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
1001560484Sobrien	add_bfd_to_cache.
1001660484Sobrien
1001760484Sobrien	* hash.c: Added some documentation.
1001860484Sobrien
1001960484SobrienMon Jan  3 11:09:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
1002060484Sobrien
1002160484Sobrien	* aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
1002260484Sobrien	and do the swapping here rather than calling ntohl from the N_*
1002360484Sobrien	macros.  This cleans up assumptions about the size of a host long,
1002460484Sobrien	the existence to ntohl, etc.
1002560484Sobrien
1002660484SobrienSat Jan  1 13:50:05 1994  Rob Savoye  (rob@darkstar.cygnus.com)
1002760484Sobrien
1002860484Sobrien	* config.bfd: Add support for VSTa micro-kernel. It currently uses
1002960484Sobrien	i386-aout.
1003060484Sobrien
1003160484SobrienSat Jan  1 10:18:54 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
1003260484Sobrien
1003360484Sobrien	* hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
1003460484Sobrien	* i386mach3.c (SEGMENT_SIZE): Fix value.
1003560484Sobrien
1003660484SobrienFor older changes see ChangeLog-9193
1003760484Sobrien
1003860484SobrienLocal Variables:
1003960484Sobrienmode: change-log
1004060484Sobrienleft-margin: 8
1004160484Sobrienfill-column: 74
1004260484Sobrienversion-control: never
1004360484SobrienEnd:
10044