ChangeLog-9495 revision 99461
1214082SdimThu Dec 21 12:43:49 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
2214634Sdim
3214082Sdim	* elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the
4214082Sdim	old style TOC16 references without using R_PPC_GOT.
5214082Sdim	(ppc_reloc_type): Ditto.
6214082Sdim	(ppc_elf_reloc_type_lookup): Add support for TOC16.
7214082Sdim	(ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner.
8214082Sdim	(ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc.
9214082Sdim	(ppc_elf_got16_{inner,reloc}): Stubs for real GOT support.
10214082Sdim	(ppc_elf_check_relocs): New function for GOT/PLT support that is
11214082Sdim	work in progress.
12214082Sdim	(ppc_elf_adjust_dynamic_symbol): Ditto.
13214082Sdim	(ppc_elf_adjust_dynindx): Ditto.
14214082Sdim	(ppc_elf_size_dynamic_sections): Ditto.
15214082Sdim	(ppc_elf_finish_dynamic_symbol): Ditto.
16214082Sdim	(ppc_elf_finish_dynamic_sections): Ditto.
17214082Sdim	(ELF_DYNAMIC_INTERPRETER): Define.
18214082Sdim
19214082SdimWed Dec 20 19:14:18 1995  Ken Raeburn  <raeburn@cygnus.com>
20214082Sdim
21214634Sdim	* elf.c (copy_private_bfd_data): When attaching sections to
22214082Sdim	segments ignore sections that won't be allocated.  Patch from
23214082Sdim	Andreas Schwab.
24214082Sdim
25214082SdimTue Dec 19 20:01:43 1995  Ken Raeburn  <raeburn@cygnus.com>
26214082Sdim
27214082Sdim	* config.bfd: Match on m68k-cbm-* only if OS doesn't match
28214082Sdim	anything else.
29214082Sdim
30214082SdimTue Dec 19 16:38:59 1995  Ian Lance Taylor  <ian@cygnus.com>
31214082Sdim
32214082Sdim	* coff-i960.c (CALC_ADDEND): Define.
33214082Sdim	(coff_i960_relocate_section): Add the input section VMA to the
34214082Sdim	addend for PC relative relocs.
35214082Sdim
36214082SdimSun Dec 17 20:11:55 1995  Kim Knuttila  <krk@cygnus.com>
37214082Sdim
38214082Sdim	* peicode.h (pe_print_pdata): Must test the entire entry for zero
39214082Sdim	to correctly terminate.
40214082Sdim
41214082SdimFri Dec 15 12:05:57 1995  Ian Lance Taylor  <ian@cygnus.com>
42214082Sdim
43214082Sdim	* targets.c (enum bfd_endian): Define.
44214082Sdim	(bfd_target): Rename byteorder_big_p to byteorder, and change it
45214082Sdim	from boolean to enum bfd_endian.  Change header_byteorder_big_p
46214082Sdim	correspondingly.
47214082Sdim	* bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
48214082Sdim	(bfd_header_big_endian, bfd_header_little_endian): New macros.
49214082Sdim	* bfd-in2.h: Rebuild.
50214082Sdim	* All targets: Change initialization of byteorder and
51214082Sdim	header_byteorder to use enum bfd_endian values rather than
52214082Sdim	booleans.
53214082Sdim	* All files: Change all references to byteorder_big_p and
54214082Sdim	header_byteorder_big_p to use new bfd_*_endian macros.
55214082Sdim
56214082Sdim	* coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
57214082Sdim	s_vaddr.
58214082Sdim	* coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
59214082Sdim	vma.
60214082Sdim	* ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
61214082Sdim
62214082SdimFri Dec 15 07:32:09 1995  steve chamberlain  <sac@slash.cygnus.com>
63214157Sdim
64214157Sdim	* pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'.
65214157Sdim
66214082SdimThu Dec 14 13:45:37 1995  Ian Lance Taylor  <ian@cygnus.com>
67214157Sdim
68214082Sdim	* ieee.c: Lots of minor cleanups.  Make many functions return
69214634Sdim	errors rather than calling abort.  Also:
70214082Sdim	(ieee_write_twobyte): Remove; change callers to call existing
71214082Sdim	ieee_write_2bytes function.
72214082Sdim	(ieee_write_expression): Don't output the section twice when
73214082Sdim	outputting a local symbol.  Don't emit an extraneous zero if there
74214082Sdim	is only one term.
75214082Sdim	(ieee_slurp_sections): Set the lma as well as the vma.
76214082Sdim	(ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
77214082Sdim
78214082Sdim	* ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
79214082Sdim	a recognized one or bfd_arch_unknown.
80214082Sdim	(ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
81214082Sdim	to succeed.
82214082Sdim	(ihex_get_symtab): Likewise.
83214082Sdim
84214082SdimWed Dec 13 15:44:06 1995  Ian Lance Taylor  <ian@cygnus.com>
85214082Sdim
86214082Sdim	* aoutx.h: Include <ctype.h>.
87214082Sdim	(struct aout_link_includes_table): Define.
88214082Sdim	(struct aout_link_includes_totals): Define.
89214082Sdim	(struct aout_link_includes_entry): Define.
90214082Sdim	(aout_link_includes_lookup): Define macro.
91214082Sdim	(struct aout_final_link_info): Add includes field.
92214082Sdim	(aout_link_includes_newfunc): New static function.
93214082Sdim	(NAME(aout,final_link)): Initialize includes hash table.
94214082Sdim	(aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
95214082Sdim
96214082SdimWed Dec 13 10:52:14 1995  Stan Shebs  <shebs@andros.cygnus.com>
97214082Sdim
98214082Sdim	* mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff.
99214082Sdim
100214082SdimWed Dec 13 11:07:45 1995  Kim Knuttila  <krk@cygnus.com>
101214082Sdim
102214082Sdim	* coff-ppc.c (coff_ppc_relocate_section): removed debugging code.
103214082Sdim
104214082SdimTue Dec 12 17:42:06 1995  Kim Knuttila  <krk@cygnus.com>
105214082Sdim
106214082Sdim	* peicode.h (pe_print_reloc): New function to dump the .reloc section.
107214082Sdim	(pe_print_private_bfd_data): call pe_print_reloc.
108214082Sdim	* coffcode.h (coff_set_alignment_hook): .reloc section alignment.
109214082Sdim	* coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed
110214082Sdim	up some debugging as well.
111214082Sdim
112214082SdimTue Dec 12 11:34:23 1995  Ian Lance Taylor  <ian@cygnus.com>
113214082Sdim
114214082Sdim	* config.bfd: Handle sparc-*-elf*.  From Ronald F. Guilmette
115214082Sdim	<rfg@monkeys.com>.
116214082Sdim
117214082SdimFri Dec  8 17:47:07 1995  Ian Lance Taylor  <ian@cygnus.com>
118214082Sdim
119214082Sdim	* elflink.h (elf_link_add_object_symbols): Set section_count to 0
120214082Sdim	when setting sections to NULL.
121214082Sdim
122214082SdimWed Dec  6 17:05:37 1995  Ian Lance Taylor  <ian@cygnus.com>
123214082Sdim
124214082Sdim	* xcofflink.c (struct xcoff_loader_info): Add export_defineds
125214082Sdim	field.
126214082Sdim	(bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
127214082Sdim	(xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
128214082Sdim	for all symbols.
129214082Sdim	* bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
130214082Sdim	* bfd-in2.h: Rebuild.
131214082Sdim
132214082SdimMon Dec  4 16:40:47 1995  Kim Knuttila  <krk@cygnus.com>
133214082Sdim
134214082Sdim	* coffcode.h (coff_set_alignment_hook): Removed some debugging printf's
135214082Sdim
136214082SdimMon Dec  4 11:25:39 1995  Ian Lance Taylor  <ian@cygnus.com>
137214634Sdim
138214082Sdim	* ihex.c (ihex_scan): Handle record types 4 and 5.
139214082Sdim	(ihex_object_p): Permit types 4 and 5.
140214634Sdim	(ihex_set_section_contents): Remove check for out of range
141214634Sdim	addresses.
142214082Sdim	(ihex_write_object_contents): Generate types 4 and 5.
143214634Sdim
144214082Sdim	* elflink.h (elf_link_output_extsym): Just ignore warning and
145214634Sdim	indirect references to symbols which don't really exist.
146214082Sdim
147214634SdimSun Dec  3 19:00:27 1995  Kim Knuttila  <krk@cygnus.com>
148214634Sdim
149214634Sdim	* peicode.h (pe_print_idata): Minor format fixes
150214082Sdim	(pe_print_edata): New function. Under private printing, this formats
151214082Sdim	the edata section of a PE file.
152214082Sdim	(pe_print_private_bfd_data): Added call to pe_print_edata.
153214082Sdim
154214082SdimSun Dec  3 16:46:54 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
155214082Sdim
156214082Sdim	* aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
157214082Sdim	index, don't call stoi.
158214082Sdim
159214082SdimFri Dec  1 14:46:51 1995  Ian Lance Taylor  <ian@cygnus.com>
160214082Sdim
161214082Sdim	* srec.c (srec_scan): Set lma as well as vma.
162214082Sdim
163214082Sdim	* ihex.c: New file; support for Intel Hex format.
164214082Sdim	* targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
165214082Sdim	(ihex_vec): Declare.
166214082Sdim	(bfd_target_vector): Always include ihex_vec.
167214082Sdim	* bfd.c (struct _bfd): Add ihex_data field to tdata union.
168214082Sdim	* Makefile.in: Rebuild dependencies.
169214082Sdim	(BFD_LIBS): Add ihex.o
170214082Sdim	(BFD_LIBS_CFILES): Add ihex.c.
171214082Sdim	* bfd-in2.h: Rebuild.
172214082Sdim
173214082Sdim	* elf.c (assign_file_positions_for_segments): Sort the sections in
174214082Sdim	each segment.
175214082Sdim	(get_program_header_size): Return the right size if segment_map is
176214082Sdim	not NULL.
177214082Sdim	(copy_private_bfd_data): Don't bother to sort the sections.
178214082Sdim
179214082Sdim	* bfd.c (bfd_record_phdr): New function.
180214082Sdim	* bfd-in.h (bfd_record_phdr): Declare.
181214082Sdim	* bfd-in2.h: Rebuild.
182214082Sdim
183214082Sdim	* elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
184214082Sdim	BFD_ASSERT.
185214082Sdim
186214082Sdim	* libbfd.c (bfd_malloc, bfd_realloc): New functions.
187214082Sdim	(bfd_zmalloc): Return PTR, not char *.  Take size_t, not
188214082Sdim	bfd_size_type.
189214082Sdim	* libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
190214082Sdim	(bfd_zmalloc): Change declaration.
191214082Sdim	* libbfd.h: Rebuild.
192214082Sdim	* Many files: Use bfd_malloc and bfd_realloc rather than malloc
193214082Sdim	and realloc.  Don't set bfd_error_no_memory if they fail.
194214082Sdim
195214082SdimThu Nov 30 19:32:26 1995  Kim Knuttila  <krk@cygnus.com>
196214082Sdim
197214082Sdim	* coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous
198214082Sdim	uses as well. Added a new howto to deal with TOCREL16 relocs that
199214082Sdim	are TOCDEFN as well.
200214082Sdim	(coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs
201214082Sdim	to handle RVA relocs from dlltool.
202214082Sdim	(ppc_coff_rtype2howto): TOCDEFN reloc addition.
203214082Sdim	(coff_ppc_rtype_to_howto): TOCDEFN reloc addition.
204214082Sdim	(ppc_coff_reloc_type_lookup): TOCDEFN reloc addition.
205214082Sdim
206214082Sdim	* coffcode.h (coff_set_alignment_hook): check idata$X sections
207214082Sdim	to get the right section alignment.
208214082Sdim
209214082SdimThu Nov 30 16:48:18 1995  Ian Lance Taylor  <ian@cygnus.com>
210214082Sdim
211214082Sdim	* elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
212214082Sdim	p_paddr if p_paddr is zero.
213214082Sdim	(make_mapping): Set includes_filehdr and includes_phdrs for first
214214082Sdim	PT_LOAD segment.
215214082Sdim	(map_sections_to_segments): Set includes_phdrs for PT_PHDR
216214082Sdim	segment.
217214082Sdim	(assign_file_positions_for_segments): Handle includes_filehdr and
218214082Sdim	includes_phdrs.  Remove special handling of PT_PHDR and first
219214082Sdim	PT_LOAD segments.
220214082Sdim	(copy_private_bfd_data): Set includes_filehdr and includes_phdr
221214082Sdim	when appropriate.  Remove special handling of PT_PHDR segment.
222214082Sdim	Use a more complex condition for when a section is included in a
223214082Sdim	segment to handle Solaris linker oddities.
224214082Sdim
225214082SdimThu Nov 30 11:17:33 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
226214082Sdim
227214634Sdim	* coff-m88k.c (howto_table): Reformatted for easier reading;
228214082Sdim	special_function now points to new function m88k_special_reloc.
229214082Sdim	(howto_hvrt16): Function previously used for handling HVRT16 relocs
230214082Sdim	removed.
231214082Sdim	(rtype2howto): Do not add reloc's r_offset to the addend, this will
232214082Sdim	be done correctly by m88k_special_reloc.
233214082Sdim	(reloc_processing): New function to be used by RELOC_PROCESSING.
234214082Sdim	(RELOC_PROCESSING): Define to call reloc_processing.
235214082Sdim
236214082SdimWed Nov 29 12:42:36 1995  Ian Lance Taylor  <ian@cygnus.com>
237214082Sdim
238214082Sdim	* peicode.h (pe_print_idata): Call malloc rather than xmalloc.
239214082Sdim	(pe_print_pdata): Likewise.
240214082Sdim
241214082Sdim	* opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
242214082Sdim	obstack_alloc fails.
243214082Sdim	(bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
244214082Sdim	fails.
245214082Sdim	* libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
246214082Sdim	* Many files: don't set bfd_error_no_memory if one of the above
247214082Sdim	routines fails.
248214082Sdim
249214082Sdim	* elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
250214082Sdim	if p_paddr_valid is set.
251214082Sdim	(copy_private_bfd_data): New static function.
252214082Sdim	(_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
253214082Sdim
254214082Sdim	* elf.c (assign_file_positions_for_segments): Fix case where extra
255214082Sdim	program headers were allocated.
256214082Sdim
257214082Sdim	* elf.c (_bfd_elf_print_private_bfd_data): New function.
258214082Sdim	* elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
259214082Sdim	* elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
260214082Sdim	_bfd_elf_print_private_bfd_data.
261214082Sdim
262214082Sdim	* coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
263214082Sdim	r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
264214082Sdim	Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
265214082Sdim	(alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
266214082Sdim	RELOC_SECTION_LITA for ALPHA_R_IGNORE.
267214082Sdim	(alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
268214082Sdim	RELOC_SECTION_ABS to RELOC_SECTION_NONE.
269214082Sdim
270214082SdimTue Nov 28 16:59:50 1995  Ian Lance Taylor  <ian@cygnus.com>
271214082Sdim
272214082Sdim	* elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
273214082Sdim	* elf.c (make_mapping): New static function.
274214082Sdim	(map_sections_to_segments): New static function.
275214082Sdim	(elf_sort_sections): New static function.
276214082Sdim	(assign_file_positions_for_segments): New static function.
277214082Sdim	(map_program_segments): Remove.
278214082Sdim	(get_program_header_size): Remove sorted_hdrs, count, and
279214082Sdim	maxpagesize parameters.  Simplify.
280214082Sdim	(assign_file_positions_except_relocs): When generating an
281214082Sdim	executable, use assign_file_positions_for_segments.
282214082Sdim	(elf_sort_hdrs): Remove.
283214082Sdim	(_bfd_elf_sizeof_headers): Remove eliminated parameters from call
284214082Sdim	to get_program_header_size.
285214082Sdim
286214082SdimMon Nov 27 12:27:46 1995  Ian Lance Taylor  <ian@cygnus.com>
287214082Sdim
288214082Sdim	* hp300hpux.c (MY(callback)): Set lma as well as vma.
289214082Sdim
290214082Sdim	* configure, config.in: Regenerate with autoconf 2.7.
291214082Sdim
292214082Sdim	* elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
293214082Sdim	* elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
294214082Sdim
295214082SdimWed Nov 22 12:02:09 1995  Ian Lance Taylor  <ian@cygnus.com>
296214082Sdim
297214082Sdim	* ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
298214082Sdim	(ecoff_sec_to_styp_flags): Likewise.
299214082Sdim	(_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
300214082Sdim	(ecoff_set_symbol_info): Handle scRConst.
301214082Sdim	(ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
302214082Sdim	(ecoff_compute_section_file_positions): Handle .rconst section.
303214082Sdim	(_bfd_ecoff_write_object_contents): Likewise.
304214082Sdim	(ecoff_link_check_archive_element): Handle scRConst.
305214082Sdim	(ecoff_link_add_externals): Likewise.
306214082Sdim	(ecoff_link_write_external): Handle .rconst section.
307214082Sdim	(ecoff_reloc_link_order): Likewise.
308214082Sdim	* ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
309214082Sdim	* coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
310214082Sdim	section.
311214082Sdim	(alpha_relocate_section): Handle RELOC_SECTION_RCONST.
312214082Sdim
313214082Sdim	* sunos.c (sunos_scan_dynamic_symbol): Only set written if the
314214082Sdim	DEF_DYNAMIC flag is set.
315214082Sdim
316214082SdimTue Nov 21 13:25:29 1995  Ken Raeburn  <raeburn@cygnus.com>
317214082Sdim
318214082Sdim	* host-aout.c: If TRAD_HEADER is defined, include it.
319214082Sdim
320214082SdimTue Nov 21 13:03:57 1995  Ian Lance Taylor  <ian@cygnus.com>
321214082Sdim
322214082Sdim	* aclocal.m4 (AC_PROG_CC): Remove local definition.
323214082Sdim	(BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
324214082Sdim	(BFD_NEED_DECLARATION): New function.
325214082Sdim	* configure.in: Use BFD_NEED_DECLARATION.
326214082Sdim	* acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
327214082Sdim	* configure, config.in: Rebuild with autoconf 2.6.
328214082Sdim
329214082Sdim	* xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
330214082Sdim	special_sections before returning when called with a non XCOFF
331214082Sdim	BFD.
332214082Sdim
333214082Sdim	* coffgen.c (coff_renumber_symbols): Sort common symbols with
334214082Sdim	global symbols.
335214082Sdim
336214082Sdim	* coffcode.h (coff_compute_section_file_positions): Only pad the
337214082Sdim	previous section to force file alignment when creating an
338214082Sdim	executable.
339214082Sdim
340214082SdimMon Nov 20 14:54:09 1995  Ian Lance Taylor  <ian@cygnus.com>
341214082Sdim
342214082Sdim	* coffcode.h (coff_compute_section_file_positions): If
343214082Sdim	RS6000COFF_C, set up the .debug section.
344214082Sdim
345214082Sdim	* xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
346214082Sdim	if it is not large enough to accomodate the entire TOC area with
347214082Sdim	signed 16 bit offsets.
348214082Sdim	(xcoff_write_global_symbol): Handle negative TOC offsets in global
349214082Sdim	linkage code.
350214082Sdim	(_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
351214082Sdim	TOC anchor to use the TOC value used in the output file.
352214082Sdim
353214082SdimSat Nov 18 18:01:41 1995  Ian Lance Taylor  <ian@cygnus.com>
354214082Sdim
355214082Sdim	* coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
356214082Sdim	(_bfd_coff_read_string_table): Likewise.
357214082Sdim
358214082SdimSat Nov 18 19:43:04 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
359214082Sdim
360214082Sdim	* pe-arm.c: Fix typos.
361214082Sdim	* coff-arm.c: Likewise.
362214082Sdim
363214082SdimFri Nov 17 16:22:04 1995  Kim Knuttila  <krk@cygnus.com>
364214082Sdim
365214082Sdim	* coff-ppc.c (list_ele): Added "cat"egory member.
366214082Sdim	(record_toc): New category parameter (priv or pub).
367214082Sdim	(ppc_record_toc_entry): Check to see if toc bounds exceeded.
368214082Sdim	(ppc_process_before_allocation): Removed embrionic data-in-toc from
369214082Sdim	the mainline. It addes extra toc cells in error.
370214082Sdim	(ppc_coff_swap_sym_in_hook): Added some documentation.
371214082Sdim	(dump_toc): Can now diagnose "virtual toc" chicanery.
372214082Sdim
373214082SdimFri Nov 17 10:41:25 1995  Philippe De Muyter  <phdm@info.ucl.ac.be>
374214082Sdim
375214082Sdim	* elf-bfd.h (struct elf_link_hash_table): Change type of
376214082Sdim	dynsymcount and bucketcount fields from size_t to bfd_size_type.
377214082Sdim
378214082SdimFri Nov 17 10:02:58 1995  Ian Lance Taylor  <ian@cygnus.com>
379214082Sdim
380214082Sdim	* coffcode.h (coff_pointerize_aux_hook): I960 version: don't
381214082Sdim	pointerize C_LEAFSTAT or C_LEAFEXT entries.
382214082Sdim
383214082Sdim	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
384214082Sdim	DT_INIT and DT_FINI entries if the _init or _fini symbol is
385214082Sdim	defined or mentioned in a regular file.
386214082Sdim
387214082SdimThu Nov 16 15:16:42 1995  Kim Knuttila  <krk@cygnus.com>
388214082Sdim
389214082Sdim	* coff-ppc.c (ppc_record_data_in_toc_entry): new function
390214082Sdim	(coff_ppc_relocate_section): Handle TOCDEFN attribute
391214082Sdim	(coff_ppc_relocate_section): Correct REL24 handling
392214082Sdim	(ppc_process_before_allocation): Correct TOCDEFN handling
393214082Sdim
394214082Sdim	* peicode.h (dir_names): Added name descriptions
395214082Sdim
396214082SdimThu Nov 16 03:38:03 1995  Ken Raeburn  <raeburn@cygnus.com>
397214082Sdim
398214082Sdim	* VERSION: Updated to cygnus-2.6.
399214082Sdim
400214082SdimWed Nov 15 19:30:07 1995  Ken Raeburn  <raeburn@cygnus.com>
401214082Sdim
402214082Sdim	* targets.c (m68k4knetbsd_vec): Declare.
403214082Sdim
404214082SdimWed Nov 15 18:05:52 1995  Ian Lance Taylor  <ian@cygnus.com>
405214082Sdim
406214082Sdim	* targets.c (bfd_target): Change type of second argument to
407214082Sdim	_bfd_print_private_bfd_data from void * to PTR.
408214082Sdim	* libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
409214082Sdim	using PTR rather than void *.
410214082Sdim	* bfd-in2.h, libbfd.h: Rebuild.
411214082Sdim	* peicode.h (pe_print_private_bfd_data): Change vfile from void *
412214082Sdim	to PTR.
413214082Sdim	* elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
414214082Sdim	_bfd_generic_bfd_print_private_bfd_data rather than casting
415214082Sdim	bfd_true.
416214082Sdim
417214082SdimWed Nov 15 04:09:14 1995  Ken Raeburn  <raeburn@cygnus.com>
418214082Sdim
419214082Sdim	* Makefile.in (.dep1): Fix stupid typo in last change.  Remove any
420214082Sdim	"DO NOT DELETE" lines or blank lines that mkdep writes on some
421214082Sdim	systems.
422214082Sdim	(BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES,
423214082Sdim	BFD64_BACKENDS_CFILES): New variables.
424214082Sdim	(CFILES): Use them.
425214082Sdim
426214082SdimTue Nov 14 11:52:23 1995  Ian Lance Taylor  <ian@cygnus.com>
427214082Sdim
428214082Sdim	* peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
429214082Sdim	not at the file position of the first section.
430214082Sdim	* coffcode.h (coff_compute_section_file_positions): Avoid using
431214082Sdim	unportable #elif.
432214082Sdim	(coff_write_object_contents): When generating a PPC PE executable
433214082Sdim	with no symbols, round up the file size to a COFF_PAGE_SIZE
434214082Sdim	boundary.
435214082Sdim	* cofflink.c (_bfd_coff_final_link): If there are no symbols,
436214082Sdim	don't write out a string table.
437214082Sdim
438214082Sdim	* elf.c (bfd_section_from_shdr): When using a different section
439214082Sdim	header, pass the new one to _bfd_elf_make_section_from_shdr.
440214082Sdim	(elf_fake_sections): Don't set sh_info and sh_entsize fields.
441214082Sdim	(elf_map_symbols): Add section VMA to symbol value when comparing
442214082Sdim	against 0.
443214082Sdim	(_bfd_elf_compute_section_file_positions): Only build symbol table
444214082Sdim	if there are some symbols.  Set file offset of symtab and strtab
445214082Sdim	sections.
446214082Sdim	(assign_file_positions_except_relocs): Remove dosyms parameter.
447214082Sdim	Change all callers.  Never set file offset of symtab and strtab
448214082Sdim	sections.
449214082Sdim	(_bfd_elf_copy_private_section_data): New function.
450214082Sdim	(MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
451214082Sdim	(_bfd_elf_copy_private_symbol_data): New function.
452214082Sdim	(swap_out_syms): Check for special mapping of st_shndx created by
453214082Sdim	copy_private_symbol_data.
454214082Sdim	* elfxx-target.h: Use new copy routines.
455214082Sdim	* elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
456214082Sdim	(_bfd_elf_copy_private_section_data): Declare.
457214082Sdim
458214082Sdim	* config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
459214082Sdim
460214082Sdim	* coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
461214082Sdim	C_NT_WEAK.
462214082Sdim
463214082Sdim	* coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
464214082Sdim	_bfd_dummy_target, matching the recent change to archive
465214082Sdim	recognition.
466214082Sdim
467214082SdimMon Nov 13 13:24:38 1995  Ian Lance Taylor  <ian@cygnus.com>
468214082Sdim
469214082Sdim	* libbfd.c (bfd_get_file_window): Use casts to avoid doing
470214082Sdim	arithmetic on PTR types.
471214082Sdim
472214082Sdim	* aout-target.h (MY(callback)): Set the lma of the sections.
473214082Sdim
474214082Sdim	* ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
475214082Sdim	symbol into a reloc against the section.
476214082Sdim
477214082SdimMon Nov 13 07:31:35 1995  Kim Knuttila  <krk@cygnus.com>
478214082Sdim
479214082Sdim	* coff-ppc.c (ppc_coff_link_hash_entry): added support for inline
480214082Sdim	glue for the relocs: IMGLUE and IFGLUE.
481214082Sdim	(record_toc): new function - tracks toc contents
482214082Sdim	(ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc
483214082Sdim	(coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE
484214082Sdim	(ppc_coff_rtype2howto): removed invalid IMGLUE hack
485214082Sdim	(coff_ppc_rtype_to_howto): removed invalid IMGLUE hack
486214082Sdim	(ppc_record_toc_entry): Removed a debug define (duh)
487214082Sdim
488214082Sdim	* peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata"
489214082Sdim	(pe_print_idata): New function - formats the idata section data
490214082Sdim	(pe_print_pdata): New function - formats the pdata section data
491214082Sdim	(pe_print_private_bfd_data): calls to above
492214082Sdim
493214082SdimSun Nov 12 12:23:24 1995  Stan Shebs  <shebs@andros.cygnus.com>
494214082Sdim
495214082Sdim	* Makefile.in (bfd_libs_here, etc): Provide empty definitions.
496214082Sdim	* coff-rs6000.c (rs6000coff_vec): Add conditional defines
497214082Sdim	TARGET_SYM and TARGET_NAME for vector and BFD name.
498214082Sdim	* coff-pmac.c (pmac_xcoff_vec): Remove.
499214082Sdim	(TARGET_SYM, TARGET_NAME): Define.
500214082Sdim	* coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
501214082Sdim	machine to 0, not all PowerMacs are 601s.
502214082Sdim
503214082SdimFri Nov 10 12:10:14 1995  Ian Lance Taylor  <ian@cygnus.com>
504214082Sdim
505214082Sdim	* elfcode.h (elf_object_p): Read in any program headers.
506214082Sdim	* elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma
507214082Sdim	based on the program headers, if any.
508214082Sdim	(elf_fake_sections): Set sh_addr from the vma, not the lma.
509214082Sdim	(map_program_segments): Set p_paddr of program headers based on
510214082Sdim	the lma.
511214082Sdim
512214082SdimThu Nov  9 13:01:31 1995  Ian Lance Taylor  <ian@cygnus.com>
513214082Sdim
514214082Sdim	* archive.c (bfd_generic_archive_p): Preserve tdata in case of
515214082Sdim	failure.
516214082Sdim
517214082Sdim	* aoutx.h (NAME(aout,final_link)): Report a reasonable error when
518214082Sdim	trying to do a relocateable link with a non-a.out object file.
519214082Sdim
520214082Sdim	* archive.c (bfd_generic_archive_p): Check the first object file
521214082Sdim	in an archive even if target_defaulted is set.  If the object file
522214082Sdim	has the wrong xvec, reject it.
523214082Sdim
524214082Sdim	* aoutx.h (NAME(aout,set_section_contents)): If a section can not
525214082Sdim	be represented, report the name via _bfd_error_handler.
526214082Sdim	(translate_to_native_sym_flags): Likewise.
527214082Sdim	* elf32-mips.c (mips_elf_final_link): Likewise.
528214082Sdim	* oasys.c (oasys_write_sections): Likewise.
529214082Sdim
530214082Sdim	* coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
531214082Sdim	which checks for STYP_OVRFLO sections.
532214082Sdim	(coff_compute_section_file_positions): If RS6000COFF_C, handle
533214082Sdim	reloc and lineno count overflows.
534214082Sdim	(coff_write_object_contents): Call coff_count_linenumbers before
535214082Sdim	coff_compute_section_file_positions.  If RS6000COFF_C, handle
536214082Sdim	reloc and lineno count overflows.
537214082Sdim	* xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
538214082Sdim	relocs before dealing with .pad sections.  Count overflow section
539214082Sdim	headers when handling .pad sections.
540214082Sdim
541214082Sdim	* coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
542214082Sdim	if RS6000COFF_C.
543214082Sdim
544214082Sdim	* xcofflink.c (XCOFF_DESCRIPTOR): Define.
545214082Sdim	(struct xcoff_link_hash_table): Add descriptor_section and
546214082Sdim	special_sections fields.
547214082Sdim	(_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
548214082Sdim	(xcoff_link_add_symbols): Set linkage section alignment.  Create
549214082Sdim	descriptor section.  Check for magic symbol names (_text, etc.),
550214082Sdim	and record them in special_sections if found.  Set
551214082Sdim	XCOFF_DESCRIPTOR flag for a function descriptor, and set its
552214082Sdim	descriptor field to point back to the function code symbol.
553214082Sdim	(xcoff_sweep): Always mark the special descriptor_section.
554214082Sdim	(bfd_xcoff_export_symbol): Check whether the symbol might be a
555214082Sdim	function descriptor, and mark it if it is.
556214082Sdim	(bfd_xcoff_size_dynamic_sections): Add new special_sections
557214082Sdim	parameter, and fill it in.  Allocate space for the descriptor
558214082Sdim	section.
559214082Sdim	(xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
560214082Sdim	global linkage code.  If an undefined function descriptor is
561214082Sdim	exported, arrange to define it.  Warn about any other undefined
562214082Sdim	exported symbol.
563214082Sdim	(_bfd_xcoff_bfd_final_link): Write out the descriptor section.
564214082Sdim	(xcoff_write_global_symbol): Create a function descriptor when
565214082Sdim	necessary.
566214082Sdim	* bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
567214082Sdim	* bfd-in2.h: Rebuild.
568214082Sdim
569214082SdimThu Nov  9 08:40:23 1995  Kim Knuttila  <krk@cygnus.com>
570214082Sdim
571214082Sdim	* coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
572214082Sdim	(ppc_coff_link_hash_table): new types for hashing
573214082Sdim	(ppc_coff_link_hash_newfunc): hash entry constructor
574214082Sdim	(ppc_coff_link_hash_table_init): hash table initializer
575214082Sdim	(ppc_coff_link_hash_table_create): hash table constructor
576214082Sdim	(ppc_record_toc_entry): changed references to hash table
577214082Sdim	(coff_ppc_relocate_section): changed references to hash table
578214082Sdim
579214082Sdim	* libcoff-in.h (coff_link_hash_entry): removed toc_offset
580214082Sdim	* libcoff.h: Rebuild
581214082Sdim
582214082Sdim	* cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
583214082Sdim	(coff_link_add_symbols): removed toc_offset init
584214082Sdim
585214082SdimThu Nov  9 04:00:38 1995  Ken Raeburn  <raeburn@cygnus.com>
586214082Sdim
587214082Sdim	* Makefile.in (.dep1): Make sure the file mkdep is to write exists
588214082Sdim	first.
589214082Sdim
590214082Sdim	* configure.in: Added new option --with[out]-mmap.  Set USE_MMAP
591214082Sdim	if it is given and mmep is available.
592214082Sdim	* acconfig.h: Undef USE_MMAP.
593214082Sdim	* configure, config.in: Regenerated.
594214082Sdim	* aoutx.h: If USE_MMAP is not defined, do all symbol and string
595214082Sdim	table handling the old way.
596214082Sdim	(aout_get_external_symbols): Don't complain if last byte of string
597214082Sdim	table is nonzero.
598214082Sdim	* libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
599214082Sdim	(bfd_free_window) [! USE_MMAP]: Don't define.
600214082Sdim	(bfd_get_file_window,
601214082Sdim	_bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
602214082Sdim
603214082SdimWed Nov  8 20:03:44 1995  Eric Freudenthal <freudenthal@nyu.edu>
604214082Sdim
605214082Sdim	* coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
606214082Sdim	0xffff0000.
607214082Sdim
608214082SdimWed Nov  8 11:31:11 1995  Ian Lance Taylor  <ian@cygnus.com>
609214082Sdim
610214082Sdim	* coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
611214082Sdim	compatible with AMD generated COFF files.  Try to support both AMD
612214082Sdim	and GNU formats simultaneously.
613214082Sdim	(coff_a29k_relocate_section): Likewise.
614214082Sdim
615214082Sdim	* libbfd.c (bfd_get_file_window): Change writable parameter from
616214082Sdim	int to boolean; update all callers.  Pass MAP_SHARED if not
617214082Sdim	writable--it's required on Solaris.  Cast fprintf argument to
618214082Sdim	avoid warning.
619214082Sdim	* bfd-in.h (bfd_get_file_window): Update declaration.
620214082Sdim	* bfd-in2.h: Rebuild.
621214082Sdim	* aoutx.h: Update calls to bfd_get_file_window.
622214082Sdim
623214082Sdim	* xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
624214082Sdim	Change all uses.
625214082Sdim	(xcoff_swap_ldhdr_in): New static function.
626214082Sdim	(xcoff_swap_ldsym_in): New static function.
627214082Sdim	(xcoff_find_reloc): Handle the case of a single reloc correctly.
628214082Sdim	(xcoff_link_add_symbols): If we just created a descriptor, pass it
629214082Sdim	to _bfd_generic_link_add_one_symbol, to save a hash lookup.
630214082Sdim	Handle XTY_ER/XMC_XO symbols correctly.
631214082Sdim	(xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
632214082Sdim	rather than normal symbol table.
633214082Sdim	(bfd_xcoff_import_symbol): It's not an error if the symbol is
634214082Sdim	already defined with the same absolute value.
635214082Sdim	(xcoff_mark): When considering called symbols, check whether the
636214082Sdim	descriptor is from a dynamic object, rather than the symbol
637214082Sdim	itself.
638214082Sdim	(xcoff_build_ldsyms): Likewise.
639214082Sdim
640214082Sdim	* libbfd.c (bfd_get_file_window): Change return type to boolean.
641214082Sdim	Cast realloc and malloc return values.  If malloc or realloc fail,
642214082Sdim	set bfd_error_no_memory.
643214082Sdim	* bfd-in.h (bfd_get_file_window): Change type to boolean.
644214082Sdim	* bfd-in2.h: Rebuild.
645214082Sdim
646214082SdimTue Nov  7 11:53:48 1995  Kim Knuttila  <krk@cygnus.com>
647214082Sdim
648214082Sdim	* coff-ppc.c (ppc_record_toc_entry): new function.
649214082Sdim	(in_reloc_p): changed return value.
650214082Sdim	(coff_ppc_relocate_section): much rework.
651214082Sdim	(ppc_allocate_toc_section): new function.
652214082Sdim	(ppc_process_before_allocation): new function.
653214082Sdim	(ppc_coff_swap_sym_in_hook): new function.
654214082Sdim
655214082Sdim	* cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
656214082Sdim	(coff_link_add_symbols): initialize toc_offset.
657214082Sdim
658214082Sdim	* peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
659214082Sdim	(coff_swap_aouthdr_out): Added more sections to the data
660214082Sdim	dictionary for the pe file header. Also changed linker version
661214082Sdim	number on the ppc side.
662214082Sdim	(dir_names): small improvements to the dictionary printing.
663214082Sdim	(pe_mkobject_hook): save the file level flags.
664214082Sdim
665214082Sdim	* libcoff-in.h (coff_link_hash_entry): added toc_offset field
666214082Sdim	(pe_tdata): added real_flags field
667214082Sdim	(coff_tdata): added local_toc_sym_map and access macro
668214082Sdim
669214082Sdim	* libcoff.h (coff_link_hash_entry): added toc_offset field
670214082Sdim	(pe_tdata): added real_flags field
671214082Sdim	(coff_tdata): added local_toc_sym_map and access macro
672214082Sdim
673214082Sdim	* coffcode.h (coff_set_alignment_hook): added hook for PE.
674214082Sdim	(coff_mkobject): init for local_toc_sym_map
675214082Sdim	(coff_write_object_contents): set the internal_a.magic to
676214082Sdim        IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
677214082Sdim	ppc compilers use.
678214082Sdim
679214082SdimTue Nov  7 13:48:58 1995  Ian Lance Taylor  <ian@cygnus.com>
680214082Sdim
681214082Sdim	* ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
682214082Sdim	entries until both the line number address and the function name
683214082Sdim	address are too large.
684214082Sdim
685214082Sdim	* configure.in: Call AC_CHECK_PROG to find and cache AR.
686214082Sdim	* configure: Rebuilt.
687214082Sdim
688214082Sdim	* aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
689214082Sdim	is defined in the environment.
690214082Sdim
691214082SdimTue Nov  7 10:57:24 1995  Jeffrey A Law  (law@cygnus.com)
692214082Sdim
693214082Sdim	* som.c (som_get_section_contents_in_window): Define to use
694214082Sdim	generic version.
695214082Sdim
696214082SdimMon Nov  6 17:13:15 1995  Harry Dolan  <dolan@ssd.intel.com>
697214082Sdim
698214082Sdim	* coff-i860.c: New file, based on coff-i386.c.
699214082Sdim	* cpu-i860.c: New file, based on cpu-i386.c.
700214082Sdim	* hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
701214082Sdim	* config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
702214082Sdim	targets, using i860coff_vec.
703214082Sdim	* configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
704214082Sdim	trad-core.o and hosts/i860mach3.h.
705214082Sdim	(i860coff_vec): Use coff-i860.o and cofflink.o.
706214082Sdim	* configure: Rebuild.
707214082Sdim	* Makefile.in: Rebuild dependencies.
708214082Sdim	(ALL_MACHINES): Add cpu-i860.o.
709214082Sdim	(BFD32_BACKENDS): Add coff-i860.o.
710214082Sdim	(CFILES): Add cpu-i860.c and coff-i860.c.
711214082Sdim	* targets.c (i860coff_vec): Declare.
712214082Sdim	(bfd_target_vector): Add &i860coff_vec.
713214082Sdim	* archures.c (bfd_i860_arch): Declare.
714214082Sdim	(bfd_archures_list): Add &bfd_i860_arch.
715214082Sdim	* coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
716214082Sdim	(coff_set_flags): Handle bfd_arch_i860.
717214082Sdim	(coff_write_object_contents): Handle I860 a.out magic number.
718214082Sdim
719214082SdimMon Nov  6 14:34:07 1995  Ian Lance Taylor  <ian@cygnus.com>
720214082Sdim
721214082Sdim	* xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
722214082Sdim	the created .tc section to 2.
723214082Sdim	(xcoff_mark): Don't keep a .loader reloc for a call to an
724214082Sdim	undefined symbol when creating a shared library.
725214082Sdim	(xcoff_build_ldsyms): When creating a shared library, generate
726214082Sdim	global linkage code for a call to an undefined symbol.
727214082Sdim
728214082SdimSun Nov  5 21:44:13 1995  Ken Raeburn  <raeburn@cygnus.com>
729214082Sdim
730214082Sdim	* Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
731214082Sdim	BFD32_BACKENDS, BFD64_BACKENDS.
732214082Sdim	(.dep1): Put mkdep output in a separate file.
733214082Sdim	Rebuilt dependencies.
734214082Sdim
735214082Sdim	* ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
736214082Sdim	value.
737214082Sdim
738214082Sdim	Permit use of mmap when available:
739214082Sdim
740214082Sdim	* configure.in: Check for mmap, madvise, mprotect.
741214082Sdim	* config.in, configure: Regenerated.
742214082Sdim
743214082Sdim	* libbfd.c (struct _bfd_window_internal): Define type.
744214082Sdim	(bfd_init_window, bfd_free_window, bfd_get_file_window): New
745214082Sdim	functions.
746214082Sdim	(ok_to_map): New static variable for debugging.
747214082Sdim	(_bfd_generic_get_section_contents_in_window): New function.
748214082Sdim	* bfd-in.h (bfd_window_internal): Declare type.
749214082Sdim	(bfd_window): Define type.
750214082Sdim	(bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
751214082Sdim	* libbfd-in.h (_bfd_generic_get_section_contents_in_window):
752214082Sdim	Declare.
753214082Sdim
754214082Sdim	* libaout.h (struct aoutdata): Add two window fields.
755214082Sdim	(obj_aout_sym_window, obj_aout_string_window): New macros.
756214082Sdim	* aoutx.h (some_aout_object_p): Initialize windows.
757214082Sdim	(aout_get_external_symbols): Get symbol data and strings in
758214082Sdim	windows instead of explicitly allocated buffers.
759214082Sdim	(slurp_symbol_table): Free window instead of memory.
760214082Sdim	(bfd_free_cached_info): Release windows instead of freeing storage
761214082Sdim	directly.
762214082Sdim	(aout_link_free_symbols): Ditto.
763214082Sdim
764214082Sdim	* targets.c (bfd_target): Add new field for
765214082Sdim	get_section_contents_in_window.
766214082Sdim	(BFD_JUMP_TABLE_GENERIC): Updated.
767214082Sdim	* aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
768214082Sdim	coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
769214082Sdim	libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
770214082Sdim	macros for get_section_contents_in_window field.
771214082Sdim
772214082SdimSat Nov  4 12:23:26 1995  Fred Fish  <fnf@cygnus.com>
773214082Sdim
774214082Sdim	* core.c: Renamed to corefile.c
775214082Sdim	* makefile.dos (OBJS): Change core.o to corefile.o
776214082Sdim	* Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
777214082Sdim
778214082SdimFri Nov  3 15:54:59 1995  Ian Lance Taylor  <ian@cygnus.com>
779214082Sdim
780214082Sdim	* xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
781214082Sdim	to o.  Clobber and restore the list of new csects around the call
782214082Sdim	to _bfd_generic_link_add_one_symbol, in case it wants to report a
783214082Sdim	linker error and the linker wants to read the symbol table.  Reset
784214082Sdim	the line number count of a real section even if it has no relocs.
785214082Sdim	(_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
786214082Sdim
787214082Sdim	* coffgen.c (_bfd_coff_read_string_table): Warn if the string size
788214082Sdim	is too small.
789214082Sdim
790214082SdimThu Nov  2 23:16:39 1995  Ian Lance Taylor  <ian@cygnus.com>
791214082Sdim
792214082Sdim	* xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
793214082Sdim	an undefined symbol in a shared link.
794214082Sdim
795214082Sdim	* linker.c (_bfd_generic_link_add_one_symbol): Correct type of
796214082Sdim	oldtype from bfd_link_order_type to bfd_link_hash_type.  From
797214082Sdim	phdm@info.ucl.ac.be (Philippe De Muyter).
798214082Sdim
799214082SdimWed Nov  1 14:26:02 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
800214082Sdim
801214082Sdim	* coff-m88k.c (rtype2howto): New static function.
802214082Sdim	(RTYPE2HOWTO): Use it rather than a macro definition.
803214082Sdim
804214082Sdim	* coffcode.h (coff_write_object_contents): set internal_a.magic
805214082Sdim	to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
806214082Sdim
807214082Sdim	* configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
808214082Sdim	define TRAD_HEADER to new file hosts/delta68.h.
809214082Sdim	m88*-motorola-sysv*, however, does use ptrace-core.o.
810214082Sdim	* hosts/delta68.h: New file.
811214082Sdim
812214082Sdim	* ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
813214082Sdim	bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
814214082Sdim
815214082SdimWed Nov  1 13:51:54 1995  Ken Raeburn  <raeburn@cygnus.com>
816214082Sdim
817214082Sdim	* i386linux.c (MY(vec)): Declare before use.
818214082Sdim
819214082SdimWed Nov  1 11:45:07 1995  Ian Lance Taylor  <ian@cygnus.com>
820214082Sdim
821214082Sdim	* reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
822214082Sdim	Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
823214082Sdim
824214082Sdim	* elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
825214082Sdim	BFD is not of the right type.
826214082Sdim	(bfd_elf_get_needed_list): Likewise.
827214082Sdim	* i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
828214082Sdim	* sunos.c (bfd_sunos_get_needed_list): Likewise.
829214082Sdim	* xcofflink.c (XCOFF_XVECP): Define.
830214082Sdim	(bfd_xcoff_link_record_set): Don't do anything if the BFD is not
831214082Sdim	of the right type.
832214082Sdim	(bfd_xcoff_import_symbol): Likewise.
833214082Sdim	(bfd_xcoff_export_symbol): Likewise.
834214082Sdim	(bfd_xcoff_link_count_reloc): Likewise.
835214082Sdim	(bfd_xcoff_record_link_assignment): Likewise.
836214082Sdim	(bfd_xcoff_size_dynamic_sections): Likewise.
837214082Sdim
838214082Sdim	* sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
839214082Sdim	table index against the number of symbols for a base relative
840214082Sdim	reloc.
841214634Sdim
842214082Sdim	* coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
843214082Sdim	static function.
844214082Sdim	* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
845214634Sdim	full_aouthdr flag here...
846214634Sdim	(_bfd_xcoff_bfd_final_link): ...not here.
847214082Sdim
848214082SdimTue Oct 31 12:52:02 1995  Fred Fish  <fnf@cygnus.com>
849214082Sdim
850214082Sdim	* libelf.h:  Rename to elf-bfd.h to avoid conflict with
851214082Sdim	systems that have a system <libelf.h>.
852214082Sdim	* Makefile.in: Globally replace libelf.h with elf-bfd.h.
853214082Sdim	* bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
854214082Sdim	elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
855214634Sdim	elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
856214082Sdim	elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
857214082Sdim	elfxx-target.h: Include elf-bfd.h rather than libelf.h.
858214082Sdim	* elfxx-target.h: Change libelf.h reference to elf-bfd.h.
859214634Sdim
860214634SdimTue Oct 31 15:30:07 1995  David Mosberger-Tang  <davidm@azstarnet.com>
861214082Sdim
862214082Sdim	* ecoff.c (ecoff_set_symbol_info): Add new parameter weak.  If
863214082Sdim	set, set BSF_WEAK in symbol.  Change all callers.
864214082Sdim	(ecoff_get_extr): Set weakext based on BSF_WEAK.
865214082Sdim	(ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
866214082Sdim	_bfd_generic_link_add_one_symbol.
867214082Sdim	(ecoff_indirect_link_order): Check that the section tdata relocs
868214082Sdim	are not NULL before using them.
869214082Sdim
870214082Sdim	* configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
871214082Sdim	define TRAD_HEADER as hosts/alphalinux.h.
872214082Sdim	* configure: Rebuild.
873214082Sdim	* hosts/alphalinux.h: New file.
874214082Sdim	* trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
875214082Sdim	not int.
876214082Sdim
877214082SdimTue Oct 31 12:34:11 1995  Ian Lance Taylor  <ian@cygnus.com>
878214082Sdim
879214082Sdim	* coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
880214082Sdim	C_ECOMM storage classes.
881214082Sdim
882214082Sdim	* xcofflink.c (xcoff_mark_symbol): New static function, broken out
883214082Sdim	of xcoff_mark.
884214082Sdim	(xcoff_mark): Call xcoff_mark_symbol.
885214082Sdim	(bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
886214082Sdim	(bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
887214082Sdim	doing it by hand.
888214082Sdim	(xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
889214082Sdim
890214082SdimMon Oct 30 14:53:48 1995  Ian Lance Taylor  <ian@cygnus.com>
891214634Sdim
892214082Sdim	* xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
893214634Sdim	field.
894214634Sdim	(xcoff_find_reloc): New static function.
895214634Sdim	(xcoff_link_add_symbols): Use it.
896214634Sdim	(_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
897214634Sdim	(xcoff_link_input_bfd): Handle C_BINCL and C_EINCL.  Don't
898214634Sdim	relocate the value of C_DECL.
899214634Sdim
900214634Sdim	* elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
901214634Sdim
902214634SdimSat Oct 28 01:25:34 1995  steve chamberlain  <sac@slash.cygnus.com>
903214634Sdim
904214634Sdim	* cofflink.c (_bfd_coff_generic_relocate_section): Make
905214634Sdim	callback decide what goes in .relocs.
906214634Sdim	* pe[i]-i386.c (TARGET_UNDERSCORE): Define.
907214634Sdim	* peicode.h (pe_mkobject_hook): Only copy aouthdr if
908214634Sdim	there is one.
909214634Sdim
910214634SdimSat Oct 28 01:51:02 1995  Ian Lance Taylor  <ian@cygnus.com>
911214634Sdim
912214634Sdim	* xcofflink.c (xcoff_link_add_symbols): Handle csects in the
913214634Sdim	absolute section.
914214634Sdim
915214634SdimFri Oct 27 18:14:39 1995  Ian Lance Taylor  <ian@cygnus.com>
916214634Sdim
917214634Sdim	* xcofflink.c: More improvements, mostly to fix handling of
918214634Sdim	constructors and a few other special cases.
919214634Sdim	* coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
920214634Sdim	zero, reverting yesterday's change.
921214634Sdim	* bfd-in.h (bfd_xcoff_link_record_set): Declare.
922214634Sdim	(bfd_xcoff_link_count_reloc): Declare.
923214634Sdim	(bfd_xcoff_record_link_assignment): Declare.
924214634Sdim	* bfd-in2.h: Rebuild.
925214634Sdim
926214634SdimFri Oct 27 14:42:15 1995  Niklas Hallqvist  <niklas@appli.se>
927214634Sdim
928214634Sdim	* PORTING, aout-arm.c, aout-encap.c, aout-target.h,
929214634Sdim	aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
930214634Sdim	i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
931214634Sdim	i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
932214634Sdim	ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
933214634Sdim	Change PAGE_SIZE to TARGET_PAGE_SIZE.
934214634Sdim
935214634Sdim	* m68knetbsd.c: Ditto as well as add support for the m68k4k object
936214634Sdim	format.
937214634Sdim
938214634Sdim	* netbsd.h: Double ditto (incl. m68k4k support).  NetBSD's text
939214634Sdim	segments includes the a.out header.  See to that the magic number
940214634Sdim	*always* is big-endian.
941214634Sdim
942214634Sdim	* config.bfd: Add m68*-hp*-netbsd* case.  Cross-pollinate m68k and
943214634Sdim	m68k4k NetBSD configurations.
944214634Sdim
945214634Sdim	* configure.in, configure: Separate i386 & mips NetBSD
946214634Sdim	configurations from other BSD ones.  Don't assume DEC is the only
947214634Sdim	thing NetBSD/mips run on.  Add {m68k,ns32k,sparc}-*-netbsd*
948214634Sdim	configurations.  Add support for m68k4k NetBSD object format.
949214634Sdim
950214634Sdim	* libaout.h: Added M_68K4K_NETBSD magic.
951214634Sdim
952214634Sdim	* m68k4knetbsd.c: New file.
953214634Sdim
954214634Sdim	* hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
955214634Sdim
956214634Sdim	* hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
957214634Sdim	<machine/endian.h>.
958214634Sdim
959214634Sdim	* hosts/mipsnbsd.h: New file.
960214634Sdim
961214634SdimThu Oct 26 14:16:47 1995  Ian Lance Taylor  <ian@cygnus.com>
962214634Sdim
963214634Sdim	* xcofflink.c: Numerous changes to get closer to a working XCOFF
964214634Sdim	linker.
965214634Sdim	* libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
966214634Sdim	toc_section, and entry_section fields.
967214634Sdim	(struct xcoff_section_tdata): Remove ldrel_count field.
968214634Sdim	* libcoff.h: Rebuild.
969214634Sdim	* coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
970214634Sdim	fields.
971214634Sdim	(coff_compute_section_file_positions): If RS6000COFF_C, generate
972214634Sdim	full a.out header if full_aouthdr is set in xcoff_data.
973214634Sdim	(coff_write_object_contents): Likewise.  Set o_snentry and o_sntoc
974214634Sdim	based on sections stored in xcoff_data.
975214634Sdim	* coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
976214634Sdim	fields.
977214634Sdim	(xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
978214634Sdim	(rs6000coff_vec): Set symbol_leading_char to '.'.
979214634Sdim	* coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
980214634Sdim	value stored in ret rather than returning a pointer value.
981214634Sdim
982214634SdimWed Oct 25 23:10:39 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
983214634Sdim
984214634Sdim	* config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
985214634Sdim	format for now.
986214634Sdim
987214634SdimWed Oct 25 16:19:27 1995  Jeffrey A Law  (law@cygnus.com)
988214634Sdim
989214634Sdim	* som.c (som_slurp_string_table): Allocate the strings with malloc
990214634Sdim	since they're free'd by free_cached_info.
991214634Sdim	(som_slurp_symbol_table): Similarly for the symbol table.
992214634Sdim
993214634SdimWed Oct 25 14:59:22 1995  Per Bothner  <bothner@kalessin.cygnus.com>
994214634Sdim
995214634Sdim	* Makefile.in (diststuff):  Don't make headers.
996214634Sdim
997214634SdimWed Oct 25 11:32:54 1995  Ian Lance Taylor  <ian@cygnus.com>
998214634Sdim
999214634Sdim	* Makefile.in: Rebuild dependencies.
1000214634Sdim
1001214634Sdim	* sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
1002214634Sdim	output_bfd is not SunOS.
1003214634Sdim	(bfd_sunos_size_dynamic_sections): Likewise.  Don't scan relocs of
1004214634Sdim	non-SunOS input files.
1005214634Sdim
1006214634Sdim	* xcofflink.c: Extensive changes to support linking shared objects
1007214634Sdim	and generating a .loader section.
1008214634Sdim	* libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
1009214634Sdim	(struct xcoff_section_tdata): Add lineno_count, first_symndx,
1010214634Sdim	last_symndx, and ldrel_count fields.
1011214634Sdim	* libcoff.h: Rebuild.
1012214634Sdim	* coff-rs6000.c (xcoff_howto_table): Correct reloc names.
1013214634Sdim	* coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
1014214634Sdim	is set.
1015214634Sdim	* bfd-in.h (bfd_xcoff_import_symbol): Declare.
1016214634Sdim	(bfd_xcoff_export_symbol): Declare.
1017214634Sdim	(bfd_xcoff_size_dynamic_sections): Declare.
1018214634Sdim	* bfd-in2.h: Rebuild.
1019214634Sdim
1020214634SdimTue Oct 24 17:44:20 1995  Stan Shebs  <shebs@andros.cygnus.com>
1021214634Sdim
1022214634Sdim	* configure.in: Add xcofflink.o to pmac_xcoff_vec.
1023214634Sdim	* configure: Rebuild.
1024214634Sdim	* mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
1025214634Sdim	* coff-pmac.c: Include coff-rs6000.c instead of duplicating its
1026214634Sdim	contents.
1027214634Sdim	(pmac_xcoff_vec): Update to use new xcoff support.
1028214634Sdim	* coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
1029214634Sdim	(xcoff_write_armap): Declare buf as unsigned char.
1030214634Sdim	* xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
1031214634Sdim
1032214634Sdim	* mpw-make.sed: Generalize subdir_do edit.
1033214634Sdim
1034214634SdimTue Oct 24 10:25:01 1995  Jeffrey A Law  (law@cygnus.com)
1035214634Sdim
1036214634Sdim	* hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
1037214634Sdim	correctly.  Don't initialize asect->vma.
1038214634Sdim
1039214634SdimFri Oct 20 13:23:48 1995  Ken Raeburn  <raeburn@cygnus.com>
1040214634Sdim
1041214634Sdim	* opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
1042214634Sdim	something a little less than the page size.
1043214634Sdim
1044214634SdimThu Oct 19 13:06:09 1995  Ian Lance Taylor  <ian@cygnus.com>
1045214634Sdim
1046214634Sdim	* coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
1047214634Sdim
1048214634SdimWed Oct 18 16:20:08 1995  steve chamberlain  <sac@slash.cygnus.com>
1049214634Sdim
1050214634Sdim	* coff-i386.c (coff_i386_reloc_type_lookup): New.
1051214634Sdim	* coffcode.h (coff_write_object_contents): If .bss is before
1052214634Sdim	.data us that as data_start.
1053214634Sdim	* cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
1054214634Sdim	calc correct.
1055214634Sdim	* peicode.h (add_data_entry): Use _cooked_size of data directory.
1056214634Sdim	(coff_swap_outhdr_out): Hardwire in version number.
1057214634Sdim
1058214634SdimWed Oct 18 16:50:54 1995  Ken Raeburn  <raeburn@cygnus.com>
1059214634Sdim
1060214634Sdim	* sunos.c (sunos_add_dynamic_symbols): Rename local variables
1061214634Sdim	major and minor to *_vno, since the former are also macros in
1062214634Sdim	SunOS header files.  Cast result of bfd_alloc to appropriate
1063214634Sdim	type.
1064214634Sdim
1065214634Sdim	* coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
1066214634Sdim	before assigning to sec_data.
1067214634Sdim
1068214634SdimWed Oct 18 13:25:17 1995  Ian Lance Taylor  <ian@cygnus.com>
1069214634Sdim
1070214634Sdim	* ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
1071214634Sdim	now relative to the section, not absolute.
1072214634Sdim	* ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
1073214634Sdim	get the file name when there is a N_SO directory name.  When
1074214634Sdim	handling stabs, remember that section->vma was added to the
1075214634Sdim	offset.
1076214634Sdim
1077214634SdimTue Oct 17 18:24:54 1995  Ian Lance Taylor  <ian@cygnus.com>
1078214634Sdim
1079214634Sdim	* sunos.c (struct sunos_link_hash_table): Add needed field.
1080214634Sdim	(sunos_link_hash_table_create): Call bfd_release, not free.
1081214634Sdim	(sunos_link_hash_table_create): Initialize needed field.
1082214634Sdim	(sunos_add_dynamic_symbols): Record needed objects.
1083214634Sdim	(bfd_sunos_get_needed_list): New function.
1084214634Sdim	* bfd-in.h (bfd_sunos_get_needed_list): Declare.
1085214634Sdim	* bfd-in2.h: Rebuild.
1086214634Sdim
1087214634SdimMon Oct 16 14:43:59 1995  steve chamberlain  <sac@slash.cygnus.com>
1088214634Sdim
1089214634Sdim	* libcoff-in.h (pe_data_type.in_reloc_p): New.
1090214634Sdim
1091214634SdimMon Oct 16 10:52:50 1995  Ian Lance Taylor  <ian@cygnus.com>
1092214634Sdim
1093214634Sdim	* bfd-in.h (struct bfd_link_needed_list): Rename from
1094214634Sdim	bfd_elf_link_needed_list.
1095214634Sdim	* bfd-in2.h: Rebuild.
1096214634Sdim	* elf.c, elflink.h, libelf.h: Corresponding changes.
1097214634Sdim
1098214634Sdim	Add start at AIX linker support; no shared libraries yet.
1099214634Sdim	* xcofflink.c: New file.
1100214634Sdim	* configure.in (rs600coff_vec): Use xcofflink.o.
1101214634Sdim	* configure: Rebuild.
1102214634Sdim	* libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
1103214634Sdim	fields.
1104214634Sdim	(struct xcoff_section_tdata): Define.
1105214634Sdim	(xcoff_section_data): Define macro.
1106214634Sdim	(_bfd_xcoff_bfd_link_hash_table_create): Declare.
1107214634Sdim	(_bfd_xcoff_bfd_link_add_symbols): Declare.
1108214634Sdim	(_bfd_xcoff_bfd_final_link): Declare.
1109214634Sdim	(_bfd_ppc_xcoff_relocate_section): Declare.
1110214634Sdim	* libcoff.h: Rebuild.
1111214634Sdim	* coff-rs6000.c: Clean up a bit.
1112214634Sdim	(xcoff_mkobject): Default modtype to 1L, not RE.  Initialize
1113214634Sdim	cputype, csects, and debug_indices.
1114214634Sdim	(xcoff_copy_private_bfd_data): Copy cputype.
1115214634Sdim	(xcoff_howto_table): Rename from rs6000coff_howto_table.
1116214634Sdim	(xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
1117214634Sdim	(xcoff_reloc_type_lookup): Rename from
1118214634Sdim	rs6000coff_reloc_type_lookup.
1119214634Sdim	(coff_relocate_section): Define.
1120214634Sdim	(_bfd_xcoff_sizeof_headers): Define.
1121214634Sdim	(_bfd_xcoff_bfd_get_relocated_section_contents): Define.
1122214634Sdim	(_bfd_xcoff_bfd_relax_section): Define.
1123214634Sdim	(_bfd_xcoff_bfd_link_split_section): Define.
1124214634Sdim	(rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
1125214634Sdim	coff.
1126214634Sdim	* coffcode.h (coff_compute_section_file_positions): If AIX,
1127214634Sdim	increment sofar by SMALL_AOUTSZ if not executable.
1128214634Sdim	(coff_write_object_contents): If AIX, always output an a.out
1129214634Sdim	header; if not executable, header size of SMALL_AOUTSZ.
1130214634Sdim	* hash.c (struct bfd_strtab_hash): Add xcoff field.
1131214634Sdim	(_bfd_stringtab_init): Initialize xcoff field.
1132214634Sdim	(_bfd_xcoff_stringtab_init): New function.
1133214634Sdim	(_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
1134214634Sdim	(_bfd_stringtab_emit): In XCOFF mode, write out length.
1135214634Sdim	* libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
1136214634Sdim	* libbfd.h: Rebuild.
1137214634Sdim	* Makefile.in: Rebuild dependencies.
1138214634Sdim	(BFD32_BACKENDS): Add xcofflink.o.
1139214634Sdim	(CFILES): Add xcofflink.c.
1140214634Sdim
1141214634Sdim	* elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
1142214634Sdim	SEC_NO_FLAGS, for .acommon section.  From Peter Schauer
1143214634Sdim	<Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
1144214634Sdim
1145214634SdimSat Oct 14 21:36:02 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
1146214634Sdim
1147214634Sdim	* coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
1148214634Sdim
1149214634SdimFri Oct 13 17:48:43 1995  Ken Raeburn  <raeburn@cygnus.com>
1150214634Sdim
1151214634Sdim	* acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
1152214634Sdim	* config.in: Regenerated.
1153214634Sdim
1154214634Sdim	* opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
1155214634Sdim	(_bfd_chunksize): New variable.
1156214634Sdim	(_bfd_new_bfd): Set it to getpagesize() if negative, and use it
1157214634Sdim	for obstack chunk size.
1158214634Sdim	* configure.in: Check for getpagesize.
1159214634Sdim	* configure: Regenerated.
1160214634Sdim
1161214634Sdim	Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1162214634Sdim
1163214634Sdim	* trad-core.c (rawptr): Make it a local variable of
1164214634Sdim 	ptrace_unix_core_file_p.
1165214634Sdim
1166214634SdimFri Oct 13 11:22:01 1995  steve chamberlain  <sac@slash.cygnus.com>
1167214634Sdim
1168214634Sdim	* coff-arm.c (in_reloc_p): New.
1169214634Sdim	* coff-i386.c (in_reloc_p): New.
1170214634Sdim	* coffcode.h: Allways include peicode.h if COFF_WITH_PE.
1171214634Sdim	(coff_write_object_contents): Only set has_reloc_section
1172214634Sdim	if PE_IMAGE.
1173214634Sdim	* cofflink.c (_bfd_coff_generic_relocate_section): Call
1174214634Sdim	in_reloc_p to decide if reloc should be emitted.
1175214634Sdim	* libcoff.h (pe_data_type.in_reloc_p): New.
1176214634Sdim	* peicode.h (pe_mkobject): Initialize in_reloc_p.
1177214634Sdim
1178214634SdimWed Oct 11 00:49:29 1995  Ian Lance Taylor  <ian@cygnus.com>
1179214634Sdim
1180214634Sdim	* cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
1181214634Sdim	(_bfd_coff_read_internal_relocs): Likewise.
1182214634Sdim	* coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
1183214634Sdim	(_bfd_coff_read_internal_relocs): Likewise.
1184214634Sdim
1185214634Sdim	* elflink.h (elf_link_add_object_symbols): Correct conditions
1186214634Sdim	under which type and size change warnings are issued.
1187214634Sdim
1188214634SdimTue Oct 10 18:32:46 1995  Ian Lance Taylor  <ian@cygnus.com>
1189214634Sdim
1190214634Sdim	* coffgen.c (coff_count_linenumbers): Don't count line numbers for
1191214634Sdim	a symbol which is not in a real section.
1192214634Sdim	(coff_write_native_symbol): Corresponding change.
1193214634Sdim
1194214634Sdim	* cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
1195214634Sdim	coff_link_hash_newfunc and make non-static.
1196214634Sdim	(_bfd_coff_link_hash_table_init): New function, broken out of
1197214634Sdim	_bfd_coff_link_hash_table_create.
1198214634Sdim	(_bfd_coff_link_hash_table_create): Use it.
1199214634Sdim	(process_embedded_commands): Make static.
1200214634Sdim	* libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
1201214634Sdim	(_bfd_coff_link_hash_table_init): Declare.
1202214634Sdim	* libcoff.h: Rebuild.
1203214634Sdim
1204214634Sdim	* coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
1205214634Sdim	field in XCOFF tdata.
1206214634Sdim	(coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
1207214634Sdim	U802ROMAGIC, for clarity.  Try to set arch and machine correctly
1208214634Sdim	based on cputype stored in a.out header, or in n_type of initial
1209214634Sdim	.file symbol.
1210214634Sdim	(coff_write_object_contents): Set cputype correctly in a.out
1211214634Sdim	header.
1212214634Sdim	(coff_slurp_symbol_table): Add casts to file_ptr to avoid
1213214634Sdim	warnings.
1214214634Sdim	* coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
1215214634Sdim	(coff_swap_aouthdr_out): Swap out cputype field.  Don't clear
1216214634Sdim	old resv1 field.
1217214634Sdim	* libcoff-in.h (struct xcoff_tdata): Add cputype field.
1218214634Sdim	* libcoff.h: Rebuild.
1219214634Sdim
1220214634Sdim	* cpu-rs6000.c (rs6000_compatible): New static function.
1221214634Sdim	(bfd_rs6000_arch): Use it.
1222214634Sdim	* cpu-powerpc.c (powerpc_compatible): New static function.
1223214634Sdim	(arch_info_struct): Define various flavours of PowerPC.
1224214634Sdim	(bfd_powerpc_arch): Use powerpc_compatible.  Point at
1225214634Sdim	arch_info_struct.
1226214634Sdim
1227214634SdimTue Oct 10 10:50:46 1995  Fred Fish  <fnf@cygnus.com>
1228214634Sdim
1229214634Sdim	* Makefile.in (FLAGS_TO_PASS):  Remove BISON.
1230214634Sdim
1231214634SdimTue Oct 10 01:28:29 1995  Ian Lance Taylor  <ian@cygnus.com>
1232214634Sdim
1233214634Sdim	* elflink.h (elf_link_add_object_symbols): Don't warn about
1234214634Sdim	changing the size or type if the old definition was weak.
1235214634Sdim
1236214634SdimMon Oct  9 11:24:08 1995  Ian Lance Taylor  <ian@cygnus.com>
1237214634Sdim
1238214634Sdim	* coffcode.h (combined_entry_type): Add fix_line field.
1239214634Sdim	(coff_slurp_line_table): Warn if we try to set the lineno field of
1240214634Sdim	a symbol twice.
1241214634Sdim	(coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
1242214634Sdim	C_EINCL by setting fix_line.  Fix C_BSTAT symbol value.
1243214634Sdim	* coffgen.c (coff_mangle_symbols): Handle fix_line.
1244214634Sdim	(coff_write_symbol): Only use N_DEBUG if the symbol is in the
1245214634Sdim	absolute section.
1246214634Sdim	(coff_print_symbol): Print fix_value symbols in a useful fashion.
1247214634Sdim	* libcoff.h: Rebuild.
1248214634Sdim
1249214634Sdim	* libcoff-in.h (struct xcoff_tdata): Define.
1250214634Sdim	(xcoff_data): Define.
1251214634Sdim	* bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
1252214634Sdim	* bfd-in2.h, libcoff.h: Rebuild.
1253214634Sdim	* coff-rs6000.c (xcoff_mkobject): New static function.
1254214634Sdim	(coff_mkobject): Define.
1255214634Sdim	(xcoff_copy_private_bfd_data): New static function.
1256214634Sdim	(coff_bfd_copy_private_bfd_data): Define.
1257214634Sdim	(rs6000coff_howto_table): Change R_TOC complain_on_overflow from
1258214634Sdim	signed to bitfield.
1259214634Sdim	(rs6000coff_vec): Add DYNAMIC to object_flags.
1260214634Sdim	* coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
1261214634Sdim	.loader sections specially.
1262214634Sdim	(coff_new_section_hook): If RS6000COFF_C, get the .text and .data
1263214634Sdim	section alignment from the XCOFF tdata information.
1264214634Sdim	(coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
1265214634Sdim	F_SHROBJ, and copy the extra a.out header information into the
1266214634Sdim	XCOFF tdata structure.
1267214634Sdim	(coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
1268214634Sdim	F_DYNLOAD and the extra a.out header information.
1269214634Sdim	(coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
1270214634Sdim	C_HIDEXT symbol with attached csect information.
1271214634Sdim	* coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
1272214634Sdim	in the o_maxdata field.
1273214082Sdim	(coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
1274214082Sdim	* coffgen.c (coff_renumber_symbols): Don't move any symbol to the
1275214082Sdim	end if BSF_NOT_AT_END is set.
1276214082Sdim
1277214082Sdim	* targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
1278214082Sdim	_bfd_read_ar_hdr_fn.
1279214082Sdim	* libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
1280214082Sdim	* bfd-in2.h, libbfd.h: Rebuild.
1281214082Sdim	* archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
1282214082Sdim	return value.
1283214082Sdim	(do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
1284214082Sdim	(bfd_slurp_bsd_armap_f2): Likewise.
1285214082Sdim	(_bfd_slurp_extended_name_table): Likewise.
1286214082Sdim
1287214082SdimFri Oct  6 16:18:35 1995  Ken Raeburn  <raeburn@cygnus.com>
1288214082Sdim
1289214082Sdim	Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1290214082Sdim
1291214082Sdim	* archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
1292214082Sdim	when the symbol table is empty.
1293214082Sdim
1294214082Sdim	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
1295214082Sdim	space for section symbols, since we don't output them either.
1296214082Sdim	(elf_m68k_adjust_dynindx): Removed.
1297214082Sdim
1298214082Sdim	* ptrace-core.c (rawptr): Make it a local variable of
1299214082Sdim 	ptrace_unix_core_file_p.
1300214082Sdim
1301214082SdimFri Oct  6 12:24:47 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
1302214082Sdim
1303214082Sdim	* coff-rs6000.c (xcoff_write_archive_contents): Return false, not
1304214082Sdim	NULL.
1305214082Sdim
1306214082Sdim	* config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
1307214082Sdim	Mac object file formats.
1308214082Sdim
1309214082SdimFri Oct  6 12:04:02 1995  Ian Lance Taylor  <ian@cygnus.com>
1310214082Sdim
1311214082Sdim	* coffgen.c (coff_fix_symbol_name): Don't try to set up file
1312214082Sdim	auxent if there isn't one.
1313214082Sdim	(coff_write_symbols): If there is no file auxent, use SYMNMLEN
1314214082Sdim	rather than FILNMLEN as the maximum name length.
1315214082Sdim
1316214082Sdim	* coffcode.h (bfd_coff_backend_data): Add new field
1317214082Sdim	_bfd_coff_print_aux.
1318214082Sdim	(bfd_coff_print_aux): New static function.
1319214082Sdim	(coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
1320214082Sdim	scnlen field of an XTY_LD csect aux entry.
1321214082Sdim	(coff_print_aux): New static function.
1322214082Sdim	(coff_slurp_symbol_table): Don't pointerize scnlen field; now done
1323214082Sdim	in coff_pointerize_aux_hook.
1324214082Sdim	(bfd_coff_std_swap_table): Initialize new field.
1325214082Sdim	* coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
1326214082Sdim	* libcoff.h: Rebuild.
1327214082Sdim	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
1328214082Sdim	* coff-mips.c (mips_ecoff_backend_data): Likewise.
1329214082Sdim
1330214082Sdim	* coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
1331214082Sdim	if there are symbols, for native AIX ld compatibility.
1332214082Sdim
1333214082Sdim	* coffcode.h (bfd_coff_backend_data): Add new field
1334214082Sdim	_bfd_coff_pointerize_aux_hook.
1335214082Sdim	(coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
1336214082Sdim	or I960, and as 0 otherwise.
1337214082Sdim	(bfd_coff_std_swap_table): Initialize new field.
1338214082Sdim	* libcoff.h: Rebuild.
1339214082Sdim	* coffgen.c (coff_pointerize_aux): Change parameters  to take
1340214082Sdim	symbol pointer instead of type and class, and to take aux index.
1341214082Sdim	Call _bfd_coff_pointerize_aux_hook if it is defined.
1342214082Sdim	(coff_get_normalized_symtab): Always call coff_pointerize_aux.
1343214082Sdim	* coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
1344214082Sdim	* coff-mips.c (mips_ecoff_backend_data): Likewise.
1345214082Sdim
1346214082Sdim	* coff-rs6000.c: Add full support for AIX archives.  Rewrite old
1347214082Sdim	read-only/host-only support.
1348214082Sdim
1349214082Sdim	* coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
1350214082Sdim	BSF_LOCAL.
1351214082Sdim	(OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
1352214082Sdim	RS6000COFF_C.
1353214082Sdim
1354214082Sdim	* targets.c (bfd_target): Add _bfd_read_ar_hdr field.  Modify
1355214082Sdim	BFD_JUMP_TABLE_ARCHIVE accordingly.
1356214082Sdim	* libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
1357214082Sdim	(_bfd_compute_and_write_armap): Declare.
1358214082Sdim	(_bfd_generic_read_ar_hdr): Declare.
1359214082Sdim	(_bfd_read_ar_hdr): Define.
1360214082Sdim	(_bfd_noarchive_read_ar_hdr): Define.
1361214082Sdim	(_bfd_archive_bsd_read_ar_hdr): Define.
1362214082Sdim	(_bfd_archive_coff_read_ar_hdr): Define.
1363214082Sdim	* archive.c: Change all callers of _bfd_snarf_ar_hdr to call
1364214082Sdim	_bfd_read_ar_hdr instead.
1365214082Sdim	(_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
1366214082Sdim	(_bfd_compute_and_write_armap): Rename from
1367214082Sdim	compute_and_write_armap.  Make non-static.  Change all callers.
1368214082Sdim	* ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
1369214082Sdim	than _bfd_snarf_ar_hdr.
1370214082Sdim	* aout-target.h (MY_read_ar_hdr): Define if not defined.
1371214082Sdim	* ieee.c (ieee_read_ar_hdr): Define.
1372214082Sdim	* libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
1373214082Sdim	* oasys.c (oasys_read_ar_hdr): Define.
1374214082Sdim	* som.c (som_read_ar_hdr): Define.
1375214082Sdim	* bfd-in2.h, libbfd.h: Rebuild.
1376214082Sdim
1377214082SdimThu Oct  5 14:04:07 1995  steve chamberlain  <sac@slash.cygnus.com>
1378214082Sdim
1379214082Sdim	* peicode.c (coff_swap_filehdr_in): If symptr is
1380214082Sdim	zero, there aren't any symbols, even if nsyms is set.
1381214082Sdim
1382214082SdimThu Oct  5 11:45:02 1995  Ian Lance Taylor  <ian@cygnus.com>
1383214082Sdim
1384214082Sdim	* libecoff.h (struct ecoff_backend_data): Add adjust_headers
1385214082Sdim	field.
1386214082Sdim	* ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
1387214082Sdim	sections, and set styp correctly for them: .got, .hash, .dynamic,
1388214082Sdim	.liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
1389214082Sdim	(_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
1390214082Sdim	types.
1391214082Sdim	(ecoff_sort_hdrs): New static function.
1392214082Sdim	(ecoff_compute_section_file_positions): Return boolean, not void.
1393214082Sdim	Sort the sections by VMA before looking through them.  Put the
1394214082Sdim	first non SEC_ALLOC section on a new page.  Put every SEC_ALLOC
1395214082Sdim	section on an appropriate boundary within the page.
1396214082Sdim	(ecoff_compute_reloc_file_positions): Check return value of
1397214082Sdim	ecoff_compute_section_file_positions.
1398214082Sdim	(_bfd_ecoff_set_section_contents): Likewise.
1399214082Sdim	(_bfd_ecoff_write_object_contents): Check for various Alpha
1400214082Sdim	section types when incrementing text_size and data_size.  Call
1401214082Sdim	adjust_headers backend function if it exists.
1402214082Sdim	* coff-alpha.c (alpha_adjust_headers): New static function.
1403214082Sdim	(alpha_ecoff_backend_data): Initialize adjust_headers field.
1404214082Sdim	* coff-mips.c (mips_ecoff_backend_data): Likewise.
1405214082Sdim
1406214082Sdim	* hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
1407214082Sdim
1408214082SdimWed Oct  4 18:15:02 1995  Jeff Law  (law@hurl.cygnus.com)
1409214082Sdim
1410214082Sdim	* rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
1411214082Sdim	of ALTERNATE_AIX_CORE_FORMAT.
1412214082Sdim	* configure.in (aix4): No longer need CORE_FLAGS.
1413214082Sdim	* configure: Updated.
1414214082Sdim
1415214082SdimWed Oct  4 15:36:36 1995  Ken Raeburn  <raeburn@cygnus.com>
1416214082Sdim
1417214082Sdim	NS32k changes from Ian Dall:
1418214082Sdim	* aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
1419214082Sdim	macros.
1420214082Sdim	(aout_link_input_section_std, aout_link_input_section_ext,
1421214082Sdim	aout_link_reloc_link_order): Call them instead of _bfd_*
1422214082Sdim	versions.
1423214082Sdim	* aout-target.h (MY_exec_header_not_counted): New macro, defaults
1424214082Sdim	to zero.
1425214082Sdim	(backend_data): Use it instead of hardcoded zero.
1426214082Sdim
1427214082Sdim	* aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
1428214082Sdim	(MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
1429214082Sdim
1430214082Sdim	* ns32knetbsd.c: Include bfd.h.
1431214082Sdim	(MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
1432214082Sdim	(MY_bfd_reloc_type_lookup): Declare function too.
1433214082Sdim	* pc532-mach.c (set_sizes): Don't declare.
1434214082Sdim	(MY_text_includes_header, MY_exec_header_not_counted): Define.
1435214082Sdim	(backend_data, MY_backend_data): Don't define.
1436214082Sdim
1437214082Sdim	* config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
1438214082Sdim	ns32k-*-lites* like ns32k-*-netbsd*.
1439214082Sdim
1440214082Sdim	* hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
1441214082Sdim	compile on lites.
1442214082Sdim
1443214082SdimWed Oct  4 14:15:52 1995  Ian Lance Taylor  <ian@cygnus.com>
1444214082Sdim
1445214082Sdim	* coffcode.h (coff_write_object_contents): Restore setting
1446214082Sdim	f_timdat to 0, deleted on August 22.
1447214082Sdim
1448214082SdimTue Oct  3 16:28:32 1995  steve chamberlain  <sac@slash.cygnus.com>
1449214082Sdim
1450214082Sdim	* coffcode.h (coff_bfd_copy_private_symbol_data,
1451214082Sdim	coff_bfd_copy_private_section_data,
1452214082Sdim	coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
1453214082Sdim	* peicode.h (coff_bfd_copy_private_bfd_data): New
1454214082Sdim	(pe_bfd_copy_private_bfd_data): New.
1455214082Sdim	(coff_swap_scnhdr_in): Swap bss size into the right place.
1456214082Sdim	(pe_print_private_bfd_data): Add some newlines.
1457214082Sdim
1458214082SdimTue Oct  3 11:53:04 1995  Jeff Law  (law@hurl.cygnus.com)
1459214082Sdim
1460214082Sdim	* som.c (setup_sections): Don't die if a space has no subspaces.
1461214082Sdim
1462214082SdimMon Oct  2 14:08:55 1995  Ian Lance Taylor  <ian@cygnus.com>
1463214082Sdim
1464214082Sdim	* elflink.h (elf_link_add_object_symbols): Don't let a weak
1465214082Sdim	dynamic symbol override a common symbol.  Don't change the size or
1466214082Sdim	type if they have been set and the new symbol is not a definition.
1467214082Sdim	Warn if the size or type changes.
1468214082Sdim
1469214082SdimSun Oct  1 01:34:41 1995  Jeff Law  (law@hurl.cygnus.com)
1470214082Sdim
1471214082Sdim        * som.c (som_begin_writing): Don't write the symbol table or
1472214082Sdim	symbol	strings.
1473214082Sdim	(som_finish_writing): Write them here.  Place them after the
1474214082Sdim	subspace data, but before the relocs.
1475214082Sdim
1476214082SdimFri Sep 29 11:01:55 1995  Ian Lance Taylor  <ian@cygnus.com>
1477214082Sdim
1478214082Sdim	* sunos.c (sunos_add_one_symbol): Just pass false, not
1479214082Sdim	info->shared_library, to sunos_create_dynamic_sections.
1480214082Sdim	(sunos_scan_ext_relocs): Don't warn about a reloc in the .text
1481214082Sdim	section.
1482214082Sdim	(sunos_check_dynamic_reloc): Remove .text section assertion.
1483214082Sdim
1484214082SdimThu Sep 28 18:48:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
1485214082Sdim
1486214082Sdim	* config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
1487214082Sdim	* configure, configure.in: Add pmac_xcoff_vec case.
1488214082Sdim	* Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
1489214082Sdim	* coff-pmac.c: New file, PowerMac XCOFF support.
1490214082Sdim	* coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
1491214082Sdim	* targets.c (pmac_xcoff_vec): Declare.
1492214082Sdim
1493214082Sdim	* mpw-config.in: Various changes to be compatible with the
1494214082Sdim	autoconf-based configury.
1495214082Sdim	* mpw-make.sed: New file, sed commands to translate Unix
1496214082Sdim	makefile into MPW syntax.
1497214082Sdim	* mpw-make.in: Remove.
1498214082Sdim	* hosts/mpw.h: Remove.
1499214082Sdim	* bfd-in.h, bfd-in2.h: If MPW, include the file that defines
1500214082Sdim	true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
1501214082Sdim
1502214082SdimThu Sep 28 17:06:23 1995  steve chamberlain  <sac@slash.cygnus.com>
1503214082Sdim
1504214082Sdim	* binary.c (binary_get_symtab): Return an empty string on error.
1505214082Sdim	* opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
1506214082Sdim
1507214082SdimThu Sep 28 15:30:44 1995  Kim Knuttila  <krk@nellie>
1508214082Sdim
1509214082Sdim	* coff-ppc.c: Reformatted according to gnu conventions
1510214082Sdim	              Removed irrelevant "if 0" code
1511214082Sdim
1512214082SdimThu Sep 28 11:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
1513214082Sdim
1514214082Sdim	* hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
1515214082Sdim	symbols rather than as indirect symbols.
1516214082Sdim	(MY(slurp_symbol_table)): Don't do anything special about
1517214082Sdim	secondary symbols.
1518214082Sdim
1519214082Sdim	* coffcode.h (coff_new_section_hook): Make sure that the alignment
1520214082Sdim	of .ctors and .dtors sections is no larger than 2.
1521214082Sdim
1522214082Sdim	* sunos.c (sunos_add_one_symbol): Don't change
1523214082Sdim	bfd_link_hash_common to bfd_link_hash_new, since it may be on the
1524214082Sdim	undef list.
1525214082Sdim	(bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
1526214082Sdim	dynamic symbols when creating a shared library.
1527214082Sdim	(sunos_scan_ext_relocs): Handle relocs correctly when creating a
1528214082Sdim	shared library.
1529214082Sdim	(sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
1530214082Sdim	written even if it is not defined in a regular object.
1531214082Sdim	(sunos_write_dynamic_symbol): Use plt_offset for the address of
1532214082Sdim	the jump table reloc.  Add an assertion.  Use RELOC_JMP_SLOT
1533214082Sdim	rather than the constant 22.
1534214082Sdim	(sunos_check_dynamic_reloc): Handle creating a shared library.
1535214082Sdim	(sunos_finish_dynamic_link): Set the first entry in the GOT to
1536214082Sdim	zero when creating a shared library.
1537214082Sdim	* aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
1538214082Sdim	write it out at the start of the symbol table.
1539214082Sdim
1540214082Sdim	* Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
1541214082Sdim
1542214082SdimThu Sep 28 00:58:05 1995  Doug Evans  <dje@deneb.cygnus.com>
1543214082Sdim
1544214082Sdim	* config.bfd: Add arm-*-coff.
1545214082Sdim	* configure.in, configure: Add armcoff_{little,big}_vec.
1546214082Sdim	* targets.c (armcoff_{little,big}_vec): Declare.
1547214082Sdim	(bfd_target_vector): Add armcoff_{little,big}_vec.
1548214082Sdim	* coff-arm.c (armcoff_{little,big}_vec): Always define.
1549214082Sdim
1550214082SdimWed Sep 27 10:37:14 1995  Ian Lance Taylor  <ian@cygnus.com>
1551214082Sdim
1552214082Sdim	* targets.c (bfd_find_target): Remove debugging code.
1553214082Sdim
1554214082SdimWed Sep 27 07:23:39 1995  Kim Knuttila  <krk@nellie>
1555214082Sdim
1556214082Sdim	* coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE
1557214082Sdim        support on powerpc.
1558214082Sdim	* Makefile.in: added *-ppc files
1559214082Sdim	* coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
1560214082Sdim        allow pe based .o's to be shared with other tools on ppc/NT
1561214082Sdim	* config.bfd: added powerpc[le]-[pe|winnt] config support
1562214082Sdim	* configure, configure.in: added bfd_powerpc[le]_pe[i]_vec
1563214082Sdim	* peicode.h: Added more section flags for PE on ppc
1564214082Sdim	             Added coff_swap_filehdr_out to allow peicode.h to be
1565214082Sdim		     used for non-image PE files on ppc.
1566214082Sdim		     Check for image, or not, before copying pe_opthdr
1567214082Sdim	* targets.c: Added new bfd's
1568214082Sdim	* targets.c: Removed two inactive bfds that shouldn't have made it this
1569214082Sdim                     far.
1570214082Sdim
1571214082SdimTue Sep 26 14:06:41 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
1572214082Sdim
1573214082Sdim	* elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
1574214082Sdim	explicit values to initialize all relocs.  Change all users.
1575214082Sdim	(ppc_elf_brtaken_inner): New function to handle branch predicition
1576214082Sdim	relocs.
1577214082Sdim	(ppc_elf_brtaken_reloc): Ditto.
1578214082Sdim	(ppc_elf_howto_raw): Use new functions.  Make sure all unsupported
1579214082Sdim	relocs use ppc_elf_unsupported_reloc.
1580214082Sdim	(ppc_elf_merge_private_bfd_data): Keep track of whether an error
1581214082Sdim	needs to be reported.
1582214082Sdim	(ppc_elf_relocate_section): Support branch prediction relocs.
1583214082Sdim
1584214082SdimTue Sep 26 12:48:05 1995  Ian Lance Taylor  <ian@cygnus.com>
1585214082Sdim
1586214082Sdim	* bfd.c (bfd_assert): Remove \n from string passed to
1587214082Sdim        _bfd_error_handler.
1588214082Sdim
1589214082Sdim	* coff-i386.c: (TWO_DATA_SECS): Don't define.
1590214082Sdim	* coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
1591214082Sdim	(bfd_coff_make_section_hook): Don't define.
1592214082Sdim	(coff_make_section_hook): Remove.
1593214082Sdim	(sec_to_styp_flags): Remove TWO_DATA_SECS case.
1594214082Sdim	(styp_to_sec_flags): Likewise.
1595214082Sdim	(coff_write_object_contents): Likewise.
1596214082Sdim	(bfd_coff_std_swap_table): Don't initialize make_section_hook
1597214082Sdim	field.
1598214082Sdim	* libcoff.h: Rebuild.
1599214082Sdim	* coffgen.c (make_a_section_from_file): Just call
1600214082Sdim	bfd_make_section_anyway, not bfd_make_section or
1601214082Sdim	bfd_coff_make_section_hook.
1602214082Sdim	* ecoff.c (_bfd_ecoff_make_section_hook): Remove.
1603214082Sdim	* libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
1604214082Sdim	* coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
1605214082Sdim	make_section_hook field.
1606214082Sdim	* coff-mips.c (mips_ecoff_backend_data): Likewise.
1607214082Sdim
1608214082Sdim	* aoutx.h (translate_from_native_sym_flags): Don't try to stuff
1609214082Sdim	pointers into value field for warning and indirect symbols; just
1610214082Sdim	leave the value field alone.
1611214082Sdim	* linker.c (generic_link_add_symbol_list): Use next symbol for
1612214634Sdim	warning and indirect symbols, rather than looking in symbol value.
1613214082Sdim	* ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
1614214082Sdim	parameter.  Change all callers.  Remove support for indirect
1615214082Sdim	symbols; it didn't work anyhow.
1616214082Sdim	(_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
1617214082Sdim	* syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
1618214082Sdim	* bfd-in2.h: Rebuild.
1619214082Sdim
1620214082SdimMon Sep 25 16:04:09 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
1621214082Sdim
1622214082Sdim	* elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
1623214082Sdim	go back to telling the tools this reloc operates on 32 bits.
1624214082Sdim
1625214082SdimMon Sep 25 11:48:02 1995  Ian Lance Taylor  <ian@cygnus.com>
1626214082Sdim
1627214082Sdim	* aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
1628214082Sdim	rather than a direct fprintf.
1629214082Sdim	* archive.c (_bfd_write_archive_contents): Likewise.
1630214082Sdim	* coffcode.h (coff_slurp_symbol_table): Likewise.
1631214082Sdim	* elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
1632214082Sdim	(ppc_elf_unsupported_reloc): Likewise.
1633214082Sdim	(ppc_elf_relocate_section): Likewise.
1634214082Sdim	* i386linux.c (linux_tally_symbols): Likewise.
1635214082Sdim	(linux_finish_dynamic_link): Likewise.
1636214082Sdim	* osf-core.c (osf_core_core_file_p): Likewise.
1637214082Sdim	* rs6000-core.c (rs6000coff_get_section_contents): Likewise.
1638214082Sdim	* som.c (som_sizeof_headers): Likewise.
1639214082Sdim	* srec.c (srec_bad_byte): Likewise.
1640214082Sdim	* bfd.c (bfd_assert): Likewise.  Also change file to be const.
1641214082Sdim	* libbfd-in.h (bfd_assert): Declare first parameter const.
1642214082Sdim	* libbfd.h: Rebuild.
1643214082Sdim	* coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
1644214082Sdim	bfd_reloc_overflow is enough.
1645214082Sdim	* coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
1646214082Sdim	* coff-h8500.c (rtype2howto): Likewise.
1647214082Sdim	* coff-z8k.c (rtype2howto): Likewise.
1648214082Sdim	* coffcode.h (dummy_reloc16_extra_cases): Likewise.
1649214082Sdim	* elf.c (_bfd_elf_get_lineno): Likewise.
1650214082Sdim	(_bfd_elf_no_info_to_howto): Likewise.
1651214082Sdim	(_bfd_elf_no_info_to_howto_rel): Likewise.
1652214082Sdim	* hp300hpux.c (convert_sym_type): Likewise.
1653214082Sdim	(MY(swap_std_reloc_in)): Likewise.
1654214082Sdim	* elf.c (bfd_section_from_shdr): Remove #if 0 sections.
1655214082Sdim
1656214082Sdim	* libaout.h (struct aoutdata): Add line_buf field.
1657214082Sdim	* aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
1658214082Sdim	and filename_buffer.  Instead, use a malloc buffer stored in the
1659214082Sdim	new line_buf field.  Remove length restrictions.
1660214082Sdim
1661214082Sdim	* coffgen.c (string_size): Remove static variable.
1662214082Sdim	(debug_string_size, debug_string_section): Likewise.
1663214082Sdim	(coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
1664214082Sdim	and debug_string_size_p parameters.  Use them instead of the
1665214082Sdim	global variables.  Change all callers.
1666214082Sdim	(coff_write_symbol): Likewise.
1667214082Sdim	(coff_write_alien_symbol, coff_write_native_symbol): Likewise.
1668214082Sdim	(coff_write_symbols): Add local variables to replace removed
1669214082Sdim	global variables.
1670214082Sdim
1671214082Sdim	* libcoff-in.h (struct coff_section_tdata): Add offset, i,
1672214082Sdim	function, and line_base fields.
1673214082Sdim	* libcoff.h: Rebuild.
1674214082Sdim	* coffgen.c (coff_find_nearest_line): Use section tdata to cache
1675214082Sdim	information, rather than using static variables.
1676214082Sdim
1677214082Sdim	* sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
1678214082Sdim	file.  From Peter DeWolf <pld@amt.tay1.dec.com>.
1679214634Sdim
1680214082Sdim	* init.c (initialized): Remove static variable.
1681214082Sdim	(bfd_init): Don't bother setting initialized.
1682214082Sdim	(bfd_check_init): Remove.
1683214082Sdim	* opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
1684214082Sdim	* libbfd.h: Rebuild.
1685214082Sdim
1686214082SdimSat Sep 23 01:22:23 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
1687214082Sdim
1688214082Sdim	* rs6000-core.c (rs6000coff_core_p):  Don't check the core file
1689214082Sdim	size for full core dumps. Copy core file header to private data.
1690214082Sdim	(rs6000coff_core_file_failing_command,
1691214082Sdim	rs6000coff_core_file_failing_signal):  New functions to extract
1692214082Sdim	the file name and terminating signal from the core file.
1693214082Sdim	* coff-rs6000.c:  Use them.
1694214082Sdim
1695214082SdimFri Sep 22 17:44:47 1995  Ian Lance Taylor  <ian@cygnus.com>
1696214082Sdim
1697214082Sdim	Change arch info to be const, initialized at compile time.
1698214082Sdim	* archures.c: Reindent many functions.  Change CONST to const.
1699214082Sdim	(bfd_arch_info_type): Make arch_name const.  Remove disassemble;
1700214082Sdim	nothing set it anyhow.  Make next const.
1701214082Sdim	(bfd_arch_info_list): Remove.
1702214082Sdim	(bfd_archures_list): Rename from archures_init_table.  Change from
1703214082Sdim	a table of function pointers to a table of bfd_arch_info_type
1704214082Sdim	structure addresses.
1705214082Sdim	(bfd_scan_arch): Rewrite accordingly.  Return a const pointer.
1706214082Sdim	(bfd_lookup_arch): Likewise.
1707214082Sdim	(bfd_set_arch_info): Rewrite accordingly.  Change argument to be a
1708214082Sdim	const pointer.
1709214082Sdim	(bfd_default_arch_struct): Make const.
1710214082Sdim	(bfd_arch_init, bfd_arch_linkin): Remove.
1711214082Sdim	(bfd_get_arch_info): Return a const pointer.
1712214082Sdim	* init.c (bfd_init): Don't call bfd_arch_init.
1713214082Sdim	* bfd.c (struct _bfd): Make arch_info const.
1714214082Sdim	* bfd-in2.h: Rebuild.
1715214082Sdim	* libbfd.h: Rebuild.
1716214082Sdim	* configure.in: Put & before everything in $selarchs.
1717214082Sdim	* configure: Rebuild.
1718214082Sdim	* cpu-*.c: Change bfd_*_arch from a function which calls
1719214082Sdim	bfd_arch_linkin to a const structure.
1720214082Sdim	* ieee.c (ieee_object_p): Make arch const.
1721214082Sdim
1722214082SdimFri Sep 22 16:23:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
1723214082Sdim
1724214082Sdim	* reloc.c (bfd_reloc_code_type): Add relocations to support all of
1725214082Sdim	PowerPC V.4.
1726214082Sdim	* bfd-in2.h: Regenerate.
1727214082Sdim	* libbfd.h: Regenerate.
1728214082Sdim
1729214082Sdim	* elf32-ppc.c (reloc_type): Update names to match current draft.
1730214082Sdim	(ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
1731214082Sdim	relative.  Update names to current V.4 draft.
1732214082Sdim	(ppc_elf_reloc_type_lookup): Add support for more relocations.
1733214082Sdim	(ppc_elf_relocate_section): Rename relocations to match draft.
1734214082Sdim
1735214082SdimThu Sep 21 21:53:18 1995  Michael Meissner  <meissner@cygnus.com>
1736214082Sdim
1737214082Sdim	* elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
1738214082Sdim	compiled with -mrelocatable-lib to be linked with either normal
1739214082Sdim	modules or -mrelocatable modules.
1740214082Sdim
1741214082SdimWed Sep 20 12:03:26 1995  Ian Lance Taylor  <ian@cygnus.com>
1742214082Sdim
1743214082Sdim	* coffcode.h (coff_write_object_contents): Clear the vstamp field
1744214634Sdim	in the a.out header.
1745214634Sdim
1746214634Sdim	* aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
1747214634Sdim	a reloc against a local symbol, even if it's not a section.
1748214634Sdim
1749214634SdimTue Sep 19 17:02:26 1995  Ian Lance Taylor  <ian@cygnus.com>
1750214634Sdim
1751214634Sdim	* targets.c (bfd_target): Remove unused align_power_min field.
1752214634Sdim	* bfd-in2.h: Rebuild.
1753214634Sdim	* All backends: Remove initialization of align_power_min.
1754214634Sdim
1755214634SdimTue Sep 19 14:02:21 1995  steve chamberlain  <sac@slash.cygnus.com>
1756214634Sdim
1757214634Sdim	* peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
1758214634Sdim
1759214634SdimMon Sep 18 14:35:01 1995  Arne H. Juul  <arnej@pvv.unit.no>
1760214634Sdim
1761214634Sdim	* config.bfd (mips-dec-netbsd*): New target.
1762214634Sdim	* configure.host (mips-dec-netbsd*): New host.
1763214634Sdim	* configure.in (mips-dec-netbsd*): New native.
1764214634Sdim	* configure: Rebuild.
1765214634Sdim
1766214634SdimFri Sep 15 10:24:36 1995  Ian Lance Taylor  <ian@cygnus.com>
1767214634Sdim
1768214634Sdim	Make the COFF backend linker merge common types:
1769214634Sdim	* cofflink.c (struct coff_debug_merge_element): Define.
1770214634Sdim	(struct coff_debug_merge_type): Define.
1771214634Sdim	(struct coff_debug_merge_hash_entry): Define.
1772214634Sdim	(struct coff_debug_merge_hash_table): Define.
1773214634Sdim	(coff_debug_merge_hash_table_init): Define.
1774214634Sdim	(coff_debug_merge_hash_table_free): Define.
1775214634Sdim	(coff_debug_merge_hash_lookup): Define.
1776214634Sdim	(struct coff_final_link_info): Add debug_merge field.
1777214634Sdim	(coff_debug_merge_hash_newfunc): New static function.
1778214634Sdim	(_bfd_coff_final_link): Allocate and free debug_merge table.
1779214634Sdim	(coff_link_input_bfd): Merge identical enum, struct and union
1780214082Sdim	types.
1781214082Sdim
1782214082SdimThu Sep 14 14:53:58 1995  Ian Lance Taylor  <ian@cygnus.com>
1783214082Sdim
1784214082Sdim	Convert i960 COFF to use COFF backend linker.
1785214082Sdim	* coff-i960.c (coff_i960_relocate): Use a coff_section_data
1786214082Sdim	structure to store the symbol being used.
1787214082Sdim	(coff_i960_start_final_link): New static function.
1788214082Sdim	(coff_i960_relocate_section): New static function.
1789214082Sdim	(coff_i960_adjust_symndx): New static function.
1790214082Sdim	(coff_start_final_link): Define.
1791214082Sdim	(coff_relocate_section): Define.
1792214082Sdim	(coff_adjust_symndx): Define.
1793214082Sdim	* coffcode.h (bfd_coff_backend_data): Add new callback function
1794214634Sdim	_bfd_coff_start_final_link.
1795214634Sdim	(bfd_coff_start_final_link): Define.
1796214634Sdim	(coff_start_final_link): Define if not defined.
1797214634Sdim	(bfd_coff_std_swap_table): Add coff_start_final_link.
1798214634Sdim	* cofflink.c (_bfd_coff_internal_syment_name): Make globally
1799214634Sdim	visible.
1800214634Sdim	(_bfd_coff_final_link): Call bfd_coff_start_final_link if the
1801214634Sdim	function callback is not NULL.
1802214634Sdim	* libcoff-in.h (struct coff_section_tdata): Add tdata field.
1803214634Sdim	(_bfd_coff_internal_syment_name): Declare.
1804214634Sdim	* libcoff.h: Rebuild.
1805214634Sdim	* configure.in (icoff_big_vec): Add cofflink.o.
1806214634Sdim	(icoff_little_vec): Likewise.
1807214634Sdim	* configure: Rebuild.
1808214634Sdim
1809214634SdimWed Sep 13 17:38:23 1995  Fred Fish  <fnf@rtl.cygnus.com>
1810214634Sdim
1811214634Sdim	* Makefile.in (clean-info): Remove extraneous tab from line
1812214634Sdim	following action.
1813214634Sdim
1814214634SdimWed Sep 13 13:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
1815214634Sdim
1816214634Sdim	* cofflink.c (coff_link_input_bfd): Fail if a section with no
1817214634Sdim	contents has relocs.
1818214634Sdim
1819214082SdimThu Sep 12 12:45:34 1995  steve chamberlain  <sac@slash.cygnus.com>
1820214082Sdim
1821214082Sdim	* coffcode.h (coff_compute_section_file_positions): Keep the
1822214082Sdim	raw size safe.
1823214082Sdim	(coff_write_object_contents): Remember if it's a relocatable
1824214082Sdim	file.
1825214082Sdim	* libcoff-in.h (pe_data_type): New member 'has_reloc_section'
1826214082Sdim	* peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
1827214082Sdim	if relocatable file. Swap out saved raw size.
1828214082Sdim
1829214082SdimTue Sep 12 12:14:33 1995  Ian Lance Taylor  <ian@cygnus.com>
1830214082Sdim
1831214082Sdim	* Makefile.in (do_maintainer_clean): Rename from do_realclean.
1832214082Sdim	(maintainer-clean): Rename from realclean, passing
1833214082Sdim	maintainer-clean down to subdirectories, but leave realclean as a
1834214082Sdim	synonym.
1835214082Sdim
1836214082Sdim	* linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
1837214082Sdim	warning callback.
1838214082Sdim
1839214082Sdim	* dep-in.sed: Remove config.h from generated dependencies.
1840214082Sdim
1841214082Sdim	* sunos.c (sunos_slurp_dynamic_symtab): New static function,
1842214082Sdim	broken out of sunos_canonicalize_dynamic_symtab.
1843214157Sdim	(sunos_canonicalize_dynamic_symtab): Call new function
1844214157Sdim	sunos_slurp_dynamic_symtab.
1845214157Sdim	(sunos_add_dynamic_symbols): Add three new parameters.  Return the
1846214157Sdim	dynamic symbol table to the caller.
1847214157Sdim	* aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
1848214157Sdim	callback to override the symbols being read.
1849214157Sdim	* libaout.h (struct aout_backend_data): Add three new parameters
1850214157Sdim	to add_dynamic_symbols callback.
1851214157Sdim
1852214157Sdim	Extensive minor changes to avoid various gcc warnings.  Also:
1853214157Sdim	* Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
1854214157Sdim	* archures.c (bfd_arch_info_type): Change mach field from long to
1855214157Sdim	unsigned long.
1856214082Sdim	(bfd_lookup_arch): Change machine parameter from long to unsigned
1857214082Sdim	long.
1858214082Sdim
1859214082SdimMon Sep 11 10:55:47 1995  Ian Lance Taylor  <ian@cygnus.com>
1860214082Sdim
1861214082Sdim	* sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
1862214082Sdim	a symbol with a non-zero plt_offset.
1863214082Sdim
1864214082SdimFri Sep  8 11:47:24 1995  Ian Lance Taylor  <ian@cygnus.com>
1865214082Sdim
1866214082Sdim	* elfcode.h (align_file_position): Remove; not used.
1867214082Sdim
1868214082Sdim	* configure.in: Only check for <sys/procfs.h> on a native system,
1869214082Sdim	and make sure it defines prstatus_t.
1870214082Sdim	* configure: Rebuild.
1871214082Sdim
1872214082SdimThu Sep  7 12:48:01 1995  Ian Lance Taylor  <ian@cygnus.com>
1873214082Sdim
1874214082Sdim	* sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
1875214082Sdim
1876214082Sdim	* config.in: Rename from config.h.in.
1877214082Sdim	* configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
1878214082Sdim	Check for config.h:config.in when creating stamp-h.
1879214082Sdim	* configure: Rebuild.
1880214082Sdim	* Makefile.in (stamp-h): Depend upon config.in rather than
1881214082Sdim	config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
1882214082Sdim	calling config.status.
1883214082Sdim
1884214082Sdim	* Makefile.in (do_distclean): Remove config.h and stamp-h.
1885214082Sdim	(Makefile): Just rebuild Makefile.
1886214082Sdim	(config.h, stamp-h): New targets.
1887214082Sdim	* configure.in: Create stamp-h when rebuilding config.h.
1888214082Sdim	* configure: Rebuild.
1889214082Sdim
1890214082SdimWed Sep  6 15:00:33 1995  Ian Lance Taylor  <ian@cygnus.com>
1891214082Sdim
1892214082Sdim	* configure.in: Call AC_CONFIG_HEADER.  Substitute
1893214082Sdim	HOST_64BIT_LONG.  Check that various header files exist.  Check
1894214082Sdim	that fcntl exists.  Call BFD_BINARY_FOPEN.  Check whether malloc
1895214082Sdim	and/or free need to be declared.  Don't make a link to sysdep.h.
1896214082Sdim	Define TRAD_HEADER for various hosts.
1897214082Sdim	* configure: Rebuild.
1898214082Sdim	* configure.host: Don't set my_host.  Add definitions taken from
1899214082Sdim	host header files for various entries.  Remove entries which now
1900214082Sdim	do nothing.
1901214082Sdim	* acconfig.h: New file.
1902214082Sdim	* config.h.in: New file, built by autoheader.
1903214082Sdim	* sysdep.h: New file.
1904214082Sdim	* Makefile.in (do_distclean): Don't remove sysdep.h.
1905214082Sdim	(RECONFIG): Remove.
1906214082Sdim	(LOCAL_H_DEPS): New variable.
1907214082Sdim	($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
1908214082Sdim	$(RECONFIG).
1909214082Sdim	($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
1910214082Sdim	($(OPTIONAL_BACKENDS)): Likewise.
1911214082Sdim	(stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
1912214082Sdim	looking through sysdep.h.
1913214082Sdim	* bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
1914214082Sdim	(BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
1915214082Sdim	(fprintf_vma, sprintf_vma): Likewise.
1916214082Sdim	(int64_type, uint64_type): Don't define.
1917214082Sdim	* bfd-in2.h: Rebuild.
1918214082Sdim	* archures.c, bfd.c, srec.c: Include <ctype.h>.
1919214082Sdim	* elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
1920214634Sdim	* lynx-core.c: Include stuff from old hosts/lynx.h.
1921214634Sdim	* opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
1922214634Sdim	rather than NO_FCNTL.
1923214082Sdim	* targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
1924214082Sdim	rather than NATIVE_HPPAHPUX_COMPILER.
1925214082Sdim	* trad-core.c: Don't include <errno.h>.  Include TRAD_HEADER if it
1926214082Sdim	is defined.
1927214082Sdim	* hosts/*.h: Remove all header files which merely include,
1928214082Sdim	declare, and define things.  Leave header files which define
1929214082Sdim	information needed by trad-core.c.
1930214082Sdim
1931214082Sdim	* aclocal.m4 (BFD_BINARY_FOPEN): Define.
1932214082Sdim	(BFD_CC_FOR_BUILD): Define.
1933214082Sdim	* configure.in: Use BFD_CC_FOR_BUILD.
1934214082Sdim	* configure: Rebuild.
1935214082Sdim
1936214082SdimTue Sep  5 19:35:28 1995  Ian Lance Taylor  <ian@cygnus.com>
1937214082Sdim
1938214082Sdim	* aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
1939214082Sdim	* configure: Rebuild.
1940214082Sdim
1941214082Sdim	* coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
1942214082Sdim	a global symbol.
1943214082Sdim
1944214082SdimTue Sep  5 12:48:26 1995  Jason Molenda   (crash@phydeaux.cygnus.com)
1945214082Sdim
1946214082Sdim	* config.bfd: i386pe_ve -> i386pe_vec.
1947214082Sdim
1948214082SdimMon Sep  4 14:02:43 1995  Ian Lance Taylor  <ian@cygnus.com>
1949214082Sdim
1950214082Sdim	* configure.host: Incorporate host Makefile fragments by setting
1951214082Sdim	shell variables.
1952214082Sdim	* configure.in: Call AC_PROG_CC.  Substitute CFLAGS, HDEFINES and
1953214082Sdim	AR.  Call AC_PROG_INSTALL.  Substitute CC_FOR_BUILD, choosing a
1954214082Sdim	value based on whether the code is being compiled by a cross
1955214082Sdim	compiler.  Don't substitute host_makefile_frag or frags.
1956214082Sdim	* aclocal.m4: New file to define local AC_PROG_CC.
1957214082Sdim	* configure: Rebuild.
1958214082Sdim	* Makefile.in (INSTALL): Set to @INSTALL@.
1959214082Sdim	(INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
1960214082Sdim	(INSTALL_DATA): Set to @INSTALL_DATA@.
1961214082Sdim	(AR): Set to @AR@.
1962214082Sdim	(CC): Define as @CC@.
1963214082Sdim	(CFLAGS): Set to @CFLAGS@.
1964214082Sdim	(CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
1965214082Sdim	(@host_makefile_frag@): Remove.
1966214082Sdim	(ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@.  Move $(CFLAGS)
1967214082Sdim	after other options.
1968214082Sdim	(config.status): Remove dependency upon @frags@.
1969214082Sdim	* config/*.mh, config/README: Remove.
1970214082Sdim
1971214082Sdim	* config.bfd: Rewrite to incorporate the contents of the Makefile
1972214082Sdim	fragments by setting shell variables, rather than merely returning
1973214082Sdim	the name of a Makefile fragment.
1974214082Sdim	* configure.in: Use shell variables set by config.bfd rather than
1975214082Sdim	looking at the target Makefile fragment files.  Don't substitute
1976214082Sdim	target_makefile_frag.  Do substitute TDEFINES.
1977214082Sdim	* configure: Rebuild.
1978214082Sdim	* Makefile.in (@target_makefile_frag@): Remove.
1979214082Sdim	(ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
1980214082Sdim	* config/*.mt: Remove.
1981214082Sdim
1982214082SdimMon Sep  4 03:13:28 1995  Ken Raeburn  <raeburn@cygnus.com>
1983214082Sdim
1984214082Sdim	* configure.in: Put changequote lines around "i[345]86" patterns
1985214082Sdim	section of core file support.
1986214082Sdim
1987214082SdimSun Sep  3 11:31:58 1995  Jeff Law  (law@snake.cs.utah.edu)
1988214082Sdim
1989214082Sdim	* som.c (som_bfd_print_private_bfd_data): Define to use the
1990214082Sdim	generic version.
1991214082Sdim
1992214082SdimFri Sep  1 17:08:40 1995  steve chamberlain  <sac@slash.cygnus.com>
1993214082Sdim
1994214082Sdim	* peicode.h (coff_swap_aouthdr_in): Add ImageBase to
1995214082Sdim	entry, text_start and data_start.
1996214082Sdim
1997214082SdimFri Sep  1 18:06:28 1995  Ian Lance Taylor  <ian@cygnus.com>
1998214082Sdim
1999214082Sdim	* Makefile.in (OFILES): Remove $(TDEPFILES).
2000214082Sdim	* config/apollo.mt (TDEPFILES): Remove.
2001214082Sdim	* config/README: Update.
2002214082Sdim
2003214082Sdim	* configure.in: For a native configuration, set COREFILE and
2004214082Sdim	COREFLAG based on the canonical host name.
2005214082Sdim	* configure: Rebuild.
2006214082Sdim	* Makefile.in: Rebuild dependencies.
2007214082Sdim	(ALL_CFLAGS): Add @COREFLAG@.
2008214082Sdim	(OFILES): Replace $(HDEPFILES) with @COREFILE@.
2009214082Sdim	* coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
2010214082Sdim	support routines.  Check LYNX_CORE rather than HOST_LYNX.
2011214082Sdim	* lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
2012214082Sdim	* i386lynx.c: Likewise.
2013214082Sdim	* m68klynx.c: Likewise.
2014214082Sdim	* sparclynx.c: Likewise.
2015214082Sdim	* rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
2016214082Sdim	* *-core.c: Comment changes.
2017214082Sdim	* config/decstation.mh (HDEPFILES): Remove.
2018214082Sdim	(HDEFINES): Remove -DTRAD_CORE.
2019214082Sdim	* config/irix3.mh (RANLIB): Remove.
2020214082Sdim	* config/irix4.mh (HDEPFILES, RANLIB): Remove.
2021214082Sdim	(HDEFINES): Remove -DIRIX_CORE.
2022214082Sdim	* config/riscos.mh (RANLIB, HDEPFILES): Remove.
2023214082Sdim	(HDEFINES): Remove -DTRAD_CORE.
2024214082Sdim	* config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
2025214082Sdim	* config/ultra3.mh (RANLIB): Remove.
2026214082Sdim	* config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
2027214082Sdim	* config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
2028214082Sdim	* config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
2029214082Sdim	* config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
2030214082Sdim	* config/hppahpux.mh, config/hppaosf.mh: Remove.
2031214082Sdim	* config/i386aix.mh, config/i386bsd.mh: Remove.
2032214082Sdim	* config/i386linux.mh, config/i386mach3.mh: Remove.
2033214082Sdim	* config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
2034214082Sdim	* config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
2035214634Sdim	* config/mipsmach3.mh, config/news-mips.mh: Remove.
2036214634Sdim	* config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
2037214634Sdim	* config/rs600.mh, config/rs6000lynx.mh: Remove.
2038214634Sdim	* config/solaris2.mh, config/stratus.mh: Remove.
2039214634Sdim	* config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
2040214634Sdim	* config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
2041214634Sdim
2042214634SdimFri Sep  1 15:18:50 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>
2043214634Sdim
2044214634Sdim	* elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
2045214634Sdim	DT_FINI entry if the appropriate symbol is not in the hash table.
2046214634Sdim
2047214634Sdim	* libelf.h (struct elf_backend_data): Add create_program_headers
2048214634Sdim	and want_hdr_in_seg fields.
2049214634Sdim	* elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
2050214634Sdim	defined.
2051214634Sdim	(elf_backend_create_program_headers): Likewise.
2052214634Sdim	(elfNN_bed): Initialize create_program_headers and
2053214634Sdim	want_hdr_in_seg.
2054214634Sdim	* elf.c (get_program_header_size): Call create_program_headers
2055214634Sdim	backend routine.
2056214634Sdim	(map_program_segments): Check want_hdr_in_seg backend field.  Call
2057214634Sdim	create_program_headers backend routine.
2058214634Sdim
2059214634Sdim	* elf.c (assign_file_positions_except_relocs): Align non allocated
2060214634Sdim	sections when creating an executable.
2061214634Sdim
2062214634Sdim	* elfcode.h (elf_swap_phdr_in): Make non static.
2063214634Sdim	(elf_swap_phdr_out): Make non static.
2064214634Sdim	* libelf.h (bfd_elf32_swap_phdr_in): Declare.
2065214634Sdim	(bfd_elf32_swap_phdr_out): Declare.
2066214634Sdim	(bfd_elf64_swap_phdr_in): Declare.
2067214082Sdim	(bfd_elf64_swap_phdr_out): Declare.
2068214082Sdim
2069214082Sdim	* ecofflink.c (ecoff_collect_shuffle): New static function.
2070214082Sdim	(_bfd_ecoff_get_accumulated_pdr): New function.
2071214634Sdim	(_bfd_ecoff_get_accumulated_sym): New function.
2072214082Sdim	(_bfd_ecoff_get_accumulated_ss): New function.
2073214634Sdim	* libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
2074214634Sdim	(_bfd_ecoff_get_accumulated_sym): Declare.
2075214082Sdim	(_bfd_ecoff_get_accumulated_ss): Declare.
2076214082Sdim	* libbfd.h: Rebuild.
2077214082Sdim
2078214082SdimFri Sep  1 13:20:25 1995  Ian Lance Taylor  <ian@cygnus.com>
2079214082Sdim
2080214082Sdim	* libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
2081214082Sdim
2082214082Sdim	* elflink.h (elf_link_add_object_symbols): Handle indirect and
2083214082Sdim	warning symbols.  If any section is named .gnu.warning.XXX, treat
2084214082Sdim	the contents as a warning to be issued if the symbol XXX is
2085214082Sdim	referenced.
2086214082Sdim	(elf_link_output_extsym): For an indirect or warning symbol, just
2087214082Sdim	output the symbol it points to.
2088214082Sdim
2089214082Sdim	* linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
2090214082Sdim	if bfd_hash_allocate fails, since it will already be set.
2091214634Sdim	(generic_link_hash_newfunc): Likewise.
2092214634Sdim	(archive_hash_newfunc): Likewise.
2093214082Sdim	(hash_entry_bfd): New static function.
2094214082Sdim	(_bfd_generic_link_add_one_symbol): Pass new arguments to warning
2095214082Sdim	callback.  Allocate a new warning using the hash table newfunc.
2096214082Sdim	Use bfd_hash_replace to update the entry in the hash table, rather
2097214082Sdim	than assuming we can copy the fields with structure assignment.
2098214082Sdim
2099214082Sdim	* hash.c (bfd_hash_replace): New function.
2100214082Sdim	* bfd-in.h (bfd_hash_replace): Declare.
2101214082Sdim	* bfd-in2.h: Rebuild.
2102214082Sdim
2103214082SdimFri Sep  1 08:12:50 1995  James G. Smith  <jsmith@beauty.cygnus.com>
2104214082Sdim
2105214634Sdim	* config.bfd: Add mips*vr4300-*-elf* target.
2106214634Sdim	* config/mipsbvr4300.mt: Added.
2107214634Sdim
2108214634SdimThu Aug 31 16:00:53 1995  steve chamberlain  <sac@slash.cygnus.com>
2109214634Sdim
2110214634Sdim	* Makefile.in: Update dependencies.
2111214634Sdim	* aout-target.h (MY_bfd_print_private_bfd_data): New.
2112214082Sdim	* bfd-in.h (PE STUFF): Deleted.
2113214082Sdim	* bfd.c (tdata->pe_obj_data): New.
2114214082Sdim	(bfd_print_private_bfd_data): New.
2115214082Sdim	* coff-i386.c, coff-arm.c (coff_*-rtype_to_howto): Get image base from
2116214082Sdim	new place.
2117214082Sdim	* libcoff.h, libbfd.h, bfd-in2.h: Rebuilt.
2118214082Sdim	* coffcode.h (pe_value): Delete
2119214082Sdim	(coff_mkobject, coff_mkobject_hook): Conditionally build.
2120214082Sdim	(coff_compute_section_file_positions): Look in new place.
2121214082Sdim	(add_data_entry, fill_pe_header_info): Deleted.
2122214082Sdim	(coff_write_object_contents): Remove PE stuff.
2123214082Sdim	(coff_bfd_print_private_bfd_data): New.
2124214082Sdim	* coffswap.h: Remove PE stuff.
2125214082Sdim	* elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): New.
2126214082Sdim	* libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): New.
2127214082Sdim	* libcoff-in.h (pe_data_type): New.
2128214082Sdim	* libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): New.
2129214082Sdim	* targets.c (_bfd_print_private_bfd_data): New.
2130214082Sdim	* peicode.h: New file.
2131214082Sdim
2132214082SdimThu Aug 31 11:49:21 1995  Ian Lance Taylor  <ian@cygnus.com>
2133214082Sdim
2134214082Sdim	* bfd-in.h: Add extern "C" if __cplusplus.
2135214082Sdim	* bfd-in2.h: Rebuild.
2136214082Sdim
2137214082Sdim	* coff-mips.c (mips_relocate_section): Don't convert a reloc
2138214082Sdim	against an absolute symbol into a reloc against a section.
2139214082Sdim
2140214082SdimThu Aug 31 08:00:14 1995  steve chamberlain  <sac@slash.cygnus.com>
2141214082Sdim	
2142214082Sdim	* coff-arm.c (coff_arm_reloc): Fix common size problem.
2143214082Sdim	(i3coff_object_p): Delete.
2144214082Sdim
2145214082SdimWed Aug 30 20:41:27 1995  steve chamberlain  <sac@slash.cygnus.com>
2146214082Sdim
2147214082Sdim	* coff-arm.c (deletemeacoff_arm_reloc): Deleted.
2148214082Sdim	(arm26): Not partial inplace.
2149214082Sdim	* coffcode.h (coff_compute_section_file_positions): Don't
2150214082Sdim	do page aligning if COFF_PAGE_SIZE isn't defined.
2151214082Sdim	* coffswap.h (coff_swap_scnhdr_in): Update image base correctly.
2152214082Sdim
2153214082SdimTue Aug 29 13:50:21 1995  steve chamberlain  <sac@slash.cygnus.com>
2154214082Sdim
2155214082Sdim	* coffcode.h (coff_compute_section_file_positions):
2156214082Sdim	Compile even if COFF_PAGE_SIZE isn't defined.
2157214082Sdim	* cofflink.c (_bfd_coff_generate_reloc_section): Write
2158214634Sdim	base file info as rvas.
2159214634Sdim	* coff-arm.c (coff_rtype_to_howto): Deal with reloc 11.
2160214634Sdim	* coffcode.h (coff_write_object_contents): Remove #if0ed code
2161214634Sdim	Only remove empty sections in PE inmage files.
2162214082Sdim	* libbfd.h, bfd-in2.h: regenerated.
2163214082Sdim	* coff-arm.c (aoutarm_std_relo): New entry at 11.
2164214082Sdim	(arm_reloc_type_lookup) : Understand type 11.
2165214082Sdim	* coff-i386.c (howto_table): fix name of rva type.
2166214082Sdim	(coff-i386_rtype_to_howto): Understand R_IMAGEBASE type.
2167214082Sdim	* coffcode.h (sec_to_styp_flags): .edata is data.
2168214082Sdim	(coff_compute_section_file_positions): Get page size right for PE.
2169214082Sdim	Pagesize info is only valid in PE image files.
2170214082Sdim	(fill_pe_header_info): Fix fields.
2171214082Sdim	(coff_write_object_contents): Remove end_of_image calc.
2172214082Sdim	(_bfd_coff_generate_reloc_section): Remove orphaned comment.
2173214082Sdim	* coffswap.h (coff_swap_scnhdr_in): Don't always add IMAGE_BASE.
2174214082Sdim	Swap in PE header.
2175214082Sdim	(coff_swap_scnhdr_out): Setup PE flags correctly.
2176214082Sdim	* reloc.c (BFD_RELOC_RVA): New field.
2177214082Sdim
2178214082SdimThu Aug 24 17:49:59 1995  Ian Lance Taylor  (ian@cygnus.com)
2179214082Sdim
2180214082Sdim	* cofflink.c (coff_link_input_bfd): Don't include line numbers for
2181214082Sdim	a section if its output section has no contents.
2182214082Sdim
2183214082SdimWed Aug 23 16:48:52 1995  Ian Lance Taylor  (ian@cygnus.com)
2184214082Sdim
2185214082Sdim	* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Add parentheses to FIX
2186214082Sdim	expression to avoid compiler bug on HP-UX 9.01.
2187214634Sdim
2188214634SdimWed Aug 23 09:49:39 1995  Steve Chamberlain  <sac@rtl.cygnus.com>
2189214634Sdim
2190214634Sdim	* coffcode.h (pe_value): Unansify.
2191214082Sdim
2192214082SdimMon Aug 21 17:49:28 1995  steve chamberlain  <sac@slash.cygnus.com>
2193214082Sdim
2194214082Sdim	* bfd-in.h (bfd_link_subsystem): Turn enum into #defines.
2195214082Sdim	(bfd_link_pe_info_dval): New
2196214082Sdim	(bfd_link_stack_heap): Renamed and massaged into bfd_link_pe_info.
2197214082Sdim	* bfd-in2.h: rebuilt.
2198214634Sdim	* bfd.c (NT_subsystem, NT_stack_heap): Deleted.
2199214082Sdim	* coffcode.h (pe_value): New function.
2200214082Sdim	(fill_pe_header_info): New function.
2201214082Sdim	(coff_write_object_contents): Use new function.
2202214082Sdim	(coff_write_object_contents): Initialze link_data if not set.
2203214082Sdim	* cofflink.c (coff_final_link_info): Remove pe randomness.
2204214082Sdim	(dores_com): Update info in bfd_link_pe_info_dval.
2205214082Sdim	(process_embedded_commands): Use the bfd_link_pe_info_dval.
2206214082Sdim	(_bfd_coff_final_link): Remove PE stuff, initialize
2207214082Sdim	coff_data->link_info.
2208214082Sdim	* coffswap.h (coff_swap_[aout|filehdr]_out): Use indirect PE pointer.
2209214082Sdim	(coff_swap_scnhdr_out): Use real imagebase.
2210214634Sdim	* libcoff-in.h (coff_data_type.link_info): New field.
2211214634Sdim
2212214634SdimMon Aug 21 11:10:32 1995  Ian Lance Taylor  <ian@cygnus.com>
2213214634Sdim
2214214634Sdim	* linker.c (link_action): If an undefined reference follows an
2215214634Sdim	undefined weak reference, change the type to undefined.
2216214634Sdim	* elflink.h (elf_link_add_archive_symbols): Don't record an
2217214634Sdim	undefined weak reference as defined, in case it turns into a real
2218214634Sdim	undefined reference later in the same archive.
2219214634Sdim
2220214082SdimThu Aug 17 16:29:09 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
2221214082Sdim
2222214082Sdim	* coff-sh.c (sh_relax_section): Cast value for used_by_bfd field
2223214082Sdim	to PTR, not coff_section_tdata pointer, since PTR is the real type
2224214082Sdim	of the field.
2225214082Sdim	* cofflink.c (_bfd_coff_read_internal_relocs): Ditto.
2226214082Sdim
2227214082SdimThu Aug 17 14:44:26 1995  Ian Lance Taylor  <ian@cygnus.com>
2228214082Sdim
2229214082Sdim	Add support for linking SPARC SunOS PIC compiled code.
2230214082Sdim	* sunos.c (SPARC_PLT_PIC_WORD0): Define.
2231214082Sdim	(SPARC_PLT_PIC_WORD1, SPARC_PLT_PIC_WORD2): Define.
2232214082Sdim	(struct sunos_link_hash_entry): Add got_offset and plt_offset
2233214082Sdim	fields.
2234214082Sdim	(struct sunos_link_hash_table): Add dynamic_sections_created and
2235214082Sdim	dynamic_sections_needed fields.
2236214082Sdim	(sunos_link_hash_newfunc): Initialize new fields.
2237214082Sdim	(sunos_link_hash_table_create): Initialize new fields.
2238214082Sdim	(sunos_create_dynamic_sections): New static function, broken out
2239214082Sdim	of sunos_add_dynamic_symbols.
2240214082Sdim	(sunos_add_dynamic_symbols): Call sunos_create_dynamic_sections.
2241214082Sdim	(sunos_add_one_symbol): Call sunos_create_dynamic_sections.
2242214082Sdim	(bfd_sunos_size_dynamic_sections): Call sunos_scan_relocs before
2243214082Sdim	checking whether we need to set up the dynamic link information.
2244214082Sdim	Define __GLOBAL_OFFSET_TABLE if anything referred to it.
2245214082Sdim	(sunos_scan_std_relocs): Call sunos_create_dynamic_sections.  Use
2246214082Sdim	plt_offset field; only put symbol in .plt if it is not defined by
2247214082Sdim	a regular object.
2248214082Sdim	(sunos_scan_ext_relocs): Likewise.  Handle base relative relocs.
2249214082Sdim	(sunos_scan_dynamic_symbol): Store dynobj in local variable.
2250214082Sdim	(sunos_write_dynamic_symbol): Check plt_offset rather than
2251214082Sdim	checking whether symbol is in .plt section.  If symbol is defined
2252214082Sdim	in a regular object file, use SPARC_PLT_PIC_WORD[012], and don't
2253214082Sdim	add a JMP_TBL reloc.
2254214082Sdim	(sunos_check_dynamic_reloc): Add contents and relocationp fields.
2255214082Sdim	If plt_offset is set, redirect relocation to PLT.  If this is a
2256214082Sdim	base relative reloc, redirect relocation to GOT.  Check
2257214082Sdim	dynamic_sections_needed field rather than whether dynobj is set.
2258214082Sdim	(sunos_finish_dynamic_link): Check dynamic_sections_needed field
2259214082Sdim	rather than whether dynobj is set.  Don't die if .need and .rules
2260214082Sdim	sections were not created.
2261214082Sdim	* aoutx.h (howto_table_ext): Mark PC10, PC22, and JMP_TBL entries
2262214082Sdim	PC relative.  Mark PC10 complain_overflow_dont.  Mark PC22 and
2263214082Sdim	JMP_TBL complain_overflow_signed.
2264214082Sdim	(NAME(aout,final_link)): If info->shared is set, set DYNAMIC.
2265214082Sdim	(aout_link_input_section_std): Call check_dynamic_reloc for all
2266214082Sdim	relocs.  Pass contents and &relocation.  Don't warn about an
2267214082Sdim	undefined symbol until check_dynamic_reloc has been called.  Don't
2268214082Sdim	warn about an undefined symbol for a base relative reloc.
2269214082Sdim	(aout_link_input_section_ext): Likewise.  For a base relative
2270214082Sdim	reloc, always treat r_index as an index into the symbol table.
2271214082Sdim	* libaout.h (struct aout_backend_data): Add contents and
2272214082Sdim	relocation argument to check_dynamic_reloc entry point.
2273214082Sdim	(struct aoutdata): Add local_got_offsets field.
2274214082Sdim
2275214082SdimWed Aug 16 01:03:07 1995  Ian Lance Taylor  <ian@cygnus.com>
2276214082Sdim
2277214082Sdim	* elf32-i386.c (elf_i386_check_relocs): Fix bug in last change.
2278214082Sdim
2279214082SdimMon Aug 14 11:39:24 1995  Ian Lance Taylor  <ian@cygnus.com>
2280214082Sdim
2281214082Sdim	* aoutx.h (NAME(aout,machine_type)): Handle a machine of
2282214082Sdim	bfd_mach_sparc or bfd_mach_sparc64.
2283214082Sdim
2284214082Sdim	* elflink.h (elf_link_add_object_symbols): If a symbol is a weak
2285214082Sdim	definition, add it to the dynamic symbol table if any dynamic
2286214082Sdim	object mentions it.  If we do add it, make sure we add the
2287214634Sdim	corresponding real symbol.
2288214082Sdim	(elf_adjust_dynamic_symbol): Adjust a weak defined symbol which we
2289214082Sdim	put in the dynamic symbol table, even if no regular object refers
2290214082Sdim	to it.
2291214082Sdim	* elf32-i386.c (elf_i386_check_relocs): When creating a shared
2292214082Sdim	library, don't allocate space for a PC relative reloc against a
2293214082Sdim	local symbol.
2294214082Sdim	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
2295214082Sdim	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
2296214082Sdim	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Change assertion
2297214082Sdim	to accept symbol with weakdef set.
2298214082Sdim	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
2299214082Sdim	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
2300214082Sdim	* elf32-m68k.c (elf_m68k_relocate_section): When creating a shared
2301214634Sdim	libary, don't copy over a PC relative reloc against a local
2302214082Sdim	symbol.
2303214634Sdim	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2304214082Sdim
2305214082SdimSun Aug 13 00:40:58 1995  Jeff Law  (law@snake.cs.utah.edu)
2306214082Sdim
2307214082Sdim	* som.h (R_HPPA_BEGIN_BRTAB): Define.
2308214082Sdim	(R_HPPA_END_BRTAB): Likewise.
2309214082Sdim	* som.c (som_write_fixups): Handle R_BEGIN_BRTAB and R_END_BRTAB.
2310214082Sdim
2311214082SdimThu Aug 10 15:53:29 1995  Ian Lance Taylor  <ian@cygnus.com>
2312214082Sdim
2313214082Sdim	* coffswap.h (coff_swap_aux_in): Swap the array dimensions
2314214082Sdim	whenever x_fcnary is not being used for something else, rather
2315214082Sdim	than only for an array.
2316214082Sdim	(coff_swap_aux_out): Likewise.
2317214082Sdim
2318214082SdimTue Aug  8 16:34:57 1995  steve chamberlain  <sac@slash.cygnus.com>
2319214082Sdim
2320214082Sdim	* cofflink.c (_bfd_coff_generic_relocate_section): Remove most
2321214082Sdim	of special case stuff for PE.  Now handled by relocs.
2322214082Sdim	* coff-i386.c (coff_i386_reloc): Special case of PE type 7s.
2323214082Sdim	(howto_table): Type 7 is dir32-rva.
2324214082Sdim
2325214082SdimTue Aug  8 10:15:43 1995  Jeffrey A. Law  <law@rtl.cygnus.com>
2326214082Sdim
2327214082Sdim	* configure.host: Recognize aix4 explicitly.
2328214082Sdim	* rs6000-core.c (CORE_DATA_SIZE_FIELD): New macro to get a the size
2329214082Sdim	of a core dump's data section.  Provide alternate definition for aix4.
2330214082Sdim	(SAVE_FIELD): Similarly for save state field (register info).
2331214082Sdim	(STACK_END_ADDR): Provide definition suitable for aix4.
2332214082Sdim	* config/{aix4.mh,aix4.mt}: New configuration files.
2333214082Sdim	* hosts/aix4.h: Likewise.
2334214082Sdim
2335214082SdimMon Aug  7 23:03:21 1995  Ian Lance Taylor  <ian@cygnus.com>
2336214082Sdim
2337214082Sdim	* som.c (som_bfd_copy_private_symbol_data): Cast initializations
2338214082Sdim	to avoid warnings.
2339214082Sdim
2340214082SdimMon Aug  7 14:51:08 1995  Jeff Law  (law@snake.cs.utah.edu)
2341214082Sdim
2342214082Sdim	* som.c (som_decode_symclass): Handle absolute symbols by checking
2343214082Sdim	the SOM type (since they will rarely if ever be in the absolute
2344214082Sdim	section).
2345214082Sdim
2346214082SdimWed Aug  6 09:12:50 1995  Doug Evans  <dje@canuck.cygnus.com>
2347214082Sdim
2348214082Sdim	* archures.c (bfd_mach_sparc, bfd_mach_sparc64): Define.
2349214082Sdim	* bfd-in2.h: Regenerated.
2350214082Sdim	* cpu-sparc.c (sparc_arch_info): Renamed from arch_info_struct.
2351214082Sdim	(sparc64_arch_info): New static variable.
2352214082Sdim	(bfd_sparc_arch): Link in sparc64_arch_info.
2353214082Sdim	* elf64-sparc.c (sparc64_elf_xxx): Renamed from elf64_xxx.
2354214082Sdim	(sparc64_elf_object_p): New static function.
2355214082Sdim	(elf_backend_object_p): Define.
2356214082Sdim	* config/sparc64-elf.mt (SELECT_VECS): Add bfd_elf32_sparc_vec.
2357214082Sdim
2358214082SdimSat Aug  5 00:04:08 1995  Jeff Law  (law@snake.cs.utah.edu)
2359214082Sdim
2360214082Sdim	* som.c (som_get_reloc_upper_bound): Return -1 on error.  Compute
2361214082Sdim	return value with sizeof (arelent *), not sizeof (arelent).
2362214082Sdim
2363214082SdimWed Aug  2 12:32:21 1995  Ian Lance Taylor  <ian@cygnus.com>
2364214082Sdim
2365214082Sdim	* elf.c (bfd_section_from_shdr): If the section pointed to by the
2366214082Sdim	sh_link field of a reloc section is not a symbol table, and the
2367214082Sdim	file contains a single symbol table, clobber the sh_link field of
2368214082Sdim	the reloc section to point to the symbol table.
2369214082Sdim
2370214082SdimTue Aug  1 10:09:01 1995  Doug Evans  <dje@canuck.cygnus.com>
2371214082Sdim
2372214082Sdim	* coff-arm.c (howto reloc ARM26): Change size from 3 to 2.
2373214082Sdim	(howto reloc ARM26D): Likewise.
2374214082Sdim
2375214082SdimMon Jul 24 14:17:50 1995  Ian Lance Taylor  <ian@cygnus.com>
2376214082Sdim
2377214082Sdim	* aoutx.h (NAME(aout,find_nearest_line)): Use the line just before
2378214082Sdim	the offset, not the one just after.  Break out of the loop after
2379214082Sdim	finding a function past the offset, not merely when finding a
2380214082Sdim	function with a line defined.
2381214082Sdim
2382214082Sdim	* ecofflink.c (_bfd_ecoff_locate_line): When handling stabs:
2383214082Sdim	correct setting of sym_ptr_end to consider symbols skipped when
2384214082Sdim	setting sym_ptr; don't leave loop early unless an N_FUN is found
2385214082Sdim	with a larger value.
2386214082Sdim
2387214082Sdim	* coff-sh.c (sh_coff_howtos): Mark R_SH_PCDISP8BY2 and R_SH_PCDISP
2388214082Sdim	as PC relative.  Describe R_SH_IMM16.  Add entries for
2389214082Sdim	R_SH_SWITCH16, R_SH_SWITCH32, R_SH_USES, R_SH_COUNT, and
2390214082Sdim	R_SH_ALIGN.
2391214082Sdim	(SWAP_IN_RELOC_OFFSET): Define.
2392214082Sdim	(SWAP_OUT_RELOC_OFFSET): Define.
2393214082Sdim	(CALC_ADDEND): Define.
2394214082Sdim	(sh_reloc): Change sym_value and addr to type bfd_vma.  Skip reloc
2395214082Sdim	types other than R_SH_IMM32 and R_SH_PCDISP on an external symbol.
2396214082Sdim	(coff_bfd_relax_section): Define.
2397214082Sdim	(coff_bfd_get_relocated_section_contents): Define.
2398214082Sdim	(sh_relax_section): New static function.
2399214082Sdim	(sh_relax_delete_bytes): New static function.
2400214082Sdim	(sh_relocate_section): Handle R_SH_PCDISP on an external symbol.
2401214082Sdim	(sh_coff_get_relocated_section_contents): New static function.
2402214082Sdim
2403214082Sdim	* cofflink.c (coff_link_add_object_symbols): Call
2404214082Sdim	_bfd_coff_get_external_symbols, not coff_link_get_symbols.  Call
2405214082Sdim	_bfd_coff_free_symbols, not coff_link_free_symbols.  Call
2406214082Sdim	_bfd_coff_read_string_table, not coff_read_string_table.
2407214082Sdim	(coff_link_check_archive_element): Likewise.
2408214082Sdim	(coff_link_input_bfd): Likewise.
2409214082Sdim	(coff_link_get_symbols): Move to coffgen.c.
2410214082Sdim	(coff_read_string_table): Likewise.
2411214082Sdim	(coff_link_free_symbols): Likewise.
2412214082Sdim	(_bfd_coff_internal_syment_name): New static function.
2413214082Sdim	(coff_link_check_ar_symbols): Use _bfd_coff_internal_syment_name.
2414214082Sdim	(coff_link_add_symbols): Likewise.
2415214082Sdim	(coff_link_input_bfd): Likewise.
2416214082Sdim	(_bfd_coff_generic_relocate_section): Likewise.
2417214082Sdim	(_bfd_coff_read_internal_relocs): New function.
2418214082Sdim	(coff_link_input_bfd): Use cached section contents if available.
2419214082Sdim	Use _bfd_coff_read_internal_relocs.
2420214082Sdim	* coffcode.h (coff_slurp_symbol_table): Don't call bfd_seek.
2421214082Sdim	(coff_bfd_get_relocated_section_contents): Only define if not
2422214082Sdim	already defined.
2423214082Sdim	(coff_bfd_relax_section): Likewise.
2424214082Sdim	* coffgen.c (build_string_table): Remove.
2425214082Sdim	(_bfd_coff_get_external_symbols): New function, moved in from old
2426214082Sdim	coff_link_get_symbols in cofflink.c.
2427214082Sdim	(_bfd_coff_read_string_table): New function, moved in from old
2428214082Sdim	coff_read_string_table in cofflink.c.
2429214082Sdim	(_bfd_coff_free_symbols): New function, moved in frmo old
2430214082Sdim	coff_link_free_symbols in cofflink.c.
2431214082Sdim	(coff_get_normalized_symtab): Use _bfd_coff_get_external_symbols
2432214082Sdim	rather than reading the symbols directly.  To free them, call
2433214082Sdim	_bfd_coff_free_symbols.  Use _bfd_coff_read_string_table rather
2434214082Sdim	than build_string_table.
2435214082Sdim	* libcoff-in.h (obj_coff_keep_syms): Define.
2436214634Sdim	(obj_coff_keep_strings): Define.
2437214634Sdim	(coff_data_type): Add fields keep_syms and keep_strings.
2438214634Sdim	(coff_section_tdata): Define new structure.
2439214634Sdim	(coff_section_data): Define.
2440214634Sdim	(_bfd_coff_get_external_symbols): Declare.
2441214082Sdim	(_bfd_coff_read_string_table): Declare.
2442214634Sdim	(_bfd_coff_free_symbols): Declare.
2443214634Sdim	(_bfd_coff_read_internal_relocs): Declare.
2444214634Sdim	* libcoff.h: Rebuild.
2445214634Sdim
2446214634SdimFri Jul 21 22:32:54 1995  Michael Meissner  <meissner@cygnus.com>
2447214082Sdim
2448214082Sdim	* elf32-ppc.c (ppc_elf_howto_raw): Add support for R_PPC_SDAREL
2449214082Sdim	relocation.
2450214082Sdim	(ppc_elf_reloc_type_lookup): Ditto.
2451214082Sdim	(ppc_elf_got16_inner): Ditto.
2452214082Sdim	(ppc_elf_relocate_section): Ditto.
2453214082Sdim
2454214082SdimThu Jul 20 19:19:06 1995  Jeff Law  (law@snake.cs.utah.edu)
2455214082Sdim
2456214082Sdim	* elf32-hppa.c (hppa_elf_gen_reloc_type): Add new (ignored)
2457214082Sdim	argument.
2458214082Sdim	* elf32-hppa.h: Corresponding change.
2459214082Sdim
2460214082SdimThu Jul 20 19:01:07 1995  Ken Raeburn  <raeburn@cygnus.com>
2461214082Sdim
2462214082Sdim	* libaout.h (set_aout_section_data): New macro.
2463214082Sdim	* sunos.c (sunos_scan_relocs): Use it.
2464214082Sdim
2465214082Sdim	* aout-ns32k.c (MY_swap_std_reloc_out): Undef KEEPIT before
2466214082Sdim	defining it.
2467214082Sdim
2468214082SdimThu Jul 20 13:48:00 1995  Fred Fish  <fnf@cygnus.com>
2469214082Sdim
2470214082Sdim	* hosts/i386v4.h (getgid, getuid):  Change prototypes to be
2471214082Sdim	compatible with Unixware 1.x and Unixware 2.x, and probably other
2472214082Sdim	i386 svr4 versions as well.
2473214082Sdim
2474214082SdimThu Jul 20 13:41:21 1995  Ken Raeburn  <raeburn@cygnus.com>
2475214082Sdim
2476214082Sdim	* targets.c (bfd_target_vector): Since armpe and armpei have been
2477214082Sdim	split into big- and little-endian variants, list all of them,
2478214082Sdim	instead of the now-nonexistant armpe[i]_vec.
2479214082Sdim
2480214082SdimThu Jul 20 00:06:39 1995  Ian Lance Taylor  <ian@cygnus.com>
2481214082Sdim
2482214634Sdim	* elf.c (bfd_section_from_phdr): Set lma based on p_paddr.
2483214634Sdim	(elf_fake_sections): Set sh_addr based on lma, not vma.
2484214634Sdim
2485214082SdimWed Jul 19 15:52:01 1995  Doug Evans  <dje@canuck.cygnus.com>
2486214082Sdim
2487214082Sdim	* coff-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
2488214082Sdim	* configure.in (armpe_vec, armpei_vec): Add bi-endian support.
2489214082Sdim	* configure: "regenerated".
2490214082Sdim	* pe-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
2491214082Sdim	(TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME.
2492214082Sdim	* pei-arm.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Replaces TARGET_SYM.
2493214082Sdim	(TARGET_LITTLE_NAME, TARGET_BIG_NAME): Replaces TARGET_NAME.
2494214082Sdim	* targets.c (armpe_vec, armpei_vec): Deleted.
2495214082Sdim	(armpe_little_vec, armpe_big_vec, armpei_little_vec, armpei_big_vec):
2496214082Sdim	Added.
2497214082Sdim	* config/arm-pe.mt (DEFAULT_VECTOR): Default is armpe_little_vec.
2498214082Sdim	(SELECT_VECS): Add bi-endian support.
2499214082Sdim
2500214082SdimWed Jul 19 10:47:25 1995  Ian Lance Taylor  <ian@cygnus.com>
2501214082Sdim
2502214082Sdim	* coff-sh.c: Clean up and comment.
2503214082Sdim	(r_imm32): Remove.
2504214082Sdim	(sh_coff_howtos): New static array.
2505214082Sdim	(SH_COFF_HOWTO_COUNT): Define.
2506214082Sdim	(get_symbol_value): Make relocation bfd_vma rather than long.
2507214082Sdim	(RTYPE2HOWTO): Rewrite to use sh_coff_howtos.
2508214082Sdim	(coff_relocate_section): Define to sh_relocate_section.
2509214082Sdim	(sh_relocate_section): New static function.
2510214082Sdim
2511214082SdimSat Jul 15 01:02:53 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
2512214082Sdim
2513214634Sdim	* configure.host:  Add support for generic m68k SVR4 host.
2514214082Sdim
2515214082SdimFri Jul 14 13:13:55 1995  Ian Lance Taylor  <ian@cygnus.com>
2516214082Sdim
2517214082Sdim	* aoutx.h (KEEPIT): Change definition to udata.i.
2518214082Sdim	(KEEPITTYPE): Remove.
2519214082Sdim	(NAME(aout,reloc_type_lookup)): Add cases to the
2520214082Sdim	extended reloc type switch: SPARC_GOT10, SPARC_GOT13, SPARC_GOT22,
2521214082Sdim	SPARC_PC10, SPARC_PC22, SPARC_WPLT30.
2522214082Sdim	(NAME(aout,swap_std_reloc_out)): Don't bother to use stoi when
2523214082Sdim	retrieving KEEPIT value.
2524214082Sdim	(NAME(aout,swap_ext_reloc_out)): Likewise.  Also, only add in
2525214082Sdim	output section VMA for section symbols, and check BSF_SECTION_SYM
2526214082Sdim	to control whether to set r_extern to 1.
2527214082Sdim
2528214082Sdim	* syms.c: Fix comments so that `make info' works.
2529214082Sdim
2530214082Sdim	* elf32-mips.c (mips_elf_find_nearest_line): Set SEC_HAS_CONTENTS
2531214082Sdim	in .mdebug section, in case backend linker has cleared it.
2532214082Sdim
2533214634SdimFri Jul 14 11:58:34 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
2534214634Sdim
2535214082Sdim	* elf32-ppc.c (ppc_elf_addr16_ha_inner): Rewrite to take just one
2536214082Sdim	argument, the final relocated address.
2537214082Sdim	(ppc_elf_addr16_ha_inner): Adjust ppc_elf_addr16_ha_inner caller.
2538214082Sdim	(ppc_elf_relocate_section): Ditto.
2539214082Sdim
2540214082SdimThu Jul 13 17:22:03 1995  Jeff Law  (law@snake.cs.utah.edu)
2541214082Sdim
2542214082Sdim	* som.c (hppa_som_gen_reloc_type): Choose a reasonable field
2543214082Sdim	selector relocation for the difference of two symbols.
2544214082Sdim
2545214082SdimThu Jul 13 10:33:25 1995  Ian Lance Taylor  <ian@cygnus.com>
2546214634Sdim
2547214082Sdim	* aoutx.h (NAME(aout,slurp_reloc_table)): Cast argument to size_t
2548214082Sdim	for malloc.
2549214082Sdim	* coff-mips.c (mips_relocate_section): Likewise, for memmove.
2550214082Sdim	(mips_relax_section): Likewise, for malloc.
2551214082Sdim	* cofflink.c (process_embedded_commands): Likewise.
2552214082Sdim	(_bfd_coff_final_link): Likewise.
2553214082Sdim	* ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
2554214082Sdim	(ecoff_final_link_debug_accumulate): Likewise.
2555214082Sdim	(ecoff_indirect_link_order): Likewise, for memcpy and malloc.
2556214082Sdim	(ecoff_reloc_link_order): Likewise, for malloc.
2557214082Sdim	* ecofflink.c (ecoff_align_debug): Likewise, for memset.
2558214082Sdim	(ecoff_write_symhdr): Likewise, for malloc.
2559214082Sdim	* elf32-hppa.c (elf32_hppa_read_symext_info): Likewise.
2560214082Sdim	* elf.c (assign_file_positions_except_relocs): Likewise, for
2561214082Sdim	qsort.
2562214082Sdim	* elf32-mips.c (mips_elf_read_ecoff_info): Likewise, for malloc.
2563214082Sdim	* elfcode.h (elf_slurp_reloc_table): Likewise.
2564214082Sdim	* elfcore.h (elf_corefile_note): Likewise.
2565214082Sdim	* elflink.h (elf_link_add_object_symbols): Likewise.
2566214634Sdim	(elf_link_read_relocs): Likewise.
2567214634Sdim	(NAME(bfd_elf,size_dynamic_sections)): Likewise, for memset.
2568214082Sdim	* i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
2569214082Sdim	* ieee.c (do_with_relocs): Likewise.
2570214082Sdim	* linker.c (default_indirect_link_order): Likewise, for malloc.
2571214082Sdim	* nlmcode.h (nlm_object_p): Likewise.
2572214082Sdim	(nlm_write_object_contents): Likewise.
2573214082Sdim	* oasys.c (oasys_set_section_contents): Likewise, for memcpy.
2574214082Sdim	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise,
2575214082Sdim	for malloc.
2576214082Sdim	* section.c (bfd_get_section_contents): Likewise, for memcpy.
2577214082Sdim	* srec.c (srec_get_section_contents): Likewise.
2578214082Sdim	(srec_set_section_contents): Likewise.
2579214082Sdim	* sunos.c (bfd_sunos_size_dynamic_sections): Likewise, for
2580214082Sdim	realloc and memset.
2581214082Sdim	(sunos_scan_relocs): Likewise, for malloc.
2582214082Sdim	(sunos_scan_dynamic_symbol): Likewise, for realloc.
2583214634Sdim	* syms.c (_bfd_generic_read_minisymbols): Likewise, for malloc.
2584214634Sdim	* versados.c (versados_get_section_contents): Likewise, for
2585214634Sdim	memcpy.
2586214634Sdim
2587214634Sdim	* libbfd.c (real_read): Add prototype.  Change argument types from
2588214634Sdim	int to size_t.
2589214634Sdim	(bfd_read): Cast real_read argument to size_t, not int.
2590214082Sdim	(bfd_write): Cast fwrite argument to size_t, not int.
2591214082Sdim
2592214082Sdim	* elf64-gen.c (elf_info_to_howto): Fix definition for recent elf.c
2593214082Sdim	changes.
2594214082Sdim
2595214082Sdim	* configure.in: Fix typo: change {$enableval} to ${enableval}.
2596214082Sdim	* configure: Rebuild.
2597214082Sdim
2598214082Sdim	* Makefile.in (BFD32_BACKENDS): Add elflink.o.
2599214082Sdim
2600214082Sdim	* targets.c (bfd_target): Add fields _read_minisymbols and
2601214082Sdim	_minisymbol_to_symbol.
2602214082Sdim	(BFD_JUMP_TABLE_SYMBOLS): Add _read_minisymbols and
2603214082Sdim	_minisymbol_to_symbol.
2604214082Sdim	(bfd_read_minisymbols): Define.
2605214634Sdim	(bfd_minisymbol_to_symbol): Define.
2606214634Sdim	* syms.c (_bfd_generic_read_minisymbols): Define.
2607214634Sdim	(_bfd_generic_minisymbol_to_symbol): Define.
2608214634Sdim	* libbfd-in.h (_bfd_nosymbols_read_minisymbols): Define.
2609214082Sdim	(_bfd_nosymbols_minisymbol_to_symbol): Define.
2610214082Sdim	(_bfd_generic_read_minisymbols): Declare.
2611214082Sdim	(_bfd_generic_minisymbol_to_symbol): Declare.
2612214082Sdim	* bfd-in2.h: Rebuild.
2613214082Sdim	* libbfd.h: Rebuild.
2614214082Sdim	* aoutx.h (MINISYM_THRESHOLD): Define.
2615214082Sdim	(NAME(aout,read_minisymbols)): New function.
2616214082Sdim	(NAME(aout,minisymbol_to_symbol)): New function.
2617214082Sdim	* libaout.h (NAME(aout,read_minisymbols)): Declare.
2618214082Sdim	(NAME(aout,minisymbol_to_symbol)): Declare.
2619214082Sdim	* aout-target.h (MY_read_minisymbols): Define.
2620214082Sdim	(MY_minisymbol_to_symbol): Define.
2621214082Sdim	* All targets: Define read_minisymbols and minisymbol_to_symbol.
2622214082Sdim
2623214082SdimWed Jul 12 17:55:55 1995  Ken Raeburn  <raeburn@cygnus.com>
2624214082Sdim
2625214082Sdim	* elflink.h (elf_link_add_object_symbols): Cast return value from
2626214082Sdim	bfd_alloc.
2627214082Sdim
2628214082Sdim	* elfcode.h (size_info): Don't use "&" before function names.
2629214082Sdim
2630214082SdimWed Jul 12 00:16:48 1995  Ken Raeburn  <raeburn@kr-pc.cygnus.com>
2631214082Sdim
2632214082Sdim	* libelf.h (elf_backend_data): Use unsigned, not unsigned char,
2633214082Sdim	for bitfields.
2634214082Sdim
2635214634SdimTue Jul 11 15:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
2636214634Sdim
2637214082Sdim	* elf.c (bfd_section_from_shdr): In case SHT_REL[A], only get the
2638214082Sdim        BFD section for the sh_link section if it is a SYMTAB section.
2639214082Sdim
2640214082Sdim	* aoutx.h (NAME(aout,link_add_symbols)): Don't bother to check
2641214082Sdim	that archives hold a.out objects.
2642214082Sdim	* cf-i386lynx.c (coff_bfd_link_add_symbols): Don't define.
2643214082Sdim	(lynx_link_add_symbols): Remove.
2644214082Sdim	* cf-m68klynx.c (coff_bfd_link_add_symbols): Don't define.
2645214082Sdim	(lynx_link_add_symbols): Remove.
2646214082Sdim	* elflink.h (elf_bfd_link_add_symbols): Don't bother to check that
2647214082Sdim	archives hold ELF objects.
2648214082Sdim
2649214082Sdim	* archive.c (bfd_generic_archive_p): If the archive has a map, and
2650214082Sdim	the target was defaulted, but the first object in the archive can
2651214082Sdim	not be matched with that target, then return a bad format error.
2652214082Sdim
2653214082Sdim	* elf64-sparc.c (elf_sparc_howto_table): Set howto for WDISP16 to
2654214082Sdim	elf64_wdisp16_reloc.
2655214082Sdim	(elf64_wdisp16_reloc): New static function.
2656214082Sdim	(elf64_sparc_relocate_section): New static function.
2657214082Sdim	(elf_backend_relocate_section): Define.
2658214082Sdim
2659214082Sdim	* libelf.h (struct elf_size_info): Change type of last argument to
2660214634Sdim	swap_symbol_out from char * to PTR.
2661214082Sdim	(bfd_elf32_swap_symbol_out): Update declaration.
2662214082Sdim	(bfd_elf64_swap_symbol_out): Likewise.
2663214082Sdim	* elfcode.h (elf_swap_symbol_out): Change type of cdst from char *
2664214082Sdim	to PTR.
2665214082Sdim	* elf.c (swap_out_syms): Cast to PTR, not char *, when calling
2666214082Sdim	swap_symbol_out routine.
2667214082Sdim	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Likewise.
2668214082Sdim	(elf_link_output_sym): Likewise.
2669214082Sdim	(elf_link_output_extsym): Likewise.
2670214082Sdim	* elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Likewise.
2671214082Sdim
2672214082SdimTue Jul 11 12:29:49 1995  Rick Sladkey  <jrs@world.std.com>
2673214082Sdim
2674214082Sdim	* elf.c (_bfd_elf_find_nearest_line): Handle the simple case where
2675214634Sdim	there is no debugging information.
2676214082Sdim
2677214082SdimMon Jul 10 11:45:55 1995  Ken Raeburn  <raeburn@cygnus.com>
2678214634Sdim
2679214634Sdim	* makefile.dos (OBJS): Add binary.o and tekhex.o.  From DJ
2680214634Sdim	Delorie.
2681214634Sdim
2682214634SdimMon Jul 10 11:09:58 1995  Ian Lance Taylor  <ian@cygnus.com>
2683214634Sdim
2684214634Sdim	* linker.c (set_symbol_from_hash): bfd_link_hash_new case: Don't
2685214634Sdim	abort; it can happen for constructor symbols when not building
2686214634Sdim	constructors.
2687214634Sdim
2688214634Sdim	* coff-i960.c (coff_i960_relocate): Correct typo: use ! on strcmp,
2689214634Sdim	not on string.
2690214634Sdim	* cofflink.c (_bfd_coff_generic_relocate_section): Remove unused
2691214634Sdim	local i.
2692214634Sdim	* coff-arm.c (coff_arm_rtype_to_howto): Don't declare.
2693214634Sdim	(PCRELOFFSET): Define if not already defined.
2694214082Sdim	* Makefile.in: Rebuild dependencies.
2695214082Sdim	(BFD32_BACKENDS): Add coff-arm.o
2696214082Sdim	(CFILES): Add coff-arm.c, pe-arm.c, pei-arm.c.
2697214082Sdim
2698214634Sdim	* aoutx.h (NAME(aout,link_hash_table_create)): Allocate hash table
2699214634Sdim	using bfd_alloc, not malloc.
2700214634Sdim	* cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
2701214082Sdim	* ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
2702214082Sdim	* i386linux.c (linux_link_hash_table_create): Likewise.
2703214082Sdim	* linker.c (_bfd_generic_link_hash_table_create): Likewise.
2704214082Sdim	* sunos.c (sunos_link_hash_table_create): Likewise.
2705214082Sdim
2706214082Sdim	Based on patches from Eric Youngdale <eric@aib.com>:
2707214082Sdim	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): If -Bsymbolic,
2708214082Sdim	output a DT_SYMBOLIC dynamic entry.
2709214082Sdim	(elf_adjust_dynamic_symbol): If -Bsymbolic, don't require a PLT
2710214082Sdim	entry for a locally defined symbol.
2711214634Sdim	* elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, do warn
2712214082Sdim	about undefined symbols, and fill in the GOT entry for a symbol
2713214082Sdim	defined in a regular object file.
2714214082Sdim	(elf_i386_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE
2715214082Sdim	reloc rather than a GLOB_DAT reloc for a symbol defined in a
2716214082Sdim	regular object file.
2717214082Sdim	* elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, do warn
2718214082Sdim	about undefined symbols, and fill in the GOT entry for a symbol
2719214082Sdim	defined in a regular object file.
2720214082Sdim	(elf_m68k_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE
2721214082Sdim	reloc rather than a GLOB_DAT reloc for a symbol defined in a
2722214082Sdim	regular object file.
2723214082Sdim	* elf32-sparc.c (elf32_sparc_relocate_section): If -Bsymbolic, do
2724214082Sdim	warn about undefined symbols, and fill in the GOT entry for a
2725214082Sdim	symbol defined in a regular object file.
2726214082Sdim	(elf32_sparc_finish_dynamic_symbol): If -Bsymbolic, output a
2727214082Sdim	RELATIVE reloc rather than a GLOB_DAT reloc for a symbol defined
2728214082Sdim	in a regular object file.
2729214082Sdim
2730214082Sdim	* config/m68k-coff.mt (SELECT_VECS): Rename from SELECT_VECTORS.
2731214082Sdim	Correct elements to be actual BFD vector names.
2732214082Sdim
2733214082Sdim	* Makefile.in (Makefile): Don't depend upon @frags@.
2734214082Sdim	(config.status): Depend upon @frags@.
2735214082Sdim
2736214634SdimFri Jul  7 17:36:44 1995  Ian Lance Taylor  <ian@cygnus.com>
2737214082Sdim
2738214082Sdim	* coffgen.c (coff_renumber_symbols): Sort defined symbols that are
2739214082Sdim	neither BSF_FUNCTION not BSF_NOT_AT_END just before undefined
2740214082Sdim	symbols.
2741214082Sdim	* coffcode.h (coff_slurp_symbol_table): Set BSF_FUNCTION as well
2742214082Sdim	as BSF_NOT_AT_END.
2743214082Sdim
2744214082SdimFri Jul  7 17:16:15 1995  Ken Raeburn  <raeburn@cygnus.com>
2745214082Sdim
2746214082Sdim	* Makefile.in (do_mostlyclean): Remove config.log.
2747214082Sdim	(do_distclean): Remove config.cache.
2748214082Sdim
2749214082SdimThu Jul  6 14:37:43 1995  Ian Lance Taylor  <ian@cygnus.com>
2750214082Sdim
2751214082Sdim	* elf32-i386.c (elf_i386_relocate_section): Revert May 24 patch.
2752214082Sdim        Don't copy PC32 reloc against section into shared object.
2753214082Sdim
2754214634Sdim	* Makefile.in: Rebuild dependencies.
2755214634Sdim	(CFILES): Added elflink.c.
2756214634Sdim	(Makefile): Depend upon config.status, not configure.in.
2757214634Sdim	(config.status): New target; depend upon configure configure.host
2758214634Sdim	and config.bfd.
2759214082Sdim
2760214634SdimWed Jul  5 20:17:14 1995  Ken Raeburn  <raeburn@cygnus.com>
2761214082Sdim
2762214634Sdim	* elfcore.h, elflink.h, elfcode.h, elf.c, elflink.c: Moved some
2763214634Sdim 	primarily size-independent code from elfcode.h to elf.c and new
2764214634Sdim 	file elflink.c; moved out other core- or linker-related routines
2765214634Sdim 	into other new .h files for clarity.  Renamed many routines to
2766214082Sdim 	start with bfd_elf or _bfd_elf.  Added a structure of
2767214082Sdim 	size-dependent but target-independent info to elfcode.h.
2768214082Sdim	* Makefile.in: Build elflink.o.  Update dependencies.
2769214082Sdim	* libelf.h: Updated some declarations.  Added a definition for the
2770214082Sdim	new structure in elfcode.h.  Added more fields to elf backend data
2771214082Sdim	structure.
2772214082Sdim	* elfxx-target.h: Refer to the appropriate size-dependent info.
2773214082Sdim	* elf32-*.c: Changed some function names.  Moved common
2774214082Sdim	create_dynamic_sections code from m68k, sparc, and i386 support
2775214082Sdim	into elflink.c.  Define some new macros to fill in new fields of
2776214082Sdim	back end data.  Also clean up some "gcc -Wall" warnings regarding
2777214082Sdim	unused or uninitialized variables.
2778214082Sdim
2779214082Sdim	* Makefile.in (BFD_LIBS): No, don't put elflink.o here.
2780214082Sdim	* configure.in: Include it here whenever elf.o is specified.
2781214082Sdim
2782214082SdimWed Jul  5 10:31:47 1995  Ian Lance Taylor  <ian@cygnus.com>
2783214082Sdim
2784214082Sdim	* elf32-mips.c (mips_elf_object_p): Unconditionally set
2785214082Sdim	elf_bad_symtab, since sometimes the symbol table is messed up and
2786214082Sdim	the last symbol is global.
2787214082Sdim
2788214082Sdim	* ecoff.c (_bfd_ecoff_bfd_is_local_label): New function.
2789214082Sdim	* libecoff.h (_bfd_ecoff_bfd_is_local_label): Declare.
2790214082Sdim	* elf32-mips.c (mips_elf_is_local_label): New static function.
2791214082Sdim	(bfd_elf32_bfd_is_local_label): Define.
2792214082Sdim
2793214082Sdim	* configure.in: Use $ac_config_sub, not $configsub.
2794214082Sdim	* configure: Likewise.
2795214082Sdim
2796214082Sdim	Permit --enable-targets=ieee:
2797214082Sdim	* config.bfd (*-*-ieee*): New target.
2798214082Sdim	* config/ieee.mt: New file.
2799214082Sdim
2800214082SdimWed Jul  5 04:16:35 1995  Ken Raeburn  <raeburn@kr-pc.cygnus.com>
2801214082Sdim
2802214082Sdim	* config/i386aix.mh (HDEFINES): Remove -DFASCIST_FDOPEN.
2803214082Sdim
2804214082Sdim	Autoconfiscation:
2805214082Sdim	* configure.in, Makefile.in, doc/Makefile.in: Switch from Cygnus
2806214082Sdim	configure to autoconf ways of processing --enable arguments,
2807214082Sdim	setting up symlinks, incorporating makefile fragments, printing
2808214082Sdim	messages at configuration time, setting variables in Makefile.
2809214082Sdim	Deleted some unused variables.  Check for ranlib via autoconf.
2810214082Sdim	For now, configure script removes doc/config.status.
2811214082Sdim	* configure: New file.
2812214082Sdim	* dep-in.sed: Use @SRCDIR@ instead of @srcdir@, so Makefile.in
2813214082Sdim	line doesn't get broken by configure.
2814214082Sdim	* doc/configure.in: Removed.
2815214082Sdim
2816214082SdimTue Jul  4 12:22:21 1995  Ian Lance Taylor  <ian@cygnus.com>
2817214082Sdim
2818214082Sdim	* archive.c (_bfd_construct_extended_name_table): If
2819214082Sdim	BFD_TRADITIONAL_FORMAT is set, limit the length of all file names
2820214082Sdim	to ar_max_namelen.
2821214082Sdim	(bfd_dont_truncate_arname): If BFD_TRADITIONAL_FORMAT is set, call
2822214082Sdim	bfd_bsd_truncate_arname.
2823214082Sdim	(_bfd_write_archive_contents): Revert June 1 change.
2824214082Sdim
2825214082Sdim	* elfcode.h (NAME(bfd_elf,record_link_assignment)): Add provide
2826214082Sdim	argument.
2827214082Sdim	* bfd-in.h (bfd_elf32_record_link_assignment): Update prototype.
2828214082Sdim	(bfd_elf64_record_link_assignment): Likewise.
2829214082Sdim	* bfd-in2.h: Rebuild.
2830214082Sdim
2831214082Sdim	* libelf.h (struct elf_link_hash_table): Add needed field.  Remove
2832214082Sdim	saw_needed field.
2833214082Sdim	* elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
2834214082Sdim	is an empty string, don't make a DT_NEEDED entry in the output
2835214082Sdim	file.  Record all DT_NEEDED entries found in input dynamic
2836214082Sdim	objects.
2837214082Sdim	(elf_link_output_extsym): Don't check saw_needed when issuing
2838214082Sdim	warnings.
2839214634Sdim	* elf.c (_bfd_elf_link_hash_table_init): Initialize needed, not
2840214082Sdim	saw_needed.
2841214082Sdim	(bfd_elf_get_needed_list): New function.
2842214082Sdim	* bfd-in.h (struct bfd_elf_link_needed_list): Define.
2843214082Sdim	(bfd_elf_get_needed_list): Define.
2844214082Sdim	* bfd-in2.h: Rebuild.
2845214634Sdim
2846214634Sdim	* ecoff.c (_bfd_ecoff_find_nearest_line): Also initialize
2847214634Sdim	find_buffer and fdrtab_len fields of newly allocated
2848214634Sdim	find_line_info structure.
2849214634Sdim
2850214634SdimMon Jul  3 17:03:52 1995  Jeff Law  (law@snake.cs.utah.edu)
2851214634Sdim
2852214634Sdim	* som.c (hppa_som_gen_reloc_type): New argument "sym_diff",
2853214634Sdim	nonzero when we're generating relocations for an expression
2854214634Sdim	using the difference of two symbols.  All callers changed.
2855214634Sdim	Handle difference of symbols for both R_HPPA and R_COMPLEX
2856214634Sdim	cases.
2857214634Sdim	(som_write_fixups): Handle R_COMP1, R_COMP2 and R_CODE_EXPR
2858214634Sdim	fixups.
2859214634Sdim
2860214634SdimMon Jul  3 13:55:18 1995  Steve Chamberlain  <sac@slash.cygnus.com>
2861214634Sdim
2862214634Sdim	* config.bfd (win32): New configuration.
2863214634Sdim	* configure.host (pe): Changed to i386win32.
2864214634Sdim	* config/i386pe.mh: Deleted.
2865214634Sdim	* config/i386win32.mh: New file.
2866214634Sdim
2867214634SdimMon Jul  3 11:30:45 1995  Ian Lance Taylor  <ian@cygnus.com>
2868214634Sdim
2869214634Sdim	* ecoff.c (_bfd_ecoff_find_nearest_line): If we allocate
2870214634Sdim	find_line_info, clear the fdrtab field.
2871214634Sdim
2872214634Sdim	* targets.c (enum bfd_flavour): Add bfd_target_msdos_flavour here,
2873214634Sdim	rather than in bfd-in2.h.
2874214634Sdim
2875214634Sdim	* bfd.c (enum bfd_error): Define bfd_error_no_armap.
2876214634Sdim	(bfd_errmsgs): Add string for bfd_error_no_armap.
2877214634Sdim	* bfd-in2.h: Rebuild.
2878214634Sdim	* ecoff.c (ecoff_link_add_archive_symbols): If an archive has no
2879214634Sdim	armap, set bfd_error_no_armap rather than bfd_error_no_symbols.
2880214634Sdim	* elfcode.h (elf_link_add_archive_symbols): Likewise.
2881214634Sdim	* linker.c (_bfd_generic_link_add_archive_symbols): Likewise.
2882214634Sdim
2883214634Sdim	* elfcode.h (elf_link_add_object_symbols): Permit common and
2884214634Sdim	indirect symbols in weakdefs BFD_ASSERT.
2885214634Sdim	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Simplify
2886214634Sdim	BFD_ASSERT to permit some legal, but odd, cases.
2887214634Sdim	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
2888214634Sdim	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
2889214634Sdim
2890214634Sdim	* Makefile.in: Rebuild dependencies.
2891214634Sdim	(BFD32_BACKENDS): Add versados.o.
2892214634Sdim	(CFILES): Add pe-i386.c, pei-i386.c, and versados.c.
2893214634Sdim
2894214634SdimSun Jul  2 17:49:32 1995  Ian Lance Taylor  <ian@cygnus.com>
2895214634Sdim
2896214634Sdim	* cofflink.c (_bfd_coff_generic_relocate_section): Cast base_file
2897214634Sdim	to FILE * before using it.
2898214634Sdim	* stab-syms.c: Revert yesterday's patch.
2899214634Sdim
2900214634SdimSat Jul  1 12:10:42 1995  Fred Fish  <fnf@cygnus.com>
2901214634Sdim
2902214634Sdim	* stab-syms.c (stdio.h):  Include prior to libaout.h, which
2903214634Sdim	includes bfdlink.h, which now uses FILE.
2904214634Sdim
2905214634SdimSat Jul  1 00:11:08 1995  Ken Raeburn  <raeburn@cygnus.com>
2906214634Sdim
2907214634Sdim	* elfxx-target.h: New file.
2908214634Sdim
2909214634Sdim	* libelf.h (struct elf_backend_data): Remove elf_64_p field.
2910214634Sdim	* elfxx-target.h (elfNN_bed): Don't set it.
2911214634Sdim
2912214634Sdim	* elf32-target.h, elf64-target.h: Deleted.
2913214634Sdim	* Makefile.in (elf32-target.h, elf64-target.h): Build them from
2914214634Sdim	elfxx-target.h.
2915214634Sdim
2916214634SdimFri Jun 30 16:07:18 1995  Steve Chamberlain  <sac@slash.cygnus.com>
2917214634Sdim
2918214634Sdim	* cofflink.c (_bfd_coff_generic_relocate_section): Compare
2919214634Sdim	the full text of .reloc or .edata section names.
2920214634Sdim
2921214634SdimFri Jun 30 15:47:37 1995  Fred Fish  <fnf@cygnus.com>
2922214634Sdim
2923214634Sdim	* cofflink.c (_bfd_coff_generic_relocate_section):
2924214634Sdim	Remove extra '+'.
2925214634Sdim
2926214634SdimThu Jun 29 17:24:52 1995  Steve Chamberlain  <sac@slash.cygnus.com>
2927214634Sdim
2928214634Sdim	* coff-h8300.c (COFF_LONG_FILENAMES): Define.
2929214634Sdim
2930214634SdimWed Jun 28 18:04:42 1995  Steve Chamberlain  <sac@slash.cygnus.com>
2931214634Sdim
2932214634Sdim	* Makefile.in: versados.o is now conditionally built.
2933214634Sdim	* coffcode.h (add_data_entry): New function.
2934214634Sdim	(coff_write_object_contents): Clean up. Calculate
2935214634Sdim	data entries.
2936214634Sdim	* cofflink.c (_bfd_coff_generic_relocate_section):
2937214634Sdim	.reloc and .edata sections are IMAGE_BASED too.
2938214634Sdim	If there's a base_file then write out base information.
2939214634Sdim	* configure.host (i386-*-pe): New.
2940214634Sdim	* syms.c (coff_section_type): Only scan prefixes.
2941214634Sdim	* targets.c (bfd_target_vector): Versados is now conditionally
2942214634Sdim	built.
2943214634Sdim	* config/m68k-coff.mt: Build versados.o
2944214634Sdim	* hosts/i386pe.h: New file.
2945214634Sdim
2946214634SdimMon Jun 26 13:53:49 1995  Jeff Law  (law@snake.cs.utah.edu)
2947214634Sdim
2948214634Sdim	* elf32-hpa.c (elf32_hppa_relocate_section): Close comment before
2949214634Sdim	R_PARISC_DPREL21L handling.
2950214634Sdim
2951214634SdimThu Jun 22 19:28:36 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
2952214634Sdim
2953214634Sdim	Sun May  7 11:53:41 MDT 1995  Bryan Ford  <baford@cs.utah.edu>
2954214634Sdim
2955214634Sdim	* config/i386-moss.mt: created.
2956214634Sdim
2957214634SdimThu Jun 22 08:56:10 1995  Steve Chamberlain  <sac@slash.cygnus.com>
2958214634Sdim
2959214634Sdim	* reloc.c (bfd_perform_relocation): Add case for -ve words.
2960214634Sdim
2961214634SdimWed Jun 21 13:13:49 1995  Jeff Law  (law@snake.cs.utah.edu)
2962214634Sdim
2963214634Sdim	* elf32-hppa.c (elf32_hppa_relocate_section): Don't try to apply a
2964214634Sdim	relocation against an undefined symbols.
2965214634Sdim
2966214634SdimWed Jun 21 10:16:10 1995  Steve Chamberlain  <sac@slash.cygnus.com>
2967214634Sdim
2968214634Sdim	* versados.c: Second pass/rewrite.
2969214634Sdim
2970214634SdimMon Jun 19 08:40:45 1995  Steve Chamberlain  <sac@slash.cygnus.com>
2971214634Sdim
2972214634Sdim	* syms.c (coff_section_type): Compare only the front part
2973214634Sdim	of a section name.
2974214634Sdim
2975214634SdimSat Jun 17 09:40:44 1995  Jeff Law  (law@snake.cs.utah.edu)
2976214634Sdim
2977214634Sdim	* elf32-hppa.c (elf32_hppa_size_stubs): Set the size of the stub
2978214634Sdim	section if we get an error.
2979214634Sdim
2980214634Sdim	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Don't mess
2981214634Sdim	with the operands of an R_PARISC_DPREL21L relocation if the insn
2982214634Sdim	is not "addil <symbol>,%r27".
2983214634Sdim
2984214634SdimFri Jun 16 15:04:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
2985214634Sdim
2986214634Sdim	* bfd-in.h (NT_subsystem, NT_stack_heap): Declare but don't
2987214634Sdim	define.
2988214634Sdim	* bfd-in2.h: Rebuilt.
2989214634Sdim	* bfd.c (NT_subsystem, NT_stack_heap): Define.
2990214634Sdim
2991214634SdimFri Jun 16 00:07:25 1995  Jeff Law  (law@snake.cs.utah.edu)
2992214634Sdim
2993214634Sdim	* elf32-hppa.c (elf32_hppa_bfd_link_link_relocate): Use the right
2994214634Sdim	type field (there are two!) when checking to see if $global$ is
2995214082Sdim	defined.
2996214082Sdim
2997214082SdimThu Jun 15 14:03:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
2998214082Sdim
2999214082Sdim	* bfd-in.h, bfd-in2.h (bfd_boolean): Rename bfd_true, bfd_false
3000214082Sdim	to bfd_tttrue, bfd_fffalse so as not to conflict with functions.
3001214082Sdim	* coffswap.h (coff_swap_scnhdr_out): Remove version that was
3002214082Sdim	hacked for MPW C.
3003214082Sdim	* mpw-config.in: Set shell vars instead of pasting to makefile
3004214082Sdim	for each configuration, edit coffswap.h to make MPW C not choke.
3005214082Sdim	(i386-unknown-coff, sh-hitachi-hms): Recognize.
3006214082Sdim	* mpw-make.in (BFD_LIBS): Add versados.c.o.
3007214082Sdim
3008214082Sdim	* versados.c (versados_scan): Properly cast results from bfd_alloc.
3009214082Sdim
3010214082SdimWed Jun 14 15:27:32 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3011214082Sdim
3012214082Sdim	* cofflink.c (process_embedded_commands): New function
3013214082Sdim	reads and handles .drectve sections for PE.
3014214082Sdim	(coff_link_input_bfd): Call new function if PE.
3015214082Sdim
3016214082SdimMon Jun 12 12:09:39 1995  Jeff Law  (law@snake.cs.utah.edu)
3017214634Sdim
3018214634Sdim	* bfd-in.h (bfd_set_section_vma): Case true to a boolean.
3019214082Sdim	(bfd_set_cacheable): Likewise.
3020214082Sdim	* bfd-in2.h: Rebuilt.
3021214082Sdim
3022214082SdimFri Jun  9 12:20:28 1995  Steve Chamberlain  <sac@rtl.cygnus.com>
3023214082Sdim
3024214082Sdim	* elfcode.h (elf_sort_hdrs): Rewrite to be symmetrical.
3025214082Sdim
3026214082SdimFri Jun  9 12:49:00 1995  Jeff Law  (law@snake.cs.utah.edu)
3027214082Sdim
3028214082Sdim	* targets.c: Add copy_private_symbol_data and link_split_section
3029214082Sdim	to the target vector.
3030214082Sdim	* libbfd-in.h (_bfd_generic_bfd_copy_private_symbol_data): Define.
3031214082Sdim	(_bfd_nolink_bfd_link_split_section): Likewise.
3032214082Sdim	(bfd_generic_link_split_section): Declare.
3033214082Sdim	* syms.c (bfd_copy_private_symbol_data): Define.
3034214082Sdim	* linker.c (bf_link_split_section): Likewise.
3035214082Sdim	* som.c (som_bfd_copy_private_symbol_data): New function
3036214082Sdim	(som_bfd_link_split_section): Likewise.
3037214634Sdim	* All other targets updated with default versions of new routines.
3038214634Sdim
3039214082Sdim	* Take out my braindamaged bfd_true/bfd_false changes from earlier
3040214082Sdim	today.  Replace with just:
3041214082Sdim	* bfd-in.h: (TRUE_FALSE_ALREADY_DEFINED): Define this if
3042214082Sdim	compiling with g++-2.6 or later.
3043214082Sdim	* bfd-in2.h: Rebuilt.
3044214082Sdim
3045214082SdimFri Jun  9 07:54:29 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3046214082Sdim
3047214082Sdim	* versados.c (struct esd, get_4): Lint; use unsigned chars.
3048214082Sdim
3049214082Sdim	* coff-i960.c (coff_i960_relocate):  Compare output section names
3050214082Sdim	when converting for vxworks.
3051214634Sdim
3052214634SdimWed Jun  7 19:01:30 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3053214634Sdim
3054214634Sdim	* elfcode.h (elf_fake_sections): Permit .scommon or COMMON
3055214634Sdim	sections as random SHT_NOBITS sections, in case a linker script is
3056214634Sdim	strange.
3057214634Sdim
3058214634SdimTue Jun  6 17:29:32 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3059214634Sdim
3060214634Sdim	* bfd-in.h (NT_subsystem, NT_stack_heap): Moved from pe.h
3061214634Sdim	* coff-i386.c (coff_i386_rtype_to_howto): Get PE relocs right.
3062214634Sdim	* coffcode.h (coff_mkobject): Set pe tdata bit when using PE.
3063214634Sdim	* cofflink.c (COFF_WITH_PE code): Test on obj_pe bit rather
3064214634Sdim	than conditional compile.
3065214634Sdim	* configure.in: Fix PE dependencies.
3066214634Sdim	* libcoff-in.h (obj_pe): New.
3067214634Sdim	(coff_tdata): Added pe entry.
3068214634Sdim	* libcoff.h: Regenerated.
3069214082Sdim
3070214082SdimMon Jun  5 09:07:13 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3071214082Sdim
3072214082Sdim	* coff-a29k.c (coff_a29k_adjust_symndx): Completely parenthesize
3073214082Sdim	macro.
3074214082Sdim
3075214082SdimMon Jun  5 02:15:20 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
3076214082Sdim
3077214082Sdim	Linker support for m68k-elf from Andreas Schwab
3078214082Sdim	<schwab@issan.informatik.uni-dortmund.de>:
3079214082Sdim	* elfcode.h (elf_link_add_object_symbols): Check for NULL when
3080214082Sdim	looping through the symbol hashes.
3081214082Sdim	(elf_bfd_final_link): When looking for _init and _fini don't use
3082214082Sdim	the symbol if it is imported from another object.
3083214082Sdim	* elf32-m68k.c: Relocation type changed from REL to RELA.  Regular
3084214082Sdim	and dynamic linking support functions added, similar to other elf
3085214082Sdim	targets.
3086214082Sdim
3087214082Sdim	* config.bfd (i[345]86-*-gnu*): Use ELF configuration.
3088214082Sdim
3089214082SdimFri Jun  2 18:54:59 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3090214082Sdim
3091214082Sdim	* versados.c: New file.
3092214082Sdim	* bfd-in2.h (struct _bfd): New field.
3093214082Sdim	* bfd.c (struct _bfd): New field.
3094214082Sdim	* configure.in (versados_vec): New field.
3095214082Sdim	* targets.c (bfd_flavor): Added versados.
3096214082Sdim
3097214082SdimThu Jun  1 13:51:49 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3098214082Sdim
3099214082Sdim	* coffcode.h (sec_to_styp_flags, styp_to_sec_flags, 
3100214082Sdim	coff_new_section_hook):  Any section that starts ".stab"
3101214082Sdim	is now marked as debugging.
3102214082Sdim
3103214082SdimThu Jun  1 16:15:16 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3104214634Sdim
3105214634Sdim	* archive.c (_bfd_write_archive_contents): Disable extended name
3106214082Sdim	table until it can be made optional, so that native AR has half a
3107214082Sdim	chance on SunOS and HP/UX.
3108214082Sdim
3109214082Sdim	* linker.c (_bfd_generic_link_output_symbols, case
3110214082Sdim	bfd_link_hash_indirect): Add cast to correct pointer types.
3111214634Sdim
3112214082SdimSat May 27 21:37:31 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
3113214082Sdim
3114214082Sdim	* config.bfd (m68k-bull-sysv*): Added strip_underscore=yes.
3115214082Sdim	  (m68k-est-coff): Removed.  target does not effect object format.
3116214082Sdim
3117214082SdimWed May 24 10:52:01 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3118214082Sdim
3119214082Sdim	* linker.c (_bfd_generic_link_output_symbols): Cope with
3120214082Sdim	indirect symbols.
3121214082Sdim
3122214082Sdim	* elf32-i386.c (elf_i386_relocate_section): Give error
3123214082Sdim	message when linking to a shared reloc which isn't there.
3124214082Sdim
3125214082SdimWed May 24 10:40:00 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3126214082Sdim
3127214082Sdim	Support for ARM-PE.
3128214082Sdim
3129214082Sdim	* Makefile.in, coffcode.h, config.bfd, configure.in, pe-arm.c,
3130214082Sdim	 pei-arm.c, coff-arm.c, reloc.c, targets.c, config/arm-pe.mt:
3131214082Sdim	 Support for ARM COFF/PE.
3132214082Sdim
3133214082SdimTue May 23 19:24:58 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3134214634Sdim
3135214082Sdim	* bfd.c (bfd_get_relocated_section_contents): Now a function,
3136214082Sdim	tries calling routine from input bfd target vector for
3137214082Sdim	bfd_indirect_link_order.  Put a declaration into the header file.
3138214082Sdim	* bfd-in2.h: Regenerated.
3139214082Sdim	* elf32-mips.c (gprel16_with_gp): New function, split out from
3140214082Sdim	mips_elf_gprel16_reloc.
3141214082Sdim	(mips_elf_gprel16_reloc): Call it.  If output bfd target vector
3142214082Sdim	isn't elf flavoured, abort, since it's assumed to be elf in some
3143214082Sdim	of this code, including the code that looks up the gp value.
3144214082Sdim	(elf32_mips_get_relocated_section_contents): New function,
3145214082Sdim	modified from bfd_generic_get_relocated_section_contents to deal
3146214082Sdim	with passing gp to gprel16_with_gp.
3147214082Sdim	(bfd_elf32_bfd_get_relocated_section_contents): New macro.
3148214082Sdim	* elf32-target.h (bfd_elf32_bfd_get_relocated_section_contents):
3149214082Sdim	Don't define if already defined.
3150214082Sdim
3151214082SdimTue May 23 15:58:15 1995  Jeff Law  (law@snake.cs.utah.edu)
3152214634Sdim
3153214634Sdim	* Makefile.in: Install bfdlink.h too.
3154214634Sdim
3155214082SdimSun May 21 22:25:09 1995  Jeff Law  (law@snake.cs.utah.edu)
3156214082Sdim
3157214082Sdim	* elf32-hppa.c (elf32_hppa_relocate_section): Handle undefined and
3158214082Sdim	notsupported return codes from final_link_relocate (used when
3159214082Sdim	$global$ is undefined or nonexistant).
3160214082Sdim	(elf32_hppa_bfd_link_link_relocate): If $global$ exists, but is
3161214082Sdim	not defined,then return bfd_reloc_undefined.
3162214082Sdim
3163214082SdimFri May 19 10:00:14 1995  Steve Chamberlain  <sac@rtl.cygnus.com>
3164214082Sdim
3165214082Sdim	* coffswap.h: (IMAGE_BASE): Define to 0 if not.
3166214082Sdim
3167214082SdimThu May 18 04:24:01 1995  Ken Raeburn  <raeburn@kr-laptop.cygnus.com>
3168214082Sdim
3169214082Sdim	Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk)
3170214082Sdim
3171214082Sdim	* aoutx.h (aout_link_input_section_standard): If defined, call
3172214082Sdim	MY_relocatable_reloc before doing a partial relocation.
3173214082Sdim
3174214082Sdim	* aout-arm.c: (WRITE_HEADERS): Delete.
3175214082Sdim	(NAME): Define version to override default in aoutx.h
3176214082Sdim	(MY(howto_table)): Reformat.  Alter some entries slightly.
3177214082Sdim	(RELOC_ARM_BITS_NEG_{BIG,LITTLE}): Define.
3178214082Sdim	(MY(reloc_howto), MY(put_reloc), MY(relocatable_reloc)): New functions.
3179214082Sdim	(MY_reloc_howto, MY_put_reloc, MY_relocatable_reloc): Define.
3180214082Sdim	(MY(fix_pcrel_26)): Renamed from aoutarm_fix_pcrel_26, return
3181214082Sdim	bfd_reloc_ok not bfd_reloc_continue.
3182214082Sdim	(MY(fix_pcrel_26_done)): Likewise.
3183214082Sdim	(MY(bfd_reloc_type_lookup)): Renamed from aoutarm_reloc_type_lookup.
3184214082Sdim	(MY_bfd_link_hash_table_create, MY_bfd_link_add_symbols,
3185214082Sdim	MY_bfd_final_link): Delete.
3186214082Sdim	(MY_swap_std_reloc_in, MY_swap_std_reloc_out, MY_get_section_contents):
3187214082Sdim	Define.
3188214082Sdim	(aoutx.h): Include it.
3189214082Sdim	(MY(swap_std_reloc_{in,out})): New functions.
3190214082Sdim	Use RELOC_ARM_BITS_NEG_{BIG,LITTLE} to extract negative reloc bit.
3191214082Sdim	(aoutarm_squirt_out_relocs): Delete.
3192214082Sdim 
3193214082Sdim	From: David Taylor (dtaylor@armltd.co.uk)
3194214082Sdim	* config/arm[lb]-aout.mt: New files.
3195214082Sdim	* aout-arm.c: New file.
3196214082Sdim	* config.bfd: Handle arm{,e[lb]}-*-aout
3197214082Sdim	* configure.in: Add vetor for aout_arm_{big,little}_vec.
3198214082Sdim	* reloc.c: New relocation types for the ARM.
3199214082Sdim	* targets.c (aout_arm_{big,little}_vec): declare.
3200214082Sdim
3201214082SdimTue May 16 10:29:51 1995  Jim Kingdon  <kingdon@deneb.cygnus.com>
3202214082Sdim
3203214082Sdim	* libbfd.c (bfd_stat): If bfd_cache_lookup returns an error,
3204214082Sdim	return an error to the caller.  Call bfd_set_error on errors.
3205214082Sdim
3206214082SdimTue May 16 14:44:45 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3207214082Sdim
3208214082Sdim	* libcoff-in.h (coff_renumber_symbols): Modified prototypes in
3209214082Sdim	accordance with 11 May libcoff.h change.
3210214082Sdim
3211214082SdimThu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3212214082Sdim
3213214082Sdim	tekhex.c (first_phase): Understand type 0 symbols.
3214214082Sdim	(tekhex_write_object_contents): Fix typo in final record.
3215214082Sdim
3216214082SdimThu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3217214082Sdim
3218214082Sdim	* coff-i960.c (optcall_callback): don't try and optimize
3219214082Sdim	undefined refs. 
3220214082Sdim	(coff_write_relocs): Search for broken relocs on the way
3221214082Sdim	out and fix them up.
3222214082Sdim	(coff_renumber_symbols): Calculate and return index of
3223214082Sdim	first undefined symbol.
3224214082Sdim	(coff_write_object_contents): Call coff_renumber_symbols 
3225214082Sdim	and coff_write_relocs with the new args.
3226214082Sdim	* libcoff.h: (coff_renumber_symbols, coff_renumber_symbols):
3227214082Sdim	Modified prototypes.
3228214082Sdim
3229214082SdimThu May 11 16:43:14 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3230214082Sdim			  Tom Griest <griest@cs.yale.edu>
3231214082Sdim
3232214082Sdim	Initial support for PE format. 
3233214082Sdim	
3234214082Sdim	* Makefile.in, targets.c, configure.in, config.bfd:
3235214082Sdim	Add support for i386-*-winnt and i386-*-pe.
3236214082Sdim	* archive.c (do_slurp_coff_armap):  Understand NTPE format
3237214082Sdim	archives.
3238214634Sdim	(_bfd_slurp_extended_name_table): Turn \ in a filename
3239214634Sdim	into /.
3240214082Sdim	* bfd-in.h (bfd_link_subsystem, _bfd_link_stack_heap): New.
3241214082Sdim	* coff-i386.c  (howto_table): Conditionalize PCRELOFFSET.
3242214082Sdim	* coffcode.h (IMAGE_BASE): New.
3243214082Sdim	(coff_compute_section_file_positions): Throw away .junk
3244214082Sdim	sections for PE, align symbols.
3245214082Sdim	(coff_write_object_contents): Throw away .junk sections
3246214082Sdim	for PE. Remember info on .idata and .rsrc sections.
3247214082Sdim	Fill in the PE header.
3248214082Sdim	(coff_slurp_symbol_table): PE uses C_SECTION class.
3249214082Sdim	* cofflink.c (_bfd_coff_final_link): Keep PE info up to date.
3250214082Sdim	(_bfd_coff_generic_relocate_section): Cope with PE relocs.
3251214082Sdim	* coffswap.h (coff_swap_{aout/file/scn/sym}hdr_{in/out}): 
3252214082Sdim	New code for PE headers.
3253214082Sdim
3254214082SdimTue May  9 17:01:38 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
3255214082Sdim
3256214082Sdim	* config.bfd: Add little endian PowerPC support.
3257214082Sdim	* configure.in: Ditto.
3258214082Sdim	* targets.c: Ditto.
3259214082Sdim	* config/ppcle-elf.mt: New file, for little endian PowerPC
3260214082Sdim	support.
3261214082Sdim	* config/ppc-elf.mt: Add little endian powerpc to the BFD
3262214082Sdim	selection vectors.
3263214082Sdim	* elf32-ppc.c (ppc_elf_merge_private_bfd_data): Complain if
3264214082Sdim	linking a different endian object than we expect.
3265214082Sdim	(TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define, to provide little
3266214082Sdim	endian support.
3267214082Sdim
3268214082SdimTue May  2 16:32:24 1995  Jeff Law  (law@snake.cs.utah.edu)
3269214082Sdim
3270214082Sdim	* config.bfd (hppa*-*-lites*): Treat just like hppa*-*-*elf*.
3271214082Sdim
3272214082SdimTue Apr 25 19:38:43 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3273214082Sdim
3274214634Sdim	* coffgen.c (make_a_section_from_file): Initialize lma same as
3275214634Sdim	vma.
3276214634Sdim
3277214634SdimTue Apr 25 11:03:21 1995  Jason Molenda  (crash@phydeaux.cygnus.com)
3278214634Sdim
3279214634Sdim	* hosts/std-host.h: #include ansidecl.h 'cause PTR is used in
3280214634Sdim	std-host.h.
3281214634Sdim
3282214634SdimMon Apr 24 23:56:44 1995  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
3283214751Sdim
3284214751Sdim	* hosts/i386linux.h (HAVE_PROCFS): Don't define it.  Added lengthy
3285214751Sdim	comment explaining why.
3286214634Sdim
3287214634SdimMon Apr 24 10:34:02 1995  Michael Meissner  <meissner@cygnus.com>
3288214634Sdim
3289214634Sdim	* hosts/i386linux.h (HAVE_PROCFS): If NO_PROCFS is defined, don't
3290214634Sdim	define HAVE_PROCFS.
3291214634Sdim
3292214634SdimMon Apr 24 08:33:12 1995  Michael Meissner  <meissner@cygnus.com>
3293214634Sdim
3294214634Sdim	* elf32-ppc.c (ppc_elf_relocate_section): Do not continue
3295214634Sdim	processing unknown symbols to prevent a cascade of errors.
3296214634Sdim
3297214634SdimFri Apr 21 12:48:48 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3298214634Sdim
3299214634Sdim	Patches from H.J. Lu for Linux ELF core file support.
3300214634Sdim	* elfcode.h (elf_core_file_matches_executable_p) [HAVE_PROCFS]:
3301214634Sdim	Use prpsinfo_t instead of struct prpsinfo, for consistency.
3302214634Sdim	* hosts/i386linux.h (HAVE_PROCFS): Define.
3303214634Sdim
3304214634SdimThu Apr 20 09:07:39 1995  Steve Chamberlain  <sac@slash.cygnus.com>
3305214634Sdim
3306214634Sdim	* linker.c (link_action): Do the right thing when a undefined
3307214634Sdim	strong symbol appears after an undefined weak symbol.
3308214634Sdim
3309214634SdimFri Apr 14 16:51:17 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
3310214634Sdim
3311214634Sdim	* elf32-ppc.c (ppc_elf_relocate_section): New function to relocate
3312214634Sdim	a whole section for the linker, bypassing bfd_perform_relocation.
3313214634Sdim	(ppc_elf_reloc_type_lookup): New function to map the BFD
3314214634Sdim	enumeration code into a howto structure.
3315214634Sdim	(ppc_elf_howto_raw): Rename from ppc_elf_howto_table.
3316214634Sdim	(ppc_elf_howto_table): New array that maps PowerPC relocation
3317214634Sdim	numbers to howto structures without a linear search.  Change from
3318214634Sdim	using bfd_elf_generic_reloc to use ppc_elf_std_reloc.
3319214634Sdim	(ppc_elf_howto_init): Initialize ppc_elf_howto_table from
3320214634Sdim	ppc_elf_howto_raw.
3321214634Sdim	(ppc_elf_reloc_type_lookup): Use a case statement instead of a
3322214634Sdim	loop.
3323214634Sdim	(ppc_elf_std_reloc): Replacement for bfd_elf_generic_reloc.
3324214634Sdim	(ppc_elf_unsupported_reloc): Print a real error message, instead
3325214634Sdim	of calling abort.
3326214634Sdim	(ppc_elf_addr16_ha_inner): Abstract getting adjustment from
3327214634Sdim	ppc_elf_addr16_ha_reloc, so ppc_elf_relocate_section can use it
3328214634Sdim	too.
3329214634Sdim	(ppc_elf_addr16_ha_reloc): Call it.
3330214634Sdim	(ppc_elf_got16_inner): Abstract getting adjustment from
3331214634Sdim	ppc_elf_got16_reloc, so ppc_elf_relocate_section can use it too.
3332214634Sdim	(ppc_elf_got16_reloc): Call it.
3333214634Sdim	(ppc_elf_info_to_howto): Rename from powerpc_info_to_howto.
3334214634Sdim
3335214634Sdim	* elfcode.h (elf_symbol_from_bfd_symbol): Omit space in debugging
3336214634Sdim	output.
3337214634Sdim	(elf_symbol_flags): Add debug function to decode flags so that
3338214634Sdim	defining DEBUG to be 4 will compile again.
3339214634Sdim	(elf_debug_section): Fix typo in debug output.
3340214634Sdim
3341214634SdimFri Apr 14 16:03:04 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3342214634Sdim
3343214634Sdim	* config.bfd: Add m68*-*-elf*.
3344214634Sdim	* elf32-m68k.c: Filled out implementation, except for dynamic
3345214634Sdim	linking support.
3346214634Sdim	* reloc.c (enum bfd_reloc_code_real): Added *_GOT_PCREL, *_GOTOFF,
3347214634Sdim	*_PLT_PCREL, *_PLTOFF, *_68K_* relocations for ELF.
3348214634Sdim	* libbfd.h, bfd-in2.h: Regenerated.
3349214634Sdim
3350214634SdimThu Apr 13 14:28:04 1995  Torbjorn Granlund  <tege@adder.cygnus.com>
3351214634Sdim
3352214634Sdim	* coff-m68k.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from
3353214634Sdim	1 to 2.
3354214634Sdim	(bfd_target): Change minimum section alignment from 1 to 2.
3355214634Sdim
3356214634SdimWed Apr 12 12:40:04 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3357214634Sdim
3358214634Sdim	* aoutx.h (machine_type, case bfd_arch_mips): Treat R8000 like
3359214634Sdim	R6000 and R4000 for now.
3360214634Sdim
3361214634SdimTue Apr  4 12:28:25 1995  Stan Shebs  <shebs@andros.cygnus.com>
3362214634Sdim
3363214634Sdim	* mpw-config.in: New file, MPW version of configure.in.
3364214634Sdim	* mpw-make.in: New file, MPW version of Makefile.in.
3365214634Sdim	* hosts/mpw.h: New file, MPW host definitions.
3366214634Sdim	* ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_in) [MPW_C]:
3367214634Sdim	Alternate versions without ECOFF_64 that chokes MPW C.
3368214634Sdim	* coffswap.h (coff_swap_scnhdr_out): Add alternative version with
3369214634Sdim	partly-expanded macros.
3370214634Sdim
3371214634SdimThu Mar 30 14:56:21 1995  Ian Lance Taylor  <ian@cygnus.com>
3372214634Sdim
3373214634Sdim	* reloc.c (bfd_perform_relocation): Don't bother to check for
3374214634Sdim	overflow if the symbol is undefined.
3375214634Sdim
3376214634SdimThu Mar 30 14:32:26 1995  H.J. Lu (hjl@nynexst.com)
3377214634Sdim
3378214634Sdim	* config.bfd: Change linux to default to elf.  Using
3379214634Sdim	i[345]86-*-linuxaout will build a library which defaults to a.out.
3380214634Sdim	* config/i386-laout.mt: Rename from old config/i386-linux.mt.
3381214634Sdim	* config/i386-linux.mt: Rename from old config/i386-lelf.mt.
3382214634Sdim	Comment out EXTRALIBS.
3383214634Sdim	* config/i386-lelf.mt: Remove.
3384214634Sdim
3385214634SdimWed Mar 29 12:01:30 1995  Ian Lance Taylor  <ian@cygnus.com>
3386214634Sdim
3387214634Sdim	* coff-i960.c (coff_i960_relocate): Cache the section symbol in
3388214634Sdim	the used_by_bfd field of the section, to avoid looping for each
3389214634Sdim	reloc.
3390214634Sdim
3391214634Sdim	* cpu-h8500.c (arch_info_struct): Change name from "H8/300" to
3392214634Sdim	"h8300" for consistency with other cpu-* files.
3393214634Sdim
3394214634SdimTue Mar 28 15:14:11 1995  Ian Lance Taylor  <ian@cygnus.com>
3395214634Sdim
3396214634Sdim	* bout.c (b_out_canonicalize_reloc): Handle SEC_CONSTRUCTOR
3397214634Sdim	sections.
3398214634Sdim	(b_out_get_reloc_upper_bound): Likewise.
3399214634Sdim
3400214634Sdim	* linker.c (generic_link_add_symbol_list): Skip constructor
3401214634Sdim	symbols which the main linker code did not do anything with.
3402214634Sdim	(_bfd_generic_link_output_symbols): Use udata.p if it is set,
3403214634Sdim	rather than looking the symbol up in the hash table.  Just pass
3404214634Sdim	through constructor symbols for which udata.p is not set.  If the
3405214634Sdim	linker defined the symbol, clear the constructor flag.
3406214634Sdim
3407214634SdimTue Mar 21 10:50:32 1995  Jeff Law  (law@snake.cs.utah.edu)
3408214634Sdim
3409214634Sdim	* som.c (som_set_reloc_info): Sign extend constants from
3410214634Sdim	R_DATA_OVERRIDE fixups.
3411214634Sdim	* libhppa.h (sign_extend): Renamed from sign_ext.  Fix.
3412214634Sdim	(low_sign_extend): Likewise.
3413214634Sdim
3414214634SdimMon Mar 20 22:39:10 1995  Jeff Law  (law@snake.cs.utah.edu)
3415214634Sdim
3416214634Sdim	* som.c (som_slurp_symbol_table): Tighten test to determine
3417214634Sdim	what symbols are section symbols.
3418214634Sdim
3419214634SdimSat Mar 18 01:54:45 1995  Ian Lance Taylor  <ian@cygnus.com>
3420214634Sdim
3421214634Sdim	* elfcode.h (elf_bfd_link_add_symbols): An empty archive is OK.
3422214634Sdim
3423214634SdimFri Mar 17 16:29:02 1995  Jeff Law  (law@snake.cs.utah.edu)
3424214634Sdim
3425214634Sdim	* som.c (som_bfd_copy_private_section_data): Just return true when
3426214634Sdim	either the input or output section isn't attached to a SOM BFD.
3427214634Sdim	(som_bfd_copy_private_bfd_data): Similarly for BFD private data.
3428214634Sdim
3429214634SdimFri Mar 17 11:50:34 1995  Ian Lance Taylor  <ian@cygnus.com>
3430214634Sdim
3431214634Sdim	* elfcode.h (elf_link_add_object_symbols): Check whether a dynamic
3432214634Sdim	object has already been included, and ignore it the second time.
3433214634Sdim
3434214634SdimWed Mar 15 11:56:40 1995  Ian Lance Taylor  <ian@cygnus.com>
3435214634Sdim
3436214634Sdim	* elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT13 from
3437214634Sdim	complain_overflow_bitfield to complain_overflow_signed.
3438214634Sdim
3439214634Sdim	* libelf.h (bfd_elf32__write_relocs): Don't declare.
3440214634Sdim	(bfd_elf64__write_relocs): Don't declare.
3441214634Sdim
3442214634SdimTue Mar 14 05:54:33 1995  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
3443214634Sdim
3444214634Sdim	* stab-syms.c (aout_stab_name): Moved aout_stab_names to be local
3445214634Sdim	to this function.  Recoded function to stop using table, to
3446214634Sdim	improve performance (on i486-netbsd host).  Left old version
3447214634Sdim	intact under "#if 0" for further performance testing.
3448214634Sdim
3449214634SdimMon Mar 13 13:48:49 1995  Ian Lance Taylor  <ian@cygnus.com>
3450214634Sdim
3451214634Sdim	* elfcode.h (write_relocs): Make static.  Use PTR argument as a
3452214634Sdim	pointer to a boolean variable set to true if something fails.
3453214634Sdim	Cast to PTR rather than void *.
3454214634Sdim	(sym_is_global): Rewrite for clarity.
3455214634Sdim	(map_program_segments): If the program header size is too small,
3456214634Sdim	call _bfd_error_handler and return failure rather than aborting.
3457214634Sdim	(NAME(bfd_elf,write_object_contents)): Pass boolean variable when
3458214634Sdim	calling write_relocs.
3459214634Sdim	(elf_symbol_from_bfd_symbol): Use BFD_ASSERT rather than abort.
3460214634Sdim	(struct elf_info_failed): Define.
3461214634Sdim	(NAME(bfd_elf,size_dynamic_sections)): Declare variables in inner
3462214634Sdim	blocks.  Pass elf_info_failed structure when calling
3463214634Sdim	elf_export_symbol and elf_adjust_dynamic_symbol.
3464214634Sdim	(elf_export_symbol): Treat data argument as elf_info_failed rather
3465214634Sdim	than bfd_link_info.  Set failed field on error.
3466214634Sdim	(elf_adjust_dynamic_symbol): Likewise.
3467214634Sdim	(struct elf_finfo_failed): Define.
3468214634Sdim	(elf_bfd_final_link): Pass elf_finfo_failed structure when calling
3469214634Sdim	elf_link_output_extsym.  Use BFD_ASSERT rather than abort.
3470214634Sdim	(elf_link_output_extsym): Treat data argument as elf_finfo_failed
3471214634Sdim	rather than elf_final_link_info.  Set failed field on error.
3472214634Sdim	(elf_link_input_bfd): Use BFD_ASSERT rather than abort.
3473214634Sdim	(elf_reloc_link_order): Likewise.
3474214634Sdim
3475214634Sdim	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Only write
3476214634Sdim	out PLTRELSZ, PLTREL and JMPREL relocs if there is a .rela.plt
3477214634Sdim	section.  Solaris 2.4 apparently does not handle empty reloc
3478214634Sdim	information correctly.
3479214634Sdim
3480214634Sdim	* archive.c (bsd_write_armap): Cast getuid and getgid results to
3481214634Sdim	long, and print with %ld.
3482214634Sdim
3483214634SdimFri Mar 10 16:41:05 1995  Ian Lance Taylor  <ian@cygnus.com>
3484214634Sdim
3485214634Sdim	* aoutx.h (translate_to_native_sym_flags): Always use the output
3486214634Sdim	section if it is not NULL.
3487214634Sdim
3488214634SdimThu Mar  9 15:06:25 1995  Ian Lance Taylor  <ian@cygnus.com>
3489214634Sdim
3490214634Sdim	* coffswap.h (coff_swap_scnhdr_out): If the line number count or
3491214634Sdim	the reloc count does not fit, print an error and return 0.
3492214634Sdim	* coffcode.h (coff_write_object_contents): Check return value of
3493214634Sdim	coff_swap_scnhdr_out.
3494214634Sdim	* ecoff.c (_bfd_ecoff_write_object_contents): Check return value
3495214634Sdim	of bfd_coff_swap_scnhdr_out.
3496214634Sdim
3497214634Sdim	* bfd.c: Include <stdarg.h> or <varargs.h>, depending upon
3498214634Sdim	ANSI_PROTOTYPES.
3499214634Sdim	(bfd_error_handler_type): New global type.
3500214634Sdim	(_bfd_error_program_name): New static variable.
3501214634Sdim	(_bfd_default_error_handler): New static function.
3502214634Sdim	(_bfd_error_handler): New BFD private global variable.
3503214634Sdim	(bfd_set_error_handler): New globally visible function.
3504214634Sdim	(bfd_set_error_program_name): New globally visible function.
3505214634Sdim	* libbfd-in.h (_bfd_error_handler): Declare.
3506214634Sdim	* bfd-in2.h, libbfd.h: Rebuild.
3507214634Sdim
3508214634Sdim	* aoutx.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter,
3509214634Sdim	and use it instead of bfd_get_symcount.  Check r_index after
3510214634Sdim	setting r_extern based on whether this is a base relative reloc.
3511214634Sdim	(NAME(aout,swap_std_reloc_IN)): Add symcount parameter, and use it
3512214634Sdim	instead of bfd_get_symcount.
3513214634Sdim	(NAME(aout,slurp_reloc_table)): Pass bfd_get_symcount to reloc
3514214634Sdim	swap routines.
3515214634Sdim	* libaout.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter
3516214634Sdim	to declaration.
3517214634Sdim	(NAME(aout,swap_std_reloc_in)): Likewise.
3518214634Sdim	* sunos.c (sunos_canonicalize_dynamic_reloc): Pass
3519214634Sdim	info->dynsym_count to reloc swap routines.
3520214634Sdim	* aout-ns32k.c (MY_swap_std_reloc_in): Add symcount parameter.
3521214634Sdim	* hp300hpux.c (MY(swap_std_reloc_in)): Likewise.
3522214634Sdim	(MY(slurp_reloc_table)): Pass bfd_get_symcount to reloc swap
3523214634Sdim	routine.
3524214634Sdim	* i386lynx.c (NAME(lynx,swap_ext_reloc_in)): Add symcount
3525214634Sdim	parameter.
3526214634Sdim	(NAME(lynx,swap_std_reloc_in)): Likewise.
3527214634Sdim	(NAME(lynx,slurp_reloc_table)): Pass bfd_get_symcount to reloc
3528214634Sdim	swap routines.
3529214634Sdim
3530214634SdimThu Mar  9 12:04:05 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
3531214634Sdim
3532214634Sdim	* bfd.c (bfd_merge_private_bfd_data): New function vector to be
3533214634Sdim	called by the linker to merge any private bfd data of the input
3534214634Sdim	files and the output file.  Used by the PowerPC ELF support to
3535214634Sdim	check whether -mrelocatable is used for all modules.
3536214634Sdim	(bfd_set_private_flags): New function vector to be called by the
3537214634Sdim	assembler to set private flags.  Used by the PowerPC ELF support
3538214634Sdim	to set that a particular object file was assembled with the
3539214634Sdim	-mrelocatable option.
3540214634Sdim
3541214634Sdim	* targets.c (BFD_JUMP_TABLE_COPY): Add intiialization of the
3542214634Sdim	bfd_merge_private_bfd_data and bfd_set_private_flags function
3543214634Sdim	vectors.
3544214634Sdim
3545214634Sdim	* bfd-in2.h, libbfd-in.h: Rebuild with bfd.c and targets.c
3546214634Sdim	changes.
3547214634Sdim
3548214634Sdim	* elf32-ppc.c (ppc_elf_set_private_flags): New function to set the
3549214634Sdim	ELF e_flags field.
3550214634Sdim	(ppc_elf_copy_private_bfd_data): Copy the e_flags field from the
3551214634Sdim	input file to the output file.
3552214634Sdim	(ppc_elf_merge_private_bfd_data): Check for a mismatch between the
3553214634Sdim	e_flags field of all of the linker input files.
3554214634Sdim
3555214634Sdim	* libelf.h (elf_obj_tdata): Add ppc_flags_init field so that the
3556214634Sdim	PowerPC support can check if compataible e_flags are present.
3557214634Sdim
3558214634Sdim	* aout-target.h: Add NOP for the bfd_merge_private_bfd_data
3559214634Sdim	and bfd_set_private_flags function vectors.
3560214634Sdim	* coffcode.h: Ditto.
3561214634Sdim	* elf32-target.h: Ditto.
3562214634Sdim	* elf64-target.h: Ditto.
3563214634Sdim	* libbfd.h: Ditto.
3564214634Sdim	* libecoff.h: Ditto.
3565214634Sdim	* som.c: Ditto.
3566214634Sdim
3567214634SdimWed Mar  8 00:53:54 1995  Ian Lance Taylor  <ian@cygnus.com>
3568214634Sdim
3569214634Sdim	* cpu-mips.c (arch_info_struct): Add mips:8000 entry.
3570214634Sdim
3571214634Sdim	* elfcode.h (swap_out_syms): Mark an undefined BSF_WEAK symbol as
3572214634Sdim	STB_WEAK rather than STB_GLOBAL.
3573214634Sdim
3574214634SdimTue Mar  7 12:23:47 1995  Ian Lance Taylor  <ian@cygnus.com>
3575214634Sdim
3576214634Sdim	* coffcode.h (bfd_coff_backend_data): Add new field
3577214634Sdim	_bfd_coff_adjust_symndx.
3578214634Sdim	(bfd_coff_adjust_symndx): Define.
3579214634Sdim	(coff_adjust_symndx): Define as NULL if not already defined.
3580214634Sdim	(bfd_coff_std_swap_table): Initialize new field to
3581214634Sdim	coff_adjust_symndx.
3582214634Sdim	* cofflink.c (coff_link_input_bfd): Call coff_adjust_symndx if it
3583214634Sdim	is defined.
3584214634Sdim	* coff-a29k.c (coff_a29k_adjust_symndx): New static function.
3585214634Sdim	(coff_adjust_symndx): Define before including coffcode.h.
3586214634Sdim	* libcoff.h: Rebuild.
3587214634Sdim
3588214634Sdim	* format.c (bfd_check_format_matches): Skip binary_vec when
3589214634Sdim	searching through bfd_target_vector.
3590214634Sdim
3591214634Sdim	* elfcode.h (elf_sort_hdrs): Check SHT_NOBITS before checking
3592214634Sdim	sh_size.
3593214634Sdim
3594214634SdimMon Mar  6 23:31:36 1995  Doug Evans  <dje@chestnut.cygnus.com>
3595214634Sdim
3596214634Sdim	* elfcode.h (elf_sort_hdrs): Keep SHT_NOBITS sections after
3597214634Sdim	!SHT_NOBITS ones.
3598214634Sdim
3599214634SdimMon Mar  6 09:53:08 1995  Jeff Law  (law@snake.cs.utah.edu)
3600214634Sdim
3601214634Sdim	* cpu-hppa.c (arch_info_struct): Support both PA1.0 and PA1.1
3602214634Sdim	machine types.
3603214634Sdim	(bfd_hppa_arch): Link in both PA1.0 and PA1.1 architecture info
3604214634Sdim	structures.
3605214634Sdim	* libhppa.h (enum pa_arch): New enumeration to describe the
3606214634Sdim	different variants of the PA architecture.
3607214634Sdim	* som.c (som_object_setup): Use new enumeration to set machine
3608214634Sdim	type.
3609214634Sdim	(som_finish_writing): If the machine type is PA1.1, then use the
3610214634Sdim	PA1.1 machine identifier in the output file.
3611214634Sdim
3612214634SdimThu Mar  2 15:58:24 1995  Ian Lance Taylor  <ian@cygnus.com>
3613214634Sdim
3614214634Sdim	* aoutx.h (NAME(aout,swap_ext_reloc_in)): Treat the index of a
3615214634Sdim        base relative reloc as an index into the symbol table, regardless
3616214634Sdim        of the setting of r_extern.
3617214634Sdim	(NAME(aout,swap_std_reloc_in)): Likewise.
3618214634Sdim
3619214634Sdim	* aoutx.h (NAME(aout,set_section_contents)): Double check that the
3620214634Sdim	caller is writing to a valid section.
3621214634Sdim
3622214634SdimThu Mar  2 14:37:57 1995  Bryan Ford  <baford@cs.utah.edu>
3623214634Sdim
3624214634Sdim	* binary.c: Add support for reading binary files.  Loads the raw
3625214634Sdim	contents of the file into a data section and wraps some symbols
3626214634Sdim	around it.  The symbols `_binary_<filename>_start' and
3627214634Sdim	`_binary_<filename>_end' indicate the start and end of the data,
3628214634Sdim	while `_binary_<filename>_size' is an absolute symbol whose value
3629214634Sdim	is the size of the data.  <filename> is the name of the binary
3630214634Sdim	input file, with all non-alphanumeric characters converted to
3631214634Sdim	underscores.
3632214634Sdim
3633214634Sdim	* archures.c (bfd_arch_get_compatible): Assume users knows what
3634214634Sdim	they're doing if one of the architectures is bfd_arch_unknown.
3635214634Sdim
3636214634SdimWed Mar  1 17:30:46 1995  Michael Meissner  <meissner@cygnus.com>
3637214634Sdim
3638214634Sdim	* elf32-ppc.c (elf_powerpc_howto_table): For relocation
3639214634Sdim	R_PPC_GOT16, change complain_on_overflow to be
3640214634Sdim	complain_overflow_signed.
3641214634Sdim
3642214634SdimWed Mar  1 11:52:55 1995  Jason Molenda  <crash@phydeaux.cygnus.com>
3643214634Sdim
3644214634Sdim	* configure.host: Recognize powerpc-*-aix*.
3645214634Sdim
3646214634SdimWed Mar  1 11:57:39 1995  Ian Lance Taylor  <ian@cygnus.com>
3647214634Sdim
3648214634Sdim	* coff-i960.c (COFF_PAGE_SIZE): Define.
3649214634Sdim
3650214634Sdim	* configure.in: Rewrite output of TDEFAULTS to avoid relying on
3651214634Sdim	semantics of single quotes in parameter substitution.
3652214634Sdim
3653214634SdimTue Feb 28 12:53:09 1995  Ian Lance Taylor  <ian@cygnus.com>
3654214634Sdim
3655214634Sdim	* elfcode.h (elf_sort_hdrs): Sort empty sections before non-empty
3656214634Sdim	sections, if they have the same VMA.
3657214634Sdim
3658214634Sdim	* config.bfd (i[345]86-*-linuxelf*): New target.  Use i386-lelf.
3659214634Sdim	(i[345]86-*-gnuelf*): New target.  Use i386-gelf.
3660214634Sdim	* config/i386-lelf.mt: New file.
3661214634Sdim	* config/i386-gelf.mt: New file.
3662214634Sdim
3663214634SdimMon Feb 27 12:58:25 1995  Kung Hsu  <kung@mexican.cygnus.com>
3664214634Sdim
3665214634Sdim	* config.bfd: add a29k-*-vxworks configuration.
3666214634Sdim
3667214634SdimWed Feb 22 14:40:26 1995  Ian Lance Taylor  <ian@cygnus.com>
3668214634Sdim
3669214634Sdim	* libaout.h (NAME(aout,slurp_reloc_table)): Change declaration to
3670214634Sdim	use reloc_howto_type rather than const struct reloc_howto_struct.
3671214634Sdim
3672214634SdimTue Feb 21 18:19:22 1995  Ian Lance Taylor  <ian@cygnus.com>
3673214634Sdim
3674214634Sdim	* bout.c (b_out_slurp_reloc_table): Don't return an error if asked
3675214634Sdim	for relocations for the .bss section.
3676214634Sdim
3677214634SdimTue Feb 21 15:13:05 1995  Jeff Law  (law@snake.cs.utah.edu)
3678214634Sdim
3679214634Sdim	* som.c (som_bfd_ar_write_symbol_stuff): Handle objects with odd
3680214634Sdim	lengths.
3681214634Sdim
3682214634SdimFri Feb 17 12:34:36 1995  Michael Meissner  <meissner@cygnus.com>
3683214634Sdim
3684214634Sdim	* elf32-ppc.c (ppc_elf_got16_reloc): Make GOT style relocs add
3685214634Sdim	32768, so the GOT pointer can point to 16384 pointers, instead of
3686214634Sdim	8192.
3687214634Sdim
3688214634SdimFri Feb 17 11:45:38 1995  Ian Lance Taylor  <ian@cygnus.com>
3689214634Sdim
3690214634Sdim	* hosts/sysv4.h: Include <unistd.h>, <stdlib.h>, and <time.h>.
3691214634Sdim	Only define SEEK_SET and SEEK_CUR if they are not already defined.
3692214634Sdim	Remove all external function declarations.
3693214634Sdim
3694214634Sdim	* syms.c (bfd_decode_symclass): Return 'W' for a weak symbol.
3695214634Sdim
3696214634Sdim	* coffgen.c (coff_real_object_p): Set start address and flags
3697214634Sdim	before calling coff_mkobject_hook.  Restore them on failure.
3698214634Sdim	* ecoff.c (_bfd_ecoff_mkobject_hook): If not ECOFF_AOUT_ZMAGIC,
3699214634Sdim	clear D_PAGED.
3700214634Sdim
3701214634Sdim	* coffgen.c: Reindented.
3702214634Sdim
3703214634SdimThu Feb 16 14:37:23 1995  Doug Evans  <dje@cygnus.com>
3704214634Sdim
3705214634Sdim	* reloc.c (bfd_perform_relocation): Don't use bitpos in overflow
3706214634Sdim	calculations.
3707214634Sdim	(bfd_install_relocation): Likewise.
3708214634Sdim
3709214634SdimThu Feb 16 13:22:29 1995  Ian Lance Taylor  <ian@cygnus.com>
3710214634Sdim
3711214634Sdim	* hosts/std-host.h: Remove all function declarations which return
3712214634Sdim	int or void, except the one for free.
3713214634Sdim
3714214634SdimWed Feb 15 14:54:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
3715214634Sdim
3716214634Sdim	* elf32-ppc.c (elf_powerpc_howto_table): Use a destination mask of
3717214634Sdim	0xffffffff for R_PPC_REL32, not 0.
3718214634Sdim	(powerpc_reloc_map): Add low 16 bit, high 16 bit, and high 16 bit
3719214634Sdim	adjusted relocations.
3720214634Sdim
3721214634SdimTue Feb 14 17:47:17 1995  Ian Lance Taylor  <ian@cygnus.com>
3722214634Sdim
3723214634Sdim	* elf32-mips.c (struct mips_elf_find_line): Define.
3724214634Sdim	(mips_elf_find_nearest_line): New static function.
3725214634Sdim	(bfd_elf32_find_nearest_line): Define.
3726214634Sdim	* libelf.h (struct elf_obj_tdata): Add find_line_info field.
3727214634Sdim
3728214634Sdim	* ecoff.c (_bfd_ecoff_swap_tir_in): Move to ecofflink.c.
3729214634Sdim	(_bfd_ecoff_swap_tir_out): Likewise.
3730214634Sdim	(_bfd_ecoff_swap_rndx_in): Likewise.
3731214634Sdim	(_bfd_ecoff_swap_rndx_out): Likewise.
3732214634Sdim	(cmp_fdrtab_entry): Likewise.
3733214634Sdim	(mk_fdrtab): Likewise.
3734214634Sdim	(lookup): Likewise.
3735214634Sdim	(_bfd_ecoff_find_nearest_line): Just call _bfd_ecoff_locate_line
3736214634Sdim	to do most of the work.  Allocate find_line_info if necessary.
3737214634Sdim	* ecofflink.c: Include "aout/stab_gnu.h".
3738214634Sdim	(_bfd_ecoff_swap_tir_in): Move in from ecoff.c.
3739214634Sdim	(_bfd_ecoff_swap_tir_out): Likewise.
3740214634Sdim	(_bfd_ecoff_swap_rndx_in): Likewise.
3741214634Sdim	(_bfd_ecoff_swap_rndx_out): Likewise.
3742214634Sdim	(cmp_fdrtab_entry): Likewise.  Use PTR instead of void *.
3743214634Sdim	(mk_fdrtab): Move in from ecoff.c.  Add debug_info, debug_swap,
3744214634Sdim	and line_info arguments, and use them instead of ecoff_data.
3745214634Sdim	(fdrtab_lookup): Move in from lookup in ecoff.c.  Remove abfd
3746214634Sdim	argument, add line_info argument.  Use it instead of ecoff_data.
3747214634Sdim	(_bfd_ecoff_locate_line): New function, mostly from the old
3748214634Sdim	_bfd_ecoff_find_nearest_line in ecoff.c.
3749214634Sdim	* libecoff.h (ecoff_data_type): Remove find_buffer, fdrtab_len and
3750214634Sdim	fdrtab fields, replacing them find_line_info field.
3751214634Sdim	(_bfd_ecoff_swap_tir_in): Declare.
3752214634Sdim	(_bfd_ecoff_swap_tir_out): Declare.
3753214634Sdim	(_bfd_ecoff_swap_rndx_in): Declare.
3754214634Sdim	(_bfd_ecoff_swap_rndx_out): Declare.
3755214634Sdim	* libbfd-in.h (_bfd_ecoff_locate_line): Declare.
3756214634Sdim	* libbfd.h: Rebuild.
3757214634Sdim	* configure.in: Don't use ecoff.o for bfd_elf32_bigmips_vec or
3758214634Sdim	bfd_elf32_littlemips_vec.
3759214634Sdim	* Makefile.in: Rebuild dependencies.
3760214634Sdim
3761214634SdimTue Feb 14 14:04:22 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
3762214634Sdim
3763214634Sdim	* libelf.h (elf_backend_data): Add fields elf_machine_alt1 and
3764214634Sdim	elf_machine_alt2 which provide alternate versions of the machine
3765214634Sdim	code.
3766214634Sdim
3767214634Sdim	* elf32-ppc.c (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Define to
3768214634Sdim	recognize old versions of the PowerPC machine code.
3769214634Sdim
3770214634Sdim	* elf32-target.h (elf32_bed): Initialize alternate machine code
3771214634Sdim	fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2.
3772214634Sdim
3773214634Sdim	* elf64-target.h (elf64_bed): Initialize alternate machine code
3774214634Sdim	fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2.
3775214634Sdim
3776214634Sdim	* elfcode.h (elf_object_p, elf_core_file_p): In addition to the
3777214634Sdim	main machine code field, check the two alternate machine code
3778214634Sdim	fields.
3779214634Sdim
3780214634SdimTue Feb 14 12:46:48 1995  Ian Lance Taylor  <ian@cygnus.com>
3781214634Sdim
3782214634Sdim	* aoutf1.h (MACHTYPE_OK): Don't define if already defined.  Don't
3783214634Sdim	accept M_SPARC if bfd_arch_sparc is not in the list of supported
3784214634Sdim	architectures, and don't accept a 680x0 machine type if
3785214634Sdim	bfd_arch_m68k is not in the list of supported architectures.
3786214634Sdim	* aout0.c (MACHTYPE_OK): Define.
3787214634Sdim
3788214634SdimMon Feb 13 23:25:38 1995  Ian Lance Taylor  <ian@cygnus.com>
3789214634Sdim
3790214634Sdim	* aoutx.h (NAME(aout,swap_ext_reloc_in)): Don't return a pointer
3791214634Sdim	to garbage if the symbol index is out of range.
3792214634Sdim	(NAME(aout,swap_std_reloc_in)): Likewise.
3793214634Sdim
3794214634SdimThu Feb  9 18:36:52 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3795214634Sdim
3796214634Sdim	* Makefile.in (BFD32_BACKENDS): Add i386msdos.o.
3797214634Sdim
3798214634SdimThu Feb  9 12:02:35 1995  Ian Lance Taylor  <ian@cygnus.com>
3799214634Sdim
3800214634Sdim	* i386linux.c (NEEDS_SHRLIB): Define.
3801214634Sdim	(linux_tally_symbols): Crash if a NEEDS_SHRLIB symbol is
3802214634Sdim	undefined.  From hjl@nynexst.com (H.J. Lu).
3803214634Sdim
3804214634SdimWed Feb  8 17:26:00 1995  Ian Lance Taylor  <ian@cygnus.com>
3805214634Sdim
3806214634Sdim	* linker.c (generic_link_check_archive_element): Allocate common
3807214634Sdim	symbol information structure.  Don't bother to check for common
3808214634Sdim	symbol size overflow.
3809214634Sdim	(_bfd_generic_link_add_one_symbol): Likewise.
3810214634Sdim	* aoutx.h (aout_link_check_ar_symbols): Likewise.
3811214634Sdim	* linker.c (generic_link_check_archive_element): Adjust references
3812214634Sdim	to common symbol information for new structure.
3813214634Sdim	(_bfd_generic_link_add_one_symbol): Likewise.
3814214634Sdim	* aoutx.h (aout_link_check_ar_symbols): Likewise.
3815214634Sdim	(aout_link_add_symbols): Likewise.
3816214634Sdim	* ecoff.c (ecoff_link_add_externals): Likewise.
3817214634Sdim	* elfcode.h (elf_link_add_object_symbols): Likewise.
3818214634Sdim	(elf_link_output_extsym): Likewise.
3819214634Sdim	* sunos.c (sunos_add_one_symbol): Likewise.
3820214634Sdim
3821214634SdimWed Feb  8 09:53:42 1995  Doug Evans  <dje@canuck.cygnus.com>
3822214634Sdim
3823214634Sdim	* elfcode.h (elf_sort_hdrs): Put SHT_NOBITS sections after !SHT_NOBITS.
3824214634Sdim
3825214634SdimTue Feb  7 16:27:33 1995  Jeff Law  (law@snake.cs.utah.edu)
3826214634Sdim
3827214634Sdim	* som.c (som_bfd_find_nearest_line): Just return false, don't
3828214634Sdim	abort.
3829214634Sdim
3830214634SdimTue Feb  7 14:43:33 1995  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
3831214634Sdim
3832214634Sdim	* ecoff.c: Reformatted some comments and brace constructs in
3833214634Sdim	recent changes to GNU style.
3834214634Sdim	(cmp_fdrtab_entry, mk_fdrtab, lookup): Use old-style function
3835214634Sdim	definitions.
3836214634Sdim
3837214634SdimTue Feb  7 14:21:28 1995  Ian Lance Taylor  <ian@cygnus.com>
3838214634Sdim
3839214634Sdim	* ecoffswap.h (ecoff_swap_pdr_in): Zero out intern before setting
3840214634Sdim	any of the fields.
3841214634Sdim
3842214634SdimMon Feb  6 20:01:24 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3843214634Sdim
3844214634Sdim	Sat Feb  4 14:20:24 1995  David Mosberger-Tang  <davidm@piston.cs.arizona.edu>
3845214634Sdim
3846214634Sdim	* ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_out): added
3847214634Sdim	internalizing/externalizing new "prof" field.
3848214634Sdim
3849214634Sdim	* libecoff.h (ecoff_tdata): added fdrtab.
3850214634Sdim
3851214634Sdim	* ecoff.c (_bfd_ecoff_find_nearest_line): Fixed.
3852214634Sdim
3853214634SdimMon Feb  6 14:25:24 1995  Ian Lance Taylor  <ian@cygnus.com>
3854214634Sdim
3855214634Sdim	* libelf.h (struct elf_link_hash_table): Add saw_needed field.
3856214634Sdim	* elfcode.h (elf_link_add_object_symbols): Set saw_needed if
3857214634Sdim	DT_NEEDED seen in .dynamic section.
3858214634Sdim	(elf_link_output_extsym): Warn if an undefined symbol is
3859214634Sdim	only referenced from a dynamic object, and not making a shared
3860214634Sdim	object, and saw_needed is false.
3861214634Sdim	* elf.c (_bfd_elf_link_hash_table_init): Initialize saw_needed.
3862214634Sdim
3863214634Sdim	* libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Don't define.
3864214634Sdim	* elfcode.h (elf_link_add_object_symbols): Don't clear or set
3865214634Sdim	ELF_LINK_HASH_DEFINED_WEAK.
3866214634Sdim	(elf_link_output_extsym): Don't check ELF_LINK_HASH_DEFINED_WEAK.
3867214634Sdim
3868214634Sdim	Distinguish a weak defined symbol from a regular defined symbol.
3869214634Sdim	* linker.c (enum link_action): Add DEFW.
3870214634Sdim	(link_action): Add bfd_link_hash_defweak column.
3871214634Sdim	(_bfd_generic_link_add_one_symbol): Add DEFW case.  Handle
3872214634Sdim	bfd_link_hash_defweak in a few other cases.
3873214634Sdim	* Many files (bfd_link_hash_undefweak): Renamed from
3874214634Sdim	bfd_link_hash_weak.
3875214634Sdim	* aoutx.h (aout_link_write_symbols): Handle bfd_link_hash_defweak.
3876214634Sdim	(aout_link_write_other_symbol): Likewise.
3877214634Sdim	(aout_link_input_section_std): Likewise.
3878214634Sdim	(aout_link_input_section_ext): Likewise.
3879214634Sdim	* bout.c (get_value): Likewise.
3880214634Sdim	* coff-a29k.c (coff_a29k_relocate_section): Likewise.
3881214634Sdim	* coff-alpha.c (alpha_convert_external_reloc): Likewise.
3882214634Sdim	(alpha_relocate_section): Likewise.
3883214634Sdim	* coff-mips.c (mips_relocate_section): Likewise.
3884214634Sdim	(mips_relax_section): Likewise.
3885214634Sdim	(bfd_mips_ecoff_create_embedded_relocs): Likewise.
3886214634Sdim	* cofflink.c (coff_write_global_sym): Likewise.
3887214634Sdim	(_bfd_coff_generic_relocate_section): Likewise.
3888214634Sdim	* ecoff.c (ecoff_link_add_externals): Likewise.
3889214634Sdim	(ecoff_link_write_external): LIkewise.
3890214634Sdim	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
3891214634Sdim	(elf32_hppa_size_stubs): Likewise.
3892214634Sdim	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
3893214634Sdim	(elf_i386_relocate_section): Likewise.
3894214634Sdim	(elf_i386_finish_dynamic_symbol): Likewise.
3895214634Sdim	* elf32-mips.c (mips_elf_output_extsym): Likewise.
3896214634Sdim	(mips_elf_relocate_section): Likewise.
3897214634Sdim	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
3898214634Sdim	(elf32_sparc_relocate_section): Likewise.
3899214634Sdim	* elfcode.h (elf_link_add_object_symbols): Likewise.
3900214634Sdim	(elf_adjust_dynamic_symbol): Likewise.
3901214634Sdim	(elf_bfd_final_link): Likewise.
3902214634Sdim	(elf_link_output_extsym): Likewise.
3903214634Sdim	* i386linux.c (linux_add_one_symbol): Likewise.
3904214634Sdim	(linux_tally_symbols): Likewise.
3905214634Sdim	(linux_finish_dynamic_link): Likewise.
3906214634Sdim	* linker.c (_bfd_generic_link_output_symbols): Likewise.
3907214634Sdim	(set_symbol_from_hash): Likewise.
3908214634Sdim	* reloc16.c (bfd_coff_reloc16_get_value): Likewise.
3909214634Sdim	(bfd_perform_slip): Likewise.
3910214634Sdim	* sunos.c (sunos_add_one_symbol): Likewise.
3911214634Sdim	(sunos_scan_std_relocs): Likewise.
3912214634Sdim	(sunos_scan_ext_relocs): Likewise.
3913214634Sdim	(sunos_scan_dynamic_symbol): Likewise.
3914214082Sdim	(sunos_write_dynamic_symbol): Likewise.
3915214082Sdim
3916214082SdimMon Feb  6 03:20:17 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3917214634Sdim
3918214634Sdim	Changes from Bryan Ford, baford@schirf.cs.utah.edu:
3919214082Sdim	* config.bfd (i[345]86-*-msdos*): New target.
3920214082Sdim	* configure.in (i386msdos_vec): Handle it.
3921214082Sdim	* i386msdos.c: New file.
3922214634Sdim	* config/i386-msdos.mt: New file.
3923214634Sdim	* bfd.c (enum bfd_error): Added new value bfd_error_file_too_big.
3924214634Sdim	(bfd_errmsgs): Added string to table.
3925214082Sdim	* libaout.h (reloc_type-lookup): Declare it.
3926214082Sdim	* targets.c (enum bfd_flavour): Added bfd_target_msdos_flavour.
3927214082Sdim	(i386msdos_vec): Declare.
3928214082Sdim	(bfd_target_vector): Add it to the list.
3929214082Sdim	* bfd-in2.h: Regenerated.
3930214082Sdim
3931214082SdimWed Feb  1 01:32:14 1995  Jeff Law  (law@snake.cs.utah.edu)
3932214082Sdim
3933214082Sdim	* som.c (som_set_reloc_info, case R_DATA_ONE_SYMBOL): If there's
3934214082Sdim	nothing in R_DATA_OVERRIDE, then try to find the addend in the
3935214082Sdim	section's contents.
3936214082Sdim	(som_write_fixups): Ignore the addend in a R_DATA_ONE_SYMBOL fixup.
3937214082Sdim
3938214082Sdim	* som.c (som_object_setup): More heruistics to detect the
3939214082Sdim	braindamaged HP OSF1 linker. 
3940214082Sdim	(setup_sections): Don't forget to free subspace_sections if we get
3941214082Sdim	an error.
3942214082Sdim	(som_slurp_string_table): Allocate strings on this bfd's obstack
3943214082Sdim	rather than directly out of the heap.
3944214634Sdim	(som_slurp_symbol_table): Likewise for the saved copy of the
3945214634Sdim	canonical symbols.
3946214634Sdim	(som_slurp_reloc_table): Likewise for the saved copy of the
3947214634Sdim	canonical relocations.  Free the native relocations when we're
3948214082Sdim	done with them.
3949214082Sdim
3950214082SdimTue Jan 31 21:53:28 1995  Doug Evans  <dje@canuck.cygnus.com>
3951214082Sdim
3952214082Sdim	* libelf.h (struct elf_obj_tdata): New member program_header_size.
3953214082Sdim	* elfcode.h (get_program_header_size): New parameters sorted_hdrs,
3954214082Sdim	count, and maxpagesize.  All callers updated.
3955214082Sdim	If sorted_hdrs is non-NULL, use it to compute the number of segments.
3956214082Sdim	Save result in case called again.
3957214082Sdim	(assign_file_positions_except_relocs): Sort headers before calling
3958214082Sdim	get_program_header_size.
3959214082Sdim
3960214082SdimTue Jan 31 15:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
3961214082Sdim
3962214082Sdim	* elfcode.h (map_program_segments): Add sorted_hdrs parameter.
3963214082Sdim	Search through it rather than through unsorted section headers.
3964214082Sdim	(assign_file_positions_except_relocs): Pass sorted_hdrs to
3965214082Sdim	map_program_segments.
3966214082Sdim
3967214082SdimMon Jan 30 22:04:53 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
3968214082Sdim
3969214082Sdim	* ecoff.c (_bfd_ecoff_find_nearest_line): Fix problems in range
3970214082Sdim	checking.  Expect argument OFFSET to be section-relative.  From
3971214082Sdim	David Mosberger-Tang, davidm@piston.cs.arizona.edu.
3972214082Sdim
3973214082SdimMon Jan 30 11:22:11 1995  Ian Lance Taylor  <ian@cygnus.com>
3974214082Sdim
3975214082Sdim	* elfcode.h (NAME(bfd_elf,record_link_assignment)): Don't do
3976214082Sdim	anything if we are not linking an ELF file.
3977214082Sdim	(NAME(bfd_elf,size_dynamic_sections)): Likewise.
3978214082Sdim
3979214082SdimSat Jan 28 12:48:57 1995  Jeff Law  (law@snake.cs.utah.edu)
3980214082Sdim
3981214082Sdim	* som.c (compare_subspaces): New function to sort subspaces by
3982214082Sdim	their location in the object file.
3983214082Sdim	(setup_sections): When computing the index for each subspace,
3984214082Sdim	handle case where setup_sections reads the subspaces in a
3985214082Sdim	different order that they appear in the object file.
3986214082Sdim	(som_is_space): Also examine the output section for the containing
3987214082Sdim	section.
3988214082Sdim	(som_is_subspace, som_is_container): Likewise.
3989214082Sdim	(som_begin_writing): Don't prepare or write fixups here.  When
3990214082Sdim	writing the symbol strings, use the unsorted symbol table.
3991214082Sdim	(som_write_object_contents): Don't write the symbol table here.
3992214082Sdim	(som_finish_writing): Prepare and write the fixups here.  Likewise
3993214082Sdim	for the symbol table.
3994214082Sdim	(som_bfd_derive_misc_symbol_info): Undefined symbols always have
3995214082Sdim	type SS_UNSAT regardless of BSF_EXPORT.
3996214082Sdim	(som_set_reloc_info): Unpack and attach argument location
3997214082Sdim	information for R_PCREL_CALL and R_ABS_CALL relocations.
3998214082Sdim
3999214082Sdim	* som.c (som_object_setup): New heuristic to determine if the
4000214082Sdim	entry and flags fields are switched in the exec header.
4001214082Sdim
4002214082SdimSat Jan 28 00:16:01 1995  Ian Lance Taylor  <ian@cygnus.com>
4003214082Sdim
4004214634Sdim	* elfcode.h (elf_link_add_object_symbols): Use *sym_hash instead
4005214634Sdim	of h if we might not be doing an ELF link.
4006214634Sdim
4007214634SdimFri Jan 27 16:13:42 1995  Ian Lance Taylor  <ian@cygnus.com>
4008214634Sdim
4009214634Sdim	* elf32-mips.c (mips_elf_final_link): If the size of an input
4010214634Sdim	.reginfo section is zero, force it to the correct size, since the
4011214634Sdim	linker emulation code may have clobbered it.
4012214634Sdim
4013214634Sdim	* elfcode.h (elf_sort_hdrs): Correct SHF_ALLOC test.
4014214634Sdim	(assign_file_positions_except_relocs): Free sorted_hdrs.
4015214634Sdim
4016214634SdimThu Jan 26 09:00:12 1995  Steve Chamberlain  <sac@splat>
4017214634Sdim
4018214634Sdim	* srec.c (srec_set_section_contents): Fix off by
4019214634Sdim	one end address calculation.
4020214634Sdim
4021214634Sdim	* config.bfd: (m68*-est-coff): New configuration.
4022214634Sdim
4023214634SdimThu Jan 26 11:39:21 1995  Ian Lance Taylor  <ian@cygnus.com>
4024214634Sdim
4025214634Sdim	* elfcode.h (elf_link_add_object_symbols): Only examine weakdef if
4026214634Sdim	we are using an ELF hash table.
4027214634Sdim
4028214634Sdim	* aoutx.h (NAME(aout,some_aout_object_p)): Always set EXEC_P if
4029214634Sdim	the start address is in the .text section, even if STAT_FOR_EXEC
4030214634Sdim	is set.  Just use STAT_FOR_EXEC as an additional test.
4031214634Sdim
4032214634SdimThu Jan 26 11:12:54 1995  Michael Meissner  <meissner@cygnus.com>
4033214082Sdim
4034214082Sdim	* elfcode.h (prep_headers): Use EM_PPC instead of
4035214082Sdim	EM_CYGNUS_POWERPC.
4036214082Sdim
4037214082Sdim	* elf32-ppc.c (reloc_type): Add all System V.4 and eABI
4038214082Sdim	relocations currently defined.
4039214082Sdim	(powerpc_reloc_map): Adjust to new relocation names.
4040214082Sdim	(elf_powerpc_howto_table): Add most of the new relocations.
4041214082Sdim	(ELF_MACHINE_CODE): Use EM_PPC instead of EM_CYGNUS_POWERPC.
4042214082Sdim
4043214082Sdim	* config.bfd: Add support for powerpc-*-eabi.
4044214082Sdim
4045214634Sdim	* config/ppc-elf.mt: Add rs6000 architecture support to the
4046214634Sdim	PowerPC.  Also add XCOFF support.
4047214082Sdim
4048214082SdimWed Jan 25 23:26:13 1995  Ian Lance Taylor  <ian@cygnus.com>
4049214082Sdim
4050214082Sdim	* coff-sh.c (CALC_ADDEND): Don't define.
4051214082Sdim	(coff_sh_relocate_section): Remove.
4052214082Sdim	(coff_relocate_section): Use _bfd_coff_generic_relocate_section.
4053214082Sdim
4054214082SdimTue Jan 24 14:22:47 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4055214634Sdim
4056214082Sdim	* elf32-mips.c (mips_elf_output_extsym): Set the value of the
4057214082Sdim	ECOFF symbol from the hash table entry.
4058214082Sdim
4059214082SdimMon Jan 23 14:53:35 1995  Steve Chamberlain  <sac@splat>
4060214082Sdim
4061214082Sdim	* coff-sh.c (coff_sh_relocate_section):  Don't subtract
4062214082Sdim	vma twice.
4063214082Sdim
4064214082SdimMon Jan 23 13:33:18 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4065214082Sdim
4066214082Sdim	* coff-sh.c (sh_reloc): Don't ignore the previous contents of an
4067214082Sdim	R_SH_IMM32 reloc.
4068214082Sdim
4069214082Sdim	* config.bfd (i[345]86-*-gnu*): Set bfd_name to i386-gnu.
4070214082Sdim	* config/i386-gnu.mt: New file.  Include ELF support.
4071214082Sdim
4072214082Sdim	* opncls.c (bfd_openstreamr): Call bfd_cache_init.
4073214082Sdim
4074214082SdimFri Jan 20 11:44:45 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4075214082Sdim
4076214082Sdim	* sunos.c (sunos_add_one_symbol): Only set the sunos specific
4077214082Sdim	fields if we are doing a sunos link.
4078214082Sdim
4079214082SdimWed Jan 18 12:28:17 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4080214082Sdim
4081214082Sdim	* cpu-h8300.c (h8300_info_struct): Change name from "H8/300" to
4082214082Sdim	"h8300" for consistency with other cpu-* files.
4083214082Sdim	(h8300h_info_struct): Change name from "H8/300H" to "h8300h".
4084214082Sdim	* coff-h8300.c (special): Remove unused variable diff.
4085214082Sdim
4086214082SdimTue Jan 17 10:52:32 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4087214082Sdim
4088214082Sdim	* bfd-in.h (bfd_byte, reloc_howto_type): Define here, not...
4089214082Sdim	* reloc.c (bfd_byte, reloc_howto_type): here.
4090214634Sdim	* Changed all occurrences of ``const struct reloc_howto_struct''
4091214634Sdim	to be ``reloc_howto_type'' instead.
4092214082Sdim	* bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
4093214634Sdim
4094214634Sdim	* opncls.c (bfd_openstreamr): New function.
4095214082Sdim	* bfd-in2.h: Rebuilt.
4096214082Sdim
4097214082Sdim	* elf32-mips.c (enum reloc_type): Define new relocs used on Irix.
4098214082Sdim	(elf_mips_howto_table): Add entries for new relocs.
4099214082Sdim	(mips_elf_section_from_shdr): Handle SHT_MIPS_MSYM,
4100214082Sdim	SHT_MIPS_DWARF, and SHT_MIPS_EVENTS.
4101214082Sdim	(mips_elf_fake_sections): Handle sections named .msym, .debug_*
4102214082Sdim	and .MIPS.events.*.
4103214082Sdim
4104214082Sdim	* srec.c (srec_init): Remove unused local variable i.
4105214082Sdim
4106214082SdimSat Jan 14 19:09:48 1995  Steve Chamberlain  <sac@jonny>
4107214082Sdim
4108214082Sdim	* archures.c, Makefile.in, targets.c, bfd-in2.h, coffcode.h,
4109214082Sdim	config.bfd, configure.in, config/w65.mt: Initial support for the W65.
4110214082Sdim
4111214082SdimSun Jan 15 13:57:45 1995  Steve Chamberlain  <sac@splat>
4112214634Sdim
4113214634Sdim	* opncls.c (bfd_fdopenr): Configure for WIN32.
4114214634Sdim
4115214082SdimThu Jan 12 16:30:47 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
4116214082Sdim
4117214082Sdim	* Makefile.in (diststuff): Include `headers'.
4118214082Sdim
4119214082Sdim	* sunos.c (m68k_plt_first_entry, sparc_plt_first_entry): Now
4120214082Sdim	const.
4121214082Sdim	* tekhex.c (digs): Ditto.
4122214082Sdim	* elf32-i386.c (elf_i386_plt0_entry, elf_i386_plt_entry): Ditto.
4123214082Sdim
4124214082Sdim	* srec.c, tekhex.c: Include libiberty.h.  Delete static array
4125214082Sdim	hex_value and replace references to it with references to
4126214082Sdim	hex_init, hex_p, and hex_value.
4127214082Sdim	* Makefile.in: Updated dependencies.
4128214082Sdim
4129214082Sdim	* archures.c (archures_init_table): Now const.
4130214082Sdim	(bfd_arch_init): Adjusted type of local var `ptable'.
4131214082Sdim
4132214082SdimThu Jan 12 09:33:24 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
4133214082Sdim
4134214082Sdim	* hosts/symmetry.h:  Redefine `shared' to enable compilation
4135214082Sdim	with the native Dynix cc compiler.
4136214082Sdim	* i386dynix.c:  Include aoutx.h instead of using routines
4137214082Sdim	from aout32.c.
4138214082Sdim
4139214082SdimWed Jan 11 21:31:41 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
4140214082Sdim
4141214634Sdim	* reloc.c (reloc_howto_type): Make typedef include `const'.
4142214082Sdim	* aout-ns32k.c, aoutx.h, bout.c, cf-m68klynx.c, coff-i386.c,
4143214634Sdim	coff-i960.c, coff-m68k.c, cofflink.c, cpu-ns32k.c, ecoff.c,
4144214634Sdim	elf32-hppa.c, elf32-i386.c, elf32-mips.c, elf32-sparc.c,
4145214634Sdim	elfcode.h, libbfd-in.h, linker.c, mipsbsd.c, nlm32-ppc.c, oasys.c,
4146214634Sdim	reloc.c, som.c: Don't use `const' in combination with
4147214634Sdim	`reloc_howto_type'.
4148214634Sdim	* bfd-in2.h, libbfd.h: Regenerated.
4149214634Sdim
4150214634Sdim	* ecoff.c (ecoff_type_to_string): Local variable `buffer1' doesn't
4151214634Sdim	need to be static.
4152214082Sdim
4153214082SdimWed Jan 11 14:36:41 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4154214082Sdim
4155214082Sdim	* sunos.c (sunos_add_one_symbol): Don't core dump if a multiple
4156214082Sdim	definition of an absolute symbol is encountered.
4157214082Sdim
4158214634Sdim	* linker.c (_bfd_generic_link_add_one_symbol): Ignore
4159214082Sdim	redefinitions of an absolute symbol to the same value.
4160214634Sdim
4161214082SdimMon Jan  9 15:51:32 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4162214082Sdim
4163214082Sdim	* elfcode.h (elf_link_add_object_symbols): It's reasonable for no
4164214082Sdim	flags to be set, so don't insist otherwise.
4165214082Sdim
4166214082SdimFri Jan  6 16:39:40 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4167214082Sdim
4168214082Sdim	* elfcode.h (elf_slurp_symbol_table): Don't set BSF_GLOBAL for an
4169214082Sdim	undefined or common symbol.
4170214082Sdim	(elf_link_add_object_symbols): Likewise.
4171214082Sdim
4172214082SdimWed Jan  4 14:14:05 1995  Jeff Law  (law@snake.cs.utah.edu)
4173214082Sdim
4174214082Sdim	* som.c (bfd_section_from_som_symbol): Only return sections which
4175214082Sdim	correspond to subspaces.
4176214082Sdim
4177214082Sdim	* som.c (som_begin_writing): Don't forget to bump the
4178214082Sdim	total_subspaces when writing the unloadable subspaces.
4179214082Sdim
4180214082SdimWed Dec 28 20:54:47 1994  Jeff Law  (law@snake.cs.utah.edu)
4181214082Sdim
4182214082Sdim	* som.c (som_write_fixups): Use SEC_HAS_CONTENTS to identify
4183214082Sdim	bss-like sections.
4184214634Sdim	(som_get_section_contents): Likewise.
4185214634Sdim	(som_set_section_contents): Likewise.
4186214082Sdim
4187214082SdimTue Dec 27 14:03:47 1994  Jeff Law  (law@snake.cs.utah.edu)
4188214082Sdim
4189214082Sdim	* som.c (setup_sections): Turn off SEC_HAS_CONTENTS for bss-like
4190214082Sdim	sections.
4191214634Sdim
4192214634SdimTue Dec 20 15:30:12 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
4193214634Sdim
4194214634Sdim	* coffgen.c (bfd_debug_section): Deleted.
4195214634Sdim	(coff_section_from_bfd_index): Return absolute section for debug
4196214634Sdim	symbol.
4197214082Sdim	(coff_write_symbol): Set BSF_DEBUGGING for C_FILE symbols.  If
4198214082Sdim	BSF_DEBUGGING is set, set section to N_DEBUG.
4199214082Sdim	(coff_bfd_make_debug_symbol): Use absolute section.
4200214082Sdim
4201214082Sdim	* elfcode.h (assign_file_positions_except_relocs): In assertion,
4202214082Sdim	force all values to the same type.
4203214082Sdim
4204214082SdimTue Dec 20 11:11:58 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
4205214082Sdim
4206214634Sdim	* coff-h8300.c (howto_table): All relocs get a special function.
4207214082Sdim	(special): Never do anything when linking -r.
4208214634Sdim
4209214634SdimTue Dec 20 13:58:01 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4210214082Sdim
4211214634Sdim	* i386linux.c (linux_add_one_symbol): Don't do anything Linux
4212214634Sdim	specific if this is not a Linux hash table.  From Eric Youngdale
4213214082Sdim	<eric@aib.com>.
4214214634Sdim
4215214634Sdim	Patches from kkojima@mix.or.jp (Kazumoto Kojima):
4216214634Sdim	* mipsbsd.c (mips_howto_table_ext): Change sizes of memory relocs
4217214634Sdim	apply to from two bytes to four bytes.
4218214634Sdim	* MY(reloc_howto_type_lookup): Handle BFD_RELOC_CTOR.
4219214082Sdim
4220214634Sdim	* elf32-i386.c (elf_i386_relocate_section): Correct and expand the
4221214634Sdim	list of cases for which relocation need not be computed.
4222214634Sdim	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
4223214082Sdim
4224214082SdimMon Dec 19 23:09:16 1994  Jeff Law  (law@snake.cs.utah.edu)
4225214082Sdim
4226214082Sdim	* elf32-hppa.c (elf32_hppa_read_symext_info): Delete do_locals and
4227214082Sdim	do_globals arguments, always read symbol extension information for
4228214082Sdim	globals and locals.  All callers changed.
4229214082Sdim	(elf32_hppa_size_stubs): Rework to only read symbol extension
4230214082Sdim	information once for each input bfd.  10% improvement in linker
4231214634Sdim	performance.
4232214634Sdim
4233214634SdimFri Dec 16 12:28:46 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4234214634Sdim
4235214634Sdim	* elfcode.h (elf_section_from_bfd_section): Check
4236214634Sdim	bfd_is_abs_section, etc., only after checking for the section in
4237214634Sdim	the BFD and after calling the backend routine.
4238214634Sdim
4239214634SdimWed Dec 14 20:21:58 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4240214634Sdim
4241214634Sdim	* elfcode.h (elf_map_symbols): Only use section symbols whose
4242214634Sdim	value is the start of the section, checking output_offset when
4243214634Sdim	using output_section.  When creating a new symbol, set the value
4244214634Sdim	to 0, since BFD symbol values are section relative.
4245214634Sdim
4246214634SdimTue Dec 13 13:31:06 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4247214634Sdim
4248214634Sdim	* cpu-z8k.c (arch_info_struct): Make z8002 the default
4249214634Sdim	architecture.
4250214634Sdim
4251214634SdimFri Dec  9 12:43:05 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4252214634Sdim
4253214634Sdim	* elfcode.h (elf_bfd_link_add_symbols): If the first object in the
4254214634Sdim	archive is not an ELF object, pass the archive to the add_symbols
4255214634Sdim	entry point appropriate for the first object.  From Eric Youngdale
4256214634Sdim	<eric@aib.com>.
4257214634Sdim	* aoutx.h (NAME(aout,link_add_symbols)): Similar change if the
4258214634Sdim	first object is not an a.out object.
4259214634Sdim
4260214634Sdim	* elf32-i386.c (elf_i386_relocate_section): Don't compute
4261214634Sdim	relocation in cases where we won't use it.
4262214634Sdim	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
4263214634Sdim
4264214634SdimThu Dec  8 14:19:41 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
4265214634Sdim
4266214634Sdim	* pc532-mach.c (NAME): Define to use ns32kaout prefix.
4267214634Sdim	* ns32knetbsd.c (NAME): Ditto.
4268214634Sdim	(ns32kaout_32_get_section_contents): Define to standard aout-32
4269214634Sdim	version.
4270214634Sdim
4271214634SdimFri Dec  2 13:56:49 1994  Ian Lance Taylor  <ian@rtl.cygnus.com>
4272214634Sdim
4273214082Sdim	* coff-mips.c (mips_read_relocs): New static function, broken out
4274214082Sdim	of mips_relax_section.
4275214082Sdim	(mips_relax_section): Call mips_read_relocs.
4276214082Sdim	(bfd_mips_ecoff_create_embedded_relocs): New function.
4277214082Sdim	* bfd-in.h (bfd_mnips_ecoff_create_embedded_relocs): Declare.
4278214082Sdim	* bfd-in2.h: Rebuild.
4279214082Sdim
4280214082SdimWed Nov 30 14:12:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4281214082Sdim
4282214082Sdim	* coff-sh.c: Use _bfd_dummy_target instead of no_archive.
4283214082Sdim
4284214082SdimTue Nov 29 14:00:19 1994  J.T. Conklin  <jtc@.rtl.cygnus.com>
4285214082Sdim
4286214082Sdim	* config.bfd (i[345]86-*-freebsd*): Use i386-bsd as bfd_name.
4287214082Sdim	* configure.host (i[345]86-*-freebsd*): Use i386bsd as my_host.
4288214082Sdim
4289214082SdimMon Nov 28 15:36:04 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
4290214082Sdim
4291214082Sdim	* config/m68k-nbsd.mt (DEFAULT_VECTOR): set to m68knetbsd_vec.
4292214634Sdim	* Makefile.in: Rebuilt dependancies.
4293214634Sdim	  (CFILES): Added m68knetbsd.c.
4294214634Sdim	  (HFILES): Added netbsd.h.
4295214634Sdim
4296214634SdimWed Nov 23 19:21:41 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
4297214634Sdim
4298214634Sdim	* coff-sh.c (shlcoff_vec): New target vector.
4299214634Sdim	(no_archive): New function.
4300214634Sdim	* coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Handle
4301214634Sdim	little endian SH.
4302214634Sdim	* configure.in: Handle shl.
4303214634Sdim	* targets.c (bfd_target_vector): Add shlcoff_vec.
4304214634Sdim	* config/sh-coff.mt (SELECT_VECS): Handle shl_coff_vec.
4305214634Sdim
4306214634SdimWed Nov 23 10:50:13 1994  Jeff Law  (law@snake.cs.utah.edu)
4307214634Sdim
4308214634Sdim	* elfcode.h (write_relocs): Do not subtract the section's vma from
4309214634Sdim	the reloc's offset when writing .o's.  Instead add the section's
4310214634Sdim	vma to the reloc's offset when writing an executable or shared
4311214634Sdim	library.
4312214634Sdim
4313214634SdimTue Nov 22 23:34:37 1994  Jeff Law  (law@snake.cs.utah.edu)
4314214634Sdim
4315214634Sdim	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Do not add
4316214634Sdim	input_section->vma to the relocation's offset.
4317214634Sdim
4318214634SdimMon Nov 21 12:37:25 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4319214634Sdim
4320214634Sdim	* srec.c (srec_get_reloc_upper_bound): Define.
4321214634Sdim	(srec_canonicalize_reloc): Define.
4322214634Sdim	(srec_bfd_reloc_type_lookup): Define.
4323214634Sdim	(srec_vec, symbolsrec_vec): Use BFD_JUMP_TABLE_RELOCS (srec).
4324214634Sdim
4325214634SdimSat Nov 19 03:10:51 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
4326214634Sdim
4327214634Sdim	* configure.host (i[345]86-*-solaris*):  Use solaris2 to
4328214634Sdim	enable extraction of procfs info from core file for GDB.
4329214634Sdim
4330214634SdimThu Nov 17 17:37:39 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
4331214634Sdim
4332214634Sdim	* reloc.c (bfd_reloc_code_type): Add new value BFD_RELOC_12_PCREL.
4333214634Sdim	* bfd-in2.h, libbfd.h: Rebuilt.
4334214634Sdim
4335214634SdimThu Nov 17 13:12:08 1994  Jeff Law  (law@snake.cs.utah.edu)
4336214634Sdim
4337214634Sdim	* elf32-hppa.c (elf32_hppa_bfd_final_link_relocated): Use the
4338214634Sdim	vma from the output_section containing $global$ when computing
4339214634Sdim	global_vlaue.
4340214634Sdim
4341214634SdimThu Nov 17 14:29:13 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4342214634Sdim
4343214634Sdim	* archive.c (_bfd_write_archive_contents): Round up the archive
4344214634Sdim	header size of the extended name table to an even number.
4345214634Sdim
4346214634SdimWed Nov 16 16:08:06 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
4347214634Sdim
4348214634Sdim	* coff-sh.c: Deleted some code that was commented out or inside
4349214634Sdim	"#if 0".
4350214634Sdim	(COFF_LONG_FILENAMES): Define.
4351214634Sdim
4352214634Sdim	* cpu-sh.c (arch_info_struct): Convert name to lowercase, for
4353214634Sdim	consistency with other architectures.
4354214634Sdim
4355214634SdimSat Nov 12 23:50:10 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4356214082Sdim
4357214082Sdim	* elfcode.h (elf_export_symbol): Also export symbols which are
4358214082Sdim	referenced by a regular file.
4359214082Sdim
4360214082SdimFri Nov 11 14:29:31 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4361214082Sdim
4362214082Sdim	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add
4363214082Sdim	export_dynamic argument, and handle it.
4364214082Sdim	(elf_export_symbol): New function.
4365214082Sdim	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration.
4366214082Sdim	(bfd_elf64_size_dynamic_sections): Update declaration.
4367214082Sdim	* bfd-in2.h: Rebuild.
4368214082Sdim
4369214082SdimFri Nov 11 10:35:33 1994  Jeff Law  (law@snake.cs.utah.edu)
4370214082Sdim
4371214082Sdim	* hpux-core.c (hpux_core_struct): Delete handles for the
4372214082Sdim	data, reg and stack sections.  They're never used.  Delete
4373214082Sdim	accessor macros.
4374214082Sdim	(make_bfd_asection): Use bfd_make_section_anyway since debugging
4375214082Sdim	cores from dynamic executables may have several sections with the
4376214082Sdim	same logical name.
4377214082Sdim	(hpux_core_core_file_p): Don't save handles to data, reg and
4378214082Sdim	stack sections.  Handle CORE_TEXT, CORE_MMF and CORE_SHM.
4379214082Sdim
4380214082SdimTue Nov  8 13:03:30 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4381214082Sdim
4382214082Sdim	* bout.c (callj_callback): Add new argument shrinking.  Change all
4383214082Sdim	callers.  Handle relocs against section symbols correctly.  If not
4384214082Sdim	shrinking, don't subtract out dstidx; the subtraction is already
4385214082Sdim	in the object file.
4386214082Sdim
4387214082SdimSun Nov  6 12:52:00 1994  Jeff Law  (law@snake.cs.utah.edu)
4388214082Sdim
4389214082Sdim	* som.h: Conditionally include <shl.h> and <dl.h>.
4390214082Sdim
4391214082SdimThu Nov  3 18:19:13 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
4392214082Sdim
4393214082Sdim	* Makefile.in (ALL_MACHINES): Include m68knetbsd.o.
4394214082Sdim
4395214082Sdim	* config/i386linux.mh (EXTRALIBS): Include -lm.
4396214082Sdim
4397214082Sdim	Patches from DJ Delorie:
4398214082Sdim	* coff-go32.c: Replacement file, uses coff-i386.c with minor
4399214082Sdim	changes.
4400214082Sdim	* coff-i386.c (TARGET_UNDERSCORE): allow other files to override
4401214082Sdim	underscore also
4402214082Sdim	* makefile.dos: del ctor.o, add cofflink.o and elf32.o
4403214082Sdim
4404214082Sdim	* aoutx.h (adjust_o_magic): If user set data section vma, use it
4405214082Sdim	to determine the default bss vma.  Patch from Takada Hiroaki,
4406214082Sdim	hiro@is.s.u-tokyo.ac.jp.
4407214082Sdim	(machine_type, case bfd_arch_vax): Set *unknown to false.  Patch
4408214082Sdim	from John David Anglin <dave@hiauly1.hia.nrc.ca>.
4409214082Sdim
4410214082Sdim	* configure.in (tb): Rename ns32knetbsd_vec to pc532netbsd_vec,
4411214082Sdim	since that's what it's called.
4412214082Sdim
4413214082SdimWed Nov  2 15:24:51 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4414214082Sdim
4415214082Sdim	* archive.c (normalize): Change to take a BFD as an argument.
4416214082Sdim	Change VMS version to use bfd_alloc rather than malloc, so that we
4417214082Sdim	don't lose the memory forever.
4418214082Sdim	(_bfd_construct_extended_name_table): Check the name of an archive
4419214082Sdim	entry which is not being extended, and correct it if it is wrong.
4420214082Sdim	This is necessary in case the archive was constructed by another
4421214634Sdim	program which put an entry in the extended name table which we
4422214634Sdim	don't plan to put in ourselves.  From jjc@jclark.com (James
4423214634Sdim	Clark).
4424214634Sdim	(bfd_dont_truncate_arname): Check return value of normalize.
4425214634Sdim
4426214634SdimMon Oct 31 14:19:08 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4427214634Sdim
4428214634Sdim	* elf32-hppa.c (ELF32_PARISC_SX_SIZE): Define.
4429214634Sdim	(ELF32_PARISC_SX_GET, ELF32_PARISC_SX_PUT): Define.
4430214634Sdim	(symextn_entry): Don't define.
4431214634Sdim	(symext_chain_size): Change type to bfd_size_type.
4432214634Sdim	(symextn_contents): Change type to bfd_byte *.
4433214634Sdim	(elf32_hppa_backend_begin_write_processing): Use
4434214634Sdim	ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS).
4435214634Sdim	(elf32_hppa_size_symext): Likewise.  Also, change type of sizep to
4436214634Sdim	bfd_size_type *.
4437214634Sdim	(elf_hppa_tc_make_sections): Cast symextn_contents assignment to
4438214634Sdim	bfd_byte *.  Use ELF32_PARISC_SX_PUT instead of direct assignment.
4439214634Sdim	(elf32_hppa_backend_symbol_table_processing): Use
4440214634Sdim	ELF32_PARISC_SX_SIZE instead of sizeof (symext_entryS).  Use
4441214634Sdim	ELF32_PARISC_SX_GET insetad of direct assignment.
4442214634Sdim	(elf32_hppa_read_symext_info): Change type of contents, and its
4443214634Sdim	assignment cast, to bfd_byte *.  Use ELF32_PARISC_SX_SIZE instead
4444214634Sdim	of sizeof (symextn_entry).  Use symext_entryS instead of
4445214634Sdim	symextn_entry.  Use ELF32_PARISC_SX_GET instead of direct
4446214634Sdim	assignment.
4447214634Sdim
4448214634Sdim	* archive.c (bfd_dont_truncate_arname): Add the ar padding
4449214634Sdim	character, if there is room for it, even if the name is the
4450214634Sdim	maximum length.
4451214634Sdim
4452214634Sdim	* elfcode.h (assign_file_positions_except_relocs): Sort the ELF
4453214634Sdim	headers by section address when assigning file positions.
4454214634Sdim	(elf_sort_hdrs): New static function.
4455214634Sdim
4456214634SdimSun Oct 30 18:56:58 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4457214634Sdim
4458214634Sdim	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Create DT_INIT
4459214634Sdim	and DT_FINI dynamic entries based on the existence of _init and
4460214634Sdim	_fini symbols, not on the .init and .fini sections.  This is
4461214634Sdim	compatible with some SVR4 linkers.
4462214634Sdim	(elf_bfd_final_link): Corresponding change.
4463214634Sdim
4464214634SdimSat Oct 29 12:18:10 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4465214634Sdim
4466214634Sdim	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't move a
4467214634Sdim	symbol with a PLT entry into the .plt section if it is defined in
4468214634Sdim	a regular file.
4469214634Sdim	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
4470214634Sdim
4471214634Sdim	* linker.c (_bfd_generic_link_add_archive_symbols): It's not an
4472214634Sdim	error if an empty archive has no symbol table.
4473214634Sdim	* ecoff.c (ecoff_link_add_archive_symbols): Likewise.
4474214634Sdim	* elfcode.h (elf_link_add_archive_symbols): Likewise.
4475214634Sdim
4476214634SdimFri Oct 28 10:08:41 1994  J.T. Conklin  (jtc@rtl.cygnus.com)
4477214634Sdim
4478214634Sdim        NetBSD/m68k support, based on work by mikeb@snow.datametrics.com: 
4479214634Sdim	* config.bfd (m68*-*-netbsd*): Use m68k-nbsd as bfd_name.
4480214634Sdim	* configure.in (m68knetbsd_vec): Added.
4481214634Sdim	* targets.c (bfd_m68knetbsd_vec): Added.
4482214634Sdim	* hosts/m68knbsd.h, config/m68k-nbsd.mt, m68knetbsd.c: New files.
4483214634Sdim	* Makefile.in (BFD32_BACKENDS, CFILES): Add m68knetbsd.c.
4484214634Sdim
4485214634Sdim	miscellaneous cleanup required by all netbsd targets, based on work 
4486214634Sdim	by Andrew Cagney <cagney@highland.com.au>:
4487214634Sdim	* netbsd.h (N_MAGIC, N_SET_MAGIC, N_GETMAGIC, N_GETMAGIC2, N_TXTADDR,
4488214634Sdim	  N_TXTOFF, N_ALIGN, N_DATADDR, N_DATOFF): Removed.  Generic a.out
4489214634Sdim	  definitions work.
4490214634Sdim	* i386nbsd.c, ns32knbsd.c, sparcnbsd.c (__LDPGSZ): Removed.
4491214634Sdim	  (MY(write_object_contents)): Use NetBSD's magic numbers
4492214634Sdim
4493214634SdimThu Oct 27 16:59:52 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4494214634Sdim
4495214634Sdim	* libelf.h (struct bfd_elf_section_data): Add field dynindx.
4496214634Sdim	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Don't finalize
4497214634Sdim	the .dynsym, .dynstr or .hash sections until after the backend
4498214082Sdim	size_dynamic_sections routine, so that it can add dynamic symbols
4499214082Sdim	if it wants to.
4500214082Sdim	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't define the
4501214082Sdim	symbol to be in the .plt section when generating a shared library
4502214082Sdim	if it is a defined symbol.
4503214082Sdim	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
4504214082Sdim	(elf32_sparc_size_dynamic_sections): When generating a shared
4505214082Sdim	library, allocate space for a dynamic symbol for each output
4506214082Sdim	section, storing the index in the dynindx field of the ELF section
4507214082Sdim	data.  Adjust the other dynindx fields to account for this.
4508214082Sdim	(elf32_sparc_adjust_dynindx): New static function.
4509214082Sdim	(elf32_sparc_relocate_section): When copying a reloc into a shared
4510214082Sdim	library, use the original addend as appropriate.  Convert an
4511214082Sdim	R_SPARC_32 reloc into an R_SPARC_RELATIVE reloc.  Use the dynamic
4512214082Sdim	symbol index of the output section, not the normal symbol index.
4513214634Sdim	(elf32_sparc_finish_dynamic_sections): Don't die if a section does
4514214634Sdim	not exist when setting the value of the dynamic tags.  Write out
4515214082Sdim	a dynamic symbol for each output section.
4516214082Sdim
4517214082SdimWed Oct 26 01:15:51 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4518214082Sdim
4519214082Sdim	* aoutx.h (aout_link_input_section): Don't bother to read or write
4520214082Sdim	the relocs if there aren't any.
4521214082Sdim
4522214082SdimTue Oct 25 11:44:38 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4523214082Sdim
4524214082Sdim	* Makefile.in (ALL_MACHINES): Add tekhex.o.
4525214082Sdim	* targets.c (bfd_target_vector): If SELECT_VECS is not defined,
4526214082Sdim	include tekhex_vec.
4527214082Sdim	* tekhex.c (NIBBLE, ISHEX): Cast array arguments to unsigned char.
4528214082Sdim	(getvalue, getsym, out): Likewise.
4529214082Sdim	(find_chunk): Remove unused variable s.
4530214082Sdim	(first_phase): Remove unused variable s.
4531214082Sdim	(pass_over): Remove unused variable address.
4532214082Sdim	(tekhex_object_p): Remove unused variable section.
4533214082Sdim	(move_section_contents): Change return type from boolean to void.
4534214082Sdim	(tekhex_write_object_contents): Remove unused variables tdata and
4535214082Sdim	list.
4536214082Sdim
4537214082Sdim	* linker.c (enum link_action): Add CIND.
4538214082Sdim	(link_action): Change COMMON_ROW\indr from MDEF to CREF.  Change
4539214082Sdim	INDR_ROW\common from MDEF to CIND.
4540214082Sdim	(_bfd_generic_link_add_one_symbol): In CREF case, handle an
4541214082Sdim	existing symbol which is indirect rather than defined.  Add new
4542214082Sdim	CIND case.
4543214082Sdim
4544214082SdimMon Oct 24 15:33:16 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4545214082Sdim
4546214082Sdim	Change S-record backend to use multiple sections to handle gaps in
4547214082Sdim	file.
4548214082Sdim	* srec.c (srec_data_list_struct): Move field next from last place
4549214082Sdim	to first.  Change type of data to bfd_byte *.
4550214082Sdim	(struct srec_symbol): Define.
4551214082Sdim	(tdata_type): Remove done_symbol_read, count, strings, symbol_idx,
4552214082Sdim	string_size, string_idx.  Change type of symbols to struct
4553214082Sdim	srec_symbol *.  Add symtail and csymbols.
4554214082Sdim	(low, high): Remove.
4555214082Sdim	(size_symbols, fillup_symbols, size_srec, fillup): Remove.
4556214082Sdim	(white, skipwhite, pass_over, object_p): Remove.
4557214082Sdim	(srec_mkobject): Call srec_init.  Adjust tdata initialization for
4558214082Sdim	field changes.
4559214082Sdim	(srec_get_byte, srec_bad_byte): New static functions.
4560214082Sdim	(srec_new_symbol, srec_scan): New static functions.
4561214082Sdim	(srec_object_p): Change type of b to bfd_byte.  Explicitly set
4562214082Sdim	wrong_format error.  Call srec_mkobject and srec_scan instead of
4563214082Sdim	object_p.
4564214082Sdim	(symbolsrec_object_p): Likewise.  Also, change b to be only two
4565214082Sdim	bytes.
4566214082Sdim	(srec_read_section): New static function.
4567214082Sdim	(srec_get_section_contents): Call srec_read_section rather than
4568214082Sdim	pass_over.  Handle zero length section correctly.
4569214082Sdim	(set_set_arch_mach): Change from function to macro.
4570214082Sdim	(srec_set_section_contents): Change data to bfd_byte *.
4571214082Sdim	(srec_write_record): Change data, end and src to bfd_byte *.
4572214082Sdim	(srec_write_header): Change buffer and dst to bfd_byte *.
4573214082Sdim	(srec_write_section): Change location to bfd_byte *.
4574214082Sdim	(srec_write_terminator): Change buffer to bfd_byte *.
4575214082Sdim	(srec_get_symtab_upper_bound): Don't call
4576214082Sdim	srec_get_section_contents.
4577214082Sdim	(srec_get_symtab): Rewrite.
4578214082Sdim
4579214082Sdim	* ecoff.c (ecoff_set_symbol_info): Set udata.i to 0, not NULL.
4580214082Sdim
4581214082SdimFri Oct 21 16:43:13 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
4582214082Sdim
4583214082Sdim	* libaout.h (machine_type): added M_68K_NETBSD and M_SPARC_NETBSD.
4584214082Sdim	* i386netbsd.c, ns32knetbsd.c, sparcnetbsd.c: removed RCS Id's.
4585214082Sdim	  changed how PAGE_SIZE and SEGMENT_SIZE are defined so they are
4586214082Sdim	  consistant with each other.
4587214082Sdim	* netbsd.h (N_HEADER_IN_TEXT, TEXT_START_ADDR): NetBSD fits its
4588214082Sdim	  header into the start of its text segment.
4589214082Sdim
4590214082SdimFri Oct 21 17:13:07 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4591214634Sdim
4592214082Sdim	* targets.c (BFD_JUMP_TABLE_ARCHIVE): Add case for
4593214634Sdim	_construct_extended_name_table.
4594214082Sdim	(bfd_target): Add _bfd_construct_extended_name_table.
4595214082Sdim	* archive.c (_bfd_archive_bsd_construct_extended_name_table): New
4596214082Sdim	function.
4597214082Sdim	(_bfd_archive_coff_construct_extended_name_table): New function.
4598214082Sdim	(_bfd_construct_extended_name_table): Renamed by adding a leading
4599214082Sdim	underscore, and made externally visible.  Added trailing_slash
4600214082Sdim	argument, and used it instead of elf_style.  Changed type of
4601214082Sdim	tablen to bfd_size_type *.
4602214082Sdim	(_bfd_write_archive_contents): Use BFD_SEND to call
4603214634Sdim	construct_extended_name_table.  Use the returned name.
4604214634Sdim	* libbfd-in.h (_bfd_construct_extended_name_table): Declare.
4605214082Sdim	(_bfd_noarchive_construct_extended_name_table): Define.
4606214082Sdim	(_bfd_archive_bsd_construct_extended_name_table): Declare.
4607214082Sdim	(_bfd_archive_coff_construct_extended_name_table): Declare.
4608214082Sdim	* bfd-in2.h: Rebuild.
4609214082Sdim	* libbfd.h: Rebuild.
4610214082Sdim	* som.c (som_construct_extended_name_table): New static function.
4611214082Sdim	* aout-target.h (MY_construct_extended_name_table): Define.
4612214082Sdim	* coff-rs6000.c (rs6000coff_construct_extended_name_table):
4613214082Sdim	Define.
4614214082Sdim	* ieee.c (ieee_construct_extended_name_table): Define.
4615214082Sdim	* libecoff.h (_bfd_ecoff_construct_extended_name_table): Define.
4616214082Sdim	* oasys.c (oasys_construct_extended_name_table): Define.
4617214082Sdim
4618214082Sdim	Fix the ELF linker to not require an interpreter if no dynamic
4619214082Sdim	objects were seen, even when linking PIC code.
4620214082Sdim	* libelf.h (ELF_LINK_HASH_NEEDS_PLT): Define.
4621214082Sdim	(struct elf_link_hash_table): Add field dynamic_sections_created.
4622214082Sdim	* elfcode.h (elf_link_record_dynamic_symbol): Create dynstr if it
4623214082Sdim	doesn't already exist.
4624214082Sdim	(elf_link_add_object_symbols): Create dynamic sections based on
4625214082Sdim	dynamic_sections_created field, not dynobj field.  Don't bother to
4626214082Sdim	set dynobj.
4627214082Sdim	(elf_link_create_dynamic_sections): If dynamic sections were
4628214634Sdim	already created, don't do anything.  If dynobj is already set, use
4629214082Sdim	it; otherwise, set it to the bfd argument.  Don't initialize
4630214082Sdim	dynsymcount.  Only create dynstr if it does not exist.  Set
4631214082Sdim	dynamic_sections_created to true.
4632214082Sdim	(NAME(bfd_elf,size_dynamic_sections)): Skip most of this function
4633214082Sdim	if no dynamic objects were seen.
4634214082Sdim	(elf_adjust_dynamic_symbol): If a symbol has the
4635214082Sdim	ELF_LINK_HASH_NEEDS_PLT flag set, let the backend adjust it.
4636214082Sdim	(elf_bfd_final_link): Change most decisions based on dynobj to
4637214082Sdim	check dynamic_sections_created instead.
4638214082Sdim	(elf_link_output_extsym): Only handle dynamic symbols if a dynamic
4639214082Sdim	object was seen.
4640214082Sdim	* elf.c (_bfd_elf_link_hash_table_init): Initialize new field
4641214082Sdim	dynamic_sections_created.  Set dynsymcount to 1, not 0.
4642214082Sdim	* elf32-i386.c (elf_i386_create_dynamic_sections): Call
4643214082Sdim	elf_i386_create_got_section rather than creating the .got and
4644214082Sdim	.got.plt sections.
4645214082Sdim	(elf_i386_create_got_section): New static function.
4646214082Sdim	(elf_i386_check_relocs): Just call elf_i386_create_got_section if
4647214082Sdim	a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
4648214082Sdim	Only create the .rel.got section, and only make space for a reloc,
4649214082Sdim	for a global symbol or when generating a shared object.  For a
4650214082Sdim	R_386_PLT32 reloc, just set the	ELF_LINK_HASH_NEEDS_PLT flag.
4651214082Sdim	(elf_i386_adjust_dynamic_symbol): Rework initial assertion to
4652214082Sdim	permit ELF_LINK_HASH_NEEDS_PLT non dynamic symbols.  Create a
4653214082Sdim	procedure linkage table entry for such symbols.  But, if no
4654214082Sdim	dynamic objects were seen, never create a PLT entry.
4655214082Sdim	(elf_i386_size_dynamic_sections): If no dynamic objects were seen,
4656214082Sdim	skip most of this function, and force the size of the .rel.got
4657214082Sdim	section to zero.
4658214082Sdim	(elf_i386_relocate_section): For a R_386_GOT32 reloc against a global
4659214082Sdim	symbol when no dynamic object was seen, initialize the contents of
4660214082Sdim	the .got section.  For a R_386_GOT32 against a local symbol, only
4661214082Sdim	create a R_386_RELATIVE reloc when generating a shared object.
4662214082Sdim	Treat a R_386_PLT32 reloc against a symbol for which we did not
4663214082Sdim	create a PLT entry as a R_386_PC32 reloc.
4664214082Sdim	(elf_i386_finish_dynamic_sections): Only fiddle with the dynamic
4665214082Sdim	entries and the PLT if we saw a dynamic object.
4666214082Sdim	* elf32-sparc.c (elf_sparc_howto_table): Fix R_SPARC_PC22 by
4667214082Sdim	setting rightshift to 10.  Fix R_SPARC_WPLT20 by setting
4668214082Sdim	rightshift to 2, size to 2, bitsize to 30, and dst_mask to
4669214082Sdim	0x3fffffff.
4670214082Sdim	(elf32_sparc_create_dynamic_sections): Don't set the size of the
4671214082Sdim	.plt section.  Call elf32_sparc_create_got_section rather than
4672214082Sdim	creating the .got section.
4673214082Sdim	(elf32_sparc_check_relocs): Call elf32_sparc_create_got_section if
4674214082Sdim	a GOT table is needed, not bfd_elf32_link_create_dynamic_sections.
4675214082Sdim	Only create the .rela.got section, and only make space for a
4676214082Sdim	reloc, for a global symbol or when generating a shared object.
4677214082Sdim	Set the alignment of the .rela.got section to 2.  For a
4678214082Sdim	R_SPARC_WPLT30 reloc, just set the ELF_LINK_HASH_NEEDS_PLT flag.
4679214082Sdim	(elf32_sparc_adjust_dynamic_symbol): Rework initial assertion to
4680214082Sdim	permit ELF_LINK_HASH_NEDS_PLT non dynamic symbols.  Create a
4681214082Sdim	procedure linkage table for such symbols.  But, if no dynamic
4682214082Sdim	objects were seen, never create a PLT entry.  Initialize the size
4683214082Sdim	of the .plt section.
4684214082Sdim	(elf32_sparc_size_dynamic_sections): If no dynamic objects were
4685214082Sdim	seen, skip most of this function, and force the size of the
4686214082Sdim	.rela.got section to zero.  Strip empty reloc sections, and strip
4687214082Sdim	an empty .plt section.
4688214082Sdim	(elf32_sparc_relocate_section): For a GOT reloc against a global
4689214082Sdim	symbol when no dynamic object was seen, initialize the contents of
4690214082Sdim	the .got section.  For a GOT reloc against a local symbol, only
4691214082Sdim	create a R_SPARC_RELATIVE reloc when generating a shared object.
4692214082Sdim	Treat a R_SPARC_WPLT30 reloc against a symbol for which we did not
4693214634Sdim	create a PLT entry as a R_SPARC_WDISP30 reloc.
4694214634Sdim	(elf32_sparc_finish_dynamic_sections): Only fiddle with the
4695214082Sdim	dynamic entries and the PLT if we saw a dynamic object.
4696214082Sdim
4697214082SdimThu Oct 20 13:28:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4698214082Sdim
4699214082Sdim	* elfcode.h (elf_map_symbols): Don't worry about section symbols
4700214082Sdim	in a section not owned by any BFD.
4701214082Sdim	(elf_section_from_bfd_section): Separate out loop which calls
4702214634Sdim	backend routine.  Check bfd_section and call the backend routine
4703214634Sdim	even for a section not owned by any BFD.
4704214634Sdim	* elf32-mips.c (mips_elf_section_from_bfd_section): Handle
4705214634Sdim	.acommon section.
4706214634Sdim
4707214082SdimWed Oct 19 13:28:29 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
4708214634Sdim
4709214082Sdim	* coffgen.c (coff_print_symbol): Make names for section number and
4710214634Sdim	storage class slightly more verbose.  It's not clear how many
4711214634Sdim	characters I can justify using up, but before this change they
4712214634Sdim	both were abbreviated "sc" which is (IMHO) clearly unacceptable.
4713214634Sdim
4714214634SdimWed Oct 19 01:26:39 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
4715214634Sdim
4716214634Sdim	* binary.c (binary_set_section_contents): Set the base file
4717214634Sdim	position from the lowest section VMA, not the start address.
4718214634Sdim
4719214634Sdim	* aoutx.h (NAME(aout,slurp_symbol_table)): Don't return an error
4720214634Sdim	if there are no symbols.
4721214634Sdim	* coffgen.c (coff_get_normalized_symtab): Likewise.
4722214634Sdim	* hp300hpux.c (MY(slurp_symbol_table)): Likewise.
4723214082Sdim
4724214082SdimTue Oct 18 12:56:43 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4725214082Sdim
4726214082Sdim	* aout-target.h (MY_bfd_copy_private_section_data): Only copy
4727214082Sdim	subformat to another bfd_target_aout_flavour file.
4728214082Sdim
4729214082Sdim	* binary.c: New file for raw binary output format.
4730214082Sdim	* Makefile.in (BFD_LIBS): Add binary.o.
4731214082Sdim	(CFILES): Add binary.c.
4732214082Sdim	* targets.c (binary_vec): Declare.
4733214082Sdim	(bfd_target_vector): Include binary_vec.
4734214082Sdim
4735214082Sdim	* srec.c (tdata_type): Add field tail.
4736214082Sdim	(srec_mkobject): Initialize tail.
4737214082Sdim	(srec_set_section_contents): Sort S record list by address.
4738214082Sdim
4739214082SdimMon Oct 17 11:38:16 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4740214082Sdim
4741214082Sdim	* elfcode.h (elf_map_symbols): Sort the symbols into a new array,
4742214082Sdim	rather than messing with Elf_Sym_Extra.  Store the symbol index in
4743214082Sdim	the udata.i field.
4744214082Sdim	(swap_out_syms): Use outbound_syms as a pointer rather than as an
4745214082Sdim	array.  Don't worry about elf_sym_num.
4746214082Sdim	* libelf.h (struct elf_sym_extra): Don't define.
4747214082Sdim	(Elf_Sym_Extra): Don't define.
4748214082Sdim	(struct elf_obj_tdata): Remove sym_extra field.
4749214082Sdim	(elf_sym_extra): Don't define.
4750214082Sdim	* elf32-hppa.c (elf32_hppa_backend_final_write_processing): Use
4751214082Sdim	udata.i rather than elf_sym_extra array.
4752214082Sdim
4753214082Sdim	* syms.c (asymbol): Change udata field into a union.
4754214082Sdim	* bfd-in2.h: Rebuild.
4755214082Sdim	* aoutx.h (NAME(aout,translate_symbol_table)): Use udata.p rather
4756214082Sdim	than just udata.
4757214082Sdim	* bout.c (perform_slip): Likewise.
4758214082Sdim	* hp300hpux.c (MY(slurp_symbol_table)): Likewise.
4759214082Sdim	* ieee.c (ieee_slurp_external_symbols): Likewise.
4760214082Sdim	* linker.c (generic_link_add_symbol_list): Likewise.
4761214082Sdim	(default_indirect_link_order): Likewise.
4762214082Sdim	* oasys.c (oasys_slurp_symbol_table): Likewise.
4763214082Sdim	* reloc16.c (bfd_perform_slip): Likewise.
4764214082Sdim	* srec.c (fillup_symbols): Likewise.
4765214082Sdim	* coffcode.h (get_index): Use udata.i rather than just udata.
4766214082Sdim	(coff_slurp_symbol_table): Likewise.
4767214082Sdim	* coffgen.c (set_index): Likewise.
4768214082Sdim	* ecoff.c (ecoff_set_symbol_info): Likewise.
4769214082Sdim	* elfcode.h (elf_symbol_from_bfd_symbol): Likewise.
4770214082Sdim	* libecoff.h (ecoff_get_sym_index, ecoff_set_sym_index): Likewise.
4771214082Sdim	* som.c (compare_syms): Likewise.
4772214082Sdim	(som_prep_for_fixups): Likewise.
4773214082Sdim	(som_write_fixups): Likewise.
4774214082Sdim
4775214082Sdim	Use a hash table when writing out ELF symbol names.
4776214082Sdim	* elfcode.h (elf_stringtab_init): New static function.
4777214634Sdim	(bfd_new_strtab, bfd_add_to_strtab, bfd_add_2_to_strtab): Remove.
4778214634Sdim	Change all callers to use elf_stringtab_init or
4779214634Sdim	_bfd_stringtab_add, and get stringtab lengths using
4780214634Sdim	_bfd_stringtab_size.
4781214634Sdim	(elf_fake_sections): Change ignored argument to pointer to
4782214634Sdim	boolean, and set the boolean to true if an error occurs.  If an
4783214634Sdim	error has already occurred, don't do anything.
4784214634Sdim	(assign_section_numbers): Just set sh_size, not contents.
4785214082Sdim	(elf_compute_section_file_positions): Pass the address of a
4786214082Sdim	boolean to elf_fake_sections.  Pass the address of a
4787214082Sdim	bfd_strtab_hash to swap_out_syms.  Write out the .strtab section.
4788214082Sdim	(prep_headers): Change shstrtab to bfd_strtab_hash.
4789214082Sdim	(swap_out_syms): Take a pointer to a bfd_strtab_hash as an
4790214082Sdim	argument.  Set it to the symbol names.
4791214082Sdim	(NAME(bfd_elf,write_object_contents)): Write out the section
4792214082Sdim	header names using _bfd_stringtab_emit.
4793214082Sdim	(elf_debug_section): Remove first argument; get the section name
4794214082Sdim	via the bfd_section pointer.  Change caller.
4795214082Sdim	(elf_bfd_final_link): Write out the symbol names using
4796214082Sdim	_bfd_stringtab_emit.  Likewise for the .dynstr section contents.
4797214082Sdim	Free the symbol names at the end of the function.
4798214082Sdim	(elf_link_input_bfd): Remove the last argument, output_names,
4799214082Sdim	from relocate_section.  Save the old symbol contents before
4800214082Sdim	calling elf_link_output_sym, and restore them afterward.
4801214082Sdim	* libelf.h (struct elf_link_hash_table): Change dynstr field to
4802214082Sdim	struct bfd_strtab_hash.
4803214082Sdim	(struct elf_backend_data): Remove last argument, output_names,
4804214082Sdim	from elf_backend_relocate_section field.
4805214082Sdim	(struct strtab): Don't define.
4806214082Sdim	(struct elf_obj_tdata): Change strtab_ptr field to struct
4807214082Sdim	bfd_strtab_hash.
4808214082Sdim	* elf32-hppa.c (elf32_hppa_relocate_section): Remove last
4809214082Sdim	argument, output_names.
4810214082Sdim	* elf32-i386.c (elf_i386_relocate_section): Likewise.
4811214082Sdim	* elf32-mips.c (mips_elf_relocate_section): Likewise.
4812214082Sdim	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
4813214082Sdim
4814214082Sdim	* libbfd-in.h (DEFAULT_STRING_SPACE_SIZE): Don't define.
4815214082Sdim	(bfd_add_to_string_table): Don't declare.
4816214082Sdim	* libbfd.h: Rebuild.
4817214082Sdim	* libbfd.c (bfd_add_to_string_table): Remove.
4818214082Sdim
4819214634Sdim	* elfcode.h (elf_swap_shdr_in): Use bfd_section, not rawdata.
4820214634Sdim	Clear contents field.
4821214634Sdim	(bfd_section_from_shdr): In SHT_STRTAB case, check bfd_section,
4822214082Sdim	not rawdata.  Don't set rawdata if e_shstrndx.  Use bfd_section
4823214634Sdim	rather than rawdata in commented out code.  In SHT_REL[A] case,
4824214634Sdim	don't bother to check elf_section_data of section returned by
4825214634Sdim	section_from_elf_index.
4826214634Sdim	(elf_fake_sections): Set bfd_section, not rawdata.  Don't set
4827214634Sdim	size.
4828214082Sdim	(elf_map_symbols): Don't set elf_num_section_syms.  Don't create
4829214082Sdim	section symbols that already exist.
4830214082Sdim	(assign_file_position_for_section): Use bfd_section, not rawdata.
4831214082Sdim	(section_from_elf_index): Just check bfd_section field.
4832214082Sdim	(elf_section_from_bfd_section): Likewise.
4833214634Sdim	(elf_debug_section): Don't print rawdata, contents, or size.
4834214082Sdim	(elf_link_add_object_symbols): Don't error out if
4835214634Sdim	section_from_elf_index returns NULL.
4836214634Sdim	(elf_bfd_final_link): Check return value from
4837214082Sdim	section_from_elf_index against NULL, not bfd_is_abs_section.
4838214634Sdim	(elf_link_input_bfd): Don't check section_from_elf_index return
4839214082Sdim	value.
4840214082Sdim	* libelf.h (struct elf_obj_tdata): Remove num_section_syms field.
4841214634Sdim	(elf_num_section_syms): Don't define.
4842214634Sdim	* elf.c (elf_get_str_section): Store section contents in contents
4843214634Sdim	field rather than rawdata field.
4844214634Sdim	(elf_string_from_elf_section): Likewise.
4845214082Sdim	(_bfd_elf_make_section_from_shdr): Store BFD section pointer in
4846214634Sdim	bfd_section field rather than rawdata field.
4847214634Sdim	* elf32-hppa.c (elf32_hppa_read_symext_info): Use bfd_section
4848214634Sdim	rather than rawdata.
4849214634Sdim	(elf32_hppa_size_stubs): Likewise.
4850214634Sdim	(elf32_hppa_backend_symbol_table_processing): Don't set
4851214634Sdim	symextn_hdr->size; just use sh_size.
4852214634Sdim	* elf32-mips.c (mips_elf_final_write_processing): Use bfd_section
4853214634Sdim	rathern than rawdata.
4854214634Sdim	(mips_elf_section_from_shdr): Likewise.
4855214634Sdim	(mips_elf_section_processing): Likewise.
4856214634Sdim	(mips_elf_section_from_bfd_section): Remove rawdata check.
4857214082Sdim
4858214082Sdim	* srec.c (pass_over): Set the start address for S7, S8 or S9.
4859214082Sdim
4860214082SdimFri Oct 14 19:15:46 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
4861214082Sdim
4862214082Sdim	* VERSION: Updated to 2.5.
4863214082Sdim
4864214082SdimFri Oct 14 11:07:50 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4865214082Sdim
4866214634Sdim	* bfd.c (bfd_scan_vma): Cast end to be non const before passing it
4867214634Sdim	to strtoul.
4868214634Sdim
4869214634SdimThu Oct 13 14:40:41 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4870214082Sdim
4871214082Sdim	* bfd.c (bfd_scan_vma): Pass end argument on to strtoul.
4872214082Sdim
4873214082SdimWed Oct 12 16:46:43 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
4874214082Sdim
4875214082Sdim	* opncls.c (bfd_realloc): Deleted, since it's broken and fixing it
4876214082Sdim	would make it slow.  Besides, it isn't used much.
4877214082Sdim	* elfcode.h (elf_map_symbols): Always allocate new storage for the
4878214634Sdim	symbol table.
4879214634Sdim
4880214634SdimWed Oct 12 11:54:37 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4881214634Sdim
4882214634Sdim	* ecoff.c (ecoff_set_symbol_info): Mark local stProc, stLabel or
4883214634Sdim	stabs symbols as BSF_DEBUGGING.
4884214082Sdim
4885214082Sdim	* rs6000-core.c (rs6000coff_core_file_matches_executable_p): Make
4886214082Sdim	str1 and str2 const pointers.
4887214082Sdim
4888214082Sdim	* Makefile.in (INSTALL): Use top level install.sh script.
4889214082Sdim	* config/README (INSTALL): Remove.
4890214082Sdim	* config/delta88.mh (INSTALL): Remove.
4891214082Sdim	* config/i386v4.mh (INSTALL): Remove.
4892214082Sdim	* config/irix4.mh (INSTALL): Remove.
4893214082Sdim	* config/irix5.mh (INSTALL): Remove.
4894214082Sdim	* config/ncrt3000.mh (INSTALL): Remove.
4895214082Sdim
4896214082SdimTue Oct 11 13:57:56 1994  Eric Youngdale  (eric@andante.aib.com)
4897214082Sdim
4898214082Sdim	* elf32-i386.c (elf_i386_check_relocs): Make sure that a symbol
4899214082Sdim	with a global offset table entry or a procedure linkage table
4900214082Sdim	entry is added to the dynamic symbol table.
4901214082Sdim	* elf32-sparc.c (elf32_sparc_check_relocs): Likewise.
4902214082Sdim	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): If a symbol has
4903214082Sdim	already gotten a procedure linkage table entry, change the
4904214082Sdim	definition to the PLT entry.
4905214082Sdim	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
4906214082Sdim
4907214082SdimTue Oct 11 17:12:00 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4908214082Sdim
4909214082Sdim	* lynx-core.c (lynx_core_file_p): SPARC Lynx appears to start
4910214082Sdim	dumping the .data section in a core file at a page boundary.
4911214082Sdim
4912214082SdimMon Oct 10 16:24:44 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
4913214082Sdim
4914214082Sdim	* cofflink.c (_bfd_coff_final_link): Cast argument to bfd_h_put_32
4915214082Sdim	to correct type.
4916214082Sdim	(coff_read_string_table): Cast argument to bfd_h_get_32 to correct
4917214082Sdim	type.
4918214082Sdim	* elfcode.h (elf_link_output_extsym): Cast argument to
4919214082Sdim	bfd_elf_hash to correct type.
4920214082Sdim
4921214082Sdim	* elf32-sparc.c (elf_sparc_howto_table): The PC10, PC22, and
4922214082Sdim	WPLT30 relocations are PC-relative.
4923214082Sdim
4924214082SdimThu Oct  6 12:57:26 1994  Richard Earnshaw (rwe@pegasus.esprit.ec.org)
4925214082Sdim
4926214082Sdim	* aoutx.h (adjust_o_magic): Correctly initialize vma if the vma of
4927214082Sdim	the text section was user-defined.
4928214082Sdim
4929214082SdimWed Oct  5 14:42:12 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4930214082Sdim
4931214082Sdim	* archive.c (bfd_construct_extended_name_table): SVR4 uses slash
4932214082Sdim	newline at the end of the file name, not just newline.
4933214082Sdim
4934214082SdimTue Oct  4 11:23:12 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4935214082Sdim
4936214082Sdim	* ecoff.c (_bfd_ecoff_new_section_hook): Default section alignment
4937214082Sdim	power to 4, rather than using align_power_min.
4938214082Sdim
4939214082Sdim	* coffcode.h (coff_new_section_hook): Don't use align_power_min;
4940214082Sdim	use COFF_DEFAULT_SECTION_ALIGNMENT_POWER instead.  Force the .stab
4941214634Sdim	and .stabstr sections to be aligned to no more than 2.  Remove
4942214634Sdim	COFF_SPARC special cases.
4943214634Sdim	* coff-a29k.c: Define COFF_DEFAULT_SECTION_ALIGNMENT_POWER.
4944214634Sdim	* coff-apollo.c, coff-go32.c, coff-h8300.c: Likewise.
4945214634Sdim	* coff-h8500.c, coff-i386.c, coff-i960.c, coff-m68k.c: Likewise.
4946214634Sdim	* coff-m88k.c, coff-rs6000.c, coff-sh.c, coff-sparc.c: Likewise.
4947214634Sdim	* coff-we32k.c, coff-z8k.c: Likewise.
4948214634Sdim
4949214634Sdim	* configure.in: Use ${config_shell} when running config.bfd.
4950214634Sdim
4951214634Sdim	* cofflink.c (coff_link_input_bfd): Don't try to convert a long
4952214634Sdim	filename if the offset field is zero.
4953214634Sdim
4954214634Sdim	* elfcode.h (swap_out_syms): If the alignment of a common symbol
4955214634Sdim	was not set, use a sensible default rather than zero.
4956214634Sdim
4957214634SdimMon Oct  3 16:04:29 1994  H.J. Lu (hjl@nynexst.com)
4958214634Sdim
4959214634Sdim	* opncls.c (bfd_close): Honor umask when setting execution bits.
4960214634Sdim	(bfd_close_all_done): Likewise.
4961214634Sdim
4962214634SdimMon Oct  3 04:41:49 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
4963214634Sdim
4964214634Sdim	* rs6000-core.c (rs6000coff_core_p):  Set SEC_HAS_CONTENTS flag
4965214634Sdim	for .stack and .ldinfo sections. Cast coredata.c_tab to a
4966214634Sdim	file_ptr to avoid warnings from gcc.
4967214634Sdim
4968214634SdimFri Sep 30 13:11:38 1994  Ian Lance Taylor  <ian@sanguine.cygnus.com>
4969214634Sdim
4970214634Sdim	* elfcode.h (elf_bfd_final_link): Remove assertion when a non
4971214634Sdim        SEC_IN_MEMORY section is found in dynobj.  This can happen when
4972214634Sdim	linking PIC compiled code.
4973214634Sdim
4974214634SdimThu Sep 29 15:21:44 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
4975214634Sdim
4976214634Sdim	* reloc.c (bfd_install_relocation): Change type of "data" to
4977214634Sdim	bfd_byte *, to go along with yesterday's change.
4978214634Sdim
4979214634Sdim	* elf.c (bfd_elf_print_symbol): Moved here from elf_print_symbol
4980214634Sdim	in elfcode.h.  (case bfd_print_symbol_all): Print symbol's size
4981214634Sdim	field, except for common symbols; print their alignment.
4982214634Sdim	* elfcode.h (elf_print_symbol): Deleted.
4983214634Sdim	* libelf.h (bfd_elf_print_symbol): Declare.
4984214634Sdim	(bfd_elf{32,64}_print_symbol): Replace declarations with macros.
4985214634Sdim
4986214634Sdim	* syms.c (bfd_print_symbol_vandf): Show BSF_LOCAL and BSF_GLOBAL
4987214634Sdim	in one column.  Use the column freed up to show BSF_FUNCTION and
4988214634Sdim	BSF_FILE.
4989214634Sdim
4990214634SdimThu Sep 29 12:29:01 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
4991214634Sdim
4992214634Sdim	* syms.c (stt): Add .rdata and .rodata.
4993214634Sdim
4994214634SdimWed Sep 28 13:35:05 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
4995214634Sdim
4996214634Sdim	* reloc.c (bfd_install_relocation): Cast data_start to bfd_byte *
4997214634Sdim	before trying to add values to it.
4998214634Sdim
4999214634SdimTue Sep 27 16:47:58 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
5000214634Sdim
5001214634Sdim	* elf32-hppa.c (elf32_hppa_backend_final_write_processing): Cast
5002214634Sdim	return value from elf_sym_extra.
5003214634Sdim	(elf32_hppa_build_stubs): Cast return value from bfd_zalloc.
5004214634Sdim	(elf32_hppa_size_stubs): Cast return value from malloc.
5005214634Sdim
5006214634Sdim	* gen-aout.c (main): Declare and initialize "arch".
5007214634Sdim
5008214634Sdim	* cofflink.c (coff_link_add_symbols): Cast return value of
5009214634Sdim	bfd_hash_allocate.
5010214634Sdim
5011214634Sdim	* riscix.c (riscix_callback): Use PARAMS macro in prototype.
5012214634Sdim
5013214634Sdim	* reloc.c (bfd_install_relocation): New function, mostly copied
5014214634Sdim	from bfd_perform_relocation, adjusted for the assembler's needs.
5015214634Sdim	* bfd-in2.h: Regenerated.
5016214082Sdim
5017214082SdimMon Sep 26 11:00:14 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5018214082Sdim
5019214082Sdim	* elfcode.h (assign_file_positions_except_relocs): Align the
5020214082Sdim	section VMA and the file position even if D_PAGED is not set.
5021214634Sdim
5022214082Sdim	* bfd-in.h (bfd_seek): Change declaration to not mark fp const.
5023214082Sdim	* bfd-in2.h: Rebuild.
5024214082Sdim	* libbfd.c (bfd_seek): Don't mark parameters const, to avoid
5025214634Sdim	conflicts with declaration.
5026214634Sdim
5027214082SdimFri Sep 23 15:15:31 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5028214082Sdim
5029214634Sdim	* elfcode.h (map_program_segments): Don't abort if we allocated
5030214634Sdim	too much space for the program header, only if we allocated too
5031214082Sdim	little.
5032214634Sdim	(assign_file_positions_except_relocs): Similar change.
5033214634Sdim
5034214634SdimTue Sep 20 13:17:07 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
5035214634Sdim
5036214634Sdim	* libaout.h: Fix comment.
5037214634Sdim	* ns32knbsd.h: Changed M_NS32K_NETBSD to M_532_NETBSD to match
5038214634Sdim	  libaout.h.
5039214634Sdim
5040214634SdimTue Sep 20 15:23:21 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5041214634Sdim
5042214634Sdim	* Makefile.in: Rebuilt dependencies.
5043214082Sdim	(BFD32_BACKENDS): Add sparcnetbsd.o.
5044214082Sdim	(CFILES): Add ns32knetbsd.c and sparcnetbsd.c.
5045214634Sdim	* targets.c: ns32knetbsd_vec was renamed to pc532netbsd_vec.
5046214634Sdim
5047214634Sdim	* coff-sh.c (rtype2howto): Remove; unused.
5048214634Sdim	(coff_sh_relocate_section): Remove unused local variable rstat.
5049214634Sdim	(reloc_processing): Comment out; unused.
5050214634Sdim
5051214634SdimFri Sep 16 12:12:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5052214634Sdim
5053214634Sdim	* aoutx.h (aout_link_write_other_symbol): If h->indx is -2, then
5054214634Sdim	always write it out even if it would normally be stripped.
5055214634Sdim	(aout_link_input_section_std): If we find a reloc against a
5056214634Sdim	stripped global symbol, force it to be written out rather than
5057214082Sdim	merely calling unattached_reloc.
5058214082Sdim	(aout_link_input_section_ext): Likewise.
5059214082Sdim	(aout_link_reloc_link_order): Likewise.
5060214082Sdim
5061214082SdimWed Sep 14 15:37:19 1994  Jeff Law  (law@snake.cs.utah.edu)
5062214082Sdim
5063214082Sdim	* som.h (struct somdata): New field sorted_syms.
5064214082Sdim	(obj_som_sorted_syms): Accessor macro.
5065214082Sdim	* som.c (som_object_setup): Initialize sorted_syms to NULL.
5066214082Sdim	(som_prep_for_fixups): Sort a copy of the BFD's symbol table;
5067214082Sdim	store the sorted symbol table in sorted_syms.
5068214082Sdim	(som_write_fixups): Initalize tmp_reloc to NULL to make GCC happy.
5069214082Sdim	(som_begin_writing): Similarly for exec_header.  Pass the sorted
5070214082Sdim	symbol table to som_write_symbol_strings.
5071214082Sdim	(som_build_and_write_symbol_table): Use the sorted symbols rather
5072214082Sdim	than the canonical symbol table.
5073214082Sdim
5074214082Sdim	* som.h (som_symbol_type): Add "stringtab_offset" field.
5075214082Sdim	* som.c (som_write_symbol_strings): Use "stringtab_offset"
5076214082Sdim	rather than destroying the "name" field in the BFD symbol.
5077214082Sdim	(som_build_and_write_symbol_table): Likewise.
5078214082Sdim
5079214082SdimWed Sep 14 15:06:55 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5080214082Sdim
5081214082Sdim	* aoutx.h (aout_link_write_symbols): Rename skip_indirect to
5082214082Sdim	skip_next.  If we find an N_WARNING symbol which has already been
5083214082Sdim	written out, set skip_next.
5084214082Sdim
5085214082Sdim	* libecoff.h (struct ecoff_tdata): Add field find_buffer.
5086214082Sdim	* ecoff.c: Include aout/stab_gnu.h.
5087214082Sdim	(ecoff_find_nearest_line): Handle stabs debugging information.
5088214634Sdim
5089214634Sdim	* elfcode.h (elf_link_output_extsym): Keep a symbol marked as weak
5090214082Sdim	even if it is referenced by another object.
5091214082Sdim
5092214082SdimTue Sep 13 17:57:00 1994  Jeff Law  (law@snake.cs.utah.edu)
5093214082Sdim
5094214082Sdim	* som.c (som_fixup_formats): Case R_ENTRY (0xb3), set both
5095214082Sdim	'T' and 'U' to grab all the unwind information.
5096214082Sdim	(som_set_reloc_info): Make 'U' unwind bits persist across
5097214082Sdim	multiple SOM relocations.  Set the addend field of an R_ENTRY
5098214082Sdim	relocation to the value in 'T'; set the addend field on an
5099214082Sdim	R_EXIT relocation to the value in 'U'.
5100214082Sdim
5101214082Sdim	* som.h (som_symbol_type): Delete unwind field.
5102214082Sdim
5103214082Sdim	* som.c (som_write_fixups): For R_ENTRY fixups, get 32bits of
5104214082Sdim	unwind information from the addend field of the R_ENTRY, get the
5105214082Sdim	other 32bits from the addend field of the R_EXIT.
5106214082Sdim	(bfd_som_attach_unwind_info): Delete function and all references.
5107214082Sdim
5108214082Sdim	* som.h (som_symbol_type): Delete unused a.out-related fields.
5109214082Sdim
5110214082Sdim	* som.c (bfd_section_from_som_symbol): Use bfd_abs_section_ptr
5111214082Sdim	instead of &bfd_abs_section.
5112214082Sdim
5113214082Sdim	* som.c (som_object_setup): Handle exec_entry and exec_flags being
5114214082Sdim	switched in executables created by the OSF1 linker.
5115214082Sdim	(som_write_fixups): Handle R_EXIT just like the R_{F,L,R}SEL
5116214082Sdim	fixups.  Support R_ALT_ENTRY (handle just like R_EXIT).
5117214082Sdim
5118214082SdimTue Sep 13 16:04:07 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
5119214082Sdim
5120214082Sdim	* cofflink.c (coff_link_input_bfd): syment_base is unsigned
5121214082Sdim	so can't compare -ve numbers with it.
5122214082Sdim
5123214082SdimMon Sep 12 20:31:17 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
5124214082Sdim
5125214082Sdim	* configure.in (shcoff_vec): Use cofflink.o now.
5126214082Sdim	* coff-sh.c: Rewritten to use new fast coff backend.
5127214082Sdim
5128214082SdimTue Sep 13 16:23:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5129214082Sdim
5130214082Sdim	* aoutx.h (NAME(aout,final_link)): Don't assume that all the input
5131214082Sdim        files are a.out.
5132214082Sdim
5133214082SdimTue Sep 13 11:09:39 1994  J.T. Conklin  (jtc@rtl.cygnus.com)
5134214634Sdim
5135214634Sdim	* configure.host (sparc-*-netbsd): use sparcnbsd.
5136214634Sdim	  (ns32k-*-netbsd): use ns32knbsd.
5137214634Sdim
5138214634Sdim	* hosts/{nbsd,i386nbsd,ns32knbsd,sparcnbsd}.h: New files, NetBSD
5139214634Sdim	  host support.
5140214634Sdim
5141214634Sdim	* sparcnetbsd.c: New file, adds support for NetBSD/sparc.
5142214634Sdim	* config/sparc-nbsd.mt: Likewise.
5143214082Sdim
5144214082Sdim	* netbsd.h: New file, definitions common to all netbsd ports.
5145214082Sdim	* i386netbsd.c: Use it.
5146214082Sdim        * ns32knetbsd.c: Use it.
5147214082Sdim
5148214082Sdim	* Makefile.in, configure.in, targets.c, config/i386-nbsd.mt,
5149214082Sdim	  config/ns32k-nbsd.mt: canonicalize netbsd targets to conform to
5150214082Sdim	  file/variable naming conventions.
5151214082Sdim	* i386netbsd.c: New file, renamed from netbsd386.c.
5152214082Sdim	* ns32knetbsd.c: New file, renamed from netbsd532.c.
5153214082Sdim	
5154214634SdimMon Sep 12 21:56:20 1994  Jeff Law  (law@snake.cs.utah.edu)
5155214634Sdim
5156214634Sdim	* som.c (som_reloc_skip): Correct off-by-one error for 4-byte
5157214634Sdim	R_NO_RELOCATION fixups.
5158214634Sdim	(bfd_section_from_som_symbol): Return the absolute section if the
5159214634Sdim	symbol isn't contained in any section in the output file.
5160214634Sdim	(som_slurp_symbol_table): ST_PRI_PROG and ST_SEC_PROG symbols are
5161214634Sdim	not function symbols (they are magic code labels which *can* be the
5162214634Sdim	targets of cross space branches).  $START$ is not a section symbol.
5163214634Sdim
5164214634SdimMon Sep 12 11:43:08 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5165214082Sdim
5166214082Sdim	* coff-alpha.c (ecoffalpha_little_vec): Add SEC_CODE and SEC_DATA
5167214082Sdim	to section_flags.
5168214082Sdim	* coff-mips.c (ecoff_little_vec, ecoff_big_vec): Likewise.
5169214082Sdim
5170214082Sdim	* elfcode.h (swap_out_syms): Set the type of an undefined symbol
5171214082Sdim	to STT_FUNC if the BSF_FUNCTION flag is set.
5172214082Sdim
5173214082Sdim	* cofflink.c (coff_link_input_bfd): If r_symndx is -1, don't
5174214082Sdim	change it.
5175214082Sdim	(_bfd_coff_generic_relocate_section): If r_symndx is -1, it is an
5176214082Sdim	absolute reloc.  Don't dump core using r_symndx as an array index.
5177214082Sdim	* cf-m68klynx.c (coff_bfd_link_add_symbols): Define.
5178214082Sdim	(lynx_link_add_symbols): New static function (copy of function in
5179214082Sdim	coff-i386.c).
5180214082Sdim	(coff_m68k_lynxrtype_to_howto): sym argument may be NULL.
5181214082Sdim	* coff-i386.c (coff_i386_rtype_to_howto): Likewise.
5182214082Sdim	* coff-a29k.c (coff_a29k_relocate_section): Handle an r_symndx
5183214082Sdim	value of -1, meaning an absolute reloc.
5184214082Sdim
5185214082Sdim	* ctor.c: Remove; obsolete.
5186214082Sdim	* Makefile.in: Rebuild dependencies.
5187214082Sdim	(BFD_LIBS): Remove ctor.o.
5188214082Sdim	(CFILES): Remove ctor.c.
5189214082Sdim	* libbfd.h: Rebuild.
5190214082Sdim
5191214082SdimMon Sep 12 01:58:47 1994  Jeff Law  (law@snake.cs.utah.edu)
5192214082Sdim
5193214082Sdim	* elf32-hppa.c (elf32_hppa_relocate_section): If there was a link
5194214082Sdim	error of some sort (for example, undefined symbols), then do not
5195214082Sdim	apply any relocs, just notify the user of the errors.
5196214082Sdim	(elf32_hppa_backend_begin_write_processing): Do not build a symbol
5197214082Sdim	extension section for an executable (it's useless).
5198214082Sdim	(elf32_hppa_link_output_symbol_hook): Do nothing if there was a
5199214082Sdim	link error of some sort (for example, undefined symbols).
5200214082Sdim	(elf32_hppa_read_symext_info): Kludge.  Turn off SEC_HAS_CONTENTS
5201214082Sdim	for all the input symbol extension sections to keep the generic
5202214082Sdim	BFD code happy.  Temporarily turn it on to read the contents of
5203214082Sdim	the symbol extension section.
5204214082Sdim
5205214082SdimSun Sep 11 21:58:59 1994  Jeff Law  (law@snake.cs.utah.edu)
5206214082Sdim
5207214082Sdim	* config/hppaosf.mh (RANLIB): Do not set.
5208214082Sdim	* config/hppabsd.mh (RANLIB): Likewise.
5209214082Sdim
5210214082SdimSun Sep 11 22:50:49 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
5211214082Sdim
5212214082Sdim	* cf-i386lynx.c: Remove #if 0 code.
5213214082Sdim	(i386_lynxos_coff_object_p): Remove unused function.
5214214082Sdim	(coff_bfd_link_add_symbols): Define.
5215214082Sdim	(lynx_link_add_symbols): New static function.
5216214082Sdim	* coffcode.h (coff_bfd_link_hash_table_create): If
5217214082Sdim	coff_relocate_section is defined, only define this if not already
5218214082Sdim	defined.
5219214082Sdim	(coff_bfd_link_add_symbols, coff_bfd_final_link): Likewise.
5220214082Sdim
5221214082Sdim	* linker.c (_bfd_generic_final_link): Handle
5222214082Sdim	bfd_indirect_link_order explicitly, rather than via
5223214082Sdim	_bfd_default_link_order.
5224214082Sdim	(set_symbol_from_hash): New static function, broken out of
5225214082Sdim	_bfd_generic_link_write_global_symbol.
5226214082Sdim	(_bfd_generic_link_write_global_symbol): Symbol setting code moved
5227214082Sdim	to set_symbol_from_hash; call it.
5228214082Sdim	(default_indirect_link_order): Add generic_linker argument.
5229214082Sdim	Change all callers.  If false, set the generic symbols based on
5230214082Sdim	the hash table entries.
5231214082Sdim
5232214082SdimFri Sep  9 11:51:49 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5233214082Sdim
5234214082Sdim	* coffgen.c (coff_get_symtab): Reindented.  Removed commented out
5235214082Sdim	call to bfd_constructor_entry.
5236214082Sdim
5237214082Sdim	Convert m68k COFF to use new COFF backend linker.
5238214082Sdim	* coff-m68k.c (coff_relocate_section): Define.
5239214082Sdim	* cf-m68klynx.c (coff_rtype_to_howto): Define.
5240214082Sdim	(coff_m68k_lynx_rtype_to_howto): New static function.
5241214082Sdim	* configure.in (m68kcoff_vec): Build cofflink.o.
5242214082Sdim	(m68kcoffun_vec, m68klynx_coff_vec): Likewise.
5243214082Sdim
5244214082SdimThu Sep  8 16:20:38 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
5245214082Sdim
5246214082Sdim	* coff-h8300.c (h8300_reloc16_extra_cases, case RELBYTE): Flag
5247214082Sdim	overflows correctly.
5248214082Sdim
5249214082SdimWed Sep  7 19:01:42 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5250214082Sdim
5251214082Sdim	* libelf.h (struct elf_backend_data): Change second argument of
5252214082Sdim	elf_backend_final_write_processing hook to boolean.
5253214082Sdim	(struct elf_obj_tdata): Add linker field.
5254214634Sdim	* elfcode.h (NAME(bfd_elf,write_object_contents)): Pass value of
5255214634Sdim	tdata linker field to final_write_processing, rather than NULL.
5256214082Sdim	(elf_bfd_final_link): Don't call final_write_processing hook.  Set
5257214082Sdim	tdata linker field to true.
5258214082Sdim	* elf32-mips.c (mips_elf_final_write_processing): Change type of
5259214082Sdim	second argument to boolean.
5260214082Sdim	* elf32-hppa.c (elf32_hppa_backend_final_write_processing):
5261214082Sdim	Likewise.
5262214082Sdim
5263214634Sdim	* coff-go32.c (RTYPE2HOWTO): Fully parenthesize arguments.
5264214082Sdim	* coff-i960.c (RTYPE2HOWTO): Likewise.
5265214082Sdim	* coff-m88k.c (RTYPE2HOWTO): Likewise.
5266214082Sdim	* coff-we32k.c (RTYPE2HOWTO): Likewise.
5267214082Sdim
5268214634Sdim	Make i386 COFF use new COFF backend linker.
5269214634Sdim	* coff-i386.c (RTYPE2HOWTO): Fully parenthesize arguments.
5270214634Sdim	(coff_relocate_section): Define.
5271214082Sdim	(coff_i386_rtype_to_howto): New function.
5272214082Sdim	* configure.in (i386coff_vec): Use cofflink.o.
5273214082Sdim	(i386lynx_coff_vec): Likewise.
5274214082Sdim
5275214082Sdim	* coffcode.h (bfd_coff_backend_data): Add new field
5276214082Sdim	_bfd_coff_rtype_to_howto.
5277214082Sdim	(bfd_coff_rtype_to_howto): Define.
5278214082Sdim	(coff_rtype_to_howto): Define to use RTYPE2HOWTO, if not already
5279214082Sdim	defined.
5280214082Sdim	(bfd_coff_std_swap_table): Initialize new field.
5281214082Sdim	* cofflink.c (_bfd_coff_final_link): Allocate section_count + 1
5282214082Sdim	section_info structures, since the target_index is 1 based.
5283214082Sdim	(coff_link_input_bfd): Set *secpp to bfd_com_section_ptr for a
5284214634Sdim	common symbol.  Adjust rel_hash by the output reloc count.
5285214082Sdim	(_bfd_coff_generic_relocate_section): New function.
5286214082Sdim	* libcoff-in.h (_bfd_coff_generic_relocate_section): Declare.
5287214082Sdim	* libcoff.h: Rebuild.
5288214082Sdim	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
5289214082Sdim	* coff-mips.c (mips_ecoff_backend_data): Likewise.
5290214082Sdim
5291214082SdimTue Sep  6 23:28:52 1994  Jeff Law  (law@snake.cs.utah.edu)
5292214082Sdim
5293214082Sdim	* som.c (som_bfd_derive_misc_symbol_info): Treat undefined code
5294214082Sdim	symbols and undefined symbols which no type in the same manner
5295214082Sdim	if the associated BFD symbol has BSF_FUNCTION set.  For a defined
5296214082Sdim	symbol which no type, select a SOM type based on the flags of the
5297214634Sdim	section containing the symbol.
5298214082Sdim	(som_slurp_symbol_type): Set BSF_FUNCTION for undefined ST_STUB
5299214082Sdim	or ST_CODE symbols (importing a non-function code symbol is
5300214082Sdim	meaningless in SOM).
5301214082Sdim	(som_set_reloc_info): Don't set "offset" to the section's vma; it
5302214082Sdim	should always start at zero.
5303214082Sdim
5304214082SdimTue Sep  6 14:51:11 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5305214082Sdim
5306214082Sdim	Add new style linker support to COFF backend.  a29k only for now.
5307214082Sdim	* cofflink.c: New file.
5308214082Sdim	* libcoff-in.h: Include bfdlink.h.
5309214082Sdim	(obj_coff_external_syms, obj_coff_strings): Define accessor macro.
5310214082Sdim	(obj_coff_sym_hashes): Define accessor macro.
5311214082Sdim	(struct coff_tdata): Add fields external_syms, strings, and
5312214082Sdim	sym_hashes.
5313214082Sdim	(struct coff_link_hash_entry): Define.
5314214082Sdim	(struct coff_link_hash_table): Define.
5315214082Sdim	(coff_link_hash_lookup, coff_link_hash_traverse): Define.
5316214082Sdim	(coff_hash_table): Define.
5317214082Sdim	(_bfd_coff_link_hash_table_create): Declare.
5318214082Sdim	(_bfd_coff_link_add_symbols, _bfd_coff_final_link): Declare.
5319214082Sdim	* coffcode.h (bfd_coff_backend_data): Add fields _bfd_relsz,
5320214082Sdim	_bfd_coff_swap_reloc_in, _bfd_coff_sym_is_global,
5321214082Sdim	_bfd_coff_compute_section_file_positions,
5322214082Sdim	_bfd_coff_relocate_section.
5323214082Sdim	(bfd_coff_relsz, bfd_coff_swap_reloc_in): Define.
5324214082Sdim	(bfd_coff_sym_is_global): Define.
5325214082Sdim	(bfd_coff_compute_section_file_positions): Define.
5326214082Sdim	(bfd_coff_relocate_section): Define.
5327214082Sdim	(coff_mkobject_hook): Initialize obj_raw_syment_count and
5328214082Sdim	obj_conv_table_size.
5329214082Sdim	(coff_compute_section_file_positions): Set target_index of all
5330214082Sdim	sections.  Set output_has_begun field.
5331214082Sdim	(coff_write_object_contents): Don't set target_index; now done by
5332214082Sdim	coff_compute_section_file_positions.  Remove obsolete handling of
5333214082Sdim	scn_base and data_base.  Don't bother to check that target_index
5334214082Sdim	is positive, since it always is.  Remove use of pad, which is
5335214082Sdim	always zero.  Check obj_raw_syment_count, not bfd_get_symcount,
5336214082Sdim	for the number of symbols, but only write them out if
5337214082Sdim	bfd_get_symcount is non-zero.  Don't check obj_raw_syment_count
5338214082Sdim	until after coff_write_symbols is called.
5339214082Sdim	(coff_slurp_symbol_table): Use obj_raw_syment_count, not
5340214082Sdim	bfd_get_symcount for the number of symbols.  Don't set
5341214082Sdim	obj_conv_table_size.
5342214082Sdim	(coff_sym_is_global): New static function or macro.
5343214082Sdim	(coff_slurp_reloc_table): Call coff_swap_reloc_in, not
5344214082Sdim	bfd_swap_reloc_in.
5345214082Sdim	(coff_bfd_link_hash_table_create): If coff_relocate_section is
5346214082Sdim	defined, define as _bfd_coff_link_hash_table_create.
5347214082Sdim	(coff_bfd_link_add_symbols): Similar change.
5348214082Sdim	(coff_bfd_final_link): Similar change.
5349214082Sdim	(coff_relocate_section): Define as NULL if not defined.
5350214082Sdim	(bfd_coff_std_swap_table): Initialize new fields.
5351214082Sdim	* coffgen.c (coff_real_object_p): Don't set obj_raw_syment_count
5352214082Sdim	and obj_conv_table_size here.
5353214082Sdim	(coff_count_linenumbers): Reindent.  If bfd_get_symcount is zero,
5354214082Sdim	add up the line numbers from the sections.
5355214082Sdim	(coff_write_symbols): Set obj_raw_syment_count, not
5356214082Sdim	bfd_get_symcount.
5357214082Sdim	(coff_pointerize_aux): Don't pointerize a nonpositive x_endndx
5358214082Sdim	field.
5359214082Sdim	(coff_get_normalized_symtab): Use obj_raw_syment_count, not
5360214082Sdim	bfd_get_symcount.
5361214082Sdim	(coff_print_symbol): If auxp->fix_end, print x_endndx value.
5362214082Sdim	* coffswap.h (coff_swap_reloc_in): Rename from bfd_swap_reloc_in.
5363214082Sdim	Reindent.  Change argument type to  PTR.
5364214082Sdim	* coff-a29k.c (coff_a29k_relocate_section): New static function.
5365214082Sdim	(coff_relocate_section): Define.
5366214082Sdim	* configure.in (a29kcoff_big_vec): Compile cofflink.o.
5367214082Sdim	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new fields.
5368214082Sdim	* coff-mips.c (mips_ecoff_backend_data): Likewise.
5369214082Sdim	* libcoff.h: Rebuilt.
5370214082Sdim	* Makefile.in: Rebuilt dependencies.
5371214082Sdim	(BFD32_BACKENDS): Add cofflink.o.
5372214082Sdim	(CFILES): Add cofflink.c.
5373214082Sdim
5374214082SdimTue Sep  6 14:00:45 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
5375214082Sdim
5376214082Sdim	* coffgen.c (coff_print_symbol, case bfd_symbol_print_all): Check
5377214082Sdim	for section symbol, and print its aux fields with appropriate
5378214082Sdim	labels.
5379214082Sdim
5380214082Sdim	* Makefile.in (ALL_MACHINES): Added cpu-arm.o.
5381214082Sdim
5382214082SdimSun Sep 04 17:58:10 1994  Richard Earnshaw (rwe@pegasus.esprit.ec.org)
5383214082Sdim
5384214082Sdim	* aoutx.h (NAME(aout,machine_type)): Recognize the ARM processor.
5385214082Sdim	* archures.c, config.bfd, configure.host, libaout.h, reloc.c,
5386214082Sdim	targets.c: Add support for the ARM.
5387214082Sdim	* cpu-arm.c, riscix.c, config/riscix.mh, config/riscix.mt: New files.
5388214082Sdim
5389214082Sdim	* aoutx.h (add_to_stringtable): Check that str isn't a NULL pointer.
5390214082Sdim
5391214082SdimFri Sep  2 14:10:30 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
5392214082Sdim
5393214082Sdim	* reloc.c (enum bfd_reloc_code_real): Rewrote definition to use
5394214082Sdim	new "chew" commands for simultaneous definition of enumerator and
5395214082Sdim	enumerator name table.
5396214082Sdim	(bfd_get_reloc_code_name): New function, for retrieving a symbolic
5397214082Sdim	name associated with an enumerator.
5398214082Sdim	* libbfd.h, bfd-in2.h: Regenerated.
5399214082Sdim
5400214082SdimTue Aug 30 21:24:54 1994  Jeff Law  (law@snake.cs.utah.edu)
5401214082Sdim
5402214082Sdim	* som.c (som_write_fixups, case R_ENTRY): Handle case where no
5403214082Sdim	unwind descriptor information is available.
5404214082Sdim
5405214082SdimTue Aug 30 11:43:30 1994  Eric Youngdale  (ericy@cais.cais.com)
5406214082Sdim
5407214082Sdim	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add soname
5408214082Sdim	argument, and use it to set DT_SONAME dynamic entry.
5409214082Sdim	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
5410214082Sdim	(bfd_elf64_size_dynamic_sections): Update prototype.
5411214082Sdim	* bfd-in2.h: Rebuilt.
5412214082Sdim
5413214082SdimFri Aug 26 15:47:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5414214082Sdim
5415214082Sdim	* coffgen.c (coff_real_object_p): Set obj_raw_syment_count.
5416214082Sdim	(coff_get_normalized_symtab): Verify obj_raw_syment_count, rather
5417214082Sdim	than setting it.
5418214082Sdim
5419214082SdimThu Aug 25 10:44:53 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5420214082Sdim
5421214082Sdim	* archive.c (bsd_write_armap): Remove host dependencies.
5422214082Sdim
5423214082Sdim	* aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add error
5424214082Sdim	before adding BYTES_IN_WORD.
5425214082Sdim
5426214082Sdim	* coffgen.c (coff_find_nearest_line): Look for the best C_FILE,
5427214082Sdim	not merely the first.
5428214082Sdim
5429214082Sdim	* coffgen.c (coff_write_alien_symbol): If we are not using the
5430214082Sdim	symbol, clear the name so that it is not put in the string table.
5431214082Sdim	From Antti.Miettinen@ntc.nokia.com.
5432214082Sdim
5433214082SdimWed Aug 24 11:49:19 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5434214082Sdim
5435214082Sdim	* coffgen.c (coff_print_symbol): Cast pointer different to long
5436214082Sdim	and use %ld to print it.
5437214082Sdim	* osf-core.c (osf_core_core_file_p): Remove unused variable
5438214082Sdim	dseccnt.
5439214082Sdim	* ecoffswap.h (ecoff_swap_ext_out): If ECOFF_64, clear remaining
5440214082Sdim	bytes in bits2.
5441214082Sdim
5442214082Sdim	* configure.host, config.bfd: Change i[34]86 to i[345]86.
5443214082Sdim	* coffgen.c (coff_real_object_p): Set obj_conv_table_size here,
5444214082Sdim	rather than waiting until coff_slurp_symbol_table.
5445214082Sdim	(coff_write_alien_symbol): Just ignore BSF_DEBUGGING symbols.
5446214082Sdim	From Antti.Miettinen@ntc.nokia.com.
5447214082Sdim
5448214082Sdim	* section.c (bfd_make_section_anyway): Fix failure check of
5449214082Sdim	bfd_make_empty_symbol.  From Antti.Miettinen@ntc.nokia.com.
5450214082Sdim
5451214082Sdim	* aoutx.h (translate_to_native_sym_flags): Use the output_section
5452214082Sdim	(and output_offset) if there is one.
5453214082Sdim
5454214082Sdim	* aoutx.h (aout_link_check_archive_element): Discard the symbols
5455214082Sdim	if the archive element was not needed.
5456214082Sdim
5457214082Sdim	* aoutx.h (aout_get_external_symbols): Ensure that a zero string
5458214082Sdim	index yields an empty string.
5459214082Sdim	(aout_link_write_symbols): If info->keep_memory is false, use name
5460214082Sdim	from original hash table entry, not from entry in *sym_hash.
5461214082Sdim
5462214082Sdim	* aoutx.h (struct aout_final_link_info): Add fields contents,
5463214082Sdim	relocs, symbol_map and output_syms.
5464214082Sdim	(NAME(aout,final_link)): Work out the largest section size, reloc
5465214082Sdim	size, and number of symbols.  Use them to preallocate buffers that
5466214082Sdim	are large enough for all cases.
5467214082Sdim	(aout_link_input_bfd): Use preallocated symbol_map.
5468214082Sdim	(aout_link_write_symbols): Remove symbol_map argument; use
5469214082Sdim	preallocated symbol_map instead.  Change all callers.  Use
5470214082Sdim	preallocated output_syms.
5471214082Sdim	(aout_link_input_section): Remove symbol_map argument.  Change all
5472214082Sdim	callers.  Use preallocated contents and relocs.
5473214082Sdim	(aout_link_input_section_std): Remove symbol_map argument; use
5474214082Sdim	preallocated symbol_map instead.  Change all callers.
5475214082Sdim	(aout_link_input_section_ext): Likewise.
5476214082Sdim
5477214082SdimTue Aug 23 10:51:09 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5478214082Sdim
5479214082Sdim	* archive.c (_bfd_write_archive_contents): Don't update the
5480214082Sdim	symbol map timestamp if there is no symbol map.  From
5481214082Sdim	schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
5482214082Sdim
5483214082SdimMon Aug 22 12:26:42 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5484214082Sdim
5485214082Sdim	* targets.c (BFD_JUMP_TABLE_ARCHIVE): Add _update_armap_timestamp.
5486214082Sdim	(bfd_target): Add field _bfd_update_armap_timestamp.
5487214082Sdim	* bfd.c (bfd_update_armap_timestamp): Define.
5488214082Sdim	* bfd-in2.h: Rebuilt.
5489214082Sdim	* libbfd-in.h (_bfd_noarchive_update_armap_timestamp): Define.
5490214082Sdim	(_bfd_archive_bsd_update_armap_timestamp): Declare.
5491214082Sdim	(_bfd_archive_coff_update_armap_timestamp): Define.
5492214082Sdim	* libbfd.h: Rebuilt.
5493214082Sdim	* archive.c (_bfd_write_archive_contents): Call
5494214082Sdim	bfd_update_armap_timestamp instead of checking for a BSD archive
5495214082Sdim	and calling bsd_update_armap_timestamp.
5496214082Sdim	(_bfd_archive_bsd_update_armap_timestamp): Rename from
5497214082Sdim	_bsd_update_armap_timestamp.  Don't assume that armap_datepos is
5498214082Sdim	already set.
5499214082Sdim	* aout-target.h (MY_update_armap_timestamp): Define if not already
5500214082Sdim	defined.
5501214082Sdim	* coff-rs6000.c (rs6000coff_update_armap_timestamp): Define.
5502214082Sdim	* ieee.c (ieee_update_armap_timestamp): Define.
5503214082Sdim	* libecoff.h (_bfd_ecoff_update_armap_timestamp): Define.
5504214082Sdim	* oasys.c (oasys_update_armap_timestamp): Define.
5505214082Sdim	* som.c (som_update_armap_timestamp): Define.
5506214082Sdim
5507214082Sdim	* hash.c: Copy string hash functions from aoutx.h.
5508214082Sdim	* aoutx.h: String hash functions moved to hash.c.  Retain
5509214082Sdim	simplified versions of add_to_stringtab and emit_stringtab.
5510214082Sdim	Change all callers to use new function and structure names.
5511214082Sdim	* libbfd-in.h (_bfd_stringtab_init, _bfd_stringtab_free): Declare.
5512214082Sdim	(_bfd_stringtab_size, _bfd_stringtab_add): Declare.
5513214082Sdim	(_bfd_stringtab_emit): Declare.
5514214082Sdim	* libbfd.h: Rebuilt.
5515214082Sdim
5516214082SdimMon Aug 22 10:49:37 1994  Eric Youngdale  (ericy@cais.cais.com)
5517214082Sdim
5518214082Sdim	* i386linux.c (linux_add_one_symbol): Create a fixup for any
5519214082Sdim	defined absolute symbol, not just GOT or PLT symbols.
5520214082Sdim	(linux_tally_symbols): Correct handling of references to defined
5521214082Sdim	symbols.
5522214082Sdim
5523214082SdimThu Aug 18 16:29:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5524214082Sdim
5525214082Sdim	Get ld -x -r to handle a.out set symbols correctly.
5526214082Sdim	* aoutx.h (adjust_o_magic): If the .bss VMA was set outside of
5527214082Sdim	BFD, pad the .data section up to the VMA of the .bss section.
5528214082Sdim	(aout_link_add_symbols): If a set symbol does not get modified,
5529214082Sdim	treat it as a local symbol.
5530214082Sdim	(aout_link_write_symbols): Set the value of set symbols
5531214082Sdim	correctly.  Don't discard set symbols even if discarding local
5532214082Sdim	symbols.
5533214082Sdim	(aout_link_write_other_symbol): Don't abort on bfd_link_hash_new,
5534214082Sdim	since it can now happen for set symbols.
5535214082Sdim
5536214082Sdim	* elfcode.h (elf_fake_sections): Just check for ".rela" and
5537214082Sdim	".rel", not ".rela." and ".rel."; make this work by checking
5538214082Sdim	use_rela_p.
5539214082Sdim	* elf32-i386.c (elf_i386_check_relocs): Just check for ".rel", not
5540214082Sdim	".rel."
5541214082Sdim	(elf_i386_size_dynamic_sections): Likewise.
5542214082Sdim	(elf_i386_relocate_section): Likewise.
5543214082Sdim	* elf32-sparc.c (elf32_sparc_check_relocs): Just check for
5544214082Sdim	".rela", not ".rela."
5545214082Sdim	(elf32_sparc_size_dynamic_sections): Likewise.
5546214082Sdim	(elf32_sparc_relocate_section): Likewise.
5547214082Sdim
5548214082SdimWed Aug 17 16:54:18 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5549214082Sdim
5550214082Sdim	* linker.c (_bfd_generic_link_add_archive_symbols): Initialize
5551214082Sdim	PASS to the old value + 1.
5552214082Sdim
5553214082Sdim	* coffgen.c (coff_get_normalized_symtab): If a C_FILE symbol has
5554214082Sdim	no aux entries, use the symbol name as the file name.
5555214082Sdim	(coff_find_nearest_line): Look for the right C_FILE symbol, rather
5556214082Sdim	than always using the first one.  If there is a debugging symbol
5557214082Sdim	after a function symbol, skip it.  Add the section VMA to the line
5558214082Sdim	offset, since it was subtracted out in coff_slurp_line_table.
5559214082Sdim
5560214082SdimTue Aug 16 16:53:00 1994  Jeff Law  (law@snake.cs.utah.edu)
5561214082Sdim
5562214082Sdim	* som.c (som_prep_headers): If writing some form of an executable,
5563214082Sdim	allocate and attach an exec header to the BFD private data.
5564214082Sdim	(som_begin_writing): Don't fill fields of the exec header based
5565214082Sdim	on BFD private data here (like the exec flags).  Do not write
5566214082Sdim	the exec header here.
5567214082Sdim	(som_write_headers): Instead do it here.
5568214082Sdim	* som.h (struct somdata): New field "exec_hdr" for the executable
5569214082Sdim	file header.
5570214082Sdim	(obj_som_exec_hdr): New accessor macro.
5571214082Sdim
5572214082SdimTue Aug 16 00:12:31 1994  Eric Youngdale  (ericy@cais.cais.com)
5573214082Sdim
5574214082Sdim	* i386linux.c (linux_link_create_dynamic_sections): Create section
5575214082Sdim	named .linux-dynamic, not .dynamic.
5576214082Sdim	(linux_add_one_symbol): Use .linux-dynamic, not .dynamic.
5577214082Sdim	(bfd_linux_size_dynamic_sections): Likewise.
5578214082Sdim	(linux_finish_dynamic_link): Likewise.
5579214082Sdim
5580214082SdimMon Aug 15 12:16:56 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5581214082Sdim
5582214082Sdim	* coffgen.c (STRING_SIZE_SIZE): Define.
5583214082Sdim	(coff_fix_symbol_name): Use STRING_SIZE_SIZE, not 4.
5584214082Sdim	(coff_write_symbols, build_string_table): Likewise.
5585214082Sdim	(coff_get_normalized_symtab): Likewise.
5586214082Sdim
5587214082Sdim	* libcoff-in.h (obj_symbol_slew): Don't define.
5588214082Sdim	(struct coff_tdata): Remove unused fields index_slew, raw_linenos,
5589214082Sdim	and flags.
5590214082Sdim	* libcoff.h: Rebuilt.
5591214082Sdim	* coffcode.h (coff_mkobject): Don't initialize raw_linenos.
5592214082Sdim	(coff_mkobject_hook): Don't initialize flags.
5593214082Sdim
5594214082Sdim	* aout-target.h (MY_zmagic_contiguous): Define as 0 if not already
5595214082Sdim	defined.
5596214082Sdim	(MY(backend_data)): Use MY_zmagic_contiguous, not hardcoded 0.
5597214082Sdim	* i386linux.c (MY_zmagic_contiguous): Define.
5598214082Sdim
5599214082Sdim	* elfcode.h (bfd_section_from_shdr): If a SHT_SYMTAB section in a
5600214082Sdim	shared object has SHF_ALLOC set, create a BFD section for it.
5601214082Sdim	(elf_section_from_bfd_section): There may be a BFD section for a
5602214082Sdim	SHT_SYMTAB section.
5603214082Sdim
5604214082Sdim	* coffcode.h (styp_to_sec_flags): Add name argument.  If no flags
5605214082Sdim	are recognized, chose section flags based on the name.
5606214082Sdim	(bfd_coff_backend_data): _bfd_styp_to_sec_flags_hook field: Add
5607214082Sdim	name argument.
5608214082Sdim	(bfd_coff_styp_to_sec_flags_hook): Add name argument.
5609214082Sdim	(coff_compute_section_file_positions): Don't adjust the section
5610214082Sdim	position by COFF_PAGE_SIZE unless SEC_ALLOC is set.
5611214082Sdim	* libcoff.h: Rebuilt.
5612214082Sdim	* coffgen.c (make_a_section_from_file): Pass section name to
5613214082Sdim	bfd_coff_styp_to_sec_flags_hook.
5614214082Sdim	* ecoff.c (_bfd_ecoff_styp_to_sec_flags): Add unused name
5615214082Sdim	argument.
5616214082Sdim	* libecoff.h (_bfd_ecoff_styp_to_sec_flags): Add name argument to
5617214082Sdim	prototype.
5618214082Sdim
5619214082SdimFri Aug 12 11:22:40 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5620214082Sdim
5621214082Sdim	* elfcode.h (section_from_elf_index): Correct check for invalid
5622214082Sdim	section index.
5623214082Sdim
5624214082Sdim	* elfcode.h (elf_link_add_object_symbols): If there is no symbol
5625214082Sdim	table, try using the dynamic symbol table.  From Eric Youngdale
5626214082Sdim	<ericy@cais.cais.com>.
5627214082Sdim
5628214082Sdim	* configure.host (sparc-*-solaris2*): Use solaris2, not sysv4.
5629214082Sdim	The linker depends upon configuring for solaris2.
5630214082Sdim	* hosts/solaris2.h: New file; include hosts/sysv4.h.
5631214082Sdim	* config/solaris2.mh: New file; copy of config/sysv4.mh.
5632214082Sdim
5633214082SdimWed Aug 10 13:09:38 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5634214082Sdim
5635214082Sdim	* aoutx.h (adjust_z_magic): Make sure data section is padded to
5636214082Sdim	page boundary when the VMA is set by the calling program.  From
5637214082Sdim	Eric Youngdale <ericy@cais.cais.com>.
5638214082Sdim
5639214082SdimMon Aug  8 17:18:49 1994  Stan Shebs  (shebs@andros.cygnus.com)
5640214082Sdim
5641214082Sdim	Update to ns32k support, from Ian Dall (dall@hfrd.dsto.gov.au).
5642214082Sdim	* aout-ns32k.c: Add declarations that were in aout-ns32k.h, change
5643214082Sdim	declarations to traditional form.
5644214082Sdim	(MY_reloc_howto, MY_put_reloc): Change from macro to function.
5645214082Sdim	(ns32k_relocate_contents): New function.
5646214082Sdim	* aout-ns32k.h: Remove.
5647214082Sdim	* cpu-ns32k.c: Add declarations that were in aout-ns32k.h, change
5648214082Sdim	declarations to traditional form.
5649214082Sdim	(ns32k_final_link_relocate): Call ns32k_relocate_contents.
5650214082Sdim	* netbsd532.c: Reformat to standards, add copyright notice.
5651214082Sdim	(ARCH): Don't define.
5652214082Sdim	(aout-ns32k.h): Don't include.
5653214082Sdim	* pc532-mach.c: Ditto.
5654214082Sdim
5655214082SdimMon Aug  8 17:55:52 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5656214082Sdim
5657214082Sdim	* coff-i960.c (coff_i960_relocate): Don't try to convert relocs
5658214082Sdim	against common symbols.
5659214082Sdim
5660214082SdimSat Aug  6 22:27:30 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
5661214082Sdim
5662214082Sdim	* irix-core.c (irix_core_core_file_p):  Ignore sections that
5663214082Sdim	are not contained in the core file.
5664214082Sdim
5665214082SdimThu Aug  4 11:32:23 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5666214082Sdim
5667214082Sdim	* coff-m68k.c (m68k_reloc_type_lookup): New function.
5668214082Sdim	(coff_bfd_reloc_type_lookup): Define.
5669214082Sdim	* cf-m68klynx.c (_bfd_m68kcoff_reloc_type_lookup): Define.
5670214082Sdim
5671214082Sdim	* elfcode.h (elf_bfd_final_link): Force the vma of sections which
5672214082Sdim	do not have SEC_ALLOC set to be 0.  This is needed to handle
5673214082Sdim	relocs against debugging sections.
5674214082Sdim
5675214082SdimWed Aug  3 16:45:41 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5676214082Sdim
5677214082Sdim	* coff-i960.c (coff_i960_relocate): Rewrote to change relocs
5678214082Sdim	against locally defined symbols into relocs against section
5679214082Sdim	symbols, for VxWorks 5.1.
5680214082Sdim
5681214082SdimWed Aug  3 10:34:37 1994  Eric Youngdale  (ericy@cais.cais.com)
5682214082Sdim
5683214082Sdim	* i386linux.c (linux_add_one_symbol): Only handle
5684214082Sdim	SHARABLE_CONFLICTS specially if BSF_CONSTRUCTOR is set.  Set hashp
5685214082Sdim	for a GOT or PLT symbol.  Set jump field of fixup for a PLT symbol.
5686214082Sdim	(linux_tally_symbols): Check section of real symbol.  When looking
5687214082Sdim	for a builtin fixup, check builtin and jump flags.  Create no more
5688214082Sdim	than one fixup, and always create one if the real symbol is in the
5689214082Sdim	absolute section.  Only strip absolute symbols.
5690214082Sdim
5691214082SdimWed Aug  3 05:08:24 1994  D. V. Henkel-Wallace  (gumby@cygnus.com)
5692214082Sdim
5693214082Sdim	* coffcode.h (coff_write_object_contents): set internal_a.magic to
5694214082Sdim	LYNXCOFFMAGIC whenever 68k, SPARC or i386 LynxOS
5695214082Sdim	(yes, they have the same magic number!)
5696214082Sdim
5697214082SdimTue Aug  2 10:43:21 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5698214082Sdim
5699214082Sdim	* hp300hpux.c (BMAGIC): Define as HPUX_DOT_O_MAGIC, to make test
5700214082Sdim	in aoutx.h work correctly.
5701214082Sdim
5702214082Sdim	* coff-i960.c (coff_i960_relocate): New function.
5703214082Sdim	(howto_rellong, howto_iprmed): Use it as special_function.
5704214082Sdim
5705214082Sdim	* libbfd-in.h: Move declarations of bfd_read, bfd_write, bfd_seek,
5706214082Sdim	bfd_tell, bfd_flush, and bfd_stat from here...
5707214082Sdim	* bfd-in.h: ...to here, to make them visible to programs which
5708214082Sdim	know more about the object file format than BFD does.
5709214082Sdim	* libbfd.h, bfd-in2.h: Rebuilt.
5710214082Sdim
5711214082SdimMon Aug  1 17:55:53 1994  Fred Fish  (fnf@cygnus.com)
5712214082Sdim
5713214082Sdim	* ptrace-core.c (ptrace_unix_core_file_p):  Convert zalloc usage
5714214082Sdim	to bfd_zalloc.
5715214082Sdim
5716214082SdimMon Aug  1 12:04:40 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5717214082Sdim
5718214082Sdim	* elf64-sparc.c (ELF_MAXPAGESIZE): Define.
5719214082Sdim
5720214082Sdim	ELF linker patches from Eric Youngdale <ericy@cais.cais.com>.
5721214082Sdim	* elfcode.h (elf_link_create_dynamic_sections): Set type of
5722214082Sdim	_DYNAMIC to STT_OBJECT.
5723214082Sdim	(NAME(bfd_elf,record_link_assignment)): Always create hash table
5724214082Sdim	entry.  Set type to STT_OBJECT.
5725214082Sdim	(elf_link_output_extsym): Don't set type of weak defined symbol to
5726214082Sdim	STB_WEAK if symbol was referenced.
5727214082Sdim	(map_program_segments): Check DYNAMIC as well as EXEC_P.
5728214082Sdim	(assign_file_positions_except_relocs): Likewise.
5729214082Sdim	* elf32-i386.c (elf_i386_create_dynamic_sections): Set type of
5730214082Sdim	_GLOBAL_OFFSET_TABLE to STT_OBJECT.
5731214082Sdim	(elf_i386_check_relocs): Ignore local PLT32 relocs.
5732214082Sdim	(elf_i386_relocate_section): Treat local PLT32 relocs as PC32.
5733214082Sdim
5734214082Sdim	* elfcode.h (elf_adjust_dynamic_symbol): Correct weak symbol
5735214082Sdim	handling again.
5736214082Sdim
5737214082Sdim	* elfcode.h (elf_slurp_reloc_table): Don't try to read the relocs
5738214082Sdim	if there aren't any.
5739214082Sdim
5740214082Sdim	* configure.host (sparc-*-solaris2*): Use sysv4, not solaris2.
5741214082Sdim	* hosts/solaris2.h: Remove.
5742214082Sdim	* config/solaris2.mh: Remove.
5743214082Sdim
5744214082SdimSun Jul 31 14:27:04 1994  Jeff Law  (law@snake.cs.utah.edu)
5745214082Sdim
5746214082Sdim	* elf32-hppa.c, elf32-hppa.h: Update comment reflecting which
5747214082Sdim	HPPA ELF spec the code implements.
5748214082Sdim
5749214082SdimTue Jul 26 17:38:01 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
5750214082Sdim
5751214082Sdim	* cpu-i960.c (MAX_ARCH): New macro.
5752214082Sdim	(compatible): Use it in computing array bounds.  Put comma after
5753214082Sdim	last entry in array, for regularity.
5754214082Sdim	(arch_info_struct): Adjust spacing for easier reading.
5755214082Sdim
5756214082Sdim	* coff-i960.c (howto_rellong, howto_iprmed, howto_optcall): Use
5757214082Sdim	HOWTO macro.
5758214082Sdim
5759214082Sdim	* cpu-i960.c (JX): Define as bfd_mach_i960_jx.
5760214082Sdim	(scan_960_mach): Recognize jx machine.
5761214082Sdim	(MAX_ARCH): Define to be JX.
5762214082Sdim	(compatible): Add JX row to array.
5763214082Sdim	(arch_info_struct): Add JX entry.
5764214082Sdim
5765214082Sdim	* archures.c (bfd_mach_i960_jx): New macro.
5766214082Sdim	* bfd-in2.h: Regenerated.
5767214082Sdim
5768214082Sdim	* coffcode.h (coff_set_arch_mach_hook): For F_I960JX, set machine
5769214082Sdim	to bfd_mach_i960_jx.
5770214082Sdim	(coff_set_flags): For bfd_mach_i960_jx, set F_I960JX.
5771214082Sdim
5772214082SdimTue Jul 26 11:04:00 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5773214082Sdim
5774214082Sdim	* elfcode.h (elf_adjust_dynamic_symbol): When handling a weak
5775214082Sdim	symbol, correct check to see whether the equivalent normal symbol
5776214082Sdim	was referenced.
5777214082Sdim
5778214082Sdim	Add support for creating shared libraries under i386 ELF and SPARC
5779214082Sdim	ELF.  Based on patches by Eric Youngdale <ericy@cais.cais.com>.
5780214082Sdim	* libelf.h (struct elf_link_hash_entry): Remove copy_offset field.
5781214082Sdim	Add got_offset and plt_offset fields.
5782214082Sdim	(ELF_LINK_HASH_REF_DYNAMIC_MULTIPLE): Don't define.
5783214082Sdim	(ELF_LINK_HASH_DEF_DYNAMIC_MULTIPLE): Don't define.
5784214082Sdim	(ELF_LINK_HASH_NEEDS_COPY): Define.
5785214082Sdim	(struct elf_backend_data): Add check_relocs field.
5786214634Sdim	(struct bfd_elf_section_data): Change relocs from PTR to
5787214634Sdim	Elf_Internal_Rela *.
5788214634Sdim	(struct elf_obj_tdata): Add local_got_offsets field.
5789214634Sdim	(elf_local_got_offsets): Define accessor macro.
5790214634Sdim	(bfd_elf32_link_create_dynamic_sections): Declare.
5791214634Sdim	(bfd_elf32_link_record_dynamic_symbol): Declare.
5792214634Sdim	(bfd_elf64_link_create_dynamic_sections): Declare.
5793214634Sdim	(bfd_elf64_link_record_dynamic_symbol): Declare.
5794214634Sdim	* elfcode.h (elf_slurp_reloc_table): Don't use the section data
5795214634Sdim	relocs field.
5796214634Sdim	(elf_link_record_dynamic_symbol): Make globally visible.  Use
5797214634Sdim	macro to rename to NAME(bfd_elf,link_record_dynamic_symbol).
5798214634Sdim	(elf_link_add_object_symbols): If creating a shared library, put
5799214082Sdim	make all local symbols dynamic.  Don't bother with the
5800214634Sdim	DYNAMIC_MULTIPLE flags.  Call the check_relocs backend function if
5801214634Sdim	it is defined.
5802214634Sdim	(elf_link_create_dynamic_sections): Make globally visible.  Use
5803214634Sdim	macro to rename to NAME(bfd_elf,link_create_dynamic_sections).  If
5804214634Sdim	creating a shared library, make sure that _DYNAMIC is added as a
5805214082Sdim	dynamic symbol.
5806214634Sdim	(elf_link_read_relocs): New function.
5807214082Sdim	(NAME(bfd_elf,record_link_assignment)): If creating a shared
5808214634Sdim	library, always create symbols, and always make them dynamic.
5809214634Sdim	(elf_bfd_final_link): Permit creation of shared libraries.
5810214634Sdim	(elf_link_input_bfd): Use elf_link_read_relocs to get the relocs.
5811214082Sdim	* elf.c (_bfd_elf_link_hash_newfunc): Don't initialize
5812214634Sdim	copy_offset.  Initialize got_offset and plt_offset.
5813214634Sdim	* elf32-target.h (elf_backend_check_relocs): Define as 0 if not
5814214082Sdim	defined.
5815214634Sdim	(elf32_bed): Initialize check_relocs field.
5816214634Sdim	* elf64-target.h (elf_backend_check_relocs): Define as 0 if not
5817214082Sdim	defined.
5818214634Sdim	(elf64_bed): Initialize check_relocs field.
5819214634Sdim	* elf32-i386.c (elf_howto_table): Change R_386_PLT32 and
5820214634Sdim	R_386_GOTPC to be pc_relative and pcrel_offset.
5821214082Sdim	(elf_i386_pic_plt0_entry): Define.
5822214634Sdim	(elf_i386_pic_plt_entry): Define.
5823214634Sdim	(elf_i386_create_dynamic_sections): Create a .got.plt section, and
5824214634Sdim	define _GLOBAL_OFFSET_TABLE_ at the start of it.  If creating a
5825214634Sdim	shared library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a
5826214634Sdim	dynamic symbol.  Don't create .rel.bss if creating a shared
5827214634Sdim	library.
5828214082Sdim	(elf_i386_check_relocs): New function.
5829214634Sdim	(elf_i386_adjust_dynamic_symbol): Don't make a PLT entry if the
5830214634Sdim	symbol already has one.  When making a PLT entry, set plt_offset.
5831214634Sdim	Don't create a copy reloc when creating a shared library.  Don't
5832214634Sdim	set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY.
5833214634Sdim	(elf_i386_allocate_dynamic_section): Remove.
5834214634Sdim	(elf_i386_size_dynamic_sections): Look through all the sections
5835214634Sdim	rather than assuming we know their names.  Remove any empty reloc
5836214634Sdim	or plt sections.  Only add a DT_DEBUG entry if not creating a
5837214634Sdim	shared library.  Only add a DT_PLTGOT entry if there is a PLT.
5838214634Sdim	Add a DT_TEXTREL entry if required.
5839214634Sdim	(elf_i386_relocate_section): Permit undefined symbols when
5840214634Sdim	creating a shared library.  Handle the special relocation types
5841214634Sdim	specially.
5842214634Sdim	(elf_i386_finish_dynamic_symbol): Create a PLT entry if plt_offset
5843214634Sdim	is set.  If creating a shared library, produce a PIC PLT entry.
5844214634Sdim	Only mark a PLT symbol as undefined if it was not defined by a
5845214634Sdim	regular object file.  Create a GOT entry if got_offset is set.
5846214082Sdim	Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set.
5847214634Sdim	(elf_i386_finish_dynamic_sections): Change the handling of
5848214634Sdim	DT_RELSZ to simply subtract out the size of .rel.plt.  If creating
5849214634Sdim	a shared library, produce PIC PLT code.
5850214634Sdim	(elf_backend_check_relocs): Define.
5851214634Sdim	* elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT10,
5852214634Sdim	R_SPARC_GOT22, and R_SPARC_PC10 to not warn about reloc overflow.
5853214634Sdim	(elf32_sparc_create_dynamic_sections): If creating a shared
5854214634Sdim	library, make sure that _GLOBAL_OFFSET_TABLE_ is added as a
5855214082Sdim        dynamic symbol, and set the type to STT_OBJECT.  Likewise for
5856214634Sdim        _PROCEDURE_LINKAGE_TABLE_.  Don't create .rel.bss if creating a
5857214082Sdim        shared library.
5858214634Sdim	(elf32_sparc_check_relocs): New function.
5859214634Sdim	(elf32_sparc_adjust_dynamic_symbol): Don't make a PLT entry if the
5860214634Sdim	symbol already has one.  When making a PLT entry, set plt_offset.
5861214082Sdim	Don't create a copy reloc when creating a shared library.  Don't
5862214634Sdim	set copy_offset, just set ELF_LINK_HASH_NEEDS_COPY.
5863214634Sdim	(elf32_sparc_allocate_dynamic_section): Remove.
5864214082Sdim	(elf32_sparc_size_dynamic_sections): Look through all the sections
5865214634Sdim	rather than assuming we know their names.  Only add a DT_DEBUG
5866214634Sdim	entry if not creating a shared library.  Add a DT_TEXTREL entry if
5867214082Sdim	required.
5868214634Sdim	(elf32_sparc_relocate_section): Permit undefined symbols when
5869214634Sdim	creating a shared library.  Handle the special relocation types
5870214634Sdim	specially.
5871214082Sdim	(elf32_sparc_finish_dynamic_symbol): Create a PLT entry if plt_offset
5872214634Sdim	is set.  Only mark a PLT symbol as undefined if it was not defined
5873214634Sdim	by a regular object file.  Create a GOT entry if got_offset is
5874214634Sdim	set.  Create a copy reloc if ELF_LINK_HASH_NEEDS_COPY is set.
5875214634Sdim	(elf32_sparc_finish_dynamic_sections): Store dynobj in a local
5876214634Sdim	variable.
5877214082Sdim	(elf_backend_check_relocs): Define.
5878214634Sdim
5879214634SdimMon Jul 25 12:21:07 1994  Stan Shebs  (shebs@andros.cygnus.com)
5880214634Sdim
5881214634Sdim	* configure.in (pc532mach_vec): Change to pc532machaout_vec.
5882214082Sdim	* config.bfd (ns32k-*-netbsd*): Use ns32k-nbsd as bfd_name.
5883214634Sdim	* Makefile.in (ALL_MACHINES): Add cpu-ns32k.o.
5884214634Sdim	(BFD32_BACKENDS): Add aout-ns32k.o, netbsd532.o, m88kmach3.o,
5885214634Sdim	pc532-mach.o.
5886214634Sdim	* targets.c (pc532machaout_vec): Use instead of pc532mach_vec.
5887214634Sdim	* config/pc532-mach.mt (DEFAULT_VECTOR): Ditto.
5888214634Sdim	(SELECT_VECS): Remove.
5889214634Sdim	* config/ns32k-nbsd.mt: New file, was ns32k-netbsd.mt.
5890214634Sdim	* config/ns32k-netbsd.mt: Remove, name too long.
5891214634Sdim
5892214634SdimFri Jul 22 11:07:14 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5893214634Sdim
5894214634Sdim	* linker.c (generic_link_check_archive_element): When changing a
5895214634Sdim	symbol to common, set the alignment.
5896214634Sdim	(_bfd_generic_link_add_one_symbol): When creating a common symbol,
5897214634Sdim	set the alignment.
5898214634Sdim	* aoutx.h (aout_link_check_ar_symbols): When changing a symbol to
5899214634Sdim	common, set the alignment.
5900214634Sdim	(aout_link_add_symbols): Restrict the alignment of a common symbol
5901214634Sdim	to the alignment power given by the architecture.
5902214634Sdim	* libelf.h (struct elf_link_hash_entry): Remove align field.  Add
5903214634Sdim	copy_offset field.
5904214634Sdim	* elfcode.h (elf_link_add_object_symbols): Store alignment in
5905214082Sdim	new bfd_link_hash_entry field, not in elf_link_hash_entry field.
5906214634Sdim	(elf_link_output_extsym): Similar change when getting alignment.
5907214634Sdim	* elf.c (_bfd_elf_link_hash_newfunc): Don't initialize align.  Do
5908214634Sdim	initialize copy_offset.
5909214634Sdim	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use copy_offset
5910214634Sdim	field rather than align field.  Get alignment using bfd_log2
5911214634Sdim	rather than switch.
5912214634Sdim	* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
5913214634Sdim	* elf32-i386.c (elf_i386_finish_dynamic_symbol): Use copy_offset,
5914214634Sdim	not align.
5915214082Sdim	* elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Likewise.
5916214634Sdim
5917214634Sdim	* aoutx.h (NAME(aout,some_aout_object_p)): Just check
5918214634Sdim	STAT_FOR_EXEC, don't check MACH.
5919214634Sdim	* m88kmach3.c (MACH): Don't define.
5920214634Sdim	* config/i386-mach3.mt (TDEFINES): Define STAT_FOR_EXEC.
5921214634Sdim	* config/m88k-mach3.mt (TDEFINES): Likewise.
5922214082Sdim	* config/mips-mach3.mt (TDEFINES): Likewise.
5923214634Sdim
5924214634SdimThu Jul 21 17:24:31 1994  Stan Shebs  (shebs@andros.cygnus.com)
5925214634Sdim
5926214634Sdim	* i386mach3.c: Reverted to version from before Jul 5 1994 changes.
5927214082Sdim
5928214634SdimThu Jul 21 12:26:01 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5929214634Sdim
5930214634Sdim	* reloc.c (struct reloc_howto_struct): Remove special_function1.
5931214082Sdim	It's the wrong way to do things.
5932214634Sdim	(HOWTO): Change accordingly.
5933214634Sdim	(HOWTO2): Remove.
5934214634Sdim	(_bfd_final_link_relocate): Remove references to
5935214634Sdim	special_function1.
5936214634Sdim	* bfd-in2.h: Rebuilt.
5937214634Sdim	* aoutx.h (aout_link_input_section_std): Remove references to
5938214634Sdim	special_function1.
5939214082Sdim	(aout_link_reloc_link_order): Likewise.
5940214634Sdim
5941214634SdimWed Jul 20 15:46:44 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5942214634Sdim
5943214634Sdim	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add rpath
5944214634Sdim	argument.  If it is not NULL, use it to set DT_RPATH.
5945214634Sdim	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
5946214634Sdim	(bfd_elf64_size_dynamic_sections): Likewise.
5947214082Sdim	* bfd-in2.h: Rebuilt.
5948214634Sdim
5949214634SdimSat Jul 16 21:10:39 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
5950214634Sdim
5951214634Sdim	* elfcode.h (elf_get_dynamic_symtab_upper_bound): If there is no
5952214634Sdim	dynamic symtab, return error.
5953214634Sdim
5954214634Sdim	* libelf.h (ELF_LINK_HASH_DEFINED_WEAK): Define.
5955214634Sdim	* elfcode.h (elf_link_add_object_symbols): If symbol is defined as
5956214634Sdim	weak, set ELF_LINK_HASH_DEFINED_WEAK.
5957214634Sdim	(elf_link_output_extsym): If symbol is defined as weak, mark it
5958214634Sdim	STB_WEAK.
5959214634Sdim
5960214634Sdim	* libelf.h (struct bfd_elf_section_data): Add relocs field.
5961214634Sdim	(shdr_name): Remove; unused.
5962214634Sdim	* elfcode.h (elf_slurp_reloc_table): Rewrote to handle both REL
5963214634Sdim	and RELA relocs.  Free up the unswapped relocs.  Permit the relocs
5964214634Sdim	to be cached in the section_data.  Correct the reloc address.
5965214634Sdim	(elf_slurp_reloca_table): Remove.
5966214634Sdim	(elf_canonicalize_reloc): Rewrote.
5967214634Sdim	(elf_link_input_bfd): Permit the relocs to be cached in the
5968214634Sdim	section data.
5969214634Sdim
5970214634SdimSat Jul 16 13:55:38 1994  Stan Shebs  (shebs@andros.cygnus.com)
5971214634Sdim
5972214634Sdim	* config.bfd (m88*-harris-cxux*): Recognize.
5973214634Sdim	* hosts/harris.h (POSIX_UTIME, HAVE_PROCFS): Define.
5974214634Sdim
5975214634Sdim	* configure.host (m68*-atari-sysv4*): New host.
5976214634Sdim	(m68*-cbm-sysv4*): Use m68kv4 instead of amix.
5977214634Sdim	* hosts/amix.h: Remove.
5978214634Sdim	* hosts/m68kv4.h: New file, was amix.h.
5979214634Sdim
5980214634SdimThu Jul 14 15:12:24 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
5981214634Sdim
5982214634Sdim	* reloc.c (enum bfd_reloc_code_real, bfd_type, struct
5983214634Sdim	reloc_howto_struct, reloc_howto_type, HOWTO, HOWTO2): Copied
5984214634Sdim	changes over from bfd-in2.h so they get generated properly next
5985214634Sdim	time someone runs "make headers".
5986214634Sdim	* bfd-in2.h: Rebuilt.
5987214634Sdim
5988214634Sdim	* targets.c (netbsd532_vec, pc532mach_vec): Declare const.
5989214634Sdim	(m88kmach3_vec): Restore deleted declaration.
5990214634Sdim
5991214634Sdim	* configure.in: Alphabetize target vector names.
5992214634Sdim
5993214634Sdim	* config/pc532mach.mh: New file.
5994214634Sdim	(HDEPFILES, HDEFINES): Define here.
5995214634Sdim	* config/pc532-mach.mt (HDEPFILES, HDEFINES): Deleted.
5996214634Sdim	* config/ns32k-netbsd.mt (HDEPFILES, HDEFINES): Deleted.
5997214634Sdim
5998214634Sdim	Sun Jul 10 00:04:20 1994  Ian Dall  (dall@hfrd.dsto.gov.au)
5999214634Sdim
6000214634Sdim	* pc532-mach.c: New File. pc532-mach a.out format.
6001214634Sdim
6002214634Sdim	* netbsd532.c: New file. pc532-netbsd532 a.out format.
6003214634Sdim
6004214634Sdim	* hosts/pc532mach.h: New file. pc532-mach host support.
6005214634Sdim
6006214634Sdim	* cpu-ns32k.c: New file. ns32k support cpu specific code rather
6007214634Sdim	than format specific code.
6008214634Sdim
6009214634Sdim	* config/pc532-mach.mt: New file. Support for pc532-mach target.
6010214634Sdim
6011214634Sdim	* config/ns32k-netbsd.mt: New file. Support for netbsd532 target.
6012214634Sdim
6013214634Sdim	* aout-ns32k.c, aout-ns32k.h: New files supporting aout format for
6014214634Sdim	ns32k series. 
6015214634Sdim
6016214634Sdim	* targets.c: Add netbsd532_vec and pc532machaout_vec into
6017214634Sdim	bfd_target_vector array. Move netbsd386_vec to alphabetic order
6018214634Sdim	location.
6019214634Sdim
6020214634Sdim	* reloc.c (_bfd_final_link_relocate) Add support for
6021214634Sdim	special_function1 in howto.
6022214634Sdim
6023214634Sdim	* libaout.h: add M_NS32032, M_NS32532, M_532_NETBSD entries in
6024214634Sdim	machine_type enum.
6025214634Sdim
6026214634Sdim	* configure.in: add pc532mach_vec and netbsd532_vec entries.
6027214634Sdim
6028214634Sdim	* config.bfd: add pc532mach host entries. Use for both
6029214634Sdim	ns32k-pc532-mach and ns32k-pc532-netbsd.
6030214634Sdim
6031214634Sdim	* config.bfd: it doesn't work to use i386-mach3 for ns32k*-*-mach.
6032214634Sdim	add ns32k-pc532-mach* and ns32k-*-netbsd* entries.
6033214634Sdim
6034214634Sdim	* bfd-in2.h: Add ns32k specific relocations to bfd_reloc_code_real
6035214634Sdim	enum.
6036214634Sdim
6037214634Sdim	* bfd-in2.h: Add special_function1 to struct howto. Change HOWTO
6038214634Sdim	and NEWHOWTO macros to make special_function1 NULL. Neww HOWTO2
6039214634Sdim	macro.
6040214634Sdim
6041214634Sdim	* bfd-in2.h: Split definition of struct reloc_howto_struct
6042214634Sdim	and corresponding typedef into two statements.
6043214634Sdim
6044214634Sdim	* bfd-in2.h: Add entry bfd_arch_ns32k to bfd_architecture enum.
6045214634Sdim
6046214634Sdim	* archures.c: Add bfd_ns32k_arch prototype, and entry in
6047214634Sdim	archures_init_table. 
6048214634Sdim
6049214634Sdim	* aoutx.h (aout_link_reloc_link_order): Allow for target dependent
6050214634Sdim	MY_put_reloc macro. Allow for target dependent special_function1
6051214634Sdim	to apply the relocation. 
6052214634Sdim
6053214634Sdim	* aoutx.h (aout_link_input_section_std): Allow for target
6054214634Sdim	dependent determination of reloc howto. Allow for target dependent
6055214634Sdim	special_function1 to apply the relocation.
6056214634Sdim
6057214634Sdim	* aoutx.h (get_reloc_upper_bound): Detect bss and return 0.
6058214634Sdim
6059214634Sdim	* aoutx.h (slurp_reloc_table): Detect bss and succesfully read
6060214634Sdim	zero reloc entries.
6061214634Sdim
6062214634Sdim	* aoutx.h (machine_type): Add bfd_arch_ns32k case.
6063214634Sdim
6064214634Sdim	* aoutx.h: Stat to determine executable status if STAT_FOR_EXEC
6065214634Sdim	is defined (not just MACH). Use fstat instead of stat and check
6066214634Sdim	for fstat error.
6067214634Sdim
6068214634Sdim	* aoutx.h: Allow target dependent swap_std_reloc_{in,out}.
6069214634Sdim
6070214634Sdim	* aoutx.h: Allow CTORS reloc info to be in target dependent reloc
6071214634Sdim	table.
6072214634Sdim
6073214634Sdim	* aout-target.h: Apply SWAP_MAGIC (if defined) after
6074214634Sdim	swap_exec_header_in, otherwise we have magic in the wrong order.
6075214634Sdim
6076214634SdimThu Jul 14 11:47:27 1994  Stan Shebs  (shebs@andros.cygnus.com)
6077214634Sdim
6078214634Sdim	* coff-sparc.c (sparccoff_vec): Have leading underscores.
6079214634Sdim
6080214634SdimTue Jul 12 12:08:10 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
6081214634Sdim
6082214634Sdim	* aix386-core.c, aoutf1.h, cisco-core.c, elfcode.h, hppabsd-core.c,
6083214634Sdim	hpux-core.c, irix-core.c, lynx-core.c, osf-core.c, ptrace-core.c,
6084214634Sdim	rs6000-core.c, trad-core.c:  Remove SEC_ALLOC flag from .reg
6085214634Sdim	sections, .reg sections are not allocated and contain debug
6086214634Sdim	information only.
6087214634Sdim	* osf-core.c (make_bfd_asection, osf_core_core_file_p):  Use
6088214634Sdim	bfd_make_section_anyway instead of building unique section names.
6089214634Sdim
6090214634SdimTue Jul 12 11:41:22 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6091214634Sdim
6092214634Sdim	* libelf.h (bfd_elf32_swap_symbol_in): Declare.
6093214634Sdim	(bfd_elf32_swap_symbol_out): Declare.
6094214634Sdim	(bfd_elf64_swap_symbol_in, bfd_elf64_swap_symbol_out): Declare.
6095214634Sdim	* elf32-hppa.c (elf32_hppa_args_hash_table_init): Correct cast.
6096214634Sdim
6097214634Sdim	* aout-encap.c (ARCH): Don't define.  Obsolete.
6098214634Sdim	* aout0.c, aoutx.h, gen-aout.c, hp300bsd.c, hp300hpux.c: Likewise.
6099214634Sdim	* i386aout.c, i386bsd.c, i386dynix.c, i386linux.c: Likewise.
6100214634Sdim	* i386lynx.c, m68klynx.c, mipsbsd.c, netbsd386.c: Likewise.
6101214634Sdim	* newsos3.c, sparclynx.c, sunos.c: Likewise.
6102214634Sdim
6103214634SdimMon Jul 11 20:08:23 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6104214634Sdim
6105214634Sdim	* section.c (STD_SECTION): Make the sixth argument boolean, not
6106214634Sdim	the seventh.  From gary@tuva.pacsemi.oz.au (gary kopff).
6107214634Sdim
6108214634SdimSun Jul 10 09:12:02 1994  D. V. Henkel-Wallace  (gumby@cygnus.com)
6109214634Sdim
6110214634Sdim	* aoutx.h (bfd_free_cached_info): Change name of FREE to BFCI_FREE
6111214634Sdim	in order not to collide with LynxOS's definition of FREE in
6112214634Sdim	/usr/include/sys/proc.h
6113214634Sdim
6114214634SdimThu Jul  7 14:18:06 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6115214634Sdim
6116214634Sdim	* reloc.c (bfd_perform_relocation): Don't clobber the relocation
6117214634Sdim	value for coff-Intel-little or coff-Intel-big.  Hack upon hack.
6118214634Sdim
6119214634SdimThu Jul  7 10:10:34 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
6120214634Sdim
6121214634Sdim	* aoutx.h (howto_table_std):  Add entry for GOT relocations
6122214634Sdim	which are present in sun3 shared libraries, to avoid assertions
6123214634Sdim	when reading the dynamic relocations.
6124214634Sdim
6125214634SdimThu Jul  7 10:19:20 1994  Jeff Law  (law@snake.cs.utah.edu)
6126214634Sdim
6127214634Sdim	* som.h (R_HPPA_COMPLEX): Fix dumb typo. 
6128214634Sdim
6129214634SdimWed Jul  6 19:21:57 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6130214634Sdim
6131214634Sdim	* hosts/sysv4.h (qsort, strtol): Don't declare.
6132214634Sdim
6133214634Sdim	* elfcode.h (elf_link_output_sym): Don't call output_symbol_hook
6134214634Sdim	if it is NULL.
6135214634Sdim
6136214634Sdim	* elf32-mips.c (mips_elf_final_write_processing): Add ignored info
6137214634Sdim	argument to correspond to recent libelf.h change.
6138214634Sdim
6139214634SdimWed Jul  6 00:48:57 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
6140214634Sdim
6141214634Sdim	* coff-alpha.c (alpha_ecoff_mkobject_hook):  New hook to
6142214634Sdim	additionally copy object type information from the alpha file
6143214634Sdim	header to the BFD flags.
6144214634Sdim	(alpha_ecoff_backend_data):  Use it.
6145214634Sdim	(ecoffalpha_little_vec):  Add DYNAMIC to object_flags.
6146214634Sdim	* aout64.c:  Fix typo in conditional QMAGIC definition.
6147214634Sdim
6148214634SdimWed Jul  6 00:13:17 1994  Jeff Law  (law@snake.cs.utah.edu)
6149214634Sdim
6150214634Sdim	* hppabsd-core.c (hppabsd_core_core_file_p): Sanity check the
6151214634Sdim	value of clicksz to help weed out non HPPA BSD core files.
6152214634Sdim
6153214634SdimTue Jul  5 13:26:02 1994  Stan Shebs  (shebs@andros.cygnus.com)
6154214634Sdim
6155214634Sdim	Mach 3 support.
6156214634Sdim	* config.bfd (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*):
6157214634Sdim	New targets.
6158214634Sdim	* configure.host (i[34]86-*-mach3*, ns32k-*-mach3*): Recognize
6159214634Sdim	"mach3" instead of "mach".
6160214634Sdim	(m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*): New hosts.
6161214634Sdim	* targets.c (m88kmach3_vec): New target vector.
6162214634Sdim	(bfd_target_vector): Add i386mach3_vec and m88kmach3_vec, but
6163214634Sdim	inside #if 0.
6164214634Sdim	* aoutx.h (some_aout_object_p) [MACH]: Recognize executables by
6165214634Sdim	checking for execute permission, instead of looking at entry
6166214634Sdim	point.
6167214634Sdim	* i386mach3.c: Update, define MACH, N_TXTOFF, N_TXTADDR,
6168214634Sdim	N_SHARED_LIB, don't include aout/*.h files, etc.
6169214634Sdim	* m88kmach3.c: New file, m88k Mach 3 target.
6170214634Sdim	* config/m88k-mach3.mt,	config/mips-mach3.mt: New files, target
6171214634Sdim	makefile fragments.
6172214634Sdim	* config/i386mach3.mh, config/m88kmach3.mh, config/mipsmach3.mh:
6173214634Sdim	New files, host	makefile fragments.
6174214634Sdim	* hosts/m88kmach3.h, hosts/mipsmach3.h: New files, host definitions.
6175214634Sdim
6176214634SdimTue Jul  5 13:56:52 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6177214634Sdim
6178214634Sdim	* elfcode.h (swap_out_syms): Get alignment of common symbol from
6179214634Sdim	st_value field of saved ELF symbol information, if there is any.
6180214634Sdim
6181214634SdimMon Jul  4 19:13:32 1994  Jeff Law  (law@snake.cs.utah.edu)
6182214634Sdim
6183214634Sdim	* som.h (R_HPPA_COMPLEX): Define.
6184214634Sdim	* elf32-hppa.h (R_HPPA_COMPLEX): Define.
6185214634Sdim	(elf32_hppa_reloc_type): Delete R_PARISC_STUB_CALL_17.
6186214634Sdim
6187214634SdimFri Jul  1 12:07:41 1994  Jeff Law  (law@snake.cs.utah.edu)
6188214634Sdim
6189214634Sdim	* Support code for enabling the new style linker for PA ELF.
6190214634Sdim	* elfcode.h (swap_symbol_in, swap_symbol_out): Externalize.
6191214634Sdim	(elf_compute_section_file_positions): Pass link_info to
6192214634Sdim	the begin_write_processing hook.
6193214634Sdim	(bfd_elf_write_object_contents): Pass NULL for new link_info
6194214634Sdim	argument to final_write_processing hook.
6195214634Sdim	(elf_link_output_sym): Accept new "input_section" argument for
6196214634Sdim	the symbols's input section.  All callers changed.  Call the
6197214634Sdim	link_output_symbol_hook if it's defined.
6198214634Sdim	(elf_bfd_final_link): Call the final_write_processing hook if
6199214634Sdim	it's defined.
6200214634Sdim	* libelf.h (elf_backend_link_output_symbol_hook): Declare.
6201214634Sdim	(elf_backend_begin_write_processing): Add new "info" argument.
6202214634Sdim	(elf_backend_final_write_processing): Likewise.
6203214634Sdim	* elf32-target.h (elf_backend_link_output_symbol_hook): Provide
6204214634Sdim	a default definition.
6205214634Sdim	(elf32_bed): Add elf_backend_link_output_symbol_hook.
6206214634Sdim	* elf64-target.h: Likewise.
6207214634Sdim	
6208214634Sdim	* Major rework of the PA ELF code.  Uses the new style BFD
6209214634Sdim	linker, major cleanups.
6210214634Sdim	* hppa_stubs.h: Rewrite from scratch.  Much smaller and simpler.
6211214634Sdim	* elf32-hppa.h: Delete all symbol extension related code.
6212214634Sdim	(hppa_look_for_stubs_in_section): Delete decl.
6213214634Sdim	(elf32_hppa_size_stubs, elf32_hppa_build_stubs): New decls.
6214214634Sdim	* elf32-hppa.c: Symbol extension stuff moved form elf32-hppa.h
6215214634Sdim	into elf32-hppa.c.  Do not include aout64.h.
6216214634Sdim	(typdef hppa_stub_type): Delete.
6217214634Sdim	(elf32_hppa_stub_name_list_struct): Delete.
6218214634Sdim	(elf32_hppa_stub_description_struct): Delete.
6219214634Sdim	(arg_reloc_type): Use simpler enumerations.  All references changed.
6220214634Sdim	(arg_location, arg_reloc_relocation): Likewise.
6221214634Sdim	(elf32_hppa_symextn_map_struct): Delete.
6222214634Sdim	(get_symbol_value): Delete.
6223214634Sdim	(elf32_hppa_get_sym_extn): Delete.
6224214634Sdim	(find_stubs, new_stubs, type_of_mismatch): Delete.
6225214634Sdim	(find_stub_by_name, add_stub_by_name): Delete.
6226214634Sdim	(hppa_elf_stub_finish, hppa_elf_stub_reloc): Delete.
6227214634Sdim	(hppa_elf_arg_reloc_needed): Renamed.  Simplify.
6228214634Sdim	(hppa_elf_build_linker_stub, hppa_elf_create_stub_sec): Delete.
6229214634Sdim	(hppa_elf_long_branch_needed_p): Delete.
6230214634Sdim	(hppa_look_for_stubs_in_section): Delete.
6231214634Sdim	(hppa_elf_get_section_contents): Delete.
6232214634Sdim	(elf32_hppa_backend_symbol_processing): Delete.
6233214634Sdim	(elf32_hppa_backend_section_processing): Delete.
6234214634Sdim	(elf32_hppa_backend_section_from_shdr): Delete.
6235214634Sdim	(elf32_hppa_backend_fake_sections): Delete.
6236214634Sdim	(elf32_hppa_backend_section_from_bfd_section): Delete.
6237214634Sdim	(NEW_INSTRUCTION): Delete.
6238214634Sdim	(CURRENT_STUB_OFFSET): Delete.
6239214634Sdim	(elf32_hppa_relocate_section): New function.
6240214634Sdim	(elf32_hppa_bfd_final_link_relocate): New function.
6241214634Sdim	(elf32_hppa_size_symext): New function.
6242214634Sdim	(elf32_hppa_link_output_symbol_hook): New function.
6243214634Sdim	(elf32_hppa_read_symext_info): New function.
6244214634Sdim	(elf32_hppa_add_symbol_hook): New function.
6245214634Sdim	(elf32_hppa_name_of_stub): New function.
6246214634Sdim	(elf32_hppa_size_of_stub): New function.
6247214634Sdim	(elf32_hppa_build_one_sub): New function.
6248214634Sdim	(elf32_hppa_build_stubs): New function.
6249214634Sdim	(elf32_hppa_size_stubs): New function.
6250214634Sdim	(linker, stub and argument hash tables): Add appropriate
6251214634Sdim	structures, definitions and functions to implement all three
6252214634Sdim	hash tables.
6253214634Sdim	(hppa_elf_relocate_insn): Don't need argument location information
6254214634Sdim	in this function.
6255214634Sdim	(add_entry_to_symext_chain): Accept a symbol's argument location
6256214634Sdim	information rather than the symbol itself.  All callers changed.
6257214634Sdim	(hppa_elf_gen_reloc_type): Simplify.
6258214634Sdim	(hppa_elf_set_section_contents): Stub section is no longer special.
6259214634Sdim	(hppa_elf_reloc): Greatly simplify.
6260214634Sdim	(elf32_hppa_begin_write_processing): Accept link_info argument.
6261214634Sdim	Handle being called from the BFD backend linker.
6262214634Sdim	(elf32_hppa_final_write_processing): Likewise.
6263214634Sdim	(elf_hppa_tc_make_sections): No longer call stub_finish.
6264214634Sdim	
6265214634SdimMon Jun 27 18:07:06 1994  Steve Chamberlain  (sac@cirdan.cygnus.com)
6266214634Sdim
6267214634Sdim	* section.c (bfd_get_section_contents): Put in parens to get
6268214634Sdim	precedence right.
6269214634Sdim
6270214634SdimSun Jun 26 18:08:29 1994  Jeff Law  (law@snake.cs.utah.edu)
6271214634Sdim
6272214634Sdim	* libelf.h (relocate_section): New argument "output_names" added
6273214634Sdim	to prototype.
6274214634Sdim	* elfcode.h (elf_link_input_bfd): New argument "output_names"
6275214634Sdim	added to prototype of relocate_section.  Pass the output symbol
6276214082Sdim	names to relocate_section.
6277214082Sdim	* elf32-i386.c (elf_i386_relocate_section): Use "output_names" to
6278214082Sdim	determine the name of a local symbol.
6279214082Sdim	* elf32-mips.c (mips_elf_relocate_section): Likewise.
6280214082Sdim	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6281214082Sdim
6282214082SdimFri Jun 24 08:15:42 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
6283214082Sdim
6284214082Sdim	Add Solaris BCP (the part of Solaris which allows it to run
6285214082Sdim	SunOS4 a.out files) core file handling.
6286214082Sdim	* aoutf1.h (external_solaris_bcp_core, swapcore_solaris_bcp):
6287214082Sdim	New structure and its swap in function.
6288214082Sdim	(internal_sunos_core):  New member c_data_addr, to receive the
6289214082Sdim	start address of the data section in the core file.
6290214082Sdim	(swapcore_sun3, swapcore_sparc, sunos4_core_file_p):  Use it.
6291214082Sdim	(sunos4_core_file_p):  Recognize Solaris BCP core file.
6292214082Sdim	(sunos4_core_file_matches_executable_p):  Always indicate match
6293214082Sdim	for Solaris BCP core files.
6294214082Sdim
6295214082SdimThu Jun 23 15:31:28 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6296214082Sdim
6297214082Sdim	Preliminary support for generating shared libraries, from Eric
6298214082Sdim	Youngdale <ericy@cais.cais.com>.
6299214082Sdim	* elfcode.h (prep_headers): If DYNAMIC, set e_type to ET_DYN.
6300214082Sdim	(elf_link_add_object_symbols): If generating a shared library,
6301214082Sdim	create dynamic sections for first input BFD with the right format.
6302214082Sdim	(elf_link_create_dynamic_sections): Don't create .interp section
6303214082Sdim	if creating a shared library.
6304214082Sdim	(elf_link_input_bfd): Skip dynamic sections in input file.
6305214082Sdim	(elf_bfd_final_link): If creating a shared library, it's OK for
6306214082Sdim	dynobj to have sections which are not SEC_IN_MEMORY.
6307214082Sdim	* elf32-i386.c (elf_i386_size_dynamic_sections): Only set .interp
6308214082Sdim	section if not creating a shared library.
6309214082Sdim	* elf32-sparc.c (elf_sparc_size_dynamic_sections): Likewise.
6310214082Sdim
6311214082Sdim	* elfcode.h (elf_object_p): Don't set DYNAMIC just because there
6312214082Sdim	is an SHT_DYNAMIC section.
6313214082Sdim
6314214082Sdim	* cf-i386lynx.c (i386coff_vec): Don't include DYNAMIC in
6315214082Sdim	object_flags.
6316214082Sdim	* coff-sparc.c (sparccoff_vec): Likewise.
6317214082Sdim	* hppabsd-core.c (hppabsd_core_vec): Likewise.
6318214082Sdim
6319214082Sdim	* aoutx.h (NAME(aout,some_aout_object_p)): Don't set SEC_RELOC
6320214082Sdim	just because DYNAMIC is set.
6321214082Sdim
6322214082SdimThu Jun 23 12:53:41 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
6323214082Sdim
6324214082Sdim	* configure.in: Change --with-targets to --enable-targets and
6325214082Sdim	--with-64-bit-bfd to --enable-64-bit-bfd.
6326214082Sdim	* Makefile.in, mpw-make.in, targets.c: Change comments.
6327214082Sdim
6328214082SdimWed Jun 22 17:59:59 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
6329214082Sdim
6330214082Sdim	* config.bfd (powerpc-*-elf*): New target, just like
6331214082Sdim	powerpc-*-sysv4*.
6332214082Sdim
6333214082Sdim	* linker.c (FAIL): Undefine macro before defining as enum.
6334214082Sdim
6335214082SdimWed Jun 22 10:52:47 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6336214082Sdim
6337214082Sdim	* linker.c (_bfd_generic_link_add_archive_symbols): Initialize
6338214082Sdim	pass from abfd->archive_pass, and save it there as well.
6339214082Sdim
6340214082Sdim	* hash.c (bfd_hash_allocate): Don't call bfd_set_error if
6341214082Sdim	obstack_alloc returns NULL unless the size is non-zero.
6342214082Sdim
6343214082Sdim	* linker.c (archive_hash_allocate): Define.
6344214082Sdim	(_bfd_generic_link_add_archive_symbols): Use archive_hash_allocate
6345214082Sdim	rather than obstack_alloc, for clarity.
6346214082Sdim
6347214082Sdim	* elfcode.h (elf_get_reloc_upper_bound): Correct.
6348214082Sdim
6349214082Sdim	* aout64.c (BMAGIC, QMAGIC): Define if not already defined.  From
6350214082Sdim	Peter Schauer <pes@regent.e-technik.tu-muenchen.de>.
6351214082Sdim
6352214082Sdim	Linux ZMAGIC support from Eric Youngdale <ericy@cais.cais.com>.
6353214082Sdim	* libaout.h (struct aoutdata): Add field zmagic_disk_block_size.
6354214082Sdim	* aout-target.h (MY(callback)): Only set alignment according to
6355214082Sdim	architecture if the section sizes are aligned to that alignment,
6356214082Sdim	for backward compatibility.
6357214082Sdim	(MY(set_sizes)): Initialize zmagic_disk_block_size field.
6358214082Sdim	* aoutx.h (adjust_z_magic): Set ztih if using q_magic_format.  Set
6359214082Sdim	text section filepos to zmagic_disk_block_size if not ztih.  Use a
6360214082Sdim	different padding algorithm if not ztih.
6361214082Sdim	* i386linux.c (MY_text_includes_header): Don't define.
6362214082Sdim
6363214082Sdim	* aoutx.h (aout_link_check_ar_symbols): Just skip N_STAB and N_FN
6364214082Sdim        symbols; don't look them up in the hash table.  From
6365214082Sdim        ralphc@pyramid.com (Ralph Campbell).
6366214082Sdim
6367214082SdimTue Jun 21 11:47:20 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6368214082Sdim
6369214082Sdim	* coff-go32.c (go32coff_archive_p): Remove unused function.
6370214082Sdim
6371214082Sdim	* section.c (bfd_abs_section): Make const.
6372214082Sdim	(bfd_abs_section_ptr, bfd_is_abs_section): Define.
6373214082Sdim	(bfd_und_section): Make const.
6374214082Sdim	(bfd_und_section_ptr, bfd_is_und_section): Define.
6375214082Sdim	(bfd_com_section): Make const.
6376214082Sdim	(bfd_com_section_ptr): Define.
6377214082Sdim	(bfd_ind_section): Make const.
6378214082Sdim	(bfd_ind_section_ptr, bfd_is_ind_section): Define.
6379214082Sdim	(bfd_abs_symbol, bfd_com_symbol): Make const.
6380214082Sdim	(bfd_und_symbol, bfd_ind_symbol): Likewise.
6381214082Sdim	(global_syms): Cast initialization of section field.
6382214082Sdim	(STD_SECTION): Define as const, and cast initializations.
6383214082Sdim	* bfd-in2.h: Rebuilt.
6384214082Sdim	* Many files: Change uses of bfd_abs_section, etc., to use
6385214082Sdim	bfd_abs_section_ptr or bfd_is_abs_section, etc.
6386214082Sdim
6387214082SdimMon Jun 20 11:06:27 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
6388214082Sdim
6389214082Sdim	* Many files: change all bfd_target vectors to be const.  Change
6390214082Sdim	all uses of bfd_target * to be const bfd_target *.  Change
6391214082Sdim	bfd_target_vector and bfd_default_vector arrays to be const
6392214082Sdim	bfd_target * const *.
6393214082Sdim
6394214082Sdim	* ecoff.c, libecoff.h, ecoffswap.h, coff-alpha.c, coff-mips.c,
6395214082Sdim	elf32-mips.c: Renamed all externally visible ECOFF routines which
6396214082Sdim	are local to BFD to start with _bfd_ecoff instead of just ecoff.
6397214082Sdim
6398214082Sdim	* ecoff.c (ecoff_swap_tir_in): Change input argument to const.
6399214082Sdim	(ecoff_swap_tir_out): Likewise.
6400214634Sdim	(ecoff_swap_rndx_in, ecoff_swap_rndx_out): Likewise.
6401214082Sdim	(ecoff_slurp_symbolic_info): Add new arguments to correspond to
6402214082Sdim	read_debug_info entry point in ecoff_debug_swap structure.
6403214082Sdim	Change all calls.
6404214082Sdim	* libecoff.h (ecoff_slurp_symbolic_info): Change declaration.
6405214082Sdim	* ecoffswap.h (ecoff_swap_tir_in, ecoff_swap_tir_out): Declare.
6406214082Sdim	(ecoff_swap_rndx_in, ecoff_swap_rndx_out): Declare.
6407214082Sdim	* coff-alpha.c (alpha_ecoff_backend_data): Initialize new
6408214082Sdim	ecoff_debug_swap fields.
6409214082Sdim	* coff-mips.c (mips_ecoff_backend_data): Likewise.
6410214082Sdim	* elf32-mips.c (mips_elf_read_ecoff_info): Undefine READ.
6411214082Sdim	(mips_elf_ecoff_debug_swap): Initialize new ecoff_debug_swap
6412214082Sdim	fields.
6413214082Sdim	* configure.in (bfd_elf32_bigmips_vec): Use ecoff.o and
6414214082Sdim	ecofflink.o.
6415214082Sdim	(bfd_elf32_littlemips_vec): Likewise.
6416214082Sdim	(ecoff_big_vec, ecoff_little_vec): Likewise.
6417214082Sdim	(ecoffalpha_little_vec): Likewise.
6418214082Sdim	* Makefile.in (BFD_LIBS): Remove ecoff.o and ecofflink.o.
6419214082Sdim	(BFD32_BACKENDS): Add ecoff.o and ecofflink.o.
6420214082Sdim
6421214082Sdim	* aoutx.h (NAME(aout,final_link)): Check flavour of sub, not abfd,
6422214082Sdim	when computing reloc sizes.  From Eric Youngdale
6423214082Sdim	<ericy@cais.cais.com>.
6424214082Sdim	* elfcode.h (elf_bfd_final_link): Don't try to compute maximum
6425214082Sdim	reloc count or size for a non-ELF file.
6426214082Sdim
6427214634Sdim	* mipsbsd.c (MY_final_link_callback): Define to avoid warning.
6428214634Sdim
6429214634Sdim	* hp300hpux.c (MY_final_link_callback): Define to avoid warning.
6430214082Sdim	(BMAGIC, QMAGIC): Define; used by aoutx.h.
6431214082Sdim	(MY(slurp_symbol_table)): Change translate_from_native_sym_flags
6432214082Sdim	calls to use new parameters.
6433214082Sdim
6434214082SdimFri Jun 17 14:45:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6435214082Sdim
6436214082Sdim	* aout-target.h (MY(callback)): Set the alignments of the text,
6437214082Sdim	data and bss sections after determining the architecture.
6438214082Sdim
6439214082Sdim	* sunos.c (sunos_add_one_symbol): Treat a common symbol from a
6440214082Sdim	dynamic object as being in the .bss section of the object, rather
6441214082Sdim	than as being undefined.
6442214082Sdim
6443214082SdimFri Jun 17 11:16:50 1994  Jeff Law  (law@snake.cs.utah.edu)
6444214082Sdim
6445214082Sdim	* libhppa.h (bfd_hppa_insn2fmt, hppa_rebuild_insn): Make INLINE.
6446214082Sdim
6447214082Sdim	* elf32-hppa.h (elf_hppa_final_processing): Delete decl.
6448214082Sdim
6449214082SdimThu Jun 16 23:36:23 1994  Jeff Law  (law@snake.cs.utah.edu)
6450214082Sdim
6451214082Sdim	* elfcode.h (elf_link_input_bfd): Don't try to read local symbols
6452214082Sdim	if there aren't any in the input file.
6453214082Sdim
6454214082SdimThu Jun 16 14:25:22 1994  Eric Youngdale  (ericy@cais.cais.com)
6455214082Sdim
6456214082Sdim	* i386linux.c: Many new functions and definitions for linker
6457214082Sdim	support for Linux shared libraries.
6458214082Sdim	* bfd-in.h (bfd_linux_size_dynamic_sections): Declare.
6459214082Sdim	* bfd-in2.h: Rebuild.
6460214082Sdim
6461214082SdimThu Jun 16 14:23:46 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6462214082Sdim
6463214082Sdim	* config.bfd: If second argument is ``_'', then, instead of
6464214082Sdim	echoing config file name, echo whether target uses leading
6465214082Sdim	underscores on symbol names.  Add appropriate settings to
6466214082Sdim	different cases.  Used by binutils/configure.in to set default for
6467214082Sdim	c++filt.
6468214082Sdim
6469214082Sdim	* elfcode.h (elf_bfd_final_link): If trying to generate a shared
6470214082Sdim	object, warn and return false.
6471214082Sdim
6472214082Sdim	* aoutx.h (NAME(aout,some_aout_object_p)): Accept BMAGIC objects
6473214082Sdim	and treat them as OMAGIC.
6474214082Sdim
6475214082SdimWed Jun 15 18:02:21 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
6476214082Sdim
6477214082Sdim	Enable sparc v9 support for release.  Note that this is still a
6478214082Sdim	work in progress, pending release of an ABI specification.
6479214634Sdim	* config.bfd, configure.in: Include sparc v9 elf config.
6480214634Sdim	* elfcode.h (prep_headers): Handle sparc v9 (64 bit).
6481214634Sdim	* reloc.c (bfd_reloc_code_real): New reloc types.
6482214634Sdim	* elf64-sparc.c: Implement elf64-sparc target.
6483214634Sdim	* Makefile.in, targets.c: Updated.
6484214634Sdim
6485214634SdimWed Jun 15 01:34:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6486214634Sdim
6487214634Sdim	* libelf.h (struct elf_obj_tdata): New field dt_needed_name.
6488214634Sdim	(elf_dt_needed_name): New accessor macro.
6489214634Sdim	* elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name
6490214634Sdim	is set, use that instead of the filename for the DT_NEEDED dynamic
6491214634Sdim	entry.
6492214634Sdim	* elf.c (bfd_elf_set_dt_needed_name): New function.
6493214634Sdim	* bfd-in.h (bfd_elf_set_dt_needed_name): Declare.
6494214634Sdim	* bfd-in2.h: Rebuilt.
6495214634Sdim
6496214634Sdim	* elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add sinterpptr
6497214634Sdim	argument, and set it to the .interp section.
6498214634Sdim	* bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype.
6499214634Sdim	(bfd_elf64_size_dynamic_sections): Likewise.
6500214634Sdim	* bfd-in2.h: Rebuilt.
6501214634Sdim
6502214634Sdim	* coff-sparc.c (SWAP_OUT_RELOC_EXTRA): Define to clear the r_spare
6503214634Sdim	field of the reloc rather than letting it be garbage.
6504214634Sdim
6505214634Sdim	* archive.c (bfd_slurp_armap): Recognize __.SYMDEF/ as well as
6506214634Sdim	__.SYMDEF; the former was used in old Linux archives.  From
6507214082Sdim	jrs@world.std.com (Rick Sladkey).
6508214082Sdim
6509214082Sdim	* i386linux.c (i386linux_write_object_contents): Define; like
6510214082Sdim	MY(write_object_contents) in aout-target.h, but set MACHTYPE to
6511214082Sdim	M_386.  From jrs@world.std.com (Rick Sladkey).
6512214082Sdim	(MY_write_object_contents): Define.
6513214082Sdim
6514214082Sdim	* aoutx.h (translate_from_native_sym_flags): Treat N_SETV symbols
6515214082Sdim	as N_DATA symbols.
6516214082Sdim	(aout_link_add_symbols): Likewise.
6517214082Sdim
6518214082Sdim	* aoutx.h: Rewrite symbol duplicate elimination to use BFD hash
6519214082Sdim	tables.
6520214082Sdim	(struct stringtab_entry, struct stringtab_data): Remove.
6521214082Sdim	(HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove.
6522214082Sdim	(struct strtab_hash_entry, struct strtab_hash): Define.
6523214082Sdim	(strtab_hash_newfunc, strtab_hash_lookup): Define.
6524214082Sdim	(stringtab_free, emit_stringtab): Define.
6525214082Sdim	(stringtab_init, add_to_stringtab): Rewrite.
6526214082Sdim	(NAME(aout,write_syms)): Use new stringtab code.
6527214082Sdim	(struct aout_final_link_info, NAME(aout,final_link)): Likewise.
6528214082Sdim	(aout_link_write_symbols, aout_link_write_other_symbol): Likewise.
6529214082Sdim
6530214082Sdim	* bfd-in.h (BFD_TRADITIONAL_FORMAT): Define new BFD flag to
6531214082Sdim	request BFD to write object in the traditional format, whatever
6532214082Sdim	that means for the particular backend.
6533214082Sdim	* bfd-in2.h: Rebuilt.
6534214082Sdim
6535214082Sdim	* hash.c (bfd_hash_allocate): If obstack_alloc fails, set
6536214082Sdim	bfd_error_no_memory.
6537214082Sdim
6538214082SdimTue Jun 14 13:00:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6539214082Sdim
6540214634Sdim	* libaout.h (struct aoutdata): Add q_magic_format to subformat
6541214082Sdim	enum.
6542214082Sdim	* aout-target.h (MY_bfd_copy_private_bfd_data): Define as function
6543214082Sdim	if not already defined.  Copy subformat information.
6544214082Sdim	(MY_text_includes_header): Define as 0 if not already defined.
6545214082Sdim	(MY(backend_data)): Use MY_text_includes_header rather than 0.
6546214082Sdim	(MY_final_link_callback): Rename from final_link_callback, and
6547214082Sdim	define only if MY_final_link_callback is not already defined.
6548214082Sdim	(MY_bfd_final_link): Rename use of final_link_callback to
6549214082Sdim	MY_final_link_callback.
6550214082Sdim	* aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like
6551214082Sdim	ZMAGIC, but set the subformat to q_magic_format.  Abort if the
6552214082Sdim	magic number if not recognized.
6553214082Sdim	(adjust_z_magic): Use QMAGIC if q_magic_format.
6554214082Sdim	* i386linux.c (MY_text_includes_header): Define as 1.
6555214082Sdim	(i386linux_bfd_final_link): New static function.
6556214082Sdim	(MY_bfd_final_link): Define as i386linux_bfd_final_link.
6557214082Sdim
6558214082Sdim	* aoutx.h (translate_to_native_sym_flags): Check both section and
6559214082Sdim	output_section against sections of abfd.
6560214082Sdim
6561214082Sdim	* libecoff.h (struct ecoff_link_hash_entry): Change type of
6562214082Sdim	written from boolean to char.  Add new field small.
6563214082Sdim	* ecoff.c (ecoff_link_hash_newfunc): Initialize written to 0
6564214082Sdim	rather than false.  Initialize small to 0.
6565214082Sdim	(ecoff_link_add_externals): If ECOFF type is scSUndefined, set
6566214082Sdim	small.  If small is set, and hash table type is common, force the
6567214082Sdim	symbol into a section named SCOMMON and change the ECOFF type from
6568214082Sdim	scCommon to scSCommon.
6569214082Sdim	(ecoff_link_write_external): Set written to 1 rather than true.
6570214082Sdim	* coff-mips.c (mips_relocate_section): Correct JMPADDR reloc
6571214082Sdim	overflow check to consider section VMA of input file.
6572214082Sdim
6573214082SdimMon Jun 13 14:20:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6574214082Sdim
6575214082Sdim	* aoutf1.h (aout_32_sunos4_write_object_contents): Handle a
6576214082Sdim	machine type of 68000.
6577214082Sdim	* aoutx.h (NAME(aout,machine_type)): Add new argument unknown.
6578214082Sdim	Set *unknown to true if machine type is really unknown, as opposed
6579214082Sdim	to M_UNKNOWN for the 68000.
6580214082Sdim	(NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call
6581214082Sdim	accordingly.
6582214082Sdim	* libaout.h (NAME(aout,machine_type)): Add new argument to
6583214082Sdim	prototype.
6584214634Sdim
6585214082SdimSun Jun 12 20:21:03 1994  Jeff Law  (law@snake.cs.utah.edu)
6586214082Sdim
6587214082Sdim	* som.c (EXEC_AUX_ID): Define based on availablity of HPUX_AUX_ID
6588214634Sdim	or HIUX_AUX_ID.
6589214082Sdim	(som_begin_writing): Use EXEC_AUX_ID instead of HPUX_AUX_ID.
6590214082Sdim	(som_write_armap): Use CPU_PA_RISC1_0 as the magic number.  Note
6591214082Sdim	som.c is careful to always define CPU_PA_RISC1_0.
6592214634Sdim
6593214082SdimSat Jun 11 16:32:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6594214082Sdim
6595214082Sdim	Add weak symbols as an extension to a.out.
6596214634Sdim	* aoutx.h (sym_in_text_section): Don't define.
6597214082Sdim	(sym_in_data_section, sym_in_bss_section): Likewise.
6598214082Sdim	(sym_is_undefined, sym_is_global_defn): Likewise.
6599214082Sdim	(sym_is_debugger_info, sym_is_fortrancommon): Likewise.
6600214634Sdim	(sym_is_absolute, sym_is_indirect): Likewise.
6601214634Sdim	(translate_from_native_sym_flags): Rewrite for clarity.  Rearrange
6602214634Sdim	arguments and change caller.  Handle weak symbols.
6603214082Sdim	(translate_to_native_sym_flags): Likewise.
6604214082Sdim	(aout_link_check_ar_symbols): Don't ignore weak symbols.  Pull
6605214082Sdim	object in from archive if a weak defintion is found for an
6606214082Sdim	existing undefined symbol.
6607214082Sdim	(aout_link_add_symbols): Put all cases in switch.  Set flags of an
6608214082Sdim	undefined symbol to 0.  Handle weak symbols.
6609214082Sdim	(aout_link_write_symbols): Handle weak symbols.
6610214082Sdim	(aout_link_write_other_symbol): Likewise.
6611214082Sdim	(aout_link_input_section_std): Likewise.
6612214082Sdim	(aout_link_input_section_ext): Likewise.
6613214082Sdim	* sunos.c (sunos_write_dynamic_symbol): Likewise.
6614214082Sdim
6615214082SdimFri Jun 10 13:25:13 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6616214082Sdim
6617214082Sdim	* aoutx.h (NAME(aout,canonicalize_reloc)): Handle .bss section.
6618214082Sdim	(NAME(aout,get_reloc_upper_bound)): Likewise.
6619214082Sdim
6620214082Sdim	* coff-i960.c (coff_i960_reloc_type_lookup): Add BFD_RELOC_CTOR.
6621214082Sdim	* linker.c (_bfd_generic_link_write_global_symbol): Don't assume
6622214082Sdim	the section of a common symbol is not NULL.
6623214082Sdim
6624214082SdimWed Jun  8 23:15:53 1994  Stu Grossman  (grossman@cygnus.com)
6625214082Sdim
6626214082Sdim	* nlmcode.h (nlm_object_p):  Set EXEC_P and start address for GDB.
6627214082Sdim
6628214082SdimWed Jun  8 23:57:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6629214082Sdim
6630214082Sdim	* aoutx.h (aout_get_external_symbols): Don't try to read the
6631214082Sdim	strings if there are no symbols.
6632214082Sdim	(aout_link_write_other_symbol): Use the output section when
6633214082Sdim	working out the type.
6634214082Sdim
6635214082SdimTue Jun  7 13:25:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6636214082Sdim
6637214082Sdim	* elfcode.h (assign_section_numbers): Put shstrtab, symtab and
6638214082Sdim	strtab sections at end of file.  Avoids bug in some versions of
6639214082Sdim	SVR4 strip.  From Eric Youngdale <eric@tantalus.nrl.navy.mil>.
6640214082Sdim
6641214082Sdim	* coffcode.h (styp_to_sec_flags): If COFF_PAGE_SIZE is defined,
6642214082Sdim	set SEC_DEBUGGING for STYP_INFO sections.
6643214082Sdim	(coff_compute_section_file_positions): If COFF_PAGE_SIZE is
6644214082Sdim	defined, and D_PAGED is set, set the file position equal to the
6645214082Sdim	section VMA modulo COFF_PAGE_SIZE.
6646214082Sdim	* coffgen.c (coff_real_object_p): If F_EXEC is set, set D_PAGED.
6647214082Sdim	* coff-i386.c: Set D_PAGED in BFD target.
6648214082Sdim	(COFF_PAGE_SIZE): Define.
6649214082Sdim	* coff-m68k.c, coff-sparc.c: Likewise.
6650214082Sdim
6651214082SdimMon Jun  6 10:57:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6652214082Sdim
6653214082Sdim	* elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
6654214082Sdim	into a BFD section just because SHF_ALLOC is set; require that it
6655214082Sdim	not use the normal symbol table.
6656214082Sdim	(elf_section_from_bfd_section): Corresponding change.
6657214082Sdim
6658214082Sdim	Better indirect and warning symbol handling inspired by Stuart
6659214082Sdim	Quick <stuck@cs.man.ac.uk>.
6660214082Sdim	* linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
6661214082Sdim	(link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT
6662214082Sdim	to REF.  Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to
6663214082Sdim	REFC.  Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF.
6664214082Sdim	Change DEFW_ROW/indr from CYCLE to NOACT.  Change INDR_ROW/indr
6665214082Sdim	from MDEF to MIND.  Change INDR_ROW/warn from WARNC to CYCLE.
6666214082Sdim	Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN.  Change
6667214082Sdim	WARN_ROW/com from MWARN to WARN.  Change WARN_ROW/warn from NOACT
6668214082Sdim	to CYCLE.  Change SET_ROW/warn from WARNC to CYCLE>
6669214082Sdim	(_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and
6670214082Sdim	REFC.  If a new indirect symbol has been referenced, push the
6671214082Sdim	reference down to the symbol it points to.  FIx handling of WARN.
6672214082Sdim	* aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't
6673214082Sdim	clobber e_type of next symbol.
6674214082Sdim	(translate_to_native_sym_flags): Likewise.
6675214082Sdim	(aout_link_write_symbols): Loop on bfd_link_hash_warning as well
6676214082Sdim	as bfd_link_hash_indirect.
6677214082Sdim
6678214082Sdim	* libaout.h (struct aout_link_hash_entry): New field written.
6679214082Sdim	* aoutx.h (NAME(aout,link_hash_newfunc)): Initialize written.
6680214082Sdim	(aout_link_write_symbols): Use written, not root.written.
6681214082Sdim	(aout_link_write_other_symbol): Likewise.
6682214082Sdim	* sunos.c (sunos_scan_dynamic_symbol): Likewise.
6683214082Sdim	* libecoff.h (struct ecoff_link_hash_entry): New field written.
6684214082Sdim	* ecoff.c (ecoff_link_hash_newfunc): Initialize written.
6685214082Sdim	(ecoff_link_write_external): use written, not root.written.
6686214082Sdim	* genlink.h (struct generic_link_hash_entry): New field written.
6687214082Sdim	* linker.c (_bfd_link_hash_newfunc): Don't initialize written.
6688214082Sdim	(generic_link_hash_newfunc): Initialize written.
6689214082Sdim	(_bfd_generic_link_output_symbols): Use written, not root.written.
6690214082Sdim	(_bfd_generic_link_write_global_symbol): Likewise.
6691214082Sdim	(_bfd_generic_reloc_link_order): Likewise.
6692214082Sdim
6693214082Sdim	* libecoff.h (ecoff_data_type): Add linker field.
6694214082Sdim	* ecoff.c (ecoff_write_object_contents): Check new tdata linker
6695214082Sdim	field, rather than outsymbols being non-NULL, to decide whether to
6696214082Sdim	output the symbols and relocs.
6697214082Sdim	(ecoff_bfd_final_link): Set new tdata linker field to true.
6698214082Sdim
6699214082Sdim	* ecoff.c (ecoff_bfd_copy_private_bfd_data): Don't try to copy
6700214082Sdim	data to a non-ECOFF file.
6701214082Sdim
6702214082Sdim	* libbfd-in.h: Add warning that libbfd.h is a generated file.
6703214082Sdim	* libbfd.h: Rebuilt.
6704214082Sdim
6705214082SdimSun Jun  5 15:02:30 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6706214082Sdim
6707214082Sdim	Changes to support ELF strip and objcopy on dynamically linked
6708214082Sdim	files.
6709214082Sdim	* elfcode.h (elf_fake_sections): Add prototype.
6710214082Sdim	(bfd_section_from_shdr): Make a BFD section from an SHT_HASH
6711214082Sdim	section, and from an SHT_DYNSYM section, and from the dynamic
6712214082Sdim	string table section.
6713214082Sdim	(elf_object_p): Set D_PAGED if there is a program header.
6714214634Sdim	(elf_make_sections): Remove.
6715214634Sdim	(fix_up_strtabs): Remove.
6716214082Sdim	(elf_fake_sections): Rewrite.  Now sets sh_entsize.
6717214082Sdim	(assign_section_numbers): Rewrite.  Now sets sh_link and sh_info
6718214082Sdim	for all sections.
6719214082Sdim	(elf_compute_section_file_positions):  Don't call obsolete
6720214082Sdim	functions elf_make_sections or fix_up_strtabs.
6721214082Sdim	(swap_out_syms): Set sh_addralign to FILE_ALIGN rather than 4.
6722214082Sdim	(NAME(bfd_elf,write_object_contents)): Permit writing DYNAMIC
6723214082Sdim	objects.
6724214082Sdim	(elf_section_from_bfd_section): Treat SHT_DYNSYM like other normal
6725214082Sdim	sections.  If an SHT_REL or SHT_RELA section is allocated or uses
6726214082Sdim	an unusual symbol table, permit a BFD section to map to it.
6727214082Sdim	Permit most SHT_STRTAB sections to have a BFD section mapped to
6728214082Sdim	them.
6729214082Sdim	(elf_bfd_final_link): Don't set sh_link, sh_info or sh_entsize
6730214082Sdim	fields of dynamic sections here; do it in assign_section_numbers.
6731214082Sdim	* elf32-target.h, elf64-target.h: Add D_PAGED to permitted object
6732214082Sdim	flags.
6733214082Sdim
6734214082Sdim	* elf.c (_bfd_elf_make_section_from_shdr): Only set SEC_DATA if
6735214082Sdim	SEC_LOAD is set, rather than checking SEC_ALLOC.
6736214082Sdim
6737214082Sdim	* libbfd-in.h (bfd_realloc): Change last arg to "size_t size".
6738214082Sdim
6739214082SdimFri Jun  3 10:58:02 1994  Jeff Law  (law@snake.cs.utah.edu)
6740214082Sdim
6741214082Sdim	* som.c (som_write_object_contents): Don't compute the file header's
6742214082Sdim	checksum here.
6743214082Sdim	(som_write_headers): Instead do it here.
6744214082Sdim
6745214082Sdim	* libbfd.h (bfd_realloc): Change last arg to "size_t size".
6746214082Sdim
6747214634SdimThu Jun  2 17:39:22 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6748214634Sdim
6749214634Sdim	* hosts/sun3.h: Include <stdlib.h>.  Don't declare free, exit or
6750214634Sdim	getenv.
6751214634Sdim
6752214634Sdim	Add linker support for SunOS shared libraries.
6753214634Sdim	* sunos.c: Include bfdlink.h.  Add many new functions and
6754214634Sdim	definitions for SunOS shared library support.
6755214634Sdim	* bfd-in.h (bfd_sunos_record_link_assignment): Declare.
6756214634Sdim	(bfd_sunos_size_dynamic_sections): Declare.
6757214634Sdim	* bfd-in2.h: Rebuilt.
6758214634Sdim	* aoutx.h (struct aout_link_hash_entry): Move to libaout.h.
6759214634Sdim	(struct aout_link_hash_table): Likewise.
6760214634Sdim	(aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
6761214634Sdim	(aout_hash_table): Likewise.
6762214082Sdim	(NAME(aout,link_hash_newfunc)): Rename from aout_link_hash_newfunc
6763214082Sdim	and make externally visible.
6764214082Sdim	(NAME(aout,link_hash_table_init)): New function.
6765214082Sdim	(NAME(aout,link_hash_table_create)): Call
6766214082Sdim	NAME(aout,link_hash_table_init), not _bfd_link_hash_table_init.
6767214634Sdim	(aout_link_add_symbols): Don't fail if no symbols.  If it exists,
6768214634Sdim	call add_dynamic_symbols backend entry point for dynamic objects.
6769214634Sdim	Use add_one_symbol backend entry point if it exists.
6770214082Sdim	(NAME(aout,final_link)): Call finish_dynamic_link backend entry
6771214082Sdim	point, if it exists.
6772214082Sdim	(aout_link_input_bfd): For a dynamic object, call
6773214082Sdim	link_dynamic_object backend entry point, if it exists.
6774214082Sdim	(aout_link_write_other_symbol): Call write_dynamic_symbol backend
6775214634Sdim	entry point, if it exists.
6776214082Sdim	(aout_link_input_section): Don't read the relocs if they have
6777214082Sdim	already been read.
6778214634Sdim	(aout_link_input_section_std): When doing a final link, for a
6779214634Sdim	reloc against an external symbol, call check_dynamic_reloc backend
6780214634Sdim	entry point, if it exists.
6781214634Sdim	(aout_link_input_section_ext): Likewise.
6782214634Sdim	* libaout.h: Protect against multiple inclusion.  Include
6783214634Sdim	bfdlink.h.
6784214082Sdim	(struct aout_link_hash_entry): Move in from aoutx.h.
6785214082Sdim	(struct aout_link_hash_table): Likewise.
6786214082Sdim	(aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
6787214634Sdim	(aout_hash_table): Likewise.
6788214634Sdim	(struct aout_backend_data): Add fields add_dynamic_symbols,
6789214082Sdim	add_one_symbol, link_dynamic_object, write_dynamic_symbol,
6790214082Sdim	check_dynamic_reloc, and finish_dynamic_link.
6791214082Sdim	(struct aout_section_data_struct): Define new structure.
6792214082Sdim	(aout_section_data): Define new accessor macro.
6793214082Sdim	(NAME(aout,link_hash_newfunc)): Declare.
6794214082Sdim	(NAME(aout,link_hash_table_init)): Declare.
6795214082Sdim	* aoutf1.h (sunos4_aout_backend): Initialize new aout_backend_data
6796214082Sdim	fields.
6797214082Sdim	* aout-target.h (MY(backend_data)): Likewise.
6798214082Sdim	* i386aout.c (MY(backend_data)): Likewise.
6799214082Sdim	* i386mach3.c (MY(backend_data)): Likewise.
6800214082Sdim	* mipsbsd.c (MY(backend_data)): Likewise.
6801214082Sdim	* sparclynx.c (sparclynx_aout_backend): Likewise.
6802214082Sdim
6803214082Sdim	* aoutx.h (NAME(aout,slurp_symbol_table)): Don't zero out cached
6804214634Sdim	until we know it is non-NULL.
6805214082Sdim	(aout_link_write_symbols): Don't skip a warning symbol even if it
6806214082Sdim	has already been written out.  If skipping an indirect symbol,
6807214082Sdim	skip the next symbol as well.
6808214082Sdim
6809214082SdimWed Jun  1 14:37:50 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6810214082Sdim
6811214634Sdim	* hosts/sun3.h: Don't declare qsort, malloc or realloc.
6812214634Sdim
6813214634SdimThu May 26 13:56:03 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
6814214634Sdim
6815214634Sdim	* nlmcode.h (nlm_swap_auxiliary_headers_in): Cast bfd_byte pointer
6816214634Sdim	to char pointer to avoid compiler warnings.
6817214082Sdim
6818214082Sdim	* dep-in.sed: Remove spaces before colons.
6819214082Sdim
6820214082Sdim	Merged changes back in from FSF gas release 2.3:
6821214082Sdim
6822214082Sdim	* Makefile.in (stmp-bfd.h): Wrap `if' block around grep
6823214082Sdim	invocation, to avoid a bug in BSD 4.4 make.
6824214082Sdim
6825214082Sdim	From Ralph Campbell:
6826214082Sdim	* mipsbsd.c (mips_fix_jmp_addr): If symbol is undefined, return an
6827214082Sdim	error.
6828214082Sdim	(mips_fix_hi16_s): Ditto.
6829214082Sdim
6830214082Sdim	Fri May 13 21:21:00 1994  DJ Delorie (dj@ctron.com)
6831214082Sdim
6832214082Sdim	* makefile.dos: define a default target, or archives won't work
6833214082Sdim	  due to multiple matches.
6834214082Sdim
6835214082Sdim	Wed May 11 22:32:00 1994  DJ Delorie (dj@ctron.com)
6836214082Sdim
6837214082Sdim	* configure.bat: update for latest files
6838214082Sdim	* makefile.dos: update for correct targets and sources
6839214082Sdim	* coff-go32.c: [new] go32's COFF format (i386coff with underscores)
6840214082Sdim	* targets.c: add go32coff target
6841214082Sdim	* makefile.in: add coff-go32.c support
6842214082Sdim
6843214082SdimThu May 26 10:10:21 1994  Jeff Law  (law@snake.cs.utah.edu)
6844214082Sdim
6845214082Sdim	* som.c (som_prep_headers): Do not set the system_id here, private
6846214082Sdim	bfd data has not been copied yet.
6847214082Sdim	(som_write_headers): Instead do it here.
6848214082Sdim
6849214082SdimTue May 24 16:17:18 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6850214082Sdim
6851214082Sdim	Make MIPS ELF use new ELF backend linker.  No shared library
6852214082Sdim	support yet.
6853214082Sdim	* elf32-mips.c (bfd_mips_elf32_swap_gptab_in): New function.
6854214082Sdim	(bfd_mips_elf32_swap_gptab_out): New function.
6855214082Sdim	(mips_elf_object_p): If last symbol is LOCAL, set elf_bad_symtab.
6856214082Sdim	(mips_elf_final_write_processing): Set sh_info field for .gptab.*
6857214082Sdim	sections.
6858214082Sdim	(mips_elf_fake_sections): Set sh_entsize for .gptab.* sections.
6859214082Sdim	(mips_elf_read_ecoff_info): Read and free external symbols last,
6860214082Sdim	not first, for clarity.
6861214082Sdim	(struct mips_elf_link_hash_entry): Define new structure.
6862214082Sdim	(struct mips_elf_link_hash_table): Define new structure.
6863214082Sdim	(mips_elf_link_hash_lookup): Define new macro.
6864214082Sdim	(mips_elf_link_hash_traverse): Define new macro.
6865214082Sdim	(mips_elf_hash_table): Define new macro.
6866214082Sdim	(mips_elf_link_hash_newfunc): New static function.
6867214634Sdim	(mips_elf_link_hash_table_create): New static function.
6868214634Sdim	(mips_elf_add_symbol_hook): New static function.
6869214082Sdim	(struct extsym_info): Define new structure.
6870214082Sdim	(mips_elf_get_extr, mips_elf_set_index): Remove.
6871214082Sdim	(mips_elf_output_extsym): New static function.
6872214082Sdim	(gptab_compare): New static function.
6873214082Sdim	(mips_elf_final_link): Rewrite to use ELF backend linker, and to
6874214082Sdim	merge gptab information in input files.
6875214082Sdim	(mips_elf_relocate_hi16): New static function.
6876214082Sdim	(mips_elf_relocate_section): New static function.
6877214082Sdim	(bfd_elf32_bfd_link_hash_table_create): Define as macro before
6878214082Sdim	including elf32-target.h.
6879214082Sdim	(elf_backend_relocate_section): Likewise.
6880214082Sdim	(elf_backend_add_symbol_hook): Likewise.
6881214082Sdim	* elf.c (_bfd_elf_link_hash_newfunc): Rename from
6882214082Sdim	elf_link_hash_newfunc and make globally visible.  Change caller.
6883214082Sdim	(_bfd_elf_link_hash_table_init): New function, broken out of
6884214082Sdim	_bfd_elf_link_hash_table_create.
6885214082Sdim	(_bfd_elf_link_hash_table_create): Use
6886214082Sdim	_bfd_elf_link_hash_table_init.
6887214082Sdim	* libelf.h (struct elf_obj_tdata): Add new field bad_symtab.
6888214082Sdim	(elf_bad_symtab): Define new accessor macro.
6889214082Sdim	(_bfd_elf_link_hash_newfunc): Declare.
6890214082Sdim	(_bfd_elf_link_hash_table_init): Declare.
6891214082Sdim	* elfcode.h (elf_object_p): Call backend object_p hook after
6892214082Sdim	swapping in all the section headers.
6893214082Sdim	(map_program_segments): Correct typo: Internal for External.
6894214082Sdim	(elf_link_add_object_symbols): If elf_bad_symtab is set, read all
6895214082Sdim	the symbols.  Skip STB_LOCAL symbols rather than giving an error.
6896214082Sdim	(elf_bfd_final_link): If elf_bad_symtab is set, allocate space for
6897214082Sdim	all symbols, not just locals.
6898214082Sdim	(elf_link_output_extsym): Only skip a symbol not mentioned by a
6899214082Sdim	regular file if it is mentioned by a dynamic object.
6900214082Sdim	(elf_link_input_bfd): If elf_bad_symtab is set, read all the
6901214082Sdim	symbols.
6902214082Sdim
6903214082SdimFri May 20 13:38:23 1994  Jeff Law  (law@snake.cs.utah.edu)
6904214082Sdim
6905214082Sdim	* som.c (som_set_reloc_info): Do not set any relocation info
6906214082Sdim	for SOM fixups which are never passed to BFD.
6907214082Sdim
6908214082SdimFri May 20 11:57:05 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6909214082Sdim
6910214082Sdim	* coff-mips.c (mips_relocate_section): Add MIPS_R_JMPADDR overflow
6911214082Sdim	checking.
6912214082Sdim
6913214082Sdim	* elf32-i386.c (elf_i386_size_dynamic_sections): Add DT_DEBUG to
6914214082Sdim	the dynamic linking information for the benefit of the debugger.
6915214082Sdim	From Peter Schauer.
6916214082Sdim	* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
6917214082Sdim
6918214082Sdim	* elf.c (_bfd_elf_make_section_from_shdr): New function, based on
6919214082Sdim	code repeated three times in bfd_section_from_shdr in elfcode.h.
6920214082Sdim	* libelf.h (_bfd_elf_make_section_from_shdr): Declare.
6921214082Sdim	* elfcode.h (bfd_section_from_shdr): Use new function
6922214082Sdim	_bfd_elf_make_section_from_shdr to create BFD sections.  If a
6923214082Sdim	reloc section does not use the main symbol table, or it is part of
6924214082Sdim	the process image, treat it as a normal section, not relocs.
6925214082Sdim	* elf32-mips.c (mips_elf_section_from_shdr): Use new function
6926214082Sdim	_bfd_elf_make_section_from_shdr.
6927214082Sdim
6928214082SdimThu May 19 11:37:11 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
6929214634Sdim
6930214634Sdim	* elf32-target.h, elf64-target.h: Change ar_max_namelen value from
6931214082Sdim	15 to 14 to match SVR4 ar.
6932214634Sdim
6933214634Sdim	Add support for ELF shared libraries.  Loosely based on work by
6934214082Sdim	Eric Youngdale <ericy@cais.com>.
6935214634Sdim	* libelf.h (struct elf_backend_data): Add new fields for dynamic
6936214634Sdim	linking: elf_backend_create_dynamic_sections,
6937214634Sdim	elf_backend_adjust_dynamic_symbol,
6938214082Sdim	elf_backend_size_dynamic_sections,
6939214082Sdim	elf_backend_finish_dynamic_symbol,
6940214082Sdim	elf_backend_finish_dynamic_sections.
6941214082Sdim	(struct elf_link_hash_entry): Change type of align field to
6942214082Sdim	bfd_size_type.  Add fields dynindx, dynstr_index, weakdef,
6943214082Sdim	elf_link_hash_flags.
6944214082Sdim	(struct elf_link_hash_table): Add fields dynobj, dynsymcount,
6945214082Sdim	dynstr, bucketcount.
6946214082Sdim	(bfd_elf32_swap_reloc_in, bfd_elf32_swap_reloc_out): Declare.
6947214082Sdim	(bfd_elf32_swap_reloca_in, bfd_elf32_swap_reloca_out): Declare.
6948214082Sdim	(bfd_elf32_swap_dyn_in, bfd_elf32_swap_dyn_out): Declare.
6949214082Sdim	(bfd_elf32_add_dynamic_entry): Declare.
6950214082Sdim	(bfd_elf64_swap_reloc_in, bfd_elf64_swap_reloc_out): Declare.
6951214082Sdim	(bfd_elf64_swap_reloca_in, bfd_elf64_swap_reloca_out): Declare.
6952214082Sdim	(bfd_elf64_swap_dyn_in, bfd_elf64_swap_dyn_out): Declare.
6953214082Sdim	(bfd_elf64_add_dynamic_entry): Declare.
6954214082Sdim	* elfcode.h (Elf_External_Dyn): Define.
6955214082Sdim	(elf_swap_reloc_in): Define as macro using NAME.  Make externally
6956214082Sdim	visible.
6957214082Sdim	(elf_swap_reloc_out): Likewise.
6958214634Sdim	(elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
6959214634Sdim	(elf_swap_dyn_in, elf_swap_dyn_out): Define as macro using NAME
6960214634Sdim	and as new externally visible function.
6961214634Sdim	(elf_fake_sections): Set section type of dynamic sections based on
6962214634Sdim	section names.
6963214082Sdim	(elf_write_phdrs): Remove.
6964214634Sdim	(assign_file_position_for_section): Add new align argument.
6965214082Sdim	Change all callers.
6966214082Sdim	(get_program_header_size): New static function.
6967214082Sdim	(struct seg_info): Remove.
6968214082Sdim	(map_program_segments): Completely rewrite.
6969214082Sdim	(assign_file_positions_except_relocs): Completely rewrite.
6970214082Sdim	(assign_file_positions_for_relocs): Don't set a file position for
6971214082Sdim	sections which already have one.  Don't bother to align the file
6972214082Sdim	position here.
6973214082Sdim	(section_from_elf_index): Handle SHT_HASH and SHT_DYNAMIC
6974214082Sdim	section types.
6975214082Sdim	(elf_section_from_bfd_section): Likewise.
6976214082Sdim	(elf_slurp_symbol_table): If section_from_elf_index fails, just
6977214082Sdim	use bfd_abs_section rather than returning an error.
6978214082Sdim	(elf_sizeof_headers): Make useful.
6979214082Sdim	(elf_link_record_dynamic_symbol): New static function.
6980214082Sdim	(elf_link_add_object_symbols): Handle dynamic objects.
6981214082Sdim	(elf_link_create_dynamic_sections): New static function.
6982214082Sdim	(elf_add_dynamic_entry): Define as macro using NAME and as new
6983214082Sdim	externally visible function.
6984214082Sdim	(NAME(bfd_elf,record_link_assignment)): New function.
6985214082Sdim	(elf_buckets): New static variable.
6986214082Sdim	(NAME(bfd_elf,size_dynamic_sections)): New function.
6987214082Sdim	(struct elf_final_link_info): Add dynsym_sec and hash_sec fields.
6988214082Sdim	(elf_bfd_final_link): Handle dynamic linking.  Create a section
6989214082Sdim	symbol for all ELF sections, not all BFD sections.  Store section
6990214082Sdim	symbol index in target_index field, not index field.  Traverse
6991214082Sdim	over global symbols even if stripping.
6992214082Sdim	(elf_link_output_extsym): Output dynamic symbols.  Mark symbols
6993214082Sdim	defined by dynamic objects as undefined.
6994214082Sdim	(elf_link_input_bfd): Ignore dynamic objects.  Use target_index
6995214082Sdim	field for section relocs, and make sure it is set.
6996214082Sdim	(elf_reloc_link_order): Use target_index field for section relocs,
6997214082Sdim	and make sure it is set.
6998214082Sdim	* elf.c (elf_link_hash_newfunc): Initialize dynindx, dynstr_index,
6999214082Sdim	weakdef and elf_link_hash_flags fields.
7000214082Sdim	(_bfd_elf_link_hash_table_create): Initialize dynobj, dynsymcount,
7001214082Sdim	dynstr and bucketcount fields.
7002214082Sdim	* elf32-target.h: Initialize new dynamic linking fields.
7003214082Sdim	* elf64-target.h: Likewise.  
7004214082Sdim	* elf32-i386.c: New functions for dynamic linking support.
7005214082Sdim	* elf32-sparc.c: Likewise.
7006214082Sdim	* bfd-in.h (bfd_elf32_record_link_assignment): Declare.
7007214082Sdim	(bfd_elf64_record_link_assignment): Declare.
7008214082Sdim	(bfd_elf32_size_dynamic_sections): Declare.
7009214082Sdim	(bfd_elf64_size_dynamic_sections): Declare.
7010214082Sdim	* bfd-in2.h: Rebuilt.
7011214082Sdim
7012214082SdimWed May 18 08:29:04 1994  Ian Lance Taylor  (ian@cygnus.com)
7013214082Sdim
7014214082Sdim	* som.c: Don't include <sys/dir.h> or <sys/user.h>.
7015214082Sdim	(som_reloc_queue_find): Call memcmp instead of bcmp.
7016214082Sdim	(som_bfd_reloc_type_lookup): Change first argument to bfd *.
7017214082Sdim	(compare_syms): Change types of arguments to const void *.
7018214082Sdim	(bfd_section_from_som_symbol): Removed unused local found.
7019214082Sdim	(som_write_armap): Add elength, map, orl_count and int arguments.
7020214082Sdim	(som_write_armap): Use %ld and cast to long for getuid result.
7021214082Sdim
7022214082SdimWed May 18 09:09:32 1994  Jeff Law  (law@snake.cs.utah.edu)
7023214082Sdim
7024214082Sdim	* elf32-hppa.h (R_HPPA_ABS_CALL): Define.
7025214082Sdim	* elf32-hppa.c (hppa_elf_gen_reloc_type): Handle absolute calls.
7026214082Sdim
7027214082Sdim	* som.h (R_HPPA_ABS_CALL): Define.
7028214082Sdim	* som.c (hppa_som_gen_reloc_type): Delete complex relocation types.
7029214082Sdim
7030214082SdimTue May 17 19:33:12 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
7031214082Sdim
7032214082Sdim	* coff-i960.c (icoff_little_vec, icoff_big_vec): Indicate leading
7033214082Sdim	underscore, for compatibility with Intel tool chain (gnu960v2).
7034214082Sdim
7035214082SdimMon May 16 10:09:22 1994  Jeff Law  (law@snake.cs.utah.edu)
7036214082Sdim
7037214082Sdim	* bfd-in2.h: Rebuilt.
7038214082Sdim
7039214082Sdim	* elf32-hppa.c: Change .hppa_linker_stubs to .PARISC.stubs,
7040214082Sdim	likewise for other PA specific sections.
7041214082Sdim	(hppa_elf_relocate_unwind_table): Delete unused
7042214082Sdim	function.
7043214082Sdim	(elf_hppa_howto_table): Completely new table based on 94-02-02
7044214082Sdim	draft PA ELF spec.  Change relocation tags appropriately
7045214082Sdim	throughout elf32-hppa.c
7046214082Sdim	(hppa_elf_gen_reloc_type): Rewrite and simplify based on 94-02-02
7047214082Sdim	spec.
7048214082Sdim	(hppa_elf_reloc): Likewise.
7049214082Sdim	(hppa_look_for_stubs_in_section): Likewise
7050214082Sdim	(ELF_MACHINE_CODE): Change to EM_PARISC.
7051214082Sdim	* elf32-hppa.h: Include "elf/hppa.h".  Change relocation tags 
7052214082Sdim	appropriately throughout elf32-hppa.h.
7053214082Sdim	(elf32_hppa_reloc_type): New table based on 94-02-02 draft PA ELF
7054214082Sdim	spec.
7055214082Sdim	(R_HPPA_ABS_CALL, R_HPPA_COMPLEX*, R_HPPA_UNWIND): Delete definitions.
7056214082Sdim	* elfcode.h (prep_headers): Use EM_PARISC instead of EM_HPPA.
7057214082Sdim	* reloc.c (bfd_reloc_code_real): Delete unused HPPA relocations.
7058214082Sdim	* som.h (R_HPPA_ABS_CALL, R_HPPA_COMPLEX): Delete definitions.
7059214082Sdim
7060214082Sdim	* libhppa.h (hppa_field_adjust): Avoid adding constant_value into
7061214082Sdim	the final value twice for LR and RR field selectors.
7062214082Sdim
7063214082SdimSat May 14 09:09:19 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
7064214082Sdim
7065214082Sdim	* aoutx.h (add_to_stringtab): Use BFD_ASSERT not assert.  This
7066214082Sdim	avoids __eprintf troubles.
7067214082Sdim
7068214082SdimFri May 13 10:51:21 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7069214082Sdim
7070214082Sdim	* bout.c (b_out_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR.
7071214082Sdim
7072214082Sdim	* config/mipsbelf.mt (SELECT_VECS): Add ecoff_big_vec and
7073214082Sdim	ecoff_little_vec since Irix 5 supports ECOFF executables.
7074214082Sdim
7075214082SdimWed May 11 00:31:57 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7076214082Sdim
7077214082Sdim	* ecoff.c (ecoff_find_nearest_line): Handle fdr.adr != pdr.adr
7078214082Sdim	correctly.
7079214082Sdim
7080214082Sdim	* Makefile.in (stmp-bfd.h): Use || instead of ; to force SunOS
7081214082Sdim	make to invoke the shell.
7082214082Sdim
7083214082SdimTue May 10 14:23:43 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7084214082Sdim
7085214082Sdim	* section.c (SEC_COFF_SHARED_LIBRARY): Renamed from
7086214082Sdim	SEC_SHARED_LIBRARY for clarity.  Changed all uses.
7087214082Sdim	* bfd-in2.h: Rebuilt.
7088214082Sdim	* coffcode.h (sec_to_styp_flags): If SEC_COFF_SHARED_LIBRARY is
7089214082Sdim	set, set STYP_NOLOAD.
7090214082Sdim	* coffgen.c (coff_section_from_bfd_index): Don't get an assertion
7091214082Sdim	failure because of a bad shared library.
7092214082Sdim
7093214082SdimMon May  9 18:53:40 1994  Bill Cox  (bill@rtl.cygnus.com)
7094214082Sdim
7095214082Sdim	* linker.c: Add missing comment terminator.
7096214082Sdim
7097214082SdimMon May  9 11:53:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7098214082Sdim
7099214082Sdim	* linker.c (_bfd_generic_link_add_one_symbol): If hashp and *hashp
7100214082Sdim	are not NULL, assume the caller has already looked up the symbol
7101214082Sdim	in the hash table and has stored the entry in *hashp.
7102214082Sdim	(generic_link_add_symbol_list): Set h to NULL before calling
7103214082Sdim	_bfd_generic_link_add_one_symbol.
7104214082Sdim	* ecoff.c (ecoff_link_add_externals): Likewise.
7105214082Sdim
7106214082Sdim	* elfcode.h (assign_file_positions_except_relocs): Don't require
7107214082Sdim	page shared between .data and .bss segments to contain zeroes.
7108214082Sdim
7109214082Sdim	* elfcode.h: Include bfdlink.h.  Added several new functions to do
7110214082Sdim	linking.
7111214082Sdim	(ELF_R_TYPE): Define.
7112214082Sdim	(bfd_add_to_strtab): Return unsigned long.  Change check for
7113214082Sdim	realloc failure.
7114214082Sdim	(elf_fake_sections): Check return value of bfd_add_to_strtab.
7115214082Sdim	(elf_compute_section_file_positions): Add link_info argument.
7116214082Sdim	Call elf_backend_begin_write_processing hook and prep_headers
7117214082Sdim	here.  Only call swap_out_syms if link_info is NULL.  Set up
7118214082Sdim	.shstrtab section here.  Pass dosyms argument to
7119214082Sdim	assign_file_positions_except_relocs.  Set output_has_begun flag.
7120214082Sdim	(assign_file_positions_for_symtab_and_strtabs): Add dosyms
7121214082Sdim	argument, and use it to control setting .symtab and .strtab file
7122214082Sdim	positions.
7123214082Sdim	(assign_file_positions_except_relocs): Add dosyms argument, and
7124214082Sdim	pass it on.
7125214082Sdim	(prep_headers): Check return value of bfd_add_to_strtab.
7126214082Sdim	(swap_out_syms): Likewise.  Also, don't set up .shstrtab here.
7127214082Sdim	(NAME(bfd_elf,write_object_contents)): Some calls moved into
7128214082Sdim	elf_compute_section_file_positions.
7129214082Sdim	(elf_set_section_contents): Likewise.
7130214082Sdim	(elf_slurp_symbol_table): SHN_LORESERV corrected to SHN_LORESERVE.
7131214082Sdim	* libelf.h: Include bfdlink.h.
7132214082Sdim	(struct elf_backend_data): Add fields collect,
7133214082Sdim	elf_add_symbol_hook, elf_backend_relocate_section.
7134214082Sdim	(struct bfd_elf_section_data): Add field rel_hashes.
7135214082Sdim	(struct elf_obj_tdata): Remove fields internal_syms and symbols.
7136214082Sdim	Add field sym_hashes.
7137214082Sdim	(obj_symbols, obj_internal_syms): Remove definitions.
7138214082Sdim	(elf_sym_hashes): Define.
7139214082Sdim	(struct elf_link_hash_entry): Define.
7140214082Sdim	(struct elf_link_hash_table): Define.
7141214082Sdim	(elf_link_hash_lookup): Define.
7142214082Sdim	(elf_link_hash_traverse): Define.
7143214082Sdim	(elf_hash_table): Define.
7144214082Sdim	(_bfd_elf_link_hash_table_create): Declare.
7145214082Sdim	(bfd_elf32_bfd_link_add_symbols): Declare.
7146214082Sdim	(bfd_elf32_bfd_final_link): Declare.
7147214082Sdim	(bfd_elf64_bfd_link_add_symbols): Declare.
7148214082Sdim	(bfd_elf64_bfd_final_link): Declare.
7149214082Sdim	* elf.c: Include bfdlink.h.
7150214082Sdim	(elf_link_hash_newfunc): New function.
7151214082Sdim	(_bfd_elf_link_hash_table_create): New function.
7152214082Sdim	* elf32-target.h (elf_backend_relocate_section): If not defined,
7153214082Sdim	define as 0 and use generic linker.  Otherwise, use ELF backend
7154214082Sdim	linker.
7155214082Sdim	(elf_backend_collect): If not defined, define as false.
7156214082Sdim	(elf_backend_add_symbol_hook): If not defined, define as 0.
7157214082Sdim	(elf32_bed): Initialize new fields.
7158214082Sdim	* elf64-target.h: Same changes as elf32-target.h.
7159214082Sdim	* elf32-i386.c: Include bfdlink.h.
7160214082Sdim	(elf_i386_relocate_section): New function.
7161214082Sdim	(elf_backend_relocate_section): Define.
7162214082Sdim	* elf32-sparc.c: Include bfdlink.h.
7163214082Sdim	(elf_info_to_howto): Change type of dst from Elf32_Internal_Rela
7164214082Sdim	to Elf_Internal_Rela (they're the same type anyhow).
7165214082Sdim	(elf_sparc_relocate_section): New function.
7166214082Sdim	(elf_backend_relocate_section): Define.
7167214082Sdim	* elf32-mips.c (elf_backend_collect): Define.
7168214082Sdim
7169214082Sdim	* Makefile.in (stmp-bfd.h): Avoid useless make error message in a
7170214082Sdim	different way; touch takes a numeric argument on some systems.
7171214082Sdim
7172214082SdimFri May  6 13:34:14 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7173214082Sdim
7174214082Sdim	* nlmcode.h (nlm_swap_auxiliary_headers_in): Rework custom header
7175214082Sdim	handling for latest suggested format.
7176214082Sdim	(nlm_swap_auxiliary_headers_out): Likewise.
7177214082Sdim	(nlm_compute_section_file_positions): Likewise.
7178214082Sdim
7179214082SdimFri May  6 11:11:50 1994  D. V. Henkel-Wallace  (gumby@rtl.cygnus.com)
7180214082Sdim
7181214082Sdim	* config.bfd: handle erricsson config (for OSE).
7182214082Sdim
7183214082SdimThu May  5 15:40:47 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
7184214082Sdim
7185214082Sdim	Patches from Ralph Campbell:
7186214082Sdim	* mipsbsd.c (mips_fix_jmp_addr): New function.
7187214082Sdim	(mips_fix_hi16_s): Use bfd_is_com_section.
7188214082Sdim	(mips_howto_table_ext): Call mips_fix_jmp_addr for MIPS_RELOC_JMP.
7189214082Sdim
7190214082SdimFri May  6 11:48:55 1994  Steve Chamberlain  (sac@cygnus.com)
7191214082Sdim
7192214082Sdim	* config/go32.mh: XX support.
7193214082Sdim
7194214082Sdim	From bill
7195214082Sdim	* Makefile.in: Build sysdep.h without causing worrying but
7196214082Sdim	harmless error message.
7197214082Sdim
7198214082SdimWed May  4 11:09:53 1994  Ian Lance Taylor  (ian@cygnus.com)
7199214082Sdim
7200214082Sdim	Changed m68k-aout to set flags to 0; m68k-sunos still uses 1.
7201214082Sdim	* aout0.c: New file.
7202214082Sdim	* targets.c (aout0_big_vec): Declare.
7203214082Sdim	(bfd_target_vector): Add aout0_big_vec.
7204214082Sdim	* config.bfd (m68*-*-aout*): Use m68k-0aout, not m68k-aout.
7205214082Sdim	* config/m68k-aout.mt (SELECT_VECS): Removed.
7206214082Sdim	* config/m68k-0aout.mt: New file.
7207214082Sdim	* configure.in (aout0_big_vec): New target vector: use aout0.o,
7208214082Sdim	aout32.o and stab-syms.o.
7209214082Sdim	* Makefile.in: Rebuilt dependencies.
7210214082Sdim	(BFD32_BACKENDS): Add aout0.o.
7211214082Sdim	(CFILES): Add aout0.c.
7212214082Sdim
7213214082Sdim	* libaout.h (struct aout_backend_data): Add field exec_hdr_flags.
7214214082Sdim	* aout-target.h (MY_exec_hdr_flags): If not defined, define as 0.
7215214082Sdim	MY(backend_data): Initialize exec_hdr_flags field.
7216214082Sdim	* aoutf1.h (sunos_32_set_arch_mach): Make static.
7217214082Sdim	(aout32_sunos4_write_object_contents): Set flags from backend
7218214082Sdim	info.
7219214082Sdim	(MY_exec_hdr_flags): If not defined, define as 1.
7220214082Sdim	(sunos4_aout_backend): Initialize exec_hdr_flags field.
7221214082Sdim	* aout-encap.c (encap_write_object_contents): Set flags from
7222214082Sdim	backend info.
7223214082Sdim	(MY_exec_hdr_flags): Define as N_FLAGS_COFF_ENCAPSULATE.
7224214082Sdim	* hp300hpux.c (MY_exec_hdr_flags): Define as 0x2.
7225214082Sdim	(MY(write_object_contents)): Set flags from backend info.
7226214082Sdim	* i386aout.c (MY(backend_data)): Initialize exec_hdr_flags field.
7227214082Sdim	* i386mach3.c (MY(backend_data)): Likewise.
7228214082Sdim	* mipsbsd.c (MY(backend_data)): Likewise.
7229214082Sdim	* sparclynx.c (NAME(aout,sparclynx_write_object_contents)): Set
7230214082Sdim	flags from backend info.
7231214082Sdim	(sparclynx_aout_backend): Initialize exec_hdr_flags field.
7232214082Sdim
7233214082SdimWed May  4 02:56:00 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
7234214082Sdim
7235214082Sdim	* config.bfd (i386-*-gnu*): Treat like i386-*-mach*.
7236214082Sdim	(m68*-apollo-*): Treat all Apollo configs the same, don't handle
7237214082Sdim	BSD specially.
7238214082Sdim
7239214082SdimTue May  3 19:43:21 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7240214082Sdim
7241214082Sdim	* cache.c: Rewrote to work correctly.
7242214082Sdim	* libbfd.h: Rebuilt.
7243214082Sdim	* opncls.c (bfd_cache_init, bfd_open_file): Don't declare.
7244214082Sdim	(bfd_fdopenr): Check return value of bfd_cache_init.
7245214082Sdim
7246214082SdimFri Apr 29 15:08:23 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7247214082Sdim
7248214082Sdim	* cf-m68klynx.c (CALC_ADDEND): Check for PC relative relocs by
7249214082Sdim	enumerating them, since the reloc type can not serve as an index
7250214082Sdim	into the m68k COFF howto_table.
7251214082Sdim
7252214082SdimFri Apr 29 09:42:39 1994  Steve Chamberlain  (sac@cygnus.com)
7253214082Sdim
7254214082Sdim        * config.bfd (*-go32): Changed to coff.
7255214082Sdim	* coff-h8300.c (JMPL1): Get HOWTO right for 24bit branches.
7256214082Sdim	* srec.c (srec_write_symbols): Write out the correct number of
7257214082Sdim	symbols and don't stick in extra nulls.
7258214082Sdim
7259214082SdimTue Apr 26 15:07:24 1994  Stan Shebs  (shebs@andros.cygnus.com)
7260214082Sdim
7261214082Sdim	* cf-sparclynx.c (LYNXOS, COFF_LONG_FILENAMES): Define.
7262214082Sdim	* coff-sparc.c (BADMAG): Recognize LYNXCOFFMAGIC.
7263214082Sdim	(COFF_SPARC): Define.
7264214082Sdim	* coffcode.h (coff_new_section_hook): If COFF_SPARC, set alignment
7265214082Sdim	power of data and bss sections to 3.
7266214082Sdim	* hosts/lynx.h (__LYNXOS): Define.
7267214082Sdim
7268214082SdimTue Apr 26 15:04:26 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
7269214082Sdim
7270214082Sdim	* elf32-hppa.c (hppa_elf_reloc): Adjust the addend of relocations
7271214082Sdim	against section symbols to avoid losing during ld -r.
7272214082Sdim
7273214082SdimTue Apr 26 12:16:41 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7274214082Sdim
7275214082Sdim	* elfcode.h (shstrtab_length_fixed): Remove useless static
7276214082Sdim	variable.
7277214082Sdim	(struct elf_sect_data): Remove unused structure.
7278214082Sdim	(elf_object_p): Free memory if error occurs.  Check return value
7279214082Sdim	of bfd_default_set_arch_mach.  If elf_get_str_section fails,
7280214082Sdim	preserve error code rather than setting wrong_format.
7281214082Sdim	(null_shdr): Remove static variable.
7282214082Sdim	(assign_section_numbers): Remove shstrtab_length_fixed assignment.
7283214082Sdim	Allocate first section header on BFD obstack rather than using
7284214082Sdim	null_shdr.
7285214082Sdim	(bfd_prpsinfo): Remove unused local variable newsect.
7286214082Sdim
7287214082SdimMon Apr 25 15:31:04 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7288214082Sdim
7289214082Sdim	* elfcode.h (write_relocs): Undo patch of Apr 10; breaks Solaris.
7290214082Sdim
7291214082Sdim	* elfcode.h (bfd_section_from_shdr): Use bfd_make_section_anyway
7292214082Sdim	to create sections.  Check return value of recursive calls.
7293214082Sdim	(bfd_section_from_phdr): Check return value of bfd_make_section.
7294214082Sdim	(elf_symbol_from_bfd_symbol): Likewise.
7295214082Sdim	(elf_object_p): Check return value of bfd_section_from_shdr.
7296214082Sdim	(section_from_elf_index): Likewise.
7297214082Sdim	(elf_slurp_symbol_table): Check return value of
7298214082Sdim	section_from_elf_index.
7299214082Sdim	(bfd_prstatus): Return boolean value.  Check return value of
7300214082Sdim	bfd_make_section.
7301214082Sdim	(bfd_fpregset): Likewise.
7302214082Sdim	(bfd_prpsinfo): Return boolean value.
7303214082Sdim	(elf_corefile_note): Check return values of bfd_prstatus,
7304214082Sdim	bfd_fpregset, and bfd_prpsinfo.
7305214082Sdim	(elf_core_file_p): Check return value of elf_corefile_note.
7306214082Sdim
7307214082SdimFri Apr 22 11:08:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7308214082Sdim
7309214082Sdim	Get rid of the ECOFF .reginfo section hack.
7310214082Sdim	* ecoff.c (ecoff_mkobject_hook): Don't create a .reginfo section.
7311214082Sdim	(ecoff_new_section_hook): Don't handle the .reginfo section.
7312214082Sdim	(ecoff_sizeof_headers): Likewise.
7313214082Sdim	(ecoff_get_section_contents): Likewise.
7314214082Sdim	(ecoff_compute_section_file_positions): Likewise.
7315214082Sdim	(ecoff_compute_reloc_file_positions): Likewise.
7316214082Sdim	(ecoff_set_section_contents): Likewise.
7317214082Sdim	(ecoff_write_object_contents): Likewise.
7318214082Sdim	(ecoff_bfd_final_link): Likewise.
7319214082Sdim	(ecoff_bfd_copy_private_bfd_data): Copy the GP value and the
7320214082Sdim	register masks.
7321214082Sdim	(bfd_ecoff_get_gp_value): New function.
7322214082Sdim	(bfd_ecoff_set_gp_value): New function.
7323214082Sdim	(bfd_ecoff_set_regmasks): New function.
7324214082Sdim	* bfd-in.h (bfd_ecoff_get_gp_value): Declare.
7325214082Sdim	(bfd_ecoff_set_gp_value): Declare.
7326214082Sdim	(bfd_ecoff_set_regmasks): Declare.
7327214082Sdim	* bfd-in2.h: Rebuilt.
7328214082Sdim
7329214082Sdim	Fix ECOFF objcopy to actually copy debugging information.
7330214082Sdim	* ecoff.c (ecoff_bfd_copy_private_bfd_data): New function.
7331214082Sdim	(ecoff_get_extr): Assume that any ECOFF symbol with local clear is
7332214082Sdim	an external symbol, rather than checking the symbol flags.  Only
7333214082Sdim	check the flags for non-ECOFF symbols.
7334214082Sdim	* ecofflink.c (bfd_ecoff_debug_externals): Don't crash if the
7335214082Sdim	output_section field of the symbol section is NULL.
7336214082Sdim	* libecoff.h (ecoff_bfd_copy_private_bfd_data): Declare as
7337214082Sdim	function rather than defining as macro.
7338214082Sdim
7339214082Sdim	* ieee.c (ieee_object_p): Set bfd_error_got_wrong_format if
7340214082Sdim	appropriate.
7341214082Sdim
7342214082Sdim	* targets.c (bfd_target_vector): Add bfd_elf32_powerpc_vec.
7343214082Sdim
7344214082Sdim	* aout-adobe.c (aout_adobe_set_arch_mach): Check return value of
7345214082Sdim	bfd_default_set_arch_mach.  Accept bfd_arch_m68k as well as
7346214082Sdim	bfd_arch_unknown.
7347214082Sdim	* coffcode.h (coff_set_arch_mach): Check return value of
7348214082Sdim	bfd_default_set_arch_mach.
7349214082Sdim	* elfcode.h (elf_set_arch_mach): Don't check a list of ELF
7350214082Sdim	architectures, just see if the desired architecture matches what
7351214082Sdim	the ELF backend permits.
7352214082Sdim
7353214082Sdim	* coffcode.h (coff_set_arch_mach_hook): Rename SHMAGIC to
7354214082Sdim	SH_ARCH_MAGIC to match change in coff/sh.h.
7355214082Sdim	(coff_set_flags): Likewise.
7356214082Sdim
7357214082Sdim	Follow convention in which each NLM header has an 8 byte stamp
7358214082Sdim	followed by a four byte length.
7359214082Sdim	* libnlm.h (struct nlm_obj_tdata): Rename nlm_cygnus_section_hdr
7360214082Sdim	to nlm_cygnus_ext_header, and change type to
7361214082Sdim	Nlm_Internal_Cygnus_Ext_Header.
7362214082Sdim	(nlm_cygnus_ext_header): Rename from nlm_cygnus_section_header.
7363214082Sdim	* nlmcode.h (nlm_swap_auxiliary_headers_in): Use CyGnUsEx instead
7364214082Sdim	of CyGnUsSeCs.  Rename from cygnus_section to cygnus_ext.  Require
7365214082Sdim	length word to be 8.
7366214634Sdim	(nlm_swap_auxiliary_headers_out): Rename from cygnus_section to
7367214634Sdim	cygnus_ext.  Set length word to 8.
7368214634Sdim	(nlm_compute_section_file_positions): Rename from cygnus_section
7369214634Sdim	to cygnus_ext.
7370214634Sdim
7371214082SdimThu Apr 21 22:54:22 1994  Stu Grossman  (grossman at cygnus.com)
7372214082Sdim
7373214634Sdim	* nlmcode.h (nlm_swap_auxiliary_headers_in):  Keep section table
7374214082Sdim	(from CyGnUsSeCs) in more permanent memory to keep section names
7375214082Sdim	from getting trashed.
7376214082Sdim
7377214634SdimThu Apr 21 09:29:37 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
7378214634Sdim
7379214082Sdim	* libelf.h (elf_obj_tdata):  Add members for dynamic symbol table
7380214634Sdim	handling.
7381214082Sdim	* elfcode.h (bfd_section_from_shdr):  Handle dynamic symbol table.
7382214082Sdim	* elfcode.h (elf_slurp_symbol_table):  Take additional parameter
7383214082Sdim	to select static or dynamic symbol table and return number of
7384214082Sdim	symbols slurped or -1 on error.
7385214082Sdim	* elfcode.h (elf_get_symtab):  Set bfd symcount from
7386214082Sdim	elf_slurp_symbol_table result.
7387214082Sdim	* elfcode.h (elf_get_dynamic_symtab_upper_bound,
7388214082Sdim	elf_canonicalize_dynamic_symtab):  New functions to handle dynamic
7389214082Sdim	symbol table.
7390214082Sdim	* elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC):
7391214082Sdim	Change to handle dynamic symbol table, provide default definitions
7392214082Sdim	for dynamic relocs.
7393214082Sdim	* aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out),
7394214082Sdim	NAME(aout,swap_std_reloc_in), aout_link_input_section_std,
7395214082Sdim	aout_link_reloc_link_order):  Handle r_jmptable and r_relative
7396214082Sdim	relocations.
7397214082Sdim
7398214082SdimThu Apr 21 11:58:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7399214082Sdim
7400214082Sdim	Clean up uses of _bfd_dummy_target (from Peter Schauer).
7401214082Sdim	* libbfd.c (_bfd_dummy_target): Set bfd_error_wrong_format.
7402214082Sdim	* nlm-target.h (nlm_core_file_p): Define as _bfd_dummy_target, not
7403214082Sdim	NULL.
7404214082Sdim	* srec.c (srec_vec): Use _bfd_dummy_target, not NULL, in
7405214082Sdim	_bfd_check_format.
7406214082Sdim	(symbolsrec_vec): Likewise.
7407214082Sdim	* tekhex.c (tekhex_vec): Likewise.
7408214082Sdim
7409214082Sdim	* libnlm.h (struct nlm_obj_tdata): Add nlm_cygnus_section_hdr
7410214082Sdim	field.
7411214082Sdim	(nlm_cygnus_section_header): New accessor macro.
7412214082Sdim	* nlmcode.h (nlm_object_p): Free new tdata structure if failure.
7413214082Sdim	Add fixed sections before swapping in auxiliary headers.  After
7414214082Sdim	adding sections, treat errors as real, not as wrong format.
7415214082Sdim	(nlm_swap_auxiliary_headers_in): Swap in the sections header; add
7416214082Sdim	sections to the BFD for each section it describes.
7417214082Sdim	(nlm_swap_auxiliary_headers_out): Swap out the sections header.
7418214082Sdim	(nlm_compute_section_file_positions): Account for the size of the
7419214082Sdim	sections header.
7420214082Sdim
7421214082SdimWed Apr 20 16:45:51 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
7422214082Sdim
7423214082Sdim	* coff-sparc.c (sparccoff_vec): Change minimum alignment power to
7424214082Sdim	2, so that stab sections can be multiples of 4 bytes only.
7425214082Sdim
7426214082Sdim	* hosts/i386aix.h: Changes to avoid prototypes conflicts with the
7427214082Sdim	ones defined in stdlib.h.  (From Minh Tran-Le.)
7428214082Sdim
7429214082SdimWed Apr 20 14:15:21 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7430214082Sdim
7431214082Sdim	* nlm32-ppc.c: Complete rewrite for new version of PowerPC
7432214082Sdim	NetWare.  Old code still present, but ifdeffed out.
7433214082Sdim
7434214082Sdim	* nlmcode.h (nlm_swap_auxiliary_headers_in): Don't assume a
7435214082Sdim	particular format for the customer header.  Allocate a block of
7436214082Sdim	memory and read it into that.
7437214082Sdim	(nlm_swap_auxiliary_headers_out): Write out the block of memory.
7438214082Sdim	(nlm_compute_section_file_positions): Include length of customer
7439214082Sdim	header when computing its size.
7440214082Sdim
7441214082SdimMon Apr 18 14:27:17 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
7442214082Sdim
7443214082Sdim	* som.c (som_prep_headers): Get the space's number from the
7444214082Sdim	backend private section data rather than target_index.
7445214082Sdim	(bfd_som_set_section_attributes): Store the space's number
7446214634Sdim	in the backend private section data rather than target_index.
7447214082Sdim
7448214634Sdim	* som.h (som_copyable_section_data_struct): Add space_number.
7449214082Sdim
7450214082SdimFri Apr 15 12:22:07 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7451214082Sdim
7452214082Sdim	* coff-a29k.c (reloc_processing): Always set the address of a
7453214082Sdim	R_IHCONST reloc to that of the immediately preceding R_IHIHALF.
7454214082Sdim	gas does this anyhow, but some other assemblers seem to leave
7455214634Sdim	garbage in the R_IHCONST address field.
7456214634Sdim
7457214634Sdim	* archive.c: Consistently use ARFMAG; from
7458214634Sdim	schwab@issan.informatik.uni-dortmund.de (Andreas Schwab).
7459214634Sdim	(_bfd_write_archive_contents): Use ARFMAG rather than '`' and
7460214634Sdim	'\012'.
7461214634Sdim	(bsd_write_armap): Likewise.
7462214634Sdim	(coff_write_armap): Likewise.
7463214082Sdim
7464214082Sdim	* coff-mips.c (mips_relocate_section): When relaxing, adjust local
7465214082Sdim	relocs against the .text section as required.
7466214082Sdim	* ecofflink.c (bfd_ecoff_debug_accumulate): When relaxing, adjust
7467214082Sdim	PDR addresses as required.
7468214082Sdim
7469214082Sdim	* ecoff.c (ecoff_emit_aggregate): Take fdr argument.  Map fdr
7470214082Sdim	index through rfd map if it exists.  Check for a couple of cases
7471214082Sdim	which gdb handles specially.  Change all callers.
7472214082Sdim	(ecoff_type_to_string): Take fdr argument rather than aux_ptr and
7473214082Sdim	bigendian argument.  Change all callers.
7474214082Sdim	(ecoff_print_symbol): Handle stStruct, stUnion and stEnum.
7475214082Sdim
7476214082SdimThu Apr 14 13:05:10 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7477214082Sdim
7478214082Sdim	* coff-mips.c (mips_howto_table): Add dummy entries to account for
7479214082Sdim	numbering changes in include/coff/mips.h.  Add entries for
7480214082Sdim	MIPS_R_RELHI and MIPS_R_RELLO.
7481214634Sdim	(mips_ecoff_swap_reloc_in): Handle an extra bit for the reloc type
7482214634Sdim	when little endian.  Treat internal MIPS_R_RELLO or MIPS_R_RELHI
7483214634Sdim	relocs like MIPS_R_SWITCH, and convert r_offset from 24 to 32
7484214082Sdim	bits.
7485214082Sdim	(mips_ecoff_swap_reloc_out): Likewise.
7486214082Sdim	(mips_adjust_reloc_in): Handle internal MIPS_R_RELLO or
7487214082Sdim	MIPS_R_RELHI relocs like MIPS_R_SWITCH.
7488214082Sdim	(mips_adjust_reloc_out): Likewise.
7489214082Sdim	(mips_relhi_addr, mips_relhi_addend): New static variables.
7490214634Sdim	(mips_relhi_reloc, mips_rello_reloc): New functions.
7491214634Sdim	(mips_bfd_reloc_type_lookup): Turn BFD_RELOC_PCREL_HI16_S into
7492214082Sdim	MIPS_R_RELHI and turn BFD_RELOC_PCREL_LO16 into MIPS_R_RELLO.
7493214082Sdim	(mips_relocate_hi): Rename from mips_relocate_refhi, and add pcrel
7494214082Sdim	argument.  Changed all callers.
7495214082Sdim	(mips_relocate_section): Rename got_reflo to got_lo and
7496214082Sdim	reflo_int_rel to lo_int_rel.  Handle MIPS_R_RELLO and MIPS_R_RELHI
7497214082Sdim	relocs.
7498214082Sdim	(mips_relax_section): Adjust MIPS_R_RELHI/MIPS_R_RELLO pairs when
7499214082Sdim	expanding a PC relative call.
7500214082Sdim
7501214082Sdim	* reloc.c (bfd_reloc_code_real_type): Add BFD_RELOC_PCREL_HI16_S
7502214082Sdim	and BFD_RELOC_PCREL_LO16.
7503214082Sdim	* bfd-in2.h: Rebuilt.
7504214082Sdim
7505214082SdimWed Apr 13 11:50:07 1994  Stan Shebs  (shebs@andros.cygnus.com)
7506214082Sdim
7507214082Sdim	* coff-sparc.c (sparccoff_vec): Set minimum alignment power to 3.
7508214082Sdim
7509214082SdimTue Apr 12 13:36:20 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
7510214082Sdim
7511214082Sdim	* som.c (som_write_fixups): Always emit at least
7512214082Sdim        one relocation for any non-bss section.
7513214082Sdim
7514214082SdimMon Apr 11 14:41:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7515214082Sdim
7516214082Sdim	* elfcode.h (assign_file_positions_except_relocs): Don't require
7517214082Sdim	the file alignment to correspond to the page size when linking
7518214082Sdim	with -N.
7519214082Sdim
7520214082SdimSun Apr 10 01:02:24 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
7521214082Sdim
7522214082Sdim	* elfcode.h (write_relocs): For rela relocations, adjust the
7523214082Sdim	addend for relocations involving section symbols to account
7524214082Sdim	for the lossage of 1:1 mapping from input section symbols to
7525214082Sdim	output section symbols.
7526214082Sdim
7527214082SdimFri Apr  8 12:22:02 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7528214082Sdim
7529214082Sdim	* aoutx.h (NAME(aout,make_sections)): New function.
7530214082Sdim	(NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections)
7531214082Sdim	rather than making sections inline.
7532214082Sdim	(NAME(aout,mkobject)): Don't make any sections.
7533214082Sdim	(NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections).
7534214082Sdim	(NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or
7535214082Sdim	obj_datasec (abfd) if they are NULL.
7536214082Sdim	* libaout.h (NAME(aout,make_sections)): Declare.
7537214082Sdim	* bout.c (b_out_mkobject): Don't make any sections.
7538214082Sdim	(b_out_write_object_contents): Call aout_32_make_sections.
7539214082Sdim	(b_out_set_section_contents): Likewise.
7540214082Sdim	* i386os9k.c (os9k_mkobject): Don't make any sections.
7541214082Sdim	(os9k_write_object_contents): Call aout_32_make_sections.
7542214082Sdim	(os9k_set_section_contents): Likewise.
7543214082Sdim
7544214082Sdim	* aoutx.h (NAME(aout,new_section_hook)): Don't set N_EXT in target
7545214082Sdim	index.
7546214082Sdim
7547214082SdimWed Apr  6 20:44:56 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
7548214082Sdim
7549214082Sdim	* config.bfd, configure.host:  Add mips-*-sysv4* support.
7550214082Sdim
7551214082SdimThu Apr  7 14:23:05 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7552214082Sdim
7553214082Sdim	* coff-mips.c (mips_howto_table): Add entry for MIPS_R_SWITCH.
7554214082Sdim	(mips_ecoff_swap_reloc_in): For MIPS_R_SWTICH, copy r_symndx into
7555214082Sdim	r_offset and set r_symndx to RELOC_SECTION_TEXT.
7556214082Sdim	(mips_ecoff_swap_reloc_out): For MIPS_R_SWITCH, get the r_symndx
7557214082Sdim	value from the r_offset field.
7558214082Sdim	(mips_adjust_reloc_in): Maximum r_type value is now MIPS_R_SWITCH.
7559214082Sdim	For MIPS_R_SWITCH, copy the r_offset field into the addend field.
7560214082Sdim	(mips_adjust_reloc_out): For MIPS_R_SWITCH, copy the addend field
7561214082Sdim	into the r_offset field.
7562214082Sdim	(mips_switch_reloc): New function.
7563214082Sdim	(mips_bfd_reloc_type_lookup): Translate BFD_RELOC_GPREL32 into
7564214082Sdim	MIPS_R_SWITCH.
7565214082Sdim	(mips_relocate_section): Handle MIPS_R_SWITCH.
7566214082Sdim	(mips_relax_section): Adjust MIPS_R_SWITCH offset if necessary.
7567214082Sdim
7568214082SdimThu Apr  7 11:10:51 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
7569214082Sdim
7570214082Sdim	* elfcode.h (elf_set_section_contents): Support calling the backend
7571214082Sdim	function elf_backend_begin_write_processing when just beginning to
7572214082Sdim	write an object file.
7573214082Sdim
7574214082Sdim	* libelf.h (elf_backend_begin_write_processing): Declare.
7575214082Sdim
7576214082Sdim	* elf{32,64}-target.h (elf_backend_begin_write_processing): Provide
7577214082Sdim	a default definition.
7578214082Sdim	(elf{32,64}_bed): Add elf_backend_begin_write_processing.
7579214082Sdim	
7580214082Sdim	* elf32-hppa.h (elf_hppa_tc_symbol): Delete extern declaration.
7581214082Sdim	(elf_hppa_tc_make_sections): Likewise.
7582214082Sdim
7583214082Sdim	* elf32-hppa.c (symext_chain_built): Delete.
7584214082Sdim	(symext_chain_size): Renamed from symextn_contents_real_size.
7585214082Sdim	(elf32_hppa_backend_{begin,final}_write_processing): New functions.
7586214082Sdim	(add_entry_to_symext_chain): New function.
7587214082Sdim	(hppa_elf_set_section_contents): Ignore writes to the symbol extension
7588214082Sdim	section until it's been rebuilt internally.
7589214082Sdim	(hppa_elf_get_section_contents): Symbol extension section is no
7590214082Sdim	longer special.
7591214082Sdim	(elf_backend_{begin,final}_write_processing): Define.
7592214082Sdim	(elf_hppa_tc_make_sections): Simplify now that much code has
7593214082Sdim	migrated into elf32_hppa_backend_{being,final}_write_processing.
7594214082Sdim
7595214082SdimWed Apr  6 17:24:14 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7596214082Sdim
7597214082Sdim	Add new target vectors to read the dynamic symbols and dynamic
7598214082Sdim	relocs.  Change a.out to use these rather than reading the dynamic
7599214082Sdim	symbols and relocs along with the normal symbols and relocs.
7600214082Sdim	* targets.c (bfd_target): Add fields
7601214082Sdim	_bfd_get_dynamic_symtab_upper_bound,
7602214082Sdim	_bfd_canonicalize_dynamic_symtab,
7603214082Sdim	_bfd_get_dynamic_reloc_upper_bound,
7604214082Sdim	_bfd_canonicalize_dynamic_reloc.
7605214082Sdim	(BFD_JUMP_TABLE_DYNAMIC): Define.
7606214082Sdim	* libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound):
7607214082Sdim	Define.
7608214082Sdim	(_bfd_nodynamic_canonicalize_dynamic_symtab): Define.
7609214082Sdim	(_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define.
7610214082Sdim	(_bfd_nodynamic_canonicalize_dynamic_reloc): Define.
7611214082Sdim	* bfd.c (bfd_get_dynamic_symtab_upper_bound): Define.
7612214082Sdim	(bfd_canonicalize_dynamic_symtab): Define.
7613214082Sdim	(bfd_get_dynamic_reloc_upper_bound): Define.
7614214082Sdim	(bfd_canonicalize_dynamic_reloc): Define.
7615214082Sdim	* sunos.c (MY_read_dynamic_symbols): Don't define.
7616214082Sdim	(MY_read_dynamic_relocs): Don't define.
7617214082Sdim	(MY_get_dynamic_symtab_upper_bound): Define.
7618214082Sdim	(MY_canonicalize_dynamic_symtab): Define.
7619214082Sdim	(MY_get_dynamic_reloc_upper_bound): Define.
7620214082Sdim	(MY_canonicalize_dynamic_reloc): Define.
7621214082Sdim	(struct sunos_dynamic_info): Change type of dynsym_count and
7622214082Sdim	dynrel_count to long.  Add fields canonical_dynsym and
7623214082Sdim	canonical_dynrel.
7624214082Sdim	(sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set.
7625214082Sdim	Clear info->canonical_dynsym and info->canonical_dynrel.
7626214082Sdim	(MY(read_dynamic_symbols)): Removed.
7627214082Sdim	(MY(read_dynamic_relocs)): Removed.
7628214082Sdim	(sunos_get_dynamic_symtab_upper_bound): New function.
7629214082Sdim	(sunos_canonicalize_dynamic_symtab): New function.
7630214082Sdim	(sunos_get_dynamic_reloc_upper_bound): New function.
7631214082Sdim	(sunos_canonicalize_dynamic_reloc): New function.
7632214082Sdim	* libaout.h: Declare struct reloc_ext_external and
7633214082Sdim	reloc_std_external to avoid prototype problems.
7634214082Sdim	(struct aout_backend_data): Remove fields read_dynamic_symbols and
7635214082Sdim	read_dynamic_relocs.
7636214082Sdim	(NAME(aout,translate_symbol_table)): Declare.
7637214082Sdim	(NAME(aout,swap_ext_reloc_in)): Declare.
7638214082Sdim	(NAME(aout,swap_std_reloc_in)): Declare.
7639214082Sdim	* aoutx.h (NAME(aout,translate_symbol_table)): Renamed from
7640214082Sdim	translate_symbol_table and made non-static.  Changed all callers.
7641214082Sdim	(NAME(aout,slurp_symbol_table)): Don't read dynamic symbols.
7642214082Sdim	(NAME(aout,slurp_reloc_table)): Don't read dynamic relocs.
7643214082Sdim	(NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs.
7644214082Sdim	* aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to
7645214082Sdim	remove dynamic symbols and relocs.  They will no longer be
7646214082Sdim	present.
7647214082Sdim	(MY_read_dynamic_symbols): Don't define.
7648214082Sdim	(MY_read_dynamic_relocs): Don't define.
7649214082Sdim	(sunos4_aout_backend): Don't initialize dynamic entry points.
7650214082Sdim	* aout-target.h (MY_read_dynamic_symbols): Don't define.
7651214082Sdim	(MY_read_dynamic_relocs): Don't define.
7652214082Sdim	(MY(backend_data)): Don't initialize dynamic entry points.
7653214082Sdim	(MY_get_dynamic_symtab_upper_bound): If not defined, define to
7654214082Sdim	_bfd_nodynamic version.
7655214082Sdim	(MY_canonicalize_dynamic_symtab): Likewise.
7656214082Sdim	(MY_get_dynamic_reloc_upper_bound): Likewise.
7657214082Sdim	(MY_canonicalize_dynamic_reloc): Likewise.
7658214082Sdim	* All backends: Added BFD_JUMP_TABLE_DYNAMIC to target vector.
7659214082Sdim	* bfd-in2.h: Rebuilt.
7660214082Sdim	* libbfd.h: Rebuilt.
7661214082Sdim
7662214082Sdim	* cf-m68klynx.c: Include sysdep.h.
7663214082Sdim
7664214082Sdim	* hp300hpux.c: Removed some spaces in uses of NAME to avoid
7665214082Sdim	problems with traditional C compilers.
7666214082Sdim
7667214082Sdim	* targets.c (bfd_target): Rearranged fields in target vector.
7668214082Sdim	Removed _bfd_debug_info_start, _bfd_debug_info_end and
7669214634Sdim	_bfd_debug_info_accumulate, which were never used.
7670214082Sdim	(BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined.
7671214634Sdim	(BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined.
7672214082Sdim	(BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined.
7673214082Sdim	(BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined.
7674214082Sdim	* All backends: Changed to use the new BFD_JUMP_TABLE_* macros
7675214082Sdim	rather than the single JUMP_TABLE macro.  Removed many of the
7676214082Sdim	weird macro definitions needed to support the monolithic
7677214082Sdim	JUMP_TABLE.
7678214634Sdim	* bfd-in.h (JUMP_TABLE): Removed.
7679214634Sdim	* libbfd-in.h: Define a bunch of macros, and declare a few
7680214634Sdim	functions, for use with the new BFD_JUMP_TABLE_* macros.
7681214634Sdim	* libbfd.c (_bfd_dummy_new_section_hook): Removed.
7682214634Sdim	(bfd_false): Set bfd_error_invalid_operation.
7683214634Sdim	(bfd_nullvoidptr): Likewise.
7684214634Sdim	(bfd_n1): New function.
7685214634Sdim	(_bfd_nocore_core_file_matches_executable_p): Renamed from
7686214082Sdim	_bfd_dummy_core_file_matches_executable_p.
7687214082Sdim	(_bfd_nocore_core_file_failing_command): Similar rename.  Set
7688214082Sdim	bfd_error_invalid_operation.
7689214082Sdim	(_bfd_nocore_core_file_failing_signal): Likewise.
7690214082Sdim	(_bfd_generic_get_section_contents): Renamed from
7691214082Sdim	bfd_generic_get_section_contents.  Changed all callers.
7692214082Sdim	(_bfd_generic_set_section_contents): Similar rename.
7693214082Sdim	* ieee.c: #if 0 out ieee_bfd_debug_info_start,
7694214082Sdim	ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate.  They
7695214082Sdim	were never called.
7696214082Sdim	* bfd-in2.h: Rebuilt.
7697214082Sdim	* libbfd.h: Rebuilt.
7698214082Sdim
7699214082SdimTue Apr  5 22:10:04 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
7700214082Sdim
7701214082Sdim	* Crude support for examining dynamic libraries.
7702214634Sdim	* som.c (som_object_setup): Set DYNAMIC flag for SHL_MAGIC and
7703214634Sdim	DL_MAGIC objects.
7704214634Sdim	(som_prep_headers): Preserve the system_id for DYNAMIC objects.
7705214634Sdim	Use SHL_MAGIC as the magic number of the DYNAMIC flag is set.
7706214634Sdim	Write exec headers for DYNAMIC objects.
7707214082Sdim	(som_begin_writing): DYNAMIC objects have the same alignment
7708214082Sdim	restrictions as D_PAGED objects.
7709214082Sdim	(bfd_section_from_som_symbol): Treat DYNAMIC objects like EXEC_P
7710214082Sdim	objects.
7711214082Sdim	(object_flags): Add DYNAMIC.
7712214082Sdim
7713214082SdimTue Apr  5 17:48:52 1994  Stan Shebs  (shebs@andros.cygnus.com)
7714214082Sdim
7715214082Sdim	* i386lynx.c, sparclynx.c (NAME): Remove embedded whitespace in
7716214082Sdim	macro uses, confuses some non-ANSI compilers.
7717214082Sdim
7718214082SdimTue Apr  5 15:50:01 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
7719214082Sdim
7720214082Sdim	* som.c (som_bfd_free_cached_info): Add missing PARAMS decl.
7721214082Sdim	Don't free anything if we don't have a bfd_object.
7722214082Sdim	(som_close_and_cleanup): Call som_bfd_free_cached_info.
7723214082Sdim
7724214082SdimTue Apr  5 11:22:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7725214082Sdim
7726214082Sdim	* elf32-mips.c (mips_elf_final_link): Don't remove empty sections.
7727214082Sdim	It turns out not to be required on Irix 5, and it causes problems
7728214082Sdim	if the sections happen to contain symbols.
7729214082Sdim
7730214082Sdim	* elfcode.h (write_shdrs_and_ehdr): Correct bfd_write check.
7731214634Sdim
7732214082Sdim	* aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if
7733214082Sdim	section->relocation is NULL; malloc might have returned NULL when
7734214082Sdim	given a zero size if there were no relocations.
7735214082Sdim	* bout.c (b_out_canonicalize_reloc): Likewise.
7736214082Sdim	* coffcode.h (coff_canonicalize_reloc): Likewise.
7737214082Sdim	* ecoff.c (ecoff_canonicalize_reloc): Likewise.
7738214082Sdim	* elfcode.h (elf_canonicalize_reloc): Likewise.
7739214082Sdim	* mipsbsd.c (MY(canonicalize_reloc)): Likewise.
7740214082Sdim	* i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
7741214082Sdim	* nlmcode.h (nlm_canonicalize_reloc): Likewise.
7742214082Sdim	* som.c (som_canonicalize_reloc): Likewise.
7743214082Sdim	* hp300hpux.c (MY(slurp_reloc_table)): Likewise.  Also, if malloc
7744214082Sdim	returns NULL, don't report an error if we asked for zero bytes.
7745214082Sdim	* i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns
7746214082Sdim	NULL, don't report an error if we asked for zero bytes.
7747214082Sdim	* nlmcode.h (nlm_slurp_reloc_fixups): Likewise.
7748214082Sdim
7749214082SdimMon Apr  4 15:30:49 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7750214082Sdim
7751214082Sdim	* aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anything
7752214082Sdim	if we don't have a bfd_object.
7753214082Sdim
7754214082Sdim	Made sure that every call to bfd_read, bfd_write, and bfd_seek
7755214082Sdim	checks the return value and handled bfd_error correctly.  These
7756214082Sdim	changes are not itemised.  Also:
7757214082Sdim	* aoutx.h (emit_strtab): Change return type to boolean, and return
7758214082Sdim	errors.
7759214082Sdim	(NAME(aout,write_syms)): Check emit_strtab return value.
7760214082Sdim	(NAME(aout,final_link)): Likewise.
7761214082Sdim	* coffcode.h (coff_write_relocs): Change return type to boolean,
7762214082Sdim	and return errors.
7763214082Sdim	(coff_write_object_contents): Check coff_write_relocs return
7764214082Sdim	value.
7765214082Sdim	* i386os9k.c (os9k_swap_exec_header_in): Change return type to
7766214082Sdim	boolean.
7767214082Sdim	(os9k_object_p): Check os9k_swap_exec_header_in return value.
7768214082Sdim	* oasys.c (oasys_read_record): Change return type to boolean.
7769214082Sdim	(oasys_slurp_symbol_table: Check oasys_read_record return value.
7770214082Sdim	(oasys_object_p, oasys_slurp_section_data): Likewise.
7771214082Sdim	(oasys_write_record): Change return type to boolean.
7772214082Sdim	(oasys_write_syms): Likewise.  Also, check oasys_write_record
7773214082Sdim	return value.
7774214082Sdim	(oasys_write_sections): Check oasys_write_record return value.
7775214082Sdim	(oasys_write_header): Change return type to boolean.  Check
7776214082Sdim	oasys_write_record return value.
7777214082Sdim	(oasys_write_end, oasys_write_data): Likewise.
7778214082Sdim	(oasys_write_object_contents): Check return values of
7779214082Sdim	oasys_write_header, oasys_write_syms, oasys_write_data, and
7780214082Sdim	oasys_write_end.
7781214082Sdim	* srec.c (srec_write_record): Change return type to boolean.
7782214082Sdim	(srec_write_header): Likewise.  Also, check srec_write_record
7783214082Sdim	return value.
7784214082Sdim	(srec_write_section, srec_write_terminator): Likewise.
7785214082Sdim	(srec_write_symbols): Change return type to boolean.
7786214082Sdim	(internal_srec_write_object_contents): Check return value of
7787214082Sdim	srec_write_symbols, srec_write_header, srec_write_section, and
7788214082Sdim	srec_write_terminator.
7789214082Sdim
7790214082Sdim	* Makefile.in: Rebuilt dependencies.
7791214082Sdim
7792214082SdimMon Apr  4 10:56:45 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
7793214082Sdim
7794214082Sdim	* aix386-core.c (aix386_bfd_is_local_label):  Correct cast from
7795214082Sdim	asection to asymbol.
7796214082Sdim	* ptrace-core.c (ptrace_unix_bfd_is_local_label):  Correct cast from
7797214082Sdim	bfd to asymbol.
7798214082Sdim	* trad-core.c (trad_unix_bfd_is_local_label):  Correct cast from
7799214082Sdim	asection to asymbol.
7800214082Sdim
7801214082SdimSun Apr  3 18:27:29 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
7802214082Sdim
7803214082Sdim	* som.c (som_slurp_string_table): Use malloc to allocate space
7804214082Sdim	for the cached copy of the native string table.
7805214082Sdim	(som_slurp_symbol_table): Likewise for the native symbol table.
7806214082Sdim	(som_slurp_reloc_table): Likewise for the native and generic
7807214082Sdim	relocation tables.
7808214082Sdim	(som_bfd_free_cached_info): Free the cached native strings,
7809214082Sdim	symbols, and relocations.  Also free the canonical cached
7810214082Sdim	relocations.
7811214082Sdim
7812214082SdimFri Apr  1 12:40:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7813214082Sdim
7814214082Sdim	* aoutx.h (aout_link_write_symbols): If keep_memory is false, make
7815214634Sdim	sure the symbol name is stored in permanent memory before adding
7816214082Sdim	it to the string table.
7817214082Sdim
7818214082Sdim	* archive.c (_bfd_write_archive_contents): Once we've found an
7819214082Sdim	object, don't bother to look for more when deciding whether to
7820214082Sdim	build a map.
7821214082Sdim	(compute_and_write_armap): After adding the symbols for a BFD,
7822214082Sdim	call bfd_free_cached_info on it.
7823214082Sdim
7824214082Sdim	Add bfd_free_cached_info support to a.out backends.
7825214082Sdim	* aoutx.h (aout_get_external_symbols): Renamed from
7826214082Sdim	aout_link_get_symbols.  Read strings even if symbols have been
7827214082Sdim	read.  Store string size in obj_aout_string_size.
7828214082Sdim	(NAME(aout,slurp_symbol_table)): Call aout_get_external_symbols to
7829214082Sdim	read the symbols.  Allocate the cached symbols with malloc, not
7830214082Sdim	bfd_alloc.
7831214082Sdim	(NAME(aout,slurp_reloc_table)): Allocate the cached relocs with
7832214082Sdim	malloc, not bfd_alloc.
7833214082Sdim	(NAME(aout,bfd_free_cached_info)): New function; free cached
7834214082Sdim	symbols and relocs.
7835214082Sdim	* libaout.h (struct aoutdata): Add external_string_size field.
7836214082Sdim	(obj_aout_external_string_size): New accessor macro.
7837214082Sdim	(NAME(aout,close_and_cleanup)): Don't declare.
7838214082Sdim	(NAME(aout,bfd_free_cached_info)): Declare.
7839214082Sdim	(aout_32_close_and_cleanup): Don't define.
7840214634Sdim	(aout_64_close_and_cleanup): Don't define.
7841214634Sdim	* aout-target.h (MY_bfd_free_cached_info): If not already defined,
7842214634Sdim	define as NAME(aout,free_cached_info).
7843214634Sdim	(MY_close_and_cleanup): If not already defined, define as
7844214634Sdim	MY_bfd_free_cached_info.
7845214634Sdim	* aout-adobe.c (aout_32_close_and_cleanup): Define.
7846214634Sdim	(aout_32_bfd_free_cached_info): Don't define.
7847214634Sdim	* bout.c (aout_32_close_and_cleanup): Define.
7848214634Sdim	(aout_32_bfd_free_cached_info): Don't define.
7849214634Sdim	* hp300hpux.c (MY_bfd_free_cached_info): Define as bfd_true.
7850214634Sdim	(MY_close_and_cleanup): Don't define.
7851214634Sdim	* i386lynx.c (NAME(lynx,slurp_reloc_table)): Allocate the cached
7852214634Sdim	relocs with malloc, not bfd_alloc.
7853214634Sdim	* i386os9k.c (aout_32_close_and_cleanup): Define.
7854214634Sdim	(aout_32_bfd_free_cached_info): Don't define.
7855214634Sdim
7856214634Sdim	Add a new entry point to free memory cached by a BFD.
7857214634Sdim	* targets.c (bfd_target): Add _bfd_free_cached_info field.
7858214634Sdim	* bfd.c (bfd_free_cached_info): Define.
7859214634Sdim	* bfd-in.h (JUMP_TABLE): Add _bfd_free_cached_info.
7860214634Sdim	* bfd-in2.h: Rebuilt.
7861214634Sdim	* All backends: Initialize bfd_free_cached_info entry point to
7862214634Sdim	bfd_true.
7863214634Sdim
7864214634Sdim	* elf32-hppa.c (elf_hppa_reloc_type_lookup): Correct type of
7865214634Sdim	first, unused, argument.
7866214634Sdim	(hppa_elf_is_local_label): Declare instead of
7867214634Sdim	som_bfd_is_local_label.
7868214634Sdim
7869214634Sdim	* coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of
7870214634Sdim	absolute R_IREL reloc.
7871214634Sdim
7872214634SdimThu Mar 31 11:52:15 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7873214634Sdim
7874214634Sdim	Added some support for Irix 4 shared libraries.
7875214634Sdim	* ecoff.c (ecoff_new_section_hook): Set SEC_SHARED_LIBRARY for a
7876214634Sdim	.lib section.
7877214634Sdim	(ecoff_sec_to_styp_flags): Set SEC_SHARED_LIBRARY if
7878214634Sdim	STYP_ECOFF_LIB bit is set.
7879214634Sdim	(ecoff_compute_section_file_positions): Round the contents of a
7880214634Sdim	.lib section up to the next page boundary.
7881214634Sdim	(ecoff_set_section_contents): If we see a .lib section, increment
7882214634Sdim	the vma by one to count the number of shared libraries we have.
7883214634Sdim	(ecoff_write_object_contents): Don't crash if we see a
7884214082Sdim	STYP_ECOFF_LIB section, and don't adjust text_start or data_start
7885214082Sdim	or bss_size either.
7886214082Sdim
7887214082Sdim	* coffcode.h (CALC_ADDEND): Change to fetch original symbol value
7888214082Sdim	from original BFD, rather than using value of current BFD symbol.
7889214634Sdim	Needed for new linker.
7890214634Sdim	* coff-sparc.c (CALC_ADDEND): Likewise.
7891214082Sdim
7892214082Sdim	* ecoff.c (ecoff_write_object_contents): Set the text_start and
7893214082Sdim	data_start entries in the optional header correctly even if a text
7894214082Sdim	or data section starts at location zero.
7895214082Sdim
7896214082Sdim	* reloc.c (bfd_reloc_code_real_type): Added BFD_RELOC_26 (from sef
7897214082Sdim	and raeburn).
7898214082Sdim	* bfd-in2.h: Rebuilt.
7899214082Sdim
7900214082Sdim	* nlm32-i386.c (nlm_i386_read_import): Null terminate the symbol
7901214082Sdim	name.
7902214082Sdim	* nlm32-alpha.c (nlm_alpha_read_import): Likewise.
7903214082Sdim	* nlm32-sparc.c (nlm_sparc_read_import): Likewise.
7904214082Sdim
7905214082Sdim	* coffgen.c (coff_write_symbol): Reindented.  Changed to return
7906214082Sdim	boolean, and changed written to unsigned int *.  Check error
7907214082Sdim	returns from called functions.
7908214082Sdim	(coff_write_alien_symbol): Likewise.
7909214082Sdim	(coff_write_native_symbol): Likewise.
7910214082Sdim	(coff_write_symbols): Likewise.  Reworked checks on whether to
7911214082Sdim	write symbol name to string table for clarity and to avoid core
7912214082Sdim	dumping when given a non COFF symbol.
7913214082Sdim	* libcoff-in.h (coff_write_symbols): Declare as returning boolean.
7914214082Sdim	* libcoff.h: Rebuilt.
7915214082Sdim	* coffcode.h (coff_write_object_contents): Check return value of
7916214082Sdim	coff_write_symbols.
7917214082Sdim
7918214082SdimWed Mar 30 16:25:41 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
7919214082Sdim
7920214082Sdim	Changes to let BFD return an error indication from
7921214082Sdim	get_symtab_upper_bound, bfd_canonicalize_symtab,
7922214082Sdim	bfd_get_reloc_upper_bound, and bfd_canonicalize_reloc.  They now
7923214082Sdim	return long instead of unsigned int, and use -1 to indicate an
7924214082Sdim	error.  Along the way, rename get_symtab_upper_bound to
7925214082Sdim	bfd_get_symtab_upper_bound.
7926214634Sdim	* bfd.c (bfd_get_reloc_upper_bound): Return long, and -1 on
7927214082Sdim	errors.
7928214634Sdim	(bfd_canonicalize_reloc): Likewise.
7929214634Sdim	* syms.c (bfd_get_symtab_upper_bound): Renamed from
7930214082Sdim	get_symtab_upper_bound.
7931214082Sdim	* targets.c (bfd_target): Renamed _get_symtab_upper_bound to
7932214082Sdim	_bfd_get_symtab_upper_bound, and changed it and
7933214082Sdim	_bfd_canonicalize_symtab and _get_reloc_upper_bound and
7934214082Sdim	_bfd_canonicalize_reloc to all return long.
7935214082Sdim	* aoutx.h (NAME(aout,get_symtab)): Return long, and -1 on errors.
7936214082Sdim	(NAME(aout,canonicalize_reloc)): Likewise.
7937214082Sdim	(NAME(aout,get_reloc_upper_bound)): Likewise.
7938214082Sdim	(NAME(aout,get_symtab_upper_bound)): Likewise.
7939214082Sdim	* bout.c (b_out_canonicalize_reloc): Likewise.
7940214082Sdim	(b_out_get_reloc_upper_bound): Likewise.
7941214082Sdim	* coffcode.h (coff_canonicalize_reloc): Likewise.
7942214082Sdim	* coffgen.c (coff_get_symtab_upper_bound): Likewise.
7943214082Sdim	(coff_get_symtab): Likewise.
7944214082Sdim	(coff_get_reloc_upper_bound): Likewise.
7945214082Sdim	* ecoff.c (ecoff_get_symtab_upper_bound): Likewise.
7946214082Sdim	(ecoff_get_symtab): Likewise.
7947214082Sdim	(ecoff_canonicalize_reloc): Likewise.
7948214082Sdim	* elfcode.h (elf_get_symtab_upper_bound): Likewise.
7949214082Sdim	(elf_get_reloc_upper_bound): Likewise.
7950214082Sdim	(elf_canonicalize_reloc): Likewise.
7951214082Sdim	(elf_get_symtab): Likewise.
7952214082Sdim	* hp300hpux.c (MY(get_symtab)): Likewise.
7953214082Sdim	(MY(get_symtab_upper_bound)): Likewise.
7954214082Sdim	(MY(canonicalize_reloc)): Likewise.
7955214082Sdim	* i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise.
7956214082Sdim	* ieee.c (ieee_slurp_external_symbols): Change return type to
7957214082Sdim	boolean.  Check for errors from get_symbol.
7958214082Sdim	(ieee_slurp_symbol_table): Change return type to boolean.  Check
7959214082Sdim	for errors from ieee_slurp_external_symbols.
7960214082Sdim	(ieee_get_symtab_upper_bound): Return long, and -1 on errors.
7961214082Sdim	(ieee_get_symtab): Likewise.
7962214082Sdim	(ieee_get_reloc_upper_bound): Likewise.
7963214082Sdim	(ieee_canonicalize_reloc): Likewise.
7964214082Sdim	* mipsbsd.c (MY(canonicalize_reloc)): Likewise.
7965214082Sdim	* nlmcode.h (nlm_get_symtab_upper_bound): Likewise.
7966214082Sdim	(nlm_get_symtab): Likewise.
7967214082Sdim	(nlm_get_reloc_upper_bound): Likewise.
7968214082Sdim	(nlm_canonicalize_reloc): Likewise.
7969214082Sdim	* oasys.c (oasys_get_symtab_upper_bound): Likewise.
7970214082Sdim	(oasys_get_symtab): Likewise.
7971214082Sdim	(oasys_get_reloc_upper_bound): Likewise.
7972214082Sdim	(oasys_canonicalize_reloc): Likewise.
7973214082Sdim	* som.c (som_get_symtab_upper_bound): Likewise.
7974214082Sdim	(som_get_symtab): Likewise.
7975214082Sdim	(som_get_reloc_upper_bound): Likewise.
7976214082Sdim	(som_canonicalize_reloc): Likewise.
7977214082Sdim	* srec.c (srec_get_symtab_upper_bound): Likewise.
7978214082Sdim	(srec_get_symtab): Likewise.
7979214082Sdim	(srec_get_reloc_upper_bound): Define as bfd_0l.
7980214082Sdim	(srec_canonicalize_reloc): Likewise.
7981214082Sdim	* tekhex.c (tekhex_get_symtab): Return long, and -1 on errors.
7982214082Sdim	(tekhex_get_symtab_upper_bound): Likewise.
7983214082Sdim	(tekhex_get_reloc_upper_bound): Define as bfd_0l.
7984214082Sdim	(tekhex_canonicalize_reloc): Likewise.
7985214082Sdim	* libaout.h (NAME(aout,get_symtab_upper_bound)): Change
7986214082Sdim	declaration to return long.
7987214082Sdim	(NAME(aout,get_symtab)): Likewise.
7988214082Sdim	(NAME(aout,canonicalize_reloc)): Likewise.
7989214082Sdim	(NAME(aout,get_reloc_upper_bound)): Likewise.
7990214082Sdim	* libcoff-in.h (coff_get_symtab_upper_bound): Likewise.
7991214082Sdim	(coff_get_symtab): Likewise.
7992214082Sdim	(coff_get_reloc_upper_bound): Likewise.
7993214082Sdim	* libecoff.h (ecoff_get_symtab_upper_bound): Likewise.
7994214082Sdim	(ecoff_get_symtab): Likewise.
7995214082Sdim	(ecoff_canonicalize_reloc): Likewise.
7996214082Sdim	* libelf.h (bfd_elf32_get_symtab_upper_bound): Likewise.
7997214082Sdim	(bfd_elf32_get_symtab): Likewise.
7998214082Sdim	(bfd_elf32_get_reloc_upper_bound): Likewise.
7999214082Sdim	(bfd_elf32_canonicalize_reloc): Likewise.
8000214082Sdim	(bfd_elf64_get_symtab_upper_bound): Likewise.
8001214082Sdim	(bfd_elf64_get_symtab): Likewise.
8002214082Sdim	(bfd_elf64_get_reloc_upper_bound): Likewise.
8003214082Sdim	(bfd_elf64_canonicalize_reloc): Likewise.
8004214082Sdim	* libnlm.h (nlmNAME(get_symtab_upper_bound)): Likewise.
8005214082Sdim	(nlmNAME(get_symtab)): Likewise.
8006214082Sdim	(nlmNAME(get_reloc_upper_bound)): Likewise.
8007214082Sdim	(nlmNAME(canonicalize_reloc)): Likewise.
8008214082Sdim	* archive.c (compute_and_write_armap): Use error_return and
8009214082Sdim	no_memory_return labels rather than freeing information in various
8010214082Sdim	places.  Change storage, symcount and src_count to long.  Check
8011214082Sdim	errors from bfd_get_symtab_upper_bound and
8012214082Sdim	bfd_canonicalize_symtab.
8013214082Sdim	* bout.c (b_out_relax_section): Change reloc_size to long.  Check
8014214082Sdim	for errors from bfd_get_reloc_upper_bound and
8015214082Sdim	bfd_canonicalize_reloc.
8016214082Sdim	(b_out_get_relocated_section_contents): Likewise.
8017214082Sdim	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
8018214082Sdim	Likewise.
8019214082Sdim	* elf32-mips.c: Likewise.
8020214082Sdim	* elf32-hppa.c (hppa_elf_stub_finish): Likewise.
8021214082Sdim	(hppa_look_for_stubs_in_section): Check for errors from
8022214082Sdim	bfd_get_symtab_upper_bound, bfd_canonicalize_symtab, and
8023214082Sdim	bfd_canonicalize_reloc.
8024214082Sdim	* ecofflink.c (bfd_ecoff_debug_accumulate_other): Check for errors
8025214082Sdim	from bfd_get_symtab_upper_bound and bfd_canonicalize_symtab.
8026214082Sdim	* linker.c (generic_link_read_symbols): Likewise.
8027214082Sdim	(_bfd_generic_final_link): Check for errors from
8028214082Sdim	bfd_get_reloc_upper_bound and bfd_canonicalize_reloc.
8029214082Sdim	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
8030214082Sdim	* reloc16.c (bfd_coff_reloc16_relax_section): Likewise.
8031214082Sdim	(bfd_coff_reloc16_get_relocated_section_contents): Likewise.
8032214082Sdim	* libbfd.c (bfd_0l): New function.
8033214082Sdim	* libbfd-in.h (bfd_0l): Declare.
8034214082Sdim	* aix386-core.c: Change get_symtab_upper_bound, get_symtab,
8035214082Sdim	get_reloc_upper_bound, and canonicalize_reloc to use bfd_0l rather
8036214082Sdim	than bfd_0u.
8037214082Sdim	* cisco-core.c, hppabsd-core.c, hpux-core.c: Likewise.
8038214082Sdim	* irix-core.c, osf-core.c, ptrace-core.c, trad-core.c: Likewise.
8039214082Sdim	* bfd-in2.h: Rebuilt.
8040214082Sdim	* libbfd.h: Rebuilt.
8041214082Sdim	* libcoff.h: Rebuilt.
8042214082Sdim
8043214082Sdim	* nlm32-sparc.c (nlm_sparc_read_reloc): Remove unused variables
8044214082Sdim	temp and name.
8045214082Sdim
8046214082SdimWed Mar 30 08:33:04 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
8047214082Sdim
8048214082Sdim	* hosts/dpx2.h: Define POSIX_UTIME.
8049214082Sdim
8050214082SdimWed Mar 30 00:31:49 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
8051214082Sdim
8052214082Sdim	* i386dynix.c, config/i386-dynix.mt:  New files, handling Dynix
8053214082Sdim	variant of a.out.
8054214082Sdim	* configure.in, config.bfd:  Use them for Dynix.
8055214082Sdim	* Makefile.in:  Add dependencies for i386dynix.o. 
8056214082Sdim	* targets.c:  Add definition for i386dynix_vec.
8057214082Sdim	* hosts/symmetry.h:  Do not define TRAD_CORE_USER_OFFSET for Dynix.
8058214082Sdim	Define HOST_DATA_START_ADDR and TRAD_UNIX_CORE_FILE_FAILING_SIGNAL
8059214082Sdim	for Dynix. Remove inclusion of dynix3.h, Dynix bfd is now handled by
8060214082Sdim	i386dynix.c
8061214082Sdim
8062214082SdimMon Mar 28 12:53:27 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8063214082Sdim
8064214082Sdim	* Makefile.in (BFD32_BACKENDS): Add coff-sparc.o.
8065214082Sdim
8066214082Sdim	* coffcode.h (coff_set_flags): Handle bfd_arch_powerpc like
8067214082Sdim	bfd_arch_rs6000.
8068214082Sdim
8069214082Sdim	* config.bfd (powerpc-*-aix*): New target; use rs6000.mt.
8070214082Sdim	* config/rs6000.mt (SELECT_ARCHITECTURES): Add bfd_powerpc_arch.
8071214082Sdim
8072214082Sdim	* aoutx.h (translate_from_native_sym_flags): Set SEC_RELOC flag
8073214082Sdim	for generated constructor section.
8074214082Sdim
8075214082SdimSun Mar 27 16:25:22 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8076214082Sdim
8077214082Sdim	* som.c (som_begin_writing): New approach at dealing with holes
8078214082Sdim	in executables left by the HP linker.  Does not rely on subspace
8079214082Sdim	alignments as subspaces are *NOT* guaranteed to be properly
8080214082Sdim	aligned in an executable (can you believe that!).
8081214082Sdim
8082214082SdimSat Mar 26 10:25:43 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8083214082Sdim
8084214082Sdim	* som.c (som_get_section_contents): New function.  Do not try
8085214082Sdim	to actually read data from a section that doesn't have either
8086214082Sdim	SEC_LOAD or SEC_DEBUGGING set (eg $BSS$) just return true.
8087214082Sdim
8088214082Sdim        * libbfd.c (bfd_read): Set bfd_error as appropriate for a short
8089214082Sdim	read. (bfd_error_system_call or bfd_error_file_truncated).
8090214082Sdim
8091214082Sdim	* som.c: Do not blindly set bfd_error_system_call after a
8092214082Sdim	failing bfd_read, bfd_write, or bfd_seek.  In a few places
8093214082Sdim	(like som_object_p) override the error status set by bfd_read.
8094214082Sdim
8095214082Sdim	* aix386-core.c, aout-encap,c archive.c, bout.c: Likewise.
8096214082Sdim	* coff-rs6000.c, coffgen.c ecoff.c, elf.c: Likewise.
8097214082Sdim	* elf32-hppa.c, elfcode.h, hp300hpux.c, i386lynx.c: Likewise.
8098214082Sdim	* nlm32-alpha.c, nlm32-i386.c, nlm32-sparc.c: Likewise.
8099214082Sdim
8100214082Sdim	* som.c: Check return values from several bfd_{seek,read,write}
8101214082Sdim	calls that we just assumed were not failing.
8102214082Sdim
8103214082SdimFri Mar 25 11:44:06 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
8104214082Sdim
8105214082Sdim	* hosts/sysv4.h (HAVE_PROCFS): Add comments about ptx4.
8106214082Sdim	* config/sysv4.mh: Add comment.
8107214082Sdim	* config/symmetry.mh: Change comment.
8108214082Sdim	* configure.host: Use sysv4, not symmetry, for i[34]86-sequent-sysv4*.
8109214082Sdim
8110214082SdimFri Mar 25 17:10:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8111214082Sdim
8112214082Sdim	Changes to support linker relaxing of embedded MIPS PIC code to
8113214082Sdim	use a five instruction sequence for function calls which are out of
8114214082Sdim	range of the bal instruction.
8115214082Sdim	* libecoff.h (struct ecoff_section_tdata): Define.
8116214082Sdim	(ecoff_section_data): Define.
8117214082Sdim	(ecoff_bfd_relax_section): Don't define.
8118214082Sdim	* ecoff.c (ecoff_final_link_debug_accumulate): Don't read or free
8119214082Sdim	the debugging information if it has already been read.
8120214082Sdim	(ecoff_indirect_link_order): Handle _cooked_size being different
8121214082Sdim	from _raw_size.  Don't reread the contents or the relocs if they
8122214082Sdim	have already been read in.
8123214082Sdim	* coff-mips.c (mips_howto_table): Change bitsize of PCREL16 from
8124214082Sdim	18 to 16.
8125214082Sdim	(PCREL16_EXPANSION_ADJUSTMENT): Define.
8126214082Sdim	(mips_relocate_refhi): Take adjust argument.
8127214082Sdim	(mips_relocate_section): Handle reloc offsets stored in section
8128214082Sdim	used_by_bfd field.  Call mips_relax_pcrel16 to handle details of
8129214082Sdim	expanding an out of range PCREL16.  Keep trace of adjustments
8130214082Sdim	required by expansions.  Set s and unset h when converting a reloc
8131214082Sdim	from undefined to section.  Change handling of PC relative relocs:
8132214082Sdim	if against a section, they are correct in the object file, if
8133214082Sdim	against an external symbol they are pcrel_offset.
8134214082Sdim	(mips_relax_section): New function.
8135214082Sdim	(mips_relax_pcrel16): New function.
8136214082Sdim	(ecoff_bfd_relax_section): Define.
8137214082Sdim	* coff-alpha.c (ecoff_bfd_relax_section): Define.
8138214082Sdim	* ecofflink.c (bfd_ecoff_debug_accumulate): Handle adjustments
8139214082Sdim	built by mips_relax_section when writing out addresses.
8140214082Sdim	* elf32-mips.c (mips_elf_read_ecoff_info): Clear adjust field.
8141214082Sdim
8142214634Sdim	* aoutx.h (NAME(aout,find_nearest_line)): The caller expects
8143214082Sdim	functionname_ptr to be set to a symbol name, so prepend
8144214082Sdim	symbol_leading_char.
8145214082Sdim
8146214082SdimThu Mar 24 11:33:46 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
8147214082Sdim
8148214082Sdim	* coff-h8300.c (h8300_reloc16_extra_cases): Add relaxing info
8149214082Sdim	for 16bit relative branches.
8150214082Sdim	* coff-h8500.c (r_high8, r_low16, r_high16): Don't complain on
8151214082Sdim	overflow.
8152214082Sdim
8153214082SdimThu Mar 24 09:21:13 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8154214082Sdim
8155214082Sdim	* som.c (som_bfd_prep_for_ar_write): Ignore non-SOM objects.
8156214082Sdim	(som_bfd_ar_write_symbol_stuff, som_write_armap): Likewise.
8157214082Sdim
8158214082SdimWed Mar 23 14:29:31 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
8159214082Sdim
8160214082Sdim	* netbsd386.c (N_SET_FLAGS): Delete the old definition.
8161214082Sdim
8162214082SdimWed Mar 23 14:58:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8163214082Sdim
8164214082Sdim	Clean up the relaxing code for the new linker.
8165214082Sdim	* targets.c (_bfd_relax_section): Take boolean *again argument
8166214082Sdim	rather than asymbol list.
8167214082Sdim	* bfd.c (bfd_relax_section): Change name of fourth argument from
8168214082Sdim	symbols to again.
8169214082Sdim	* reloc.c (bfd_generic_relax_section): Take boolean *again
8170214082Sdim	argument rather than asymbol list.  Always return true.
8171214082Sdim	* bout.c: Include genlink.h.
8172214082Sdim	(aligncode, perform_slip): Declare.
8173214082Sdim	(perform_slip): Take BFD argument rather than asymbol list.
8174214082Sdim	Changed all callers.  Get the symbols from the BFD.  Change the
8175214082Sdim	hash table entry value as well as the symbol value.
8176214082Sdim	(abs32code): Take BFD argument rather than asymbol list.  Changed
8177214082Sdim	all callers.
8178214082Sdim	(aligncode): Likewise.
8179214082Sdim	(b_out_relax_section): Take boolean *again argument rather than
8180214082Sdim	asymbol list.  Only return false if an error occurred.  Set *again
8181214082Sdim	to false.  Get symbols from BFD.
8182214082Sdim	* reloc16.c: Include genlink.h.
8183214082Sdim	(bfd_perform_slip): Take BFD argument rather than asymbol list.
8184214082Sdim	Get the symbols from the BFD.  Change the hash table entry value
8185214082Sdim	as well as the symbol value.
8186214082Sdim	(bfd_coff_reloc16_relax_section): Take boolean *again argument
8187214082Sdim	rather than asymbol list.  Only return false if an error occurred.
8188214082Sdim	Set *again to false.  Get symbols from BFD.
8189214082Sdim	* coffcode.h (bfd_coff_backend_data): Change
8190214082Sdim	_bfd_coff_reloc16_estimate to take BFD argument rather than
8191214082Sdim	asymbol list.
8192214082Sdim	(bfd_coff_reloc16_estimate): Corresponding change.
8193214082Sdim	(dummy_reloc16_estimate): Corresponding change.
8194214082Sdim	* libcoff-in.h (bfd_coff_reloc16_relax_section): Change
8195214082Sdim	declaration to take boolean * rather than asymbol list.
8196214082Sdim	(bfd_perform_slip): Change declaration to take BFD rather than
8197214082Sdim	asymbol list.
8198214082Sdim	* coff-h8300.c (h300_reloc16_estimate): Take BFD argument rather
8199214082Sdim	than asymbol list.  Changed calls to bfd_perform_slip.
8200214082Sdim	* bfd-in2.h: Rebuilt.
8201214082Sdim	* libbfd.h: Rebuilt.
8202214082Sdim	* libcoff.h: Rebuilt.
8203214082Sdim	* Makefile.in: Rebuilt dependencies.
8204214082Sdim
8205214082Sdim	* genlink.h (_bfd_generic_link_get_symbols): Define.
8206214082Sdim	(_bfd_generic_link_get_symcount): Define.
8207214082Sdim	* linker.c (generic_link_read_symbols): New function.
8208214082Sdim	(generic_link_add_object_symbols): Use it.  Use
8209214082Sdim	_bfd_generic_link_get_symbols and _bfd_generic_link_get_symcount
8210214082Sdim	to get the symbols from the BFD.
8211214082Sdim	(generic_link_check_archive_element): Likewise.
8212214082Sdim	(_bfd_generic_final_link): Likewise.
8213214082Sdim	(_bfd_generic_link_output_symbols): Likewise.
8214214082Sdim	(default_indirect_link_order): Likewise.
8215214082Sdim	(generic_link_add_symbol_list): Store pointer to hash table entry
8216214082Sdim	in asymbol udata field.
8217214082Sdim
8218214082SdimTue Mar 22 13:09:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8219214082Sdim
8220214082Sdim	* coff-mips.c (mips_howto_table): Add entry for new MIPS_R_PCREL16
8221214082Sdim	reloc, used in embedded PIC code.
8222214082Sdim	(mips_adjust_reloc_in): Change sanity check to permit new reloc.
8223214082Sdim	(mips_bfd_reloc_type_lookup): Turn BFD_RELOC_16_PCREL_S2 into
8224214082Sdim	MIPS_R_PCREL16.
8225214082Sdim
8226214082Sdim	* elf32-mips.c (mips_elf_final_link): Account for link_order
8227214082Sdim	relocs when allocating space for relocations.  Set SEC_RELOC flag
8228214082Sdim	for any section which has relocs.  Handle link_order relocs in
8229214082Sdim	link_order loop.  Use _bfd_generic_link_add_symbols_collect for
8230214082Sdim	add_symbls entry point.
8231214082Sdim
8232214082Sdim	* linker.c (_bfd_generic_final_link): Set reloc_count to 0 before
8233214082Sdim	counting relocs.  Set SEC_RELOC flag for any section which has
8234214082Sdim	relocs.
8235214082Sdim
8236214082Sdim	* linker.c (_bfd_default_link_order): Handle bfd_data_link_order.
8237214082Sdim
8238214082Sdim	* linker.c (_bfd_generic_link_add_symbols): Just call
8239214082Sdim	generic_link_add_symbols.
8240214082Sdim	(_bfd_generic_link_add_symbols_collect): New function, like
8241214082Sdim	_bfd_generic_link_add_symbols but also collect constructors and
8242214082Sdim	destructors by name as collect2 does.
8243214082Sdim	(generic_link_add_symbols): New function, like old
8244214082Sdim	_bfd_generic_link_add_symbols but with collect argument.
8245214082Sdim	(generic_link_add_object_symbols): Take collect argument.
8246214082Sdim	(generic_link_check_archive_element_no_collect): New function.
8247214082Sdim	(generic_link_check_archive_element_collect): New function.
8248214082Sdim	(generic_link_check_archive_element): Take collect argument.
8249214082Sdim	(generic_link_add_symbol_list): Take collect argument.
8250214082Sdim	(_bfd_generic_link_add_one_symbol): Rename constructor argument to
8251214082Sdim	collect.
8252214082Sdim	* libbfd-in.h (_bfd_generic_link_add_symbols_collect): Declare.
8253214082Sdim	* libbfd.h: Rebuilt.
8254214082Sdim
8255214082SdimTue Mar 22 10:04:00 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8256214082Sdim
8257214082Sdim	* archive.c (bfd_construct_extended_name_table): Use ar_padchar
8258214082Sdim	for first character in an extended name.
8259214082Sdim	(_bfd_write_archive_contents): If ar_padchar == '/', then use
8260214082Sdim	"//" as the name of the special archive member holding the
8261214082Sdim	extended name table.
8262214082Sdim
8263214082SdimMon Mar 21 12:28:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8264214082Sdim
8265214082Sdim	Support for link_order types which generate relocs in order to
8266214082Sdim	support -Ur in the linker.
8267214082Sdim	* linker.c (generic_link_add_symbol_list): Remove bitsize argument
8268214082Sdim	from call to _bfd_generic_link_add_one_symbol.
8269214082Sdim	(_bfd_generic_link_add_one_symbol): Remove bitsize argument.
8270214082Sdim	Don't pass bitsize to constructor call back.  Pass BFD_RELOC_CTOR
8271214082Sdim	instead of bitsize to add_to_set call back.
8272214082Sdim	(_bfd_generic_final_link): Account for link_order relocs when
8273214082Sdim	allocating space for relocations.  Handle them in link_order loop.
8274214082Sdim	(_bfd_generic_reloc_link_order): New function.
8275214082Sdim	(_bfd_default_link_order): If a reloc_link_order is seen here,
8276214082Sdim	abort.
8277214082Sdim	(_bfd_count_link_order_relocs): New function.
8278214082Sdim	* libbfd-in.h (_bfd_generic_link_add_one_symbol): Remove bitsize
8279214082Sdim	argument from declaration.
8280214082Sdim	(_bfd_generic_reloc_link_order): Declare.
8281214082Sdim	(_bfd_count_link_order_relocs): Declare.
8282214082Sdim	* libbfd.h: Rebuilt.
8283214082Sdim	* aoutx.h (aout_link_add_symbols): Remove bitsize argument from
8284214082Sdim	call to _bfd_generic_link_add_one_symbol.
8285214082Sdim	(NAME(aout,final_link)): Account for link_order relocs when
8286214082Sdim	allocating space for relocations.  Handle them after handling all
8287214082Sdim	input BFDs.
8288214082Sdim	(aout_link_reloc_link_order): New function.
8289214082Sdim	* ecoff.c (ecoff_link_add_externals): Remove bitsize argument from
8290214082Sdim	call to _bfd_generic_link_add_one_symbol.
8291214082Sdim	(ecoff_bfd_final_link): Account for link_order relocs when
8292214082Sdim	allocating space for relocations.  Handle them in link_order loop.
8293214082Sdim	(ecoff_link_write_external): Set the storage class of a defined
8294214082Sdim	linker created symbol based on the section it is in.  Correct
8295214082Sdim	bfd_link_hash_weak case to use .sc rather than .st.
8296214082Sdim	(ecoff_reloc_link_order): New function.
8297214082Sdim	* coff-alpha.c (alpha_bfd_reloc_type_lookup): Handle
8298214082Sdim	BFD_RELOC_CTOR.
8299214082Sdim	* coff-mips.c (mips_bfd_reloc_type_lookup): Likewise.
8300214082Sdim
8301214082Sdim	* sunos.c (sunos_read_dynamic_info): Remove unused locals dynsym
8302214082Sdim	and buf.
8303214082Sdim
8304214082Sdim	* cisco-core.c (cisco_core_file_p): Only pass one argument to
8305214082Sdim	bfd_zmalloc.  Free a pointer, not a union.
8306214082Sdim	(cisco_bfd_is_local_label): Correct cast from asection to asymbol.
8307214082Sdim
8308214082SdimSun Mar 20 09:24:36 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8309214082Sdim
8310214082Sdim	* som.c (som_begin_writing): Fix thinko (off by one error).
8311214082Sdim
8312214082Sdim	* som.c (bfd_section_from_som_symbol): Only to do the value
8313214082Sdim	comparison for function symbols within executables.
8314214082Sdim
8315214082Sdim	* som.c (bfd_section_from_som_symbol): Renamed from
8316214082Sdim	som_section_from_subspace_index.  Pass in a native SOM symbol.
8317214082Sdim	For executables, iterate through the sections to find out
8318214082Sdim	which contains the symbol's address rather than using the
8319214082Sdim	symbol_info field.  (symbol_info has a different meaning for
8320214082Sdim	dynamicly linked executables.)
8321214082Sdim
8322214082Sdim	* trad-core.c (trad_unix_core_file_p): Don't pass abfd to
8323214082Sdim	bfd_zmalloc.
8324214082Sdim
8325214082Sdim	* som.c (som_begin_writing): Fix braino (one call to align
8326214082Sdim	space/subspace data was done unconditionally rather than
8327214082Sdim	just for executables.)
8328214082Sdim
8329214082Sdim	* som.c (som_begin_writing): Align text in all executables to
8330214082Sdim	make HPUX kernel happy.  Fixes strip/objcopy for shared
8331214634Sdim	executables.
8332214634Sdim
8333214634SdimSat Mar 19 07:06:59 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8334214634Sdim
8335214634Sdim	* som.c (som_begin_writing): Account for alignment needs of
8336214634Sdim	subspaces too when writing executables.  Never request a negative
8337214634Sdim	bss size.  Fixes some problems with demand paged executables,
8338214634Sdim	still having problems with pure executables and shared executables.
8339214634Sdim
8340214634SdimFri Mar 18 19:12:47 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
8341214634Sdim
8342214634Sdim	* trad-core.c (trad_unix_core_file_p): Call bfd_zmalloc not
8343214634Sdim	bfd_zalloc for rawptr, because later on we may call free, not
8344214634Sdim	bfd_release, on it.
8345214634Sdim
8346214634Sdim	* bfd.c (struct _bfd): Add cisco_core_struct to tdata union.
8347214634Sdim	* libbfd.c (bfd_read, bfd_seek): Add comments regarding errors.
8348214634Sdim	* cisco-core.c: New file.
8349214634Sdim	* Makefile.in: Change accordingly.
8350214634Sdim	* configure.in: Recognize cisco_core_vec.
8351214634Sdim	* config/m68k-aout.mt (SELECT_VECS): Add cisco_core_vec.
8352214634Sdim	* targets.c: Add cisco_core_vec.
8353214634Sdim	* bfd-in2.h: Rebuilt.
8354214634Sdim
8355214634SdimFri Mar 18 18:13:49 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8356214634Sdim
8357214634Sdim	* som.h (som_copyable_section_data_struct): New structure
8358214634Sdim	containing all the private section information which needs
8359214634Sdim	to be copied from input section to output section during
8360214634Sdim	objcopy or strip.
8361214634Sdim	(som_section_data_struct): Remove several fields now in
8362214082Sdim	som_copyable_section_data_struct.  Make the space and 
8363214082Sdim	subspace dictionaries be pointers (to save space when
8364214082Sdim	only reading objects).
8365214082Sdim
8366214082Sdim	* som.c (bfd_som_set_section_attributes): Now returns a boolean;
8367214082Sdim	some references changed.  Allocate a copyable data stucture if
8368214082Sdim	none exists.  Store info into the copyable data structure.
8369214082Sdim	(bfd_som_set_subsection_attributes): Likewise.
8370214082Sdim	(som_is_space, som_is_subspace, som_is_container): New functions.
8371214082Sdim	Use these instead of directly accessing private data.
8372214082Sdim	(som_prep_headers): Allocate space and subspace headers here.
8373214634Sdim	Fill in some fields in the space/subspace headers from the
8374214634Sdim	copyable data.
8375214634Sdim	(som_bfd_copy_private_section_data): Only copy the stuff
8376214634Sdim	that we really need to make objcopy and strip work.  Allocate
8377214634Sdim	the copy_data structure for the output bfd before copying.
8378214634Sdim
8379214082Sdim	* som.h (struct som_exec_data): New structure to hold exec
8380214082Sdim	info that must be preserved when running objcopy/strip.
8381214082Sdim	(struct somdata): Add new "exec_data" field and accessor
8382214082Sdim	macro.  Add some comments on how the various fields are used.
8383214082Sdim	(som_section_data_struct): Make is_space and is_subspace bitfields.
8384214082Sdim	Delete unused subspace_index.  All references now use the
8385214082Sdim	target_index field within the section structure itself.
8386214082Sdim
8387214082Sdim	* som.c (make_unique_section): Delete unused declaration.
8388214082Sdim	(som_bfd_copy_private_bfd_data): New function.
8389214082Sdim	(som_object_setup): Allocate space for and save exec information
8390214082Sdim	that needs to be copied during objcopy/strip.
8391214082Sdim	(som_mkobject): Do not allocate space for a file header here.
8392214082Sdim	It is not used when only reading SOM objects.
8393214082Sdim	(som_prep_headers): Allocate space for and attach a file header
8394214082Sdim	to the output bfd.  For executables, use the saved system_id
8395214082Sdim	value rather than trying to guess the right value.  Do not abort
8396214082Sdim	wwhen setting file_hdr->entry* for executables.
8397214082Sdim	(som_begin_writing): For executables, set the exec_entry and
8398214082Sdim	exec_flags fields.
8399214082Sdim	(som_copy_private_backend_section_data): Always return a value.
8400214082Sdim
8401214082Sdim	* libhppa.h (PA_PAGESIZE): Define.
8402214082Sdim
8403214082Sdim	* som.c (SOM_ALIGN): Define.
8404214082Sdim	(som_begin_writing): If writing an executable, initialize all
8405214082Sdim	fields in the exec header to zero.  Update fields in the exec
8406214082Sdim	header as sizes of loadable subspaces are computed.  Carefully
8407214082Sdim	preserve alignments when building executables.  Actually write the
8408214082Sdim	exec after all the fields are filled in.
8409214082Sdim
8410214082Sdim        * Better long-filename handling.  Reads SOM ABI compliant extended
8411214082Sdim	names, but doesn't quite write compliant extended names yet.
8412214082Sdim	* som.c (som_slurp_extended_name_table): Delete function.  The
8413214082Sdim	generic code will handle things correctly.
8414214082Sdim	(som_slurp_armap): Seek to the beginning of the next member.
8415214082Sdim	(normalize): New function.
8416214082Sdim	(som_bfd_ar_write_symbol_stuff): Take the size of the extended
8417214082Sdim	name table into account when computing the file offsets in the
8418214082Sdim	SOM dictionary.  Make sure to align to an even boundary.
8419214082Sdim	(som_write_armap): Initialize the checksum to zero.
8420214082Sdim	(ar_maxchars): Fix.  Opps.
8421214082Sdim
8422214082SdimFri Mar 18 20:35:24 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
8423214082Sdim
8424214082Sdim	* aoutx.h (reloc_type_lookup): Handle BFD_RELOC_CTOR on a 64-bit
8425214082Sdim	machine.  Handle BFD_RELOC_SPARC13 and BFD_RELOC_SPARC_BASE13.
8426214082Sdim
8427214082SdimThu Mar 17 18:26:46 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
8428214082Sdim
8429214082Sdim	* bfd-in.h (BFD_VERSION): Use @VERSION@.
8430214082Sdim	* Makefile.in (bfd.h): Replace it with contents of VERSION file.
8431214082Sdim	* bfd-in2.h: Regenerated.
8432214082Sdim
8433214082Sdim	* trad-core.c (trad_unix_bfd_is_local_label): Fixed typo where
8434214082Sdim	this was also named trad_unix_bfd_copy_private_bfd_data.
8435214082Sdim
8436214082SdimThu Mar 17 10:37:07 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
8437214082Sdim
8438214082Sdim	* aoutx.h, elfcode.h, coff-alpha.c, bout.c, ecoff.c, ecofflink.c,
8439214082Sdim	elf32-hppa.c, elf32-mips.c, linker.c, som.c, sunos.c: If malloc(0)
8440214082Sdim	returns NULL, it is not an error.  It's possible that some of
8441214082Sdim	these checks are not necessary (because the size can never be
8442214082Sdim	zero), but putting in the checks is the conservative thing to do
8443214082Sdim	in light of the fact that some of these malloc calls replaced
8444214082Sdim	unchecked alloca calls, in which a zero argument would work fine.
8445214082Sdim
8446214082SdimThu Mar 17 11:44:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8447214082Sdim
8448214082Sdim	* osf-core.c (osf_core_bfd_copy_private_bfd_data): Remove
8449214082Sdim	duplicate definition.
8450214082Sdim	(osf_core_bfd_is_local_label): Define.
8451214082Sdim
8452214082Sdim	* reloc.c (bfd_generic_get_relocated_section_contents): Don't fail
8453214082Sdim	if malloc (0) fails.  bfd_canonicalize_reloc returning 0 is not a
8454214082Sdim	failure indication, it merely means there are no relocs.
8455214082Sdim
8456214082Sdim	* elfcode.h (NAME(bfd_elf,write_object_contents)): Don't use space
8457214082Sdim	after NAME, since SunOS /bin/cc can't handle it.
8458214082Sdim
8459214082SdimWed Mar 16 16:43:33 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8460214082Sdim
8461214082Sdim	* netbsd386.c (N_SET_FLAGS): Don't nuke the machine id field.
8462214082Sdim	From sukes@glue.umd.edu (Tasuki Hirata).
8463214082Sdim
8464214082SdimWed Mar 16 07:55:54 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
8465214082Sdim
8466214082Sdim	* aoutf1.h (4 places): Use a simple #if on ARCH_SIZE, rather than
8467214082Sdim	all that convoluted stuff with NAME, CAT3, etc.  The convoluted
8468214082Sdim	stuff broke for SunOS4 /bin/cc (due to DEFUN elimination, I guess).
8469214082Sdim
8470214082SdimWed Mar 16 00:02:05 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8471214082Sdim
8472214082Sdim	* som.c (som_prep_for_fixups): Detect section symbols based
8473214082Sdim	on either the lack of private data or the symbol flags.  Do not
8474214082Sdim	munge section symbol names anymore -- they no longer confuse GDB.
8475214082Sdim	(som_begin_writing): Leave space for an exec header if writing
8476214082Sdim	an executable.
8477214082Sdim	(som_slurp_symbol_table): Recognize both forms of section symbol
8478214082Sdim	names "L$0\002" and "$<FOO>$".  Change the name of "L$0\002"
8479214082Sdim	section symbols to be the name of the section they represent.
8480214082Sdim	Debugging  symbols begin with "L$0\001", not just "L$".
8481214082Sdim
8482214082SdimTue Mar 15 22:58:28 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8483214082Sdim
8484214082Sdim	* bfd-in2.h, libbfd.h, libcoff.h: Rebuilt.
8485214082Sdim
8486214082Sdim	* bfd-in.h (JUMP_TABLE): Add new entries to the jump table
8487214082Sdim	for bfd_copy_private_section_data, bfd_copy_private_bfd_data,
8488214082Sdim	and bfd_is_local_label.
8489214082Sdim
8490214082Sdim	* targets.c: Add new entries to the bfd_target structure.
8491214082Sdim	
8492214082Sdim	* bfd.c (bfd_copy_private_bfd_data): New definition.
8493214082Sdim
8494214082Sdim	* section.c (bfd_copy_private_section_data): New definition.
8495214634Sdim
8496214634Sdim	* syms.c (bfd_is_local_label): New definition.
8497214634Sdim
8498214634Sdim	* libbfd-in.h (bfd_generic_is_local_label): Declare.
8499214634Sdim
8500214634Sdim	* libbfd.c (bfd_generic_is_local_label): New function.
8501214634Sdim
8502214634Sdim	* *-core.c: Provide default definitions for new functions in
8503214634Sdim	the target vector which all point to bfd_false.
8504214634Sdim
8505214082Sdim	* aout-target.h, coffcode.h, elf32-target.h elf64-target.h, ieee.c
8506214082Sdim	libaout.h, libecoff.h, nlm-target.h, oasys.c, srec.c, tekhex.c
8507214082Sdim	Default new vectors for copying private backend data to bfd_true.
8508214082Sdim	Default new vector for determining if a symbol is a local label
8509214082Sdim	to bfd_generic_is_local_label.
8510214082Sdim
8511214082Sdim	* som.c (som_bfd_copy_private_section_data): New function.
8512214082Sdim	(som_bfd_is_local_label): New function.
8513214082Sdim	(som_bfd_copy_private_bfd_data): For now default to bfd_true.
8514214082Sdim
8515214082Sdim	* elf32-hppa.c (hppa_elf_is_local_label): New function.
8516214082Sdim
8517214082SdimTue Mar 15 23:55:47 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8518214082Sdim
8519214082Sdim	* cf-m68klynx.c (CALC_ADDEND): Use _bfd_m68klynx_howto_table.
8520214082Sdim
8521214082SdimTue Mar 15 04:41:13 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
8522214082Sdim
8523214082Sdim	* Most files:
8524214082Sdim	Replace DEFUN and DEFUN_VOID with K&R-style function definition.
8525214082Sdim	Indent some of them to GNU standards.
8526214082Sdim
8527214082Sdim	* aout32.c, archures.c, core.c, cpu-h8300.c, cpu-i960.c,
8528214082Sdim	cpu-m68k.c, cpu-m88k.c, cpu-mips.c, cpu-vax.c, ctor.c, demo64.c,
8529214082Sdim	elf32-hppa.h, gen-aout.c, host-aout.c, init.c, libhppa.h,
8530214082Sdim	libieee.h, liboasys.h, newsos3.c, som.h, stab-syms.c, sunos.c:
8531214082Sdim	Update copyright years.
8532214082Sdim
8533214082SdimMon Mar 14 11:41:23 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8534214082Sdim
8535214082Sdim	* som.c (som_prep_for_fixups): A relocation involving the section
8536214082Sdim	symbol for the *ABS* section is really a relocation involving
8537214082Sdim	no symbol.
8538214082Sdim	(som_slurp_symbol_table): Do not set BSF_GLOBAL or BSF_EXPORT for
8539214082Sdim	undefined symbols.  Correctly distinguish between debugger symbols
8540214082Sdim	and section symbols.
8541214082Sdim
8542214082Sdim	* som.c (setup_sections): Set SEC_DEBUGGING and the section attributes
8543214082Sdim	for spaces and subspaces.
8544214082Sdim
8545214082Sdim	* som.c (som_bfd_count_ar_symbols): Fix typo.
8546214082Sdim
8547214082Sdim	* som.c (som_object_setup): Set EXEC_P, D_PAGED, WP_TEXT, and
8548214082Sdim	HAS_RELOC based on the object's magic number.
8549214082Sdim	(make_unique_section): Delete function.  BFD and its users are
8550214082Sdim	prepared to handle multiple sections with the same name.
8551214082Sdim	(setup_sections): Allocate space on the BFD's obstack to hold
8552214082Sdim	section names.  Use bfd_make_setion_anyway rather than the
8553214082Sdim	obsolete make_unique_section.
8554214082Sdim	(som_prep_headers): Choose the correct SOM magic number based
8555214082Sdim	on the BFD's flags.
8556214082Sdim	(som_bfd_fill_in_ar_symbols): Return false, not NULL on error.
8557214082Sdim
8558214082SdimSat Mar 12 09:46:09 1994  Ian Lance Taylor  (ian@cygnus.com)
8559214082Sdim
8560214082Sdim	* elf32-ppc.c: Renamed from elf32-powerpc.c.
8561214082Sdim	* nlm32-ppc.c: Renamed from nlm32-powerpc.c.
8562214082Sdim	* Makefile.in, configure.in: Corresponding changes.
8563214082Sdim
8564214082SdimFri Mar 11 22:27:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8565214082Sdim
8566214082Sdim	* elf32-powerpc.c: Extensive changes to update to preliminary ABI.
8567214082Sdim
8568214082SdimFri Mar 11 00:34:59 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
8569214082Sdim
8570214082Sdim	* sunos.c (sunos_read_dynamic_info):  Assume that dynamic info
8571214082Sdim	is always located at the start of the data section to allow
8572214082Sdim	recovery of the dynamic info from a stripped executable.
8573214082Sdim	* ecoff.c (ecoff_styp_to_sec_flags):  Handle STYP_PDATA, STYP_XDATA
8574214082Sdim	and STYP_COMMENT.
8575214082Sdim
8576214082SdimWed Mar  9 17:17:53 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
8577214082Sdim
8578214082Sdim	* libbfd-in.h: Remove alloca cruft.  It was missing some necessary
8579214082Sdim	cruft (like the #pragma alloca for AIX).
8580214082Sdim	In addition to that problem, the C alloca calls xmalloc, which
8581214082Sdim	means checking for being out of memory can't work right.  The
8582214082Sdim	following changes remove all uses of alloca from BFD.
8583214082Sdim	* hosts/solaris2.h: Remove alloca cruft.
8584214082Sdim	* som.c: Replace alloca with a fixed size auto array.
8585214082Sdim	* aoutx.h, elfcode.h, nlmcode.h, bout.c, coff-alpha.c, ecoff.c,
8586214082Sdim	ecofflink.c, elf32-hppa.c, elf32-mips.c, linker.c, reloc.c, som.c,
8587214082Sdim	sunos.c: Replace alloca with malloc and appropriate error checking and
8588214082Sdim	freeing.
8589214082Sdim	* linker.c: Replace alloca with obstack_alloc.
8590214082Sdim	* libbfd.h: Rebuilt.
8591214082Sdim
8592214082SdimTue Mar  8 12:10:38 1994  Ian Lance Taylor  (ian@cygnus.com)
8593214082Sdim
8594214082Sdim	* coff-mips.c (mips_relocate_section): Handle MIPS_R_LITERAL like
8595214082Sdim	MIPS_R_GPREL.
8596214082Sdim
8597214082SdimSat Mar  5 14:08:54 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
8598214082Sdim
8599214082Sdim	* elf32-hppa.h, elfcode.h:  Replace uses of Elf*_Half, Elf*_Word,
8600214082Sdim	Elf*_Off typedefs by their expansion, the typedefs have been
8601214082Sdim	removed from include/elf/internal.h.
8602214082Sdim	* elfcode.h (bfd_section_from_shdr):  Handle SHT_DYNAMIC section like
8603214082Sdim	SHT_PROGBITS section.
8604214082Sdim
8605214082SdimThu Mar  3 20:03:39 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8606214082Sdim
8607214082Sdim	* som.h (_PA_RISC_ID): Treat HOST_HPPAOSF just like HOST_HPPABSD.
8608214082Sdim
8609214082SdimWed Mar  2 13:28:06 1994  Jim Kingdon  (kingdon@deneb.cygnus.com)
8610214082Sdim
8611214082Sdim	* configure.host: Recognize i[34]86-sequent-*.
8612214082Sdim
8613214082Sdim	* trad-core.c (trad_unix_core_file_p): A non-zero, not zero,
8614214082Sdim	return from bfd_seek indicates an error.
8615214082Sdim	New macro TRAD_CORE_DSIZE_INCLUDES_TSIZE to replace
8616214082Sdim	TRAD_CORE_STACK_OFFSET.
8617214082Sdim	* hosts/symmetry.h: Define TRAD_CORE_DSIZE_INCLUDES_TSIZE and
8618214082Sdim	TRAD_CORE_USER_OFFSET but not HOST_STACK_OFFSET.
8619214082Sdim
8620214634SdimWed Mar  2 11:57:03 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8621214634Sdim
8622214634Sdim	* som.[ch]: Do not include libhppa.h in som.c, instead include
8623214634Sdim	it in som.h.
8624214634Sdim
8625214634Sdim	* elf32-hppa.[ch]: Do not include libhppa.h in elf32-hppa.c, instead
8626214634Sdim	include it in elf32-hppa.h.
8627214634Sdim
8628214634Sdim	* som.c (log2): Return -1 on error rather than aborting.
8629214634Sdim	(setup_sections): Bubble up an error from log2.
8630214634Sdim
8631214634Sdim	* Changes to make HP C compiler happy in both traditional
8632214634Sdim	and ANSI mode.
8633214082Sdim	* som.c (hppa_som_gen_reloc_type): Use correct enum type for
8634214082Sdim	field parameter.
8635214082Sdim	(bfd_som_set_section_attributes): Use unsigned int rather than
8636214082Sdim	unsigned char to avoid GNU-C extensions.
8637214082Sdim	(bfd_som_attach_aux_hdr): Return a boolean to indicate success
8638214082Sdim	or failure rather than aborting on failure.
8639214082Sdim
8640214082Sdim	* som.h (bfd_som_set_section_attributes): Fix prototype to match
8641214082Sdim	som.c changes.
8642214082Sdim	(bfd_som_attach_aux_hdr): Add prototype.
8643214082Sdim	(hppa_som-gen_reloc_type): Likewise.
8644214082Sdim
8645214082Sdim	* elf32-hppa.c: Add a couple casts to make HP compiler happy.
8646214082Sdim	(hppa_look_for_stubs_in_section): Do not return false on failure
8647214082Sdim	until rest of code is ready to handle it.  Abort for now.
8648214082Sdim
8649214082SdimTue Mar  1 18:33:59 1994  Jim Kingdon  (kingdon@deneb.cygnus.com)
8650214082Sdim
8651214082Sdim	* bfd-in2.h: Rebuilt.
8652214082Sdim
8653214082SdimTue Mar  1 13:06:53 1994  Kung Hsu  (kung@mexican.cygnus.com)
8654214634Sdim
8655214082Sdim	* i386os9k.c: use new functions bfd_set_error and bfd_get_error.
8656214082Sdim	* Makefile.in: delete an extra blank.
8657214082Sdim	* configure.in : Add i396os9k_vec.
8658214082Sdim
8659214082SdimMon Feb 28 15:41:01 1994  Kung Hsu  (kung@mexican.cygnus.com)
8660214082Sdim
8661214082Sdim	* config.bfd : Add i386-os9k.
8662214082Sdim	* config/i386-os9k.mt : Newly add os9k target makefile.
8663214082Sdim
8664214082Sdim	* i386os9k.c : new file to handle os9k format bfd.
8665214082Sdim	* Makefile.in : Handle new file i386os9k.c
8666214082Sdim	* targets.c : Add bfd_target_os9k_flavour and i386os9k_vec.
8667214082Sdim	* cache.c : Initialize cache_sentinel to 0.
8668214634Sdim
8669214082SdimSun Feb 27 16:30:55 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8670214082Sdim
8671214082Sdim	* elf32-hppa.c (mismatches, retval_mismatches): Fix mismatch
8672214082Sdim	action in case where caller specified no argument relocation.
8673214082Sdim	(hppa_elf_build_linker_stub): Try again to get the sym_ptr_ptr
8674214082Sdim	right in the original relocation and the stub's relocation.
8675214082Sdim
8676214082Sdim        * elf32-hppa.h (hppa_look_for_stub_in_section): Fix typo.  Delete
8677214082Sdim	unused symbols argument.
8678214082Sdim
8679214082Sdim	* elf32-hppa.c (hppa_elf_stub_reloc): Accept asymbol ** rather
8680214082Sdim	than asymbol * for original target symbol.  All callers changed.
8681214082Sdim	Set reloc->sym_ptr_ptr appropriately.
8682214082Sdim	(hppa_elf_build_linker_stub): Set reloc->sym_ptr_ptr correctly.
8683214082Sdim	(hppa_elf_look_for_stubs_in_section): No longer need symbols
8684214082Sdim	argument.  Use the output symbols when canonicalizing the relocs,
8685214082Sdim	creating them if necessary.
8686214082Sdim
8687214082Sdim	* linker.c (_bfd_generic_link_output_symbols): Do not
8688214082Sdim	rebuild/clobber the output symbols if they already exist.
8689214082Sdim
8690214082SdimSun Feb 27 15:22:36 1994  Stan Shebs  (shebs@andros.cygnus.com)
8691214082Sdim
8692214082Sdim	* targets.c (BFD_SEND, BFD_SEND_FMT): Add debugging versions that
8693214082Sdim	check all the pointer dereferences.  Enabled via DEBUG_BFD_SEND.
8694214082Sdim	* bfd-in2.h: Rebuilt.
8695214082Sdim
8696214082Sdim	* srec.c (hex_value): Always set to a size of 256 bytes.
8697214082Sdim	(srec_init): Cosmetic changes.
8698214082Sdim
8699214082SdimSun Feb 27 11:18:47 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8700214082Sdim
8701214082Sdim	* elf32-hppa.c: Second half of major cleanup.  More comments,
8702214082Sdim	PARAMize and staticize rest of functions.  Delete unused
8703214082Sdim	functions.  Delete unused/unnecessary arguments to some functions.
8704214082Sdim	Group static vars together.  Abort for bad errors until we have
8705214082Sdim	error code propogation working.  Work on spacing and indention.
8706214082Sdim	Add FIXMEs for unresolved problems.  Use enums rather than
8707214082Sdim	#defines for lots of things.  Merge two functions which build
8708214082Sdim	linker stubs into a single function (so they can easily share a
8709214082Sdim	ton of common code).
8710214082Sdim
8711214082SdimSat Feb 26 10:00:45 1994  Ian Lance Taylor  (ian@cygnus.com)
8712214082Sdim
8713214082Sdim	* reloc.c (_bfd_relocate_contents): Adjust handling of overflow to
8714214082Sdim	avoid depending upon right shifts of signed numbers, and to
8715214082Sdim	correct handling of src_mask with lower bits zero.
8716214082Sdim
8717214082Sdim	* aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.
8718214082Sdim	* ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
8719214082Sdim	* elf32-i386.c: Likewise.
8720214082Sdim	* elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
8721214082Sdim	#if 0 code.
8722214082Sdim	(elf_write_phdrs): Make i unsigned.
8723214082Sdim	(map_program_segments): Make i and n_left unsigned.
8724214082Sdim	(assign_file_positions_except_relocs): Make i unsigned.
8725214082Sdim	(write_shdrs_and_ehdr): Make count unsigned.
8726214082Sdim	(assign_file_positions_for_relocs): Make i unsigned.
8727214082Sdim	(NAME(bfd,elf_write_object_contents)): Make count unsigned.
8728214082Sdim	(section_from_elf_index): Make index argument unsigned.
8729214082Sdim
8730214082SdimFri Feb 25 21:34:58 1994  Ian Lance Taylor  (ian@cygnus.com)
8731214082Sdim
8732214082Sdim	* elfcode.h: Don't include assert.h.
8733214082Sdim	(swap_out_syms): Use BFD_ASSERT rather than assert.
8734214082Sdim
8735214082Sdim	* linker.c (_bfd_generic_link_write_global_symbol): Add missing
8736214082Sdim	break in switch.
8737214082Sdim
8738214082Sdim	* hosts/i386v4.h (qsort, strtol): Remove incorrect and useless
8739214082Sdim	declarations.
8740214082Sdim
8741214082SdimFri Feb 25 16:35:57 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8742214082Sdim
8743214082Sdim	* libhppa.h (hppa_rebuild_insn): Moved here from elf32-hppa.c.
8744214082Sdim
8745214082Sdim	* elf32-hppa.h (elf_hppa_tc_symbol): Add new arguments.
8746214082Sdim	(elf_hppa_tc_make_sections): Likewise.
8747214082Sdim	(elf_hppa_final_processing): Add extern decl.
8748214082Sdim
8749214082Sdim	* elf32-hppa.c: First half of major cleanup.  Add/cleanup lots of
8750214082Sdim	comments.  PARAMize some static functions.  Delete unused functions.
8751214082Sdim	Delete unused/unnecessary arguments to many functions.  Group
8752214082Sdim	static vars together.  Collapse common case statements together
8753214082Sdim	in many places.  Use default case when possible instead of listing
8754214082Sdim	each case separately.  Abort for bad errors until we get error
8755214082Sdim	code propogation working.  Work on spacing and indention problems.
8756214082Sdim	Add FIXMEs for some unresolved problems.  Delete hopelessly broken 
8757214082Sdim	COMPLEX relocation support (it's never used anyway).
8758214082Sdim	(hppa_elf_rebuild_insn): Delete.  Moved into libhppa.h.
8759214082Sdim	(elf_hppa_tc_symbol): Accept and use new arguments (symext chains).
8760214082Sdim	(elf_hppa_tc_make_sections): Likewise.
8761214082Sdim
8762214082Sdim	* format.c (bfd_check_format_matches): Initialize matching_vector
8763214082Sdim	to keep gcc -Wall quiet.
8764214082Sdim
8765214082Sdim	* elfcode.h (elf_slurp_reloca_table): Fix typo.
8766214082Sdim
8767214082Sdim	* som.c (som_get_symtab_upper_bound): Use "sizeof (asymbol *)"
8768214082Sdim	not "sizeof (som_symbol_type *)".
8769214082Sdim
8770214082Sdim	* elfcode.h (elf_get_symtab_upper_bound): Use "sizeof (asymbol *)"
8771214082Sdim	not "sizeof (asymbol").  Opps.
8772214082Sdim
8773214082SdimFri Feb 25 13:19:04 1994  Ted Lemon  (mellon@pepper.ncd.com)
8774214082Sdim
8775214082Sdim	* bfd.c (bfd_get_gp_size): Can't return gp value on an archive.
8776214082Sdim	(bfd_set_gp_size):  Can't set gp value on an archive.
8777214082Sdim
8778214082SdimFri Feb 25 12:57:00 1994  Steve Chamberlain  (sac@jonny.cygnus.com)
8779214082Sdim
8780214082Sdim	* srec.c (pass_over): Don't skip too many characters when
8781214082Sdim	end of line seen.
8782214082Sdim
8783214082SdimFri Feb 25 11:41:57 1994  Ian Lance Taylor  (ian@cygnus.com)
8784214082Sdim
8785214082Sdim	* ecoff.c (ecoff_sizeof_headers): Align result to 16 byte
8786214082Sdim	boundary.
8787214082Sdim
8788214082SdimThu Feb 24 07:13:22 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8789214082Sdim
8790214082Sdim	* som.c (som_bfd_derive_misc_symbol_info): Derive symbol_info
8791214082Sdim	field for absolute symbols in the same manner as undefined
8792214082Sdim	and common symbols.
8793214082Sdim
8794214082SdimThu Feb 24 04:29:19 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
8795214634Sdim
8796214634Sdim	* elfcode.h (elf_core_file_p):  Check for core file e_machine match
8797214634Sdim	like in elf_object_p.
8798214634Sdim
8799214634SdimWed Feb 23 18:28:37 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8800214634Sdim
8801214082Sdim	* elfcode.h (alloca): Delete declaration.
8802214082Sdim
8803214082Sdim	* som.c (som_prep_headers): Use CPU_PA_RISC1_0 for magic
8804214082Sdim	number rather than HP9000S800_ID.  Note som.c is careful
8805214634Sdim	to make sure CPU_PA_RISC1_0 is always defined.
8806214082Sdim
8807214082SdimMon Feb 21 10:12:02 1994  Stan Shebs  (shebs@andros.cygnus.com)
8808214082Sdim
8809214082Sdim	* Makefile.in (targets.o, archures.o): Use ALL_CFLAGS to supply
8810214082Sdim	flags to explicit compile actions.
8811214082Sdim
8812214082SdimMon Feb 21 09:50:06 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)
8813214082Sdim
8814214082Sdim	* ecofflink.c (ecoff_write_symhdr): Set symhdr->magic here.
8815214082Sdim	* ecoff.c (ecoff_write_object_contents): Make sure .bss section
8816214082Sdim	ends on a page boundary if there is no symbol table.
8817214082Sdim	(ecoff_bfd_final_link): Don't set symhdr->magic here.
8818214082Sdim
8819214082Sdim	* hosts/hp300.h: Include <stdlib.h>; don't declare free.
8820214634Sdim
8821214082Sdim	* som.c (som_bfd_count_ar_symbols): Use a pointer and alloca
8822214082Sdim	rather than an array of variable size.
8823214082Sdim	(som_bfd_fill_in_ar_symbols): Likewise.
8824214082Sdim	(som_bfd_ar_write_symbol_stuff): Likewise.
8825214082Sdim
8826214082Sdim	* coff-alpha.c (alpha_relocate_section): Rewrite mask and shift
8827214082Sdim	operation to avoid OSF 1.3 cc bug.
8828214082Sdim	* ecoff.c (ecoff_write_object_contents): Make text_size, data_size
8829214082Sdim	and bss_size bfd_size_type instead of unsigned long.  Make
8830214082Sdim	text_start and data_start bfd_vma instead of unsigned long.
8831214082Sdim	* ecofflink.c (ecoff_add_string): Remove incorrect cast of return
8832214082Sdim	value.
8833214082Sdim
8834214082SdimSun Feb 20 16:06:54 1994  Ian Lance Taylor  (ian@lisa.cygnus.com)
8835214082Sdim
8836214082Sdim	* linker.c (_bfd_generic_link_add_archive_symbols): Consider
8837214082Sdim	symbols in the order they appear in the archive map.
8838214082Sdim
8839214082SdimSat Feb 19 03:17:32 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
8840214082Sdim
8841214082Sdim	* coff-alpha.c (reloc_nil):  Add forward declaration, add missing
8842214082Sdim	error_message argument.
8843214082Sdim	* coff-sparc.c (bfd_coff_generic_reloc):  Add forward declaration,
8844214082Sdim	add missing error_message argument.
8845214082Sdim	* mipsbsd.c (mips_fix_hi16_s):  Add forward declaration, add missing
8846214634Sdim	error_message argument.
8847214082Sdim
8848214082SdimFri Feb 18 11:41:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8849214082Sdim
8850214082Sdim	Support for PowerPC NetWare.
8851214082Sdim	* nlm32-powerpc.c: New file.
8852214634Sdim	* config.bfd (powerpc-*-netware*): New target; use ppc-nlm.
8853214082Sdim	* config/ppc-nlm.mt: New file.
8854214082Sdim	* configure.in (nlm32_powerpc_vec): New target vector; use
8855214082Sdim	nlm32-powerpc.o, nlm32.o, nlm.o.
8856214082Sdim	* targets.c (nlm32_powerpc_vec): Declare.
8857214082Sdim	* Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o.
8858214082Sdim	(CFILES): Add nlm32-powerpc.c.
8859214634Sdim
8860214634Sdim	Initial support for PowerPC ELF.  Done without an ABI, and
8861214634Sdim	probably to be changed when I get an ABI.
8862214634Sdim	* config.bfd (powerpc-*-sysv4*): New target; use ppc-elf.
8863214082Sdim	* config/ppc-elf.mt: New file.
8864214082Sdim	* configure.in (bfd_elf32_powerpc_vec): New target vector; use
8865214082Sdim	elf32-powerpc.o, elf32.o, elf.o.
8866214082Sdim	* elf32-powerpc.c: New file.
8867214082Sdim	* elfcode.h (prep_headers): Add bfd_arch_powerpc case.
8868214082Sdim	(elf_set_arch_mach): Likewise.
8869214082Sdim	* targets.c (bfd_elf32_powerpc_vec): Declare.
8870214634Sdim	* Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o.
8871214082Sdim	(CFILES): Add elf32-powerpc.c.
8872214082Sdim	Rebuilt dependencies.
8873214082Sdim
8874214082SdimThu Feb 17 15:29:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
8875214082Sdim
8876214082Sdim	* coffgen.c (coff_write_linenumbers): Always return a value.
8877214082Sdim
8878214082Sdim	* elfcode.h (elf_slurp_symbol_table): Handle zero symbols
8879214634Sdim	reasonably.  Allocate x_symp using alloca.
8880214634Sdim
8881214634Sdim	* elfcode.h (map_program_segments): ELF program header entries
8882214634Sdim	must be sorted by load address.  This used to generate the entries
8883214082Sdim	in reverse order.
8884214082Sdim
8885214082Sdim	* section.c (SEC_IN_MEMORY): Define.
8886214082Sdim	(asection): Rename unused field otheruserdata to contents, and
8887214082Sdim	make it char *.
8888214082Sdim	(bfd_make_section_anyway): Initialize contents field to NULL.
8889214082Sdim	(bfd_get_section_contents): If SEC_IN_MEMORY is set, get section
8890214082Sdim	contents from contents field rather than from file.
8891214082Sdim	* bfd-in2.h: Rebuilt.
8892214082Sdim
8893214082SdimThu Feb 17 08:30:53 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
8894214082Sdim
8895214082Sdim	* bfd.c (bfd_get_error, bfd_set_error): New functions.
8896214082Sdim	(bfd_error): Make static.
8897214082Sdim	(bfd_error_type): Renamed from bfd_ec.  Prepend "bfd_error_" to
8898214082Sdim	all values.
8899214082Sdim	* bfd-in2.h: Regenerated.
8900214082Sdim	* aix386-core.c, aout-adobe.c, aout-encap.c, aout-target.h, 
8901214082Sdim	aoutf1.h, aoutx.h, archive.c, archures.c, 
8902214082Sdim	bfd.c, bout.c, cache.c, coff-alpha.c, coff-mips.c, 
8903214082Sdim	coff-rs6000.c, coffcode.h, coffgen.c, core.c, ctor.c, 
8904214082Sdim	ecoff.c, ecofflink.c, elf.c, elf32-hppa.c, elf32-mips.c, 
8905214082Sdim	elfcode.h, format.c, hash.c, hp300hpux.c, hppabsd-core.c, 
8906214082Sdim	i386lynx.c, ieee.c, libbfd.c, libelf.h, linker.c, 
8907214082Sdim	lynx-core.c, nlm.c, nlm32-alpha.c, nlm32-i386.c, 
8908214082Sdim	nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c, 
8909214082Sdim	ptrace-core.c, reloc16.c, rs6000-core.c, section.c, som.c, 
8910214082Sdim	srec.c, sunos.c, syms.c, targets.c, tekhex.c, 
8911214082Sdim	trad-core.c: Change callers.
8912214082Sdim
8913214082SdimTue Feb 15 22:27:27 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8914214082Sdim
8915214634Sdim	* som.c: Remove FIXMEs for things which have been dealt with.
8916214634Sdim
8917214634SdimTue Feb 15 19:39:24 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
8918214634Sdim
8919214082Sdim	* section.c (bfd_get_section_contents): Since this function reads
8920214082Sdim	unrelocated contents, the section's raw size is always the one to
8921214634Sdim	use for bounds checking.
8922214634Sdim
8923214634Sdim	* linker.c (default_indirect_link_order): In assertion, compare
8924214634Sdim	link_order size field against cooked size, not raw size, of input
8925214634Sdim	section.
8926214634Sdim
8927214634Sdim	* bout.c (b_out_get_reloc_upper_bound): For BSS section, just
8928214634Sdim	return 0.
8929214634Sdim	(aligncode): When shrinking, the addend should be set to the
8930214634Sdim	current offset in the section plus the number of bytes of padding
8931214634Sdim	that will actually be retained.
8932214634Sdim	(b_out_relax_section): If a section contains no relocations, don't
8933214082Sdim	bother processing them.
8934214634Sdim	(b_out_get_relocated_section_contents): Set reloc_done.  Assert
8935214082Sdim	that bfd_get_section_contents returns true.  Check that relocs are
8936214082Sdim	properly ordered.
8937214082Sdim	(b_out_get_relocated_section_contents, case ALIGNDONE): Assert
8938214082Sdim	that reloc->addend falls between the current source offset and the
8939214082Sdim	raw size of the input section.
8940214082Sdim
8941214082Sdim	* config.bfd: Support i960 vxworks versions > 5.0 with coff, not
8942214082Sdim	bout.  Default with no version number is still bout.  Support
8943214082Sdim	explicit i960-coff target too.
8944214082Sdim
8945214082Sdim	* bout.c: Changed some indentation, deleted trailing whitespace,
8946214082Sdim	fixed some comments, removed some "#if 1" lines.
8947214082Sdim	(output_addr): New macro.
8948214082Sdim	(calljx_callback, callj_callback, get_value, abs32code, aligncode,
8949214082Sdim	b_out_get_relocated_section_contents): Use it for readability.
8950214082Sdim
8951214082SdimTue Feb 15 09:00:16 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8952214082Sdim
8953214082Sdim	* som.c (som_bfd_prep_for_ar_write): Iterate through the SOM
8954214082Sdim	symbols, not the BFD symbols.
8955214082Sdim	(som_bfd_ar_write_symbol_stuff): Likewise.
8956214082Sdim
8957214082SdimMon Feb 14 22:55:20 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8958214082Sdim
8959214082Sdim	* som.c (som_slurp_symbol_table): Do not die if a BFD doesn't
8960214082Sdim	have any symbols.
8961214082Sdim
8962214082Sdim	* Finish basic read-write support for SOM archive libraries.  Bugs
8963214082Sdim	surely remain as this hasn't been tested all that much.
8964214082Sdim	* som.c (SOM_LST_HASH_SIZE, SOM_LST_MODULE_LIMIT): Define.
8965214082Sdim	(struct som_misc_symbol_info): New structure to hold info necessary
8966214082Sdim	to build both normal and library symbol tables.
8967214082Sdim	(som_derive_misc_symbol_info): New function to derive info necessary
8968214082Sdim	to build both normal and library symbol tables.
8969214082Sdim	(som_build_and_write_symbol_table): Use new function to derive misc
8970214082Sdim	symbol information.
8971214082Sdim	(som_slurp_symbol_table): Update backend private data for symbols
8972214082Sdim	appropriately.
8973214082Sdim	(som_bfd_prep_for_ar_write): New function.
8974214082Sdim	(som_bfd_ar_symbol_hash): New function.
8975214082Sdim	(som_bfd_ar_write_symbol_stuff): New function.
8976214082Sdim	(som_write_armap): Flesh out.
8977214082Sdim	(som_vec): Fix ar padding character.
8978214082Sdim
8979214082Sdim	* som.c: Consistently use memset rather than bzero.
8980214082Sdim
8981214082SdimMon Feb 14 17:02:28 1994  Stu Grossman  (grossman at cygnus.com)
8982214082Sdim
8983214082Sdim	* coff-rs6000.c:  Add Lynx core file support, use HOST_AIX, where
8984214082Sdim	appropriate.
8985214082Sdim	* rs6000-core.c:  Use HOST_AIX instead of COREFILES_PLEASE.
8986214082Sdim	* config/rs6000.mh:  Remove defs of ARCHIVES_PLEASE and
8987214082Sdim	COREFILES_PLEASE.
8988214082Sdim	* config/rs6000lynx.mh:  Turn on Lynx core file support.
8989214082Sdim	* hosts/rs6000.h:  #define HOST_AIX.
8990214082Sdim	* hosts/rs6000lynx.h:  Create this to enable Lynx host support.
8991214082Sdim
8992214082SdimSun Feb 13 14:30:00 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
8993214082Sdim
8994214082Sdim	* som.h (som_symbol_data): Safely access backend private data
8995214082Sdim	for BFD symbols.  All callers changed.
8996214082Sdim
8997214082Sdim	* Read-only SOM archive support.
8998214082Sdim	* som.c (som_bfd_count_ar_symbols): New helper function.
8999214082Sdim	(som_bfd_fill_in_ar_symbols): New helper function.
9000214082Sdim	(som_slurp_armap): New function to read a SOM LST.
9001214082Sdim
9002214082Sdim	* som.h: Include <lst.h> and <ar.h>.
9003214082Sdim
9004214082SdimSat Feb 12 22:34:14 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
9005214082Sdim
9006214082Sdim	* elfcode.h (elf_map_symbols): Fix typo.
9007214082Sdim	(write_object_contents): Check return values from prep_headers and
9008214082Sdim	elf_compute_section_file_positions.
9009214082Sdim	(set_section_contents): Likewise.
9010214082Sdim
9011214082SdimFri Feb 11 16:56:50 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9012214082Sdim
9013214082Sdim	* archive.c (normalize) [VMS]: Call malloc, not bfd_xmalloc.
9014214082Sdim	(bfd_construct_extended_name_table): Check result of normalize.
9015214082Sdim
9016214082SdimTue Feb  8 08:57:31 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9017214082Sdim
9018214082Sdim	Make all callers of malloc or realloc (including via obstacks)
9019214082Sdim	check the result for NULL.  Most set bfd_error to no_memory and
9020214082Sdim	return in that case; a few are harder to fix, and are marked
9021214082Sdim	with "FIXME <return type>".
9022214082Sdim
9023214082Sdim	* elf32-hppa.c (hppa_elf_build_arg_reloc_stub
9024214082Sdim	hppa_elf_build_long_branch_stub):  Check bfd_make_empty_symbol return.
9025214082Sdim	* linker.c (_bfd_generic_link_output_symbols
9026214082Sdim	_bfd_generic_link_write_global_symbol): Ditto
9027214082Sdim	* section.c (bfd_make_section_anyway): Ditto.
9028214082Sdim
9029214082Sdim	* tekhex.c (find_chunk tekhex_mkobject): Check bfd_alloc.
9030214082Sdim	(first_phase): Ditto.  FIXME void
9031214082Sdim	(tekhex_make_empty_symbol): Check bfd_zalloc.
9032214082Sdim
9033214082Sdim	* sunos.c (sunos_read_dynamic_info): Check bfd_zalloc.
9034214082Sdim	(MY(read_dynamic_symbols) MY(read_dynamic_relocs)): Check bfd_alloc.
9035214082Sdim
9036214082Sdim	* stringhash.c (_bfd_stringtab_hash_newfunc): Check bfd_hash_allocate.
9037214082Sdim
9038214082Sdim	* srec.c: Indent.
9039214082Sdim	(fillup_symbols): Check bfd_alloc.  FIXME void
9040214082Sdim	(srec_mkobject srec_get_section_contents
9041214082Sdim	srec_set_section_contents): Check bfd_alloc. 
9042214082Sdim	(srec_make_empty_symbol): Check bfd_zalloc.
9043214082Sdim
9044214082Sdim	* som.c (hppa_som_gen_reloc_type): Check bfd_alloc_by_size_t.
9045214082Sdim	(make_unique_section): Check bfd_alloc.
9046214082Sdim	(som_new_section_hook): Check bfd_zalloc.
9047214082Sdim	(bfd_som_attach_aux_hdr): Ditto.  FIXME void
9048214082Sdim
9049214082Sdim	* rs6000-core.c (rs6000coff_core_p): Check bfd_zalloc.
9050214082Sdim
9051214082Sdim	* osf-core.c (osf_core_make_empty_symbol): Check bfd_zalloc.
9052214082Sdim	(osf_core_core_file_p): Check bfd_alloc.
9053214082Sdim
9054214082Sdim	* oasys.c (oasys_slurp_symbol_table oasys_archive_p
9055214082Sdim	oasys_mkobject oasys_object_p oasys_new_section_hook
9056214082Sdim	oasys_set_section_contents): Check bfd_alloc.
9057214082Sdim	(oasys_slurp_section_data): Check bfd_zalloc and bfd_alloc.
9058214082Sdim	(oasys_make_empty_symbol): Check bfd_zalloc.
9059214082Sdim
9060214082Sdim	* nlmcode.h (nlm_make_empty_symbol): Check bfd_zalloc.
9061214082Sdim	(nlm_slurp_symbol_table): Check bfd_zalloc and bfd_alloc.
9062214082Sdim
9063214082Sdim	* nlm32-sparc.c (nlm_sparc_read_import): Check bfd_alloc.
9064214082Sdim
9065214082Sdim	* nlm32-i386.c (nlm_i386_read_import): Check bfd_alloc.
9066214082Sdim
9067214082Sdim	* nlm32-alpha.c (nlm_alpha_read_import): Check bfd_alloc.
9068214082Sdim
9069214082Sdim	* linker.c (_bfd_link_hash_newfunc
9070214082Sdim	(generic_link_hash_newfunc
9071214082Sdim	(archive_hash_newfunc
9072214082Sdim	(_bfd_generic_link_add_one_symbol): Check bfd_hash_allocate.
9073214082Sdim	(_bfd_generic_final_link
9074214082Sdim	(_bfd_generic_link_output_symbols
9075214082Sdim	(default_indirect_link_order): Check bfd_alloc.
9076214082Sdim	(bfd_new_link_order): Check bfd_alloc_by_size_t.
9077214082Sdim
9078214082Sdim	* irix-core.c (irix_core_make_empty_symbol): Check bfd_zalloc.
9079214082Sdim
9080214082Sdim	* ieee.c: Indent.
9081214082Sdim	(read_id get_symbol get_section_entry ieee_archive_p ieee_object_p
9082214082Sdim	ieee_slurp_section_data ieee_new_section_hook): Check bfd_alloc.
9083214082Sdim	(do_one): Check bfd_alloc.  Return a boolean.
9084214082Sdim	(ieee_slurp_section_data): Check it.
9085214082Sdim	(init_for_output): Check bfd_alloc.  Return a boolean.
9086214082Sdim	(ieee_set_section_contents): Check it.
9087214082Sdim	(do_with_relocs):  Check bfd_alloc.  Return a boolean.
9088214082Sdim	(ieee_bfd_debug_info_accumulate): Ditto.  FIXME void.
9089214082Sdim	(ieee_mkobject): Check bfd_zalloc.
9090214082Sdim	(ieee_make_empty_symbol): Check bfd_zmalloc.
9091214082Sdim
9092214082Sdim	* hpux-core.c (hpux_core_make_empty_symbol): Check
9093214082Sdim	bfd_zalloc.
9094214082Sdim
9095214082Sdim	* hppabsd-core.c (hppabsd_core_make_empty_symbol): Check
9096214082Sdim	bfd_zalloc.
9097214082Sdim	(hppabsd_core_core_file_p): Check bfd_zalloc.
9098214082Sdim
9099214082Sdim	* hp300hpux.c (MY(slurp_symbol_table)): Check bfd_alloc.
9100214082Sdim
9101214082Sdim	* elfcode.h (elf_new_section_hook): Check bfd_alloc.
9102214082Sdim	(bfd_section_from_phdr): Ditto.
9103214082Sdim	(write_relocs): Ditto.  FIXME void
9104214082Sdim	(elf_map_symbols assign_section_numbers map_program_segments):
9105214082Sdim	Ditto.  Return a boolean. 
9106214082Sdim	(swap_out_syms): Ditto.  Check elf_map_symbols.
9107214082Sdim	(elf_slurp_symbol_table): Check bfd_zalloc.
9108214082Sdim	(elf_slurp_reloca_table): Check bfd_alloc.
9109214082Sdim	(elf_slurp_reloc_table): Ditto.
9110214082Sdim	(elf_compute_section_file_positions): Check assign_section_numbers.
9111214082Sdim	(assign_file_positions_except_relocs): Return a boolean.
9112214082Sdim	Check map_program_segments.
9113214082Sdim	(elf_compute_section_file_positions): Check it.
9114214082Sdim
9115214082Sdim	* elf32-mips.c (mips_elf_final_link): Check bfd_alloc.
9116214082Sdim
9117214082Sdim	* elf32-hppa.c (hppa_elf_stub_branch_reloc): Check bfd_zmalloc and
9118214082Sdim	realloc. 
9119214082Sdim	(hppa_elf_stub_reloc): Ditto.
9120214082Sdim	(hppa_elf_build_arg_reloc_stub): Check bfd_zalloc.
9121214082Sdim	(hppa_elf_build_long_branch_stub): Ditto.
9122214082Sdim	(elf32_hppa_backend_symbol_table_processing): Ditto.
9123214082Sdim
9124214082Sdim	* ecoff.c (ecoff_set_symbol_info): Check bfd_alloc.  Return a boolean.
9125214082Sdim	(ecoff_slurp_symbol_table): Check it.
9126214082Sdim	(ecoff_slurp_armap): Check bfd_alloc.
9127214082Sdim	(ecoff_write_armap): Check bfd_zalloc.
9128214082Sdim	(ecoff_link_hash_newfunc): Check bfd_hash_allocate and
9129214082Sdim	_bfd_link_hash_newfunc. 
9130214082Sdim	(ecoff_link_add_externals): Check bfd_alloc.
9131214082Sdim
9132214082Sdim	* ctor.c (bfd_constructor_entry): Check bfd_alloc.
9133214082Sdim
9134214082Sdim	* coffgen.c (coff_real_object_p): Check bfd_alloc.
9135214082Sdim	(coff_renumber_symbols): Check bfd_alloc_by_size_t.  Return a boolean.
9136214082Sdim	(coff_write_symbol): Check bfd_alloc.  FIXME int
9137214082Sdim	(coff_write_linenumbers): Check bfd_alloc.  Return a boolean.
9138214082Sdim	(coff_section_symbol): Check bfd_alloc_by_size_t.
9139214082Sdim	(coff_get_normalized_symtab): Check bfd_alloc.
9140214082Sdim	(coff_bfd_make_debug_symbol): Check bfd_zalloc.
9141214082Sdim	* libcoff-in.h: Change decls of coff_renumber_symbols,
9142214082Sdim	coff_write_linenumbers.
9143214082Sdim	* libcoff.h: Rebuilt.
9144214082Sdim	* coffcode.h (coff_write_object_contents): Check
9145214082Sdim	coff_renumber_symbols, coff_write_linenumbers.
9146214082Sdim
9147214082Sdim	* coffcode.h: Indent.
9148214082Sdim	(coff_add_missing_symbols): Check bfd_alloc_by_size_t.  Return a
9149214082Sdim	boolean. 
9150214082Sdim	(coff_write_object_contents): Check it.
9151214082Sdim
9152214082Sdim	* coff-alpha.c (alpha_relocate_section): Check bfd_alloc.
9153214082Sdim	* coff-mips.c (mips_relocate_section): Ditto.
9154214082Sdim
9155214082Sdim	* archive.c (bfd_slurp_bsd_armap_f2): Check bfd_alloc value.
9156214082Sdim	(do_slurp_bsd_armap): Ditto.
9157214082Sdim	(compute_and_write_armap): Check bfd_realloc value.
9158214082Sdim
9159214082Sdim	* aoutx.h (translate_from_native_sym_flags): Check bfd_alloc
9160214082Sdim	return value.  Return boolean value.
9161214082Sdim	(NAME(aout,make_empty_symbol)): Check bfd_zalloc return value.
9162214082Sdim	(NAME(aout,slurp_symbol_table)): Check bf_alloc and bfd_zalloc
9163214082Sdim	return value.
9164214082Sdim	(add_to_stringtab): Ditto.  FIXME void
9165214082Sdim	(aout_link_hash_newfunc): Check bfd_hash_allocate return value.
9166214082Sdim	(aout_link_add_symbols): Check bfd_alloc value.
9167214082Sdim	(translate_symbol_table): Check translate_from_native_sym_flags.
9168214082Sdim	* hp300hpux.c (MY(slurp_symbol_table)): Ditto.
9169214082Sdim	* aoutx.h (aout_link_hash_newfunc): Check _bfd_link_hash_newfunc.
9170214082Sdim
9171214082Sdim	* opncls.c (bfd_zalloc bfd_realloc): Check result of bfd_alloc.
9172214082Sdim
9173214082Sdim	* opncls.c (obstack_chunk_alloc): Define as malloc, not
9174214082Sdim	bfd_xmalloc_by_size_t. 
9175214082Sdim	(_bfd_new_bfd): Check obstack_begin for 0 return.
9176214082Sdim
9177214082Sdim	* ieee.c (obstack_chunk_alloc): Define as malloc, not
9178214082Sdim	bfd_xmalloc_by_size_t. 
9179214082Sdim	(ieee_archive_p): Check obstack_begin for 0 return and
9180214082Sdim	obstack_finish for NULL return.
9181214082Sdim
9182214082Sdim	* hash.c (obstack_chunk_alloc): Define as malloc, not
9183214082Sdim	bfd_xmalloc_by_size_t. 
9184214082Sdim	(bfd_hash_table_init_n): Check obstack_begin for 0 return and
9185214082Sdim	obstack_finish for NULL return.
9186214082Sdim	(bfd_hash_lookup): Check obstack_alloc for NULL return.
9187214082Sdim
9188214082Sdim	* ecofflink.c (obstack_chunk_alloc): Define as malloc, not
9189214082Sdim	bfd_xmalloc_by_size_t. 
9190214082Sdim	bfd_ecoff_debug_accumulate
9191214082Sdim	bfd_ecoff_debug_accumulate_other): Check obstack_alloc.
9192214082Sdim	(add_file_shuffle add_memory_shuffle): Check obstack_alloc for
9193214082Sdim	NULL return.  Return boolean, not void.
9194214082Sdim	(bfd_ecoff_debug_init): Check obstack_begin for 0 return.
9195214082Sdim	(bfd_ecoff_debug_accumulate): Check add_file_shuffle
9196214082Sdim	and add_memory_shuffle return. 
9197214082Sdim	(string_hash_newfunc): Check bfd_hash_allocate and bfd_hash_newfunc.
9198214082Sdim	(bfd_ecoff_debug_accumulate): Check bfd_alloc.
9199214082Sdim	(ecoff_add_string): Check add_memory_shuffle return.
9200214082Sdim
9201214082Sdim	* libbfd-in.h (xmalloc, bfd_xmalloc, bfd_xmalloc_by_size_t):
9202214082Sdim	Remove decls. 
9203214082Sdim	* libbfd.h: Rebuilt.
9204214082Sdim
9205214082SdimFri Feb 11 15:35:32 1994  Stu Grossman  (grossman at cygnus.com)
9206214082Sdim
9207214082Sdim	* configure.host:  Add Lynx/rs6000 support.
9208214082Sdim	* config/i386-nlm.mt:  Enable a.out file support.
9209214082Sdim	* config/rs6000lynx.mh:  Lynx/rs6000 host support.
9210214082Sdim
9211214082SdimFri Feb 11 17:25:58 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9212214082Sdim
9213214082Sdim	* archive.c (compute_and_write_armap): Rewrite somewhat to improve
9214214082Sdim	memory usage.
9215214082Sdim
9216214082SdimFri Feb 11 13:10:42 1994  Stan Shebs  (shebs@andros.cygnus.com)
9217214082Sdim
9218214082Sdim	* archive.c: Change all references to '\n' in archive magic
9219214082Sdim	to '\012', for greater portability.
9220214082Sdim	* ecoff.c (ecoff_write_armap): Ditto.
9221214082Sdim
9222214082SdimThu Feb 10 12:58:48 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9223214082Sdim
9224214082Sdim	* aoutx.h (aout_link_write_other_symbol): Check strip settings to
9225214082Sdim	see whether symbol should be output.
9226214082Sdim	* genlink.h (struct generic_write_global_symbol_info): Added info
9227214082Sdim	field.
9228214082Sdim	* linker.c (_bfd_generic_final_link): Initialize wginfo.info.
9229214082Sdim	(_bfd_generic_link_write_global_symbol): Check strip settings to
9230214082Sdim	see whether symbol should be output.
9231214082Sdim	* elf32-mips.c (mips_elf_final_link): Initialize wginfo.info.
9232214082Sdim
9233214082SdimWed Feb  9 21:34:58 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
9234214082Sdim
9235214082Sdim	* som.c (som_reloc_queue_find): Do not examine a NULL queue entry.
9236214082Sdim
9237214082Sdim	* som.c: Cast return values from BFD memory allocation routines to
9238214082Sdim	avoid warnings from the HP compiler.
9239214082Sdim
9240214082SdimWed Feb  9 12:55:02 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9241214082Sdim
9242214082Sdim	* coff-alpha.c (alpha_relocate_section): Accept a LITERAL
9243214082Sdim	reloc on an "ldl" instruction too.
9244214634Sdim
9245214634Sdim	* archive.c (bfd_ar_hdr_from_filesystem): Cast status elements
9246214634Sdim	when passing them to sprintf.  Use %ld instead of %d.
9247214634Sdim
9248214634Sdim	* coff-rs6000.c (rs6000coff_mkarchive): Return false.
9249214634Sdim	(rs6000_coff_snarf_ar_hdr): Don't declare errno; it's not used.
9250214082Sdim	Also removed unused variable namelen.
9251214082Sdim	(rs6000coff_write_armap): Declare orl_count and stridx parameters.
9252214082Sdim
9253214082SdimTue Feb  8 18:00:34 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9254214082Sdim
9255214082Sdim	* libbfd-in.h (xmalloc): Don't declare parameter type, to avoid
9256214082Sdim	conflicts.
9257214082Sdim	* libbfd.h: Rebuilt.
9258214082Sdim
9259214082SdimTue Feb  8 15:55:50 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
9260214082Sdim
9261214082Sdim	* coff-alpha.c (reloc_nil): New function.
9262214082Sdim	(alpha_howto_table): Use it as special_function to prevent certain
9263214082Sdim	relocs from being adjusted by bfd_perform_relocation.  IGNORE
9264214634Sdim	reloc should be partial_inplace.
9265214634Sdim	(alpha_ecoff_get_relocated_section_contents): Accept a LITERAL
9266214634Sdim	reloc on an "ldl" instruction too.
9267214634Sdim
9268214634SdimTue Feb  8 00:32:28 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
9269214634Sdim
9270214634Sdim	* elf32-hppa.c (CURRENT_STUB_OFFSET, hppa_elf_build_arg_reloc_stub,
9271214634Sdim	hppa_elf_build_long_branch_stub):  Cast to char * instead of int
9272214082Sdim	before performing pointer arithmetic.
9273214082Sdim
9274214082SdimMon Feb  7 20:56:27 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
9275214082Sdim
9276214082Sdim	* config.bfd (hppa*-*-osf*): Use bfd_name hppaosf for this
9277214082Sdim	configuration.
9278214082Sdim	(hppa*-*-*elf*): This configuration used hppa-elf now.
9279214082Sdim
9280214082Sdim	* som.c: This file is also used for HOST_HPPAOSF.
9281214082Sdim
9282214082Sdim	* targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.
9283214082Sdim
9284214082Sdim	* hosts/hppaosf.h: New host configuration file.
9285214634Sdim
9286214634Sdim	* config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
9287214082Sdim	BSD handles both SOM and ELF object files.
9288214082Sdim
9289214082Sdim	* config/hppaosf.mh (HDEFINES): Delete.  No longer needed.
9290214082Sdim	(RANLIB): Doesn't do anything, define it to be "echo".
9291214082Sdim
9292214082Sdim	* config/hppaosf.mt: New target makefile fragment for a PA running
9293214082Sdim	OSF1.
9294214082Sdim
9295214082SdimMon Feb  7 15:02:06 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9296214082Sdim
9297214082Sdim	* archures.c (enum bfd_architecture): Added bfd_arch_powerpc.
9298214082Sdim	(archures_init_table): If SELECT_ARCHITECTURES is not defined,
9299214082Sdim	added bfd_powerpc_arch.
9300214082Sdim	* bfd-in2.h: Rebuilt.
9301214082Sdim	* cpu-powerpc.c: New file.
9302214082Sdim	* Makefile.in (ALL_MACHINES, CFILES): Added cpu-powerpc.c.
9303214082Sdim	Rebuilt dependencies.
9304214082Sdim
9305214082Sdim	* elfcode.h (bfd_section_from_shdr): Get vma and alignment_power
9306214082Sdim	of an SHT_STRTAB section from sh_addr and sh_addralign, rather
9307214082Sdim	than just setting them to zero.
9308214082Sdim
9309214082SdimSun Feb  6 20:04:10 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9310214082Sdim
9311214082Sdim	* elfcode.h (prep_headers, swap_out_syms): Check for NULL return
9312214082Sdim	from bfd_new_strtab. 
9313214082Sdim	(elf_compute_section_file_positions): Check for false return from
9314214082Sdim	swap_out_syms. 
9315214082Sdim
9316214082Sdim	* linker.c (default_indirect_link_order): Check for NULL return
9317214082Sdim	from bfd_get_relocated_section_contents.
9318214082Sdim
9319214082Sdim	* syms.c: Make example application in doc call xmalloc, not
9320214082Sdim	bfd_xmalloc. 
9321214082Sdim
9322214082Sdim	* aoutx.h (NAME(aout,slurp_symbol_table),
9323214082Sdim	aout_link_get_symbols, NAME(aout,link_hash_table_create)):
9324214082Sdim	* bout.c (b_out_slurp_reloc_table, b_out_squirt_out_relocs):
9325214082Sdim	* ecoff.c (ecoff_bfd_link_hash_table_create): 
9326214082Sdim	* ecofflink.c (bfd_ecoff_debug_init): 
9327214082Sdim	* format.c (bfd_check_format_matches): 
9328214082Sdim	* linker.c (_bfd_generic_link_hash_table_create): 
9329214082Sdim	(_bfd_generic_final_link): 
9330214082Sdim	* reloc16.c (bfd_coff_reloc16_relax_section): 
9331214082Sdim	(bfd_coff_reloc16_get_relocated_section_contents): 
9332214082Sdim	* elf32-hppa.c (hppa_elf_build_arg_reloc_stub): 
9333214082Sdim	* elf32-mips.c (mips_elf_final_link): 
9334214082Sdim	* elfcode.h (bfd_new_strtab): 
9335214082Sdim	(bfd_add_2_to_strtab): 
9336214082Sdim	(elf_slurp_symbol_table): 
9337214082Sdim	(elf_corefile_note): 
9338214082Sdim	* libbfd.c (bfd_zmalloc): 
9339214082Sdim	Use malloc and check the result, instead of bfd_xmalloc.
9340214082Sdim
9341214082SdimSat Feb  5 12:39:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
9342214082Sdim
9343214082Sdim	* config.bfd: Put m68*-*-sysv* line after m68*-*-sysv4*.
9344214082Sdim
9345214082SdimSat Feb  5 05:32:44 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
9346214157Sdim
9347214082Sdim	* srec.c (srec_write_record):  Put CONST keyword for "src" before
9348214082Sdim	"unsigned", some compilers don't like it after "unsigned".
9349214082Sdim	* libcoff.h, libcoff-in.h (bfd_perform_slip):  Rename "value" to
9350214082Sdim	"val" in prototype declaration because some compilers don't like
9351214082Sdim	arguments whose names are the same as types.
9352214082Sdim
9353214082SdimSat Feb  5 01:14:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9354214082Sdim
9355214082Sdim	* aoutx.h (aout_link_check_ar_symbols): Correct test for whether
9356214082Sdim	object file defines symbol.  Also, if skipping a symbol, skip the
9357214082Sdim	second symbol of a N_WARNING or N_INDR symbol as well.
9358214082Sdim
9359214082SdimFri Feb  4 23:55:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9360214082Sdim
9361214082Sdim	Add basic support for writing RS/6000 XCOFF files.
9362214082Sdim	* coff-rs6000.c (dummy_reloc): Removed.
9363214082Sdim	(rs6000coff_howto_table): Defined XCOFF relocs.
9364214082Sdim	(RTYPE2HOWTO): Defined to use rs6000coff_rtype2howto.
9365214082Sdim	(rs6000coff_rtype2howto): New function.
9366214082Sdim	(coff_bfd_reloc_type_lookup): Defined to use
9367214082Sdim	rs6000coff_reloc_type_lookup. 
9368214082Sdim	(rs6000coff_reloc_type_lookup): New function.
9369214082Sdim	(SELECT_RELOC): Defined to set r_type and r_size fields.
9370214082Sdim	(COFF_LONG_FILENAMES): Defined.
9371214082Sdim	* coffcode.h (combined_entry_type): Changed fix_tag and fix_end
9372214082Sdim	fields to bitfields.  Added fields fix_value and fix_scnlen.
9373214082Sdim	(sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
9374214082Sdim	STYP_INFO for the type of a section named .debug.
9375214082Sdim	(coff_add_missing_symbols): Don't define if RS6000COFF_C.
9376214082Sdim	(coff_write_object_contents): If RS6000COFF_C, don't call
9377214082Sdim	coff_add_missing_symbols.
9378214082Sdim	(coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
9379214082Sdim	entry has type STY_LD change the x_scnlen into a pointer to a
9380214082Sdim	symbol and set fix_scnlen.  Also, for a C_BSTAT symbol, change the
9381214082Sdim	value into a pointer to a symbol and set fix_value.
9382214082Sdim	* libcoff.h: Rebuilt.
9383214082Sdim	* coffgen.c (coff_mangle_symbols): Reindent.  If fix_value is set,
9384214082Sdim	get the symbol offset. Likewise for fix_scnlen.
9385214082Sdim	(string_size): Change type to bfd_size_type.
9386214082Sdim	(debug_string_size, debug_string_section): New static variables.
9387214082Sdim	(coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
9388214082Sdim	write the symbol name into the .debug section; assume that the
9389214082Sdim	section has already been created with the right size.
9390214082Sdim	(coff_write_symbols): Initialize debug_string_size to 0.  If
9391214082Sdim	bfd_coff_symname_in_debug returns true, don't put symbol name in
9392214082Sdim	usual string table.  After writing out all symbols, if
9393214082Sdim	debug_string_size is not 0, check that it matches the size of the
9394214082Sdim	.debug section.
9395214082Sdim	(coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
9396214082Sdim	fields.  If the string offset is 0, always use an empty string as
9397214634Sdim	the name.
9398214634Sdim	(coff_make_empty_symbol): Zero out the symbol structure.
9399214082Sdim	* reloc.c (bfd_perform_relocation): Work around one gross hack
9400214082Sdim	with another: actually look at the target name to avoid the broken
9401214082Sdim	COFF check.
9402214082Sdim	(bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
9403214082Sdim	BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
9404214082Sdim	* bfd-in2.h: Rebuilt.
9405214082Sdim
9406214082SdimFri Feb  4 17:28:32 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9407214082Sdim
9408214082Sdim	* libbfd.c (bfd_zmalloc): Call bfd_xmalloc instead of malloc.
9409214082Sdim	(bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
9410214082Sdim	* libbfd-in.h: Define them as macros calling xmalloc and declare
9411214082Sdim	xmalloc. 
9412214082Sdim	* libbfd.h: Rebuilt.
9413214082Sdim
9414214082SdimThu Feb  3 16:49:35 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9415214082Sdim
9416214082Sdim	* ecofflink.c (bfd_ecoff_debug_externals): If a small undefined
9417214082Sdim	symbol has a value in the ECOFF symbol but not in the BFD symbol,
9418214082Sdim	keep the value in the ECOFF symbol.  This helps gas.
9419214082Sdim
9420214082Sdim	* linker.c (_bfd_generic_link_output_symbols,
9421214082Sdim	_bfd_generic_link_write_global_symbol): Don't require that all
9422214082Sdim	references to a common symbol be themselves common symbols.
9423214082Sdim
9424214082Sdim	* aoutx.h (aout_reloc_index_to_section): Handle N_UNDF.
9425214082Sdim
9426214082SdimWed Feb  2 20:37:19 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
9427214082Sdim
9428214082Sdim	* libbfd.c, bfd-in.h, hosts/alphaosf.h, hosts/sparc-ll.h, aoutf1.h,
9429214082Sdim	sparclynx.c, Makefile.in: Change HOST_64_BIT to BFD_HOST_64_BIT.
9430214082Sdim	* bfd-in2.h: Rebuilt.
9431214082Sdim
9432214082SdimWed Feb  2 12:30:13 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9433214082Sdim
9434214082Sdim	* coffswap.h (coff_swap_reloc_out): If RS6000COFF_C, handle type
9435214082Sdim	and size correctly.
9436214082Sdim	(coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
9437214082Sdim	x_csect.x_scnlen.l to match change in coff/internal.h.
9438214082Sdim	(coff_swap_aux_out): Likewise.
9439214082Sdim
9440214082Sdim	* coff-mips.c (mips_ecoff_backend_data), coff-alpha.c
9441214082Sdim	(alpha_ecoff_backend_data): Change casts of aux_in and aux_out
9442214082Sdim	fields to match yesterday's changes.
9443214082Sdim
9444214082Sdim	* coffcode.h (coff_write_relocs): If SELECT_RELOC is defined, pass
9445214082Sdim	in the internal_reloc itself, not the type.
9446214082Sdim	* coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
9447214082Sdim	coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
9448214082Sdim	definition of SELECT_RELOC accordingly.
9449214082Sdim
9450214082SdimTue Feb  1 12:05:44 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9451214082Sdim
9452214082Sdim	* coffcode.h (bfd_coff_backend_data): Added new arguments to
9453214082Sdim	_bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
9454214082Sdim	and number of aux entries.
9455214082Sdim	(bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
9456214082Sdim	accordingly.
9457214082Sdim	* libcoff.h: Rebuilt.
9458214082Sdim	* coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
9459214082Sdim	arguments.  If RS6000COFF_C, only treat C_EXT and C_HIDEXT
9460214082Sdim	specially if this is the last aux entry.
9461214082Sdim	* coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
9462214082Sdim	new arguments to swap_aux functions.
9463214082Sdim
9464214082SdimSun Jan 30 15:14:36 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
9465214082Sdim
9466214082Sdim	* gen-aout.c (main): Set DEFAULT_ARCH based on preprocessor macros
9467214082Sdim	(only testing for m68k and vax at the moment); do verify that the
9468214082Sdim	preprocessor didn't trash the arch name inside the string version.
9469214082Sdim	Don't print out "pagesize =" line that prevents output from
9470214082Sdim	compiling.  Derive BYTES_IN_WORD and ARCH values from sizeof
9471214082Sdim	results.
9472214082Sdim	* Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
9473214082Sdim	(check, installcheck): Identify directory in "no testsuites"
9474214082Sdim	message.
9475214082Sdim
9476214082SdimSun Jan 30 13:25:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9477214082Sdim
9478214082Sdim	* aoutx.h (aout_link_write_symbols): Write out correct value for
9479214082Sdim	object file symbol.
9480214082Sdim
9481214082SdimFri Jan 28 18:34:05 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
9482214082Sdim
9483214082Sdim	* hosts/vaxbsd.h (HOST_STACK_END_ADDR): Vax BSD doesn't define
9484214082Sdim	KERNBASE, so hard-code 0x80000000 instead.
9485214082Sdim
9486214082SdimThu Jan 27 13:54:08 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9487214082Sdim
9488214082Sdim	* linker.c (generic_link_add_symbol_list): If symbol is common,
9489214082Sdim	set the BSF_OLD_COMMON flag.
9490214082Sdim
9491214082SdimWed Jan 26 13:47:15 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9492214082Sdim
9493214082Sdim	* format.c (bfd_check_format_matches): Put the new entry in the
9494214082Sdim	correct element of matching_vector.
9495214082Sdim
9496214082SdimTue Jan 25 11:43:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
9497214082Sdim
9498214082Sdim	* som.c, som.h (bfd_som_set_section_attributes,
9499214082Sdim	bfd_som_set_subsection_attributes): Change parameters from char
9500214082Sdim	to int.  Following a prototype with an old-style function definition
9501214082Sdim	in the presence of widened parameters is a GCC-ism not supported
9502214082Sdim	by the HP compiler in ANSI mode.
9503214082Sdim
9504214082SdimTue Jan 25 11:46:46 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9505214082Sdim
9506214082Sdim	* reloc.c (bfd_get_reloc_size): Size of type -2 is 4 bytes, not 2.
9507214082Sdim
9508214082Sdim	* hp300hpux.c (MY(write_object_contents)): Write out the symbols
9509214082Sdim	before writing out the relocs, so that the right symbol indices
9510214082Sdim	are used.
9511214082Sdim
9512214082Sdim	* archive.c (do_slurp_bsd_armap, bfd_slurp_bsd_armap_f2): Do not
9513214082Sdim	try to overlay the internal carsyms on the external symdefs.  That
9514214082Sdim	can not work if the size of a host pointer is larger than 4 bytes.
9515214082Sdim
9516214082Sdim	* format.c (bfd_check_format_matches): Cast result of
9517214082Sdim	bfd_xmalloc_by_size_t.
9518214082Sdim	* opncls.c (_bfd_new_bfd): Avoid ANSI C prototype.
9519214082Sdim
9520214082Sdim	* archive.c: Reindented to GNU standards.
9521214082Sdim
9522214082SdimMon Jan 24 14:41:23 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9523214082Sdim
9524214082Sdim	* opncls.c (_bfd_new_bfd, _bfd_new_bfd_contained_in): Add
9525214082Sdim	"_bfd_" to function names.
9526214082Sdim	* archive.c (_bfd_create_empty_archive_element_shell),
9527214082Sdim	libbfd-in.h: Change callers.
9528214082Sdim
9529214082Sdim	* libbfd.c (bfd_zmalloc): Renamed from zalloc.
9530214082Sdim	* libbfd.c (bfd_add_to_string_table),
9531214082Sdim	trad-core.c (trad_unix_core_file_p),
9532214082Sdim	targets.c (bfd_target_list),
9533214082Sdim	ptrace-core.c (ptrace_unix_core_file_p),
9534214082Sdim	opncls.c (new_bfd), libbfd-in.h,
9535214082Sdim	ieee.c (ieee_make_empty_symbol),
9536214082Sdim	elf32-hppa.c (hppa_elf_stub_branch_reloc),
9537214082Sdim	(hppa_elf_stub_reloc): Change callers.
9538214082Sdim	* libbfd.h: Regenerated.
9539214082Sdim
9540214082Sdim	* archive.c (_bfd_look_for_bfd_in_cache): Add "_bfd_" to name.
9541214082Sdim	(_bfd_get_elt_at_filepos), 
9542214082Sdim	coff-rs6000.c (rs6000coff_get_elt_at_filepos), libbfd-in.h:
9543214082Sdim	Change callers.
9544214082Sdim
9545214082Sdim	* format.c (bfd_check_format_matches), libbfd-in.h, targets.c,
9546214082Sdim	elfcode.h (elf_object_p): Rename target_vector to bfd_target_vector
9547214082Sdim	and default_vector to bfd_default_vector.
9548214082Sdim	* libbfd.h: Regenerated.
9549214082Sdim
9550214082Sdim	* format.c (bfd_check_format_matches): New function.
9551214082Sdim	(bfd_check_format): Call it.
9552214082Sdim	(bfd_matching_formats): Function removed.
9553214082Sdim	* targets.c: Replace the vector added on Jan 21 with a count of
9554214634Sdim	entries in default_vector.
9555214634Sdim	* bfd-in2.h: Regenerated.
9556214634Sdim
9557214634SdimMon Jan 24 12:38:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9558214634Sdim
9559214634Sdim	* coff-alpha.c (alpha_ecoff_object_p): New function.  Set size of
9560214634Sdim	.pdata section based on lnnoptr field, not section header.
9561214634Sdim	(alpha_relocate_section): Don't bother to check if r_symndx >= 0,
9562214634Sdim	since it is unsigned.
9563214634Sdim	(ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
9564214634Sdim	coff_object_p.
9565214634Sdim	* ecoff.c (ecoff_new_section_hook): Set alignment_power field of
9566214634Sdim	.pdata section to 3.
9567214634Sdim	(ecoff_compute_section_file_positions): Save the size of the
9568214634Sdim	.pdata section in the line_filepos field, and actually align the
9569214634Sdim	.pdata section to an alignment power of 4.
9570214634Sdim	(ecoff_compute_reloc_file_positions): Set output_has_begun after
9571214634Sdim	calling ecoff_compute_section_file_positions.
9572214634Sdim	(ecoff_write_object_contents): Set s_lnnoptr for the .pdata
9573214634Sdim	section from the line_filepos field.  Set vstamp for the optional
9574214082Sdim	header from the vstamp of the symbolic header.
9575214634Sdim	(ecoff_bfd_final_link): Set vstamp of the symbolic header to the
9576214634Sdim	vstamp used by the first object file in the link.
9577214634Sdim
9578214082Sdim	* ecofflink.c (ecoff_align_debug): Align RFDs to debug_align.
9579214634Sdim
9580214634Sdim	* linker.c (generic_link_check_achive_element): Set SEC_ALLOC flag
9581214634Sdim	for a created common section.
9582214082Sdim	(_bfd_generic_link_add_one_symbol): Likewise.
9583214634Sdim
9584214634Sdim	* elfcode.h (swap_out_syms): Use elf_section_from_bfd_section to
9585214634Sdim	get the index of a common section, rather than always using
9586214634Sdim	SHN_COMMON (MIPS has multiple common sections).
9587214634Sdim
9588214634Sdim	* elf32-hppa.c (hppa_elf_gen_reloc_type): Typo (== for =).
9589214634Sdim
9590214634Sdim	* aoutx.h (aout_link_input_section_std,
9591214634Sdim	aout_link_input_section_ext): Pass additional arguments to
9592214082Sdim	reloc_overflow callback.
9593214634Sdim	* coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
9594214634Sdim	alpha_relocat_section): Likewise.
9595214082Sdim	* coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
9596214082Sdim	* coff-h8500.c (extra_case): Likewise.
9597214634Sdim	* coff-mips.c (mips_relocate_section): Likewise.
9598214082Sdim	* coff-z8k.c (extra_case): Likewise.
9599214634Sdim	* elf32-hppa.c (hppa_elf_stub_finish): Likewise.
9600214634Sdim	* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
9601214634Sdim
9602214634Sdim	* bout.c (calljx_callback, callj_callback): Use get_value to get
9603214634Sdim	the symbol value and check for undefined symbols.
9604214634Sdim	(get_value): If the symbol is undefined, look it up in the linker
9605214634Sdim	hash table.
9606214634Sdim	(b_out_get_relocated_section_contents): For PCREL24 and PCREL13
9607214634Sdim	use get_value to get the symbol value and check for undefined
9608214634Sdim	symbols.
9609214634Sdim	* reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
9610214082Sdim	undefined, look it up in the linker hash table.
9611214082Sdim
9612214634Sdim	* aoutx.h (translate_symbol_table): The string index 0 has a
9613214634Sdim	special meaning for normal symbols, but not for dynamic symbols.
9614214634Sdim
9615214634SdimSat Jan 22 12:26:01 1994  Stu Grossman  (grossman at cygnus.com)
9616214634Sdim
9617214634Sdim	* sparclynx.c:  Setup appropriate macros to enable core file
9618214634Sdim	support.
9619214082Sdim
9620214082SdimFri Jan 21 16:25:35 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9621214634Sdim
9622214634Sdim	* targets.c: Add a vector of matching format names.
9623214634Sdim	* format.c (bfd_matching_formats): New function to return it.
9624214634Sdim	(bfd_check_format): Set it.
9625214634Sdim	* bfd-in2.h: Regenerated.
9626214634Sdim
9627214634Sdim	* bfd-in.h: Remove decls of bfd_ec type and error printing functions.
9628214634Sdim	Remove decl of type symclass; wasn't used.
9629214634Sdim	* bfd.c: Document error handling, including code fragments
9630214634Sdim	containing the error decls that were in bfd-in.h.
9631214634Sdim	Remove DEFUNs.
9632214634Sdim	* bfd-in2.h: Regenerated.
9633214634Sdim
9634214634SdimFri Jan 21 14:11:16 1994  Sean Fagan  (sef@cygnus.com)
9635214634Sdim
9636214634Sdim	* nlmcode.h, liblnm.h, nlm32-alpha.c nlm32-i386.c nlm32-sparc.c:
9637214634Sdim	The sparc (and possibly other?) NLM format requires a different
9638214634Sdim	way to write exports, so add a write_export field to the backend
9639214634Sdim	data (and set it to NULL for everything but the sparc).
9640214634Sdim
9641214634SdimFri Jan 21 14:11:16 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
9642214634Sdim
9643214634Sdim	* sunos.c (MY(read_dynamic_relocs)): Compare info->dynrel with NULL,
9644214082Sdim	not (struct external_nlist *) NULL.  info->dynrel is a PTR, not
9645214634Sdim	a struct external_nlist *.
9646214634Sdim
9647214634SdimFri Jan 21 09:29:01 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9648214634Sdim
9649214634Sdim	* bfd.c: Remove error strings for errors removed below.
9650214634Sdim	* aoutx.h (translate_to_native_sym_flags), bfd-in.h (bfd_ec),
9651214634Sdim	oasys.c (oasys_write_sections): Rename
9652214634Sdim	bfd_error_nonrepresentable_section to nonrepresentable_section.
9653214634Sdim	None of the other bfd error names start with "bfd_error".
9654214634Sdim	Remove errors symbol_not_found and no_relocation_info, which seem
9655214634Sdim	to be unused.
9656214634Sdim	* bfd-in2.h: Regenerated.
9657214634Sdim
9658214634SdimFri Jan 21 01:11:55 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9659214634Sdim
9660214634Sdim	* bfd.c (bfd_get_gp_size): Added support for ELF.
9661214634Sdim
9662214634Sdim	* syms.c (BSF_DYNAMIC): New symbol flag.
9663214634Sdim	(bfd_print_symbol_vandf): Print it.
9664214634Sdim	* bfd-in2.h: Rebuilt.
9665214634Sdim	* libaout.h (struct aout_backend_data): New read_dynamic_symbols
9666214634Sdim	and read_dynamic_relocs fields.
9667214634Sdim	(struct aoutdata): New dynamic_info field.
9668214634Sdim	(obj_aout_dynamic_info): New accessor macro.
9669214634Sdim	* sunos.c (struct sunos_dynamic_info): New structure.
9670214634Sdim	(sunos_read_dynamic_info, MY(read_dynamic_symbols),
9671214634Sdim	MY(read_dynamic_relocs)): New functions to read dynamic symbols
9672214634Sdim	and relocs.
9673214634Sdim	* aoutx.h (NAME(aout,some_aout_object_p)): If the object is
9674214634Sdim	dynamically linked, set SEC_RELOC for both the .text and .data
9675214634Sdim	sections.
9676214634Sdim	(translate_from_native_sym_flags): Don't set BSF_LOCAL for an
9677214634Sdim	undefined symbol.
9678214634Sdim	(translate_symbol_table): New function, split out of
9679214634Sdim	slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
9680214634Sdim	(NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
9681214634Sdim	(NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
9682214634Sdim	(NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
9683214634Sdim	return value.
9684214634Sdim	* aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
9685214634Sdim	out dynamic symbols or relocs against reloc symbols, since they
9686214634Sdim	are already in the .text section and we wouldn't know where to
9687214634Sdim	write them anyhow.
9688214634Sdim	(sunos4_aout_backend): Initialize read_dynamic_symbols and
9689214634Sdim	read_dynamic_relocs fields.
9690214634Sdim	* aout-target.h (MY(backend_data)): Initialize
9691214634Sdim	read_dynamic_symbols and read_dynamic_relocs fields.
9692214634Sdim
9693214634SdimThu Jan 20 20:57:27 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
9694214634Sdim
9695214634Sdim	* hosts/alphaosf.h (uint64e_type, uint64_type, int64_type): Delete
9696214082Sdim	typedefs, since HOST_64_BIT will take care of defining them in
9697214634Sdim	bfd.h.
9698214634Sdim
9699214082SdimWed Jan 19 17:28:59 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
9700214634Sdim
9701214634Sdim	* config/alphaosf.mh (HDEFINES): Don't define HOST_64_BIT here;
9702214634Sdim	that's dealt with elsewhere.
9703214634Sdim	* hosts/alphaosf.h (sprintf_vma, fprintf_vma): New macros.
9704214634Sdim	(uint64_typeHIGH, uint64_typeLOW): Comment with HOST_64_BIT so
9705214634Sdim	they get copied to bfd.h.
9706214634Sdim
9707214634Sdim	* reloc.c (enum bfd_reloc_code_real): Add some Alpha relocation
9708214634Sdim	types.  Reorganized some of the existing ones.
9709214634Sdim	* coff-alpha.c (alpha_howto_table): Construct 64-bit negative one
9710214634Sdim	values in case of compilation on a 32-bit machine.  Fix pcrel
9711214634Sdim	fields of some reloc types.
9712214634Sdim	(alpha_bfd_reloc_type_lookup): Handle more relocation types.
9713214634Sdim
9714214634Sdim	* bfd-in.h (uint64_typeHIGH, uint64_typeLOW): Supply default
9715214082Sdim	definitions when not defined, regardless of whether uint64_type is
9716214082Sdim	a defined macro or not.
9717214634Sdim	(fprintf_vma, sprintf_vma): Define only if fprintf_vma is not
9718214634Sdim	already defined.
9719214634Sdim
9720214634SdimWed Jan 19 00:02:54 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9721214634Sdim
9722214634Sdim	* aoutx.h (translate_to_native_sym_flags): Set the type of a
9723214634Sdim	BSF_WARNING symbol to N_WARNING.
9724214634Sdim
9725214634SdimTue Jan 18 16:43:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9726214634Sdim
9727214634Sdim	* aoutx.h (aout_link_add_symbols): Increment sym_hash as well as p
9728214634Sdim	for an indirect or warning symbol.
9729214634Sdim	(aout_link_write_symbols): Update sym_hash with the target of an
9730214634Sdim	indirect or warning symbol.  If an indirect symbol is defined,
9731214634Sdim	output the calculated value and don't output the target symbol.
9732214634Sdim
9733214634SdimTue Jan 18 03:54:59 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9734214634Sdim
9735214634Sdim	* aoutx.h (translate_from_native_sym_flags): Give warning symbols
9736214634Sdim	an (unused) nonzero section value, needed for check below.
9737214634Sdim
9738214634SdimMon Jan 17 15:12:07 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9739214634Sdim
9740214634Sdim	* aoutx.h (translate_from_native_sym_flags,
9741214634Sdim	aout_link_add_symbols): Treat N_SET[ABDT] | N_EXT like
9742214634Sdim	N_SET[ABDT].
9743214634Sdim
9744214634SdimFri Jan 14 16:45:43 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9745214634Sdim
9746214634Sdim	* elfcode.h (elf_object_p): If there is a SHT_DYNAMIC section, set
9747214634Sdim	the DYNAMIC flag for the BFD.
9748214634Sdim	(NAME(bfd_elf,write_object_contents)): Don't try to write out a
9749214634Sdim	BFD with the DYNAMIC flag set, since we don't generate the program
9750214634Sdim	header table correctly.
9751214634Sdim
9752214634SdimFri Jan 14 01:04:36 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
9753214634Sdim
9754214634Sdim	* elfcode.h (elf_slurp_symbol_table):  Free x_symp at the end
9755214634Sdim	of the function to avoid storage leak.
9756214634Sdim
9757214634SdimThu Jan 13 23:07:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9758214634Sdim
9759214634Sdim	* ecoff.c (ecoff_link_write_external): An ifd can be -1.
9760214634Sdim
9761214634SdimThu Jan 13 12:33:27 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
9762214634Sdim
9763214634Sdim	* som.c (som_set_reloc_info): Provide a default symbol for
9764214634Sdim	relocations which don't actually have an associated symbol.
9765214082Sdim
9766214082Sdim	* som.c (hppa_som_reloc): Add new "error message" argument.
9767214082Sdim
9768214082SdimWed Jan 12 13:36:43 1994  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
9769214082Sdim
9770214082Sdim	Enable gdb to write to core files on more core file readers.
9771214082Sdim	* libbfd.c (bfd_generic_set_section_contents):  Remove range check
9772214082Sdim	for section size, it is already done in bfd_set_section_contents
9773214634Sdim	with bfd_get_section_size_now.
9774214634Sdim	* aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
9775214634Sdim	osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
9776214634Sdim	Use bfd_generic_set_section_contents instead of bfd_false.
9777214082Sdim
9778214634SdimWed Jan 12 15:31:57 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9779214634Sdim
9780214634Sdim	* linker.c: Added initial documentation.
9781214634Sdim
9782214634Sdim	* linker.c (default_indirect_link_order): Don't expect space for
9783214082Sdim	output relocations if there aren't any input relocations.
9784214082Sdim
9785214082SdimTue Jan 11 14:37:12 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9786214082Sdim
9787214082Sdim	* aoutx.h (NAME(aout,final_link)): Set a_entry before computing
9788214082Sdim	file offsets.
9789214082Sdim
9790214082Sdim	* elfcode.h (swap_out_syms): A common symbol is STT_OBJECT, not
9791214082Sdim	STT_NOTYPE.
9792214082Sdim
9793214082SdimTue Jan 11 09:10:56 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
9794214082Sdim
9795214082Sdim	* config.bfd: Use ELF, not COFF for m88*-*-dgux*.
9796214082Sdim	Combine m88k-*-* and m88110-*-* cases into m88*-*-*.
9797214082Sdim
9798214082SdimTue Jan 11 00:07:19 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9799214082Sdim
9800214082Sdim	* ecofflink.c: Extensive changes to compress and merge debugging
9801214082Sdim	information, and to write some of out directly rather than saving
9802214082Sdim	it in memory.  Several new functions and structures, and new
9803214082Sdim	arguments to existing functions.
9804214634Sdim	* ecoff.c (ecoff_compute_reloc_file_positions): Compute
9805214634Sdim	sym_filepos as well.
9806214082Sdim	(ecoff_get_extr): Use ifdmap instead of ifdbase.
9807214082Sdim	(ecoff_write_object_contents): Don't compute sym_filepos here.
9808214634Sdim	Only output symbols if outsymbols is not NULL.
9809214082Sdim	(ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
9810214634Sdim	bfd_ecoff_debug functions.  Write out debugging information here.
9811214082Sdim	(ecoff_final_link_debug_accumulate): Adjust for changes in
9812214634Sdim	bfd_ecoff_debug functions.
9813214082Sdim	(ecoff_link_write_external): Use ifdmap rather than ifdbase.
9814214082Sdim	* elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
9815214634Sdim	first, to put them in the first memory buffer.  Clear fdr field.
9816214082Sdim	(mips_elf_get_extr): Use pointer to unswapped external symbol.
9817214082Sdim	(mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
9818214082Sdim	Preserve .text, .data and .bss even if they are empty.  Save
9819214082Sdim	pointer to unswapped external symbol rather than copying it.
9820214082Sdim	Don't free up the external symbols.
9821214082Sdim	* libelf.h (elf_symbol_type): Change mips_extr to PTR.
9822214082Sdim	* bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
9823214082Sdim	(bfd_ecoff_debug_accumulate): Update declaration.
9824214082Sdim	(bfd_ecoff_debug_accumulate_other): Rename declaration from
9825214082Sdim	bfd_ecoff_debug_link_other and update.
9826214082Sdim	(bfd_ecoff_write_accumulated_debug): Declare.
9827214634Sdim	* bfd-in2.h: Rebuilt.
9828214082Sdim	* Makefile.in: Rebuilt dependencies.
9829214634Sdim
9830214634SdimMon Jan 10 20:46:53 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
9831214634Sdim
9832214634Sdim	* Makefile.in (install): Remove "@" which follows a backslash.  In
9833214634Sdim	this position it just causes errors, not suppresses echoes.
9834214634Sdim
9835214634SdimMon Jan 10 09:06:21 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
9836214634Sdim
9837214634Sdim	* som.c (hppa_som_gen_reloc_type): Fix handling of LT and RT
9838214634Sdim	field selectors.
9839214634Sdim
9840214634SdimSun Jan  9 04:32:25 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
9841214634Sdim
9842214634Sdim	* config/i386-netbsd.mt (SELECT_VECS): Include i386bsd_vec.
9843214634Sdim
9844214634SdimFri Jan  7 10:27:27 1994  David J. Mackenzie  (djm@rtl.cygnus.com)
9845214634Sdim
9846214634Sdim	* aoutx.h (adjust_z_magic): Don't merge the start of bss with the
9847214634Sdim	end of data if they are not contiguous.
9848214634Sdim
9849214634Sdim	* aoutf1.h (sunos4_aout_backend): Comment the fields' meanings.
9850214634Sdim
9851214634SdimFri Jan  7 15:40:16 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9852214634Sdim
9853214634Sdim	* ecoff.c (ecoff_mkobject_hook): Don't set SEC_SHARED_LIBRARY flag
9854214634Sdim	for .reginfo section here.
9855214634Sdim	(ecoff_new_section_hook): Set it here instead.
9856214634Sdim
9857214634SdimFri Jan  7 10:29:27 1994  Stan Shebs  (shebs@andros.cygnus.com)
9858214634Sdim
9859214634Sdim    	* bfd-in.h: (bfd_boolean): Add workaround for systems that also
9860214634Sdim	define true and false as enums.
9861214634Sdim	(ALMOST_STDC): Add as alternative to __STDC__.
9862214634Sdim	* bfd-in2.h: Rebuilt.
9863214634Sdim	* syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
9864214634Sdim
9865214634SdimThu Jan  6 14:24:44 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9866214634Sdim
9867214634Sdim	* aoutx.h (translate_to_native_sym_flags): Catch the case where
9868214634Sdim	there is no output section.
9869214634Sdim
9870214634SdimThu Jan  6 14:37:42 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9871214634Sdim
9872214634Sdim	* nlmcode.h (nlm_object_p): If we can't read the fixed header,
9873214634Sdim	count it as a wrong format error, not a system call error, since
9874214634Sdim	the object file might simply be too small.
9875214634Sdim
9876214634Sdim	* targets.c (target_vector): Added nlm32_alpha_vec inside #ifdef
9877214634Sdim	BFD64.
9878214634Sdim	* Makefile.in (BFD32_BACKENDS): Remove nlm32-alpha.o.
9879214634Sdim	(BFD64_BACKENDS): Add nlm32-alpha.o.  It depends on 64 bit
9880214634Sdim	support, even though it is for an Alpha in 32 bit mode.
9881214634Sdim	* configure.in (nlm32_alpha_vec): Set target64 to true.
9882214634Sdim
9883214634Sdim	* nlm32-gen.c, nlm64-gen.c: Removed.  All nlm targets are
9884214634Sdim	different, so there is no point to providing a generic one.
9885214634Sdim	* libnlm.h: Don't bother to check for nlm_backend(bfd) being NULL
9886214634Sdim	in the backend accessor macros; that should no longer be possible.
9887214634Sdim	* targets.c (target_vector): Removed nlm32_big_generic_vec,
9888214634Sdim	nlm64_big_generic_vec, nlm64_little_generic_vec.
9889214634Sdim	* configure.in (nlm32_big_generic_vec, nlm32_little_generic_vec,
9890214634Sdim	nlm64_big_generic_vec, nlm64_little_generic_vec): Removed.
9891214634Sdim	* Makefile.in: Rebuilt dependencies, and
9892214634Sdim	(BFD32_BACKENDS): Removed nlm32-gen.o.
9893214634Sdim	(BFD64_BACKENDS): Removed nlm64-gen.o.
9894214634Sdim	(CFILES): Removed nlm32-gen.c and nlm64-gen.c.
9895214634Sdim
9896214634Sdim	* hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
9897214634Sdim
9898214634Sdim	* linker.c (_bfd_generic_link_add_one_symbol): Add constructor and
9899214634Sdim	bitsize arguments.  Changed all callers (aoutx.h).
9900214634Sdim	* libbfd-in.h (_bfd_generic_link_add_one_symbol): Add constructor
9901214634Sdim	and bitsize arguments to declaration.
9902214634Sdim	* libbfd.h: Rebuilt.
9903214634Sdim
9904214082Sdim	* ecoff.c: First cut at new style of linker backend for
9905214082Sdim	ECOFF--added a bunch of functions.  Also:
9906214082Sdim	(ecoff_sec_to_styp_flags): Set flags for .pdata and .xdata.
9907214634Sdim	(ecoff_slurp_symbolic_header): New function.
9908214082Sdim	(ecoff_slurp_symbolic_info): Call ecoff_slurp_symbolic_header.
9909214634Sdim	(ecoff_compute_reloc_file_positions): New function.
9910214082Sdim	(ecoff_set_section_contents): Get out quickly if count is zero.
9911214634Sdim	Check errors better.
9912214634Sdim	(ecoff_write_object_contents): Put .xdata section in data segment.
9913214634Sdim	Call ecoff_compute_reloc_file_positions.  Don't output relocs or
9914214634Sdim	external symbols if outsymbols is NULL.
9915214634Sdim	(ecoff_bfd_final_link): Completely rewritten.
9916214634Sdim	* libecoff.h: Include bfdlink.h.
9917214634Sdim	(struct ecoff_backend_data): Add relocate_section field.
9918214634Sdim	(ecoff_data_type): Add sym_hashes and symndx_to_section fields.
9919214634Sdim	(struct ecoff_link_hash_entry): Define.
9920214082Sdim	(struct ecoff_link_hash_table): Define.
9921214634Sdim	(ecoff_bfd_link_add_symbols): Declare as function, not macro.
9922214634Sdim	(ecoff_bfd_link_hash_table_create): Likewise.
9923214634Sdim	* ecofflink.c (bfd_ecoff_debug_one_external): New function.
9924214634Sdim	(bfd_ecoff_debug_externals): Call bfd_ecoff_debug_one_external.
9925214634Sdim	* bfd-in.h (bfd_ecoff_debug_one_external): Declare.
9926214634Sdim	* bfd-in2.h: Rebuilt.
9927214634Sdim	* coff-alpha.c (alpha_howto_table): Mark BRADDR as
9928214634Sdim	partial_inplace, and set the src_mask to 0x1fffff.
9929214634Sdim	(alpha_ecoff_get_relocated_section_contents): Remove unused
9930214634Sdim	variable gp_warned.
9931214634Sdim	(alpha_convert_external_reloc): New static function.
9932214634Sdim	(alpha_relocate_section): New static function.
9933214634Sdim	(alpha_ecoff_backend_data): Initialize relocate_section field.
9934214082Sdim	* coff-mips.c (mips_relocate_refhi): New static function.
9935214634Sdim	(mips_relocate_section): New static function.
9936214634Sdim	(mips_ecoff_backend_data): Initialize relocate_section field.
9937214634Sdim
9938214634Sdim	* reloc.c (_bfd_relocate_contents): Corrected signed overflow
9939214634Sdim	checking when there is an addend.
9940214634Sdim
9941214634Sdim	* aoutx.h (NAME(aout,final_link)): Don't abort when trying to link
9942214634Sdim	a non a.out file, just pass it to _bfd_default_link_order.
9943214634Sdim	(aout_link_input_section_std): When doing a final PC relative link
9944214634Sdim	against a section symbol, subtract the VMA of the input section.
9945214634Sdim	(aout_link_input_section_ext): Likewise.
9946214634Sdim
9947214634Sdim	* linker.c (default_indirect_link_order): Renamed from
9948214634Sdim	_bfd_generic_indirect_link_order and made static.
9949214082Sdim	(_bfd_generic_final_link): Don't switch on link_order type, just
9950214634Sdim	call _bfd_default_link_order.
9951214634Sdim	(_bfd_default_link_order): Handle bfd_indirect_link_order type.
9952214082Sdim	* genlink.h: Removed declaration of
9953214082Sdim	_bfd_generic_indirect_link_order.
9954214082Sdim	* elf32-mips.c (mips_elf_final_link): Don't switch on link_order
9955214082Sdim	type, just call _bfd_default_link_order.
9956214634Sdim
9957214082SdimTue Jan  4 21:23:37 1994  Ian Lance Taylor  (ian@cygnus.com)
9958214082Sdim
9959214082Sdim	* linker.c (generic_link_check_archive_element): Base the name of
9960214082Sdim	the created common section on the name of the section the symbol
9961214082Sdim	came from.
9962214082Sdim	(_bfd_generic_link_add_one_symbol): (case BIG): A common symbol
9963214082Sdim	must have a section, so don't bother to create one.
9964214082Sdim
9965214082SdimMon Jan  3 15:32:16 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
9966214082Sdim
9967214082Sdim	* aout-target.h (MY(vec)): Add DYNAMIC to mask of object flags.
9968214082Sdim	* aoutf1.h (NAME(aout,sunos4_write_object_contents)):
9969214082Sdim	If the DYNAMIC flag is set, set it in the exec header.
9970214082Sdim	* aoutx.h (NAME(aout,some_aout_object_p)): If the object is
9971214082Sdim	dynamically linked, set the DYNAMIC flag in the BFD.
9972214082Sdim	* libaout.h (N_SET_DYNAMIC): New macro.
9973214082Sdim	(N_DYNAMIC): Add missing 0 in mask.
9974214634Sdim
9975214634SdimMon Jan  3 11:41:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
9976214634Sdim
9977214634Sdim	* ecoff.c (ecoff_get_extr): Don't output section symbols as
9978214082Sdim	external symbols.
9979214082Sdim
9980214082Sdim	* bfd-in.h, hash.c: Change bfd_hash_allocate argument from size_t
9981214082Sdim	to unsigned int, because size_t may not be defined in bfd.h.
9982214634Sdim	* bfd-in2.h: Rebuilt.
9983214634Sdim
9984214634Sdim	* bfd-in.h (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
9985214634Sdim	be a const pointer.
9986214634Sdim	* bfd-in2.h: Rebuilt.
9987214634Sdim	* libbfd.c (bfd_get{b,l}[_signed_]{16,32,64}): Declare argument to
9988214634Sdim	be a const pointer.
9989214634Sdim	* targets.c (bfd_target): Change swap function pointers
9990214634Sdim	accordingly.
9991214634Sdim	* archive.c (do_slurp_coff_armap): Change swap accordingly.
9992214634Sdim	* aix386-core.c: Change NO_GET and NO_GETS accordingly.
9993214082Sdim	* hppabsd-core.c, hpux-core.c, irix-core.c, osf-core.c,
9994214082Sdim	ptrace-core.c, trad-core.c: Change NO_GET and NO_SIGNED_GET
9995214082Sdim	accordingly.
9996214082Sdim
9997214082Sdim	* libbfd-in.h (struct artdata): Added tdata field.
9998214082Sdim	(_bfd_add_bfd_to_archive_cache): Declare.
9999214082Sdim	(_bfd_get_elt_at_filepos): Declare.
10000214082Sdim	(_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
10001214082Sdim	* libbfd.h: Rebuilt.
10002214082Sdim	* archive.c: Cleaned up some more.
10003214082Sdim	(_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
10004214082Sdim	pointer elements of artdata.
10005214082Sdim	(_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
10006214082Sdim	(_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
10007214082Sdim	(_bfd_get_elt_at_filepos): Renamed from get_elt_at_filepos.
10008214634Sdim	(get_extended_arelt_filename, bfd_construct_extended_name_table,
10009214082Sdim	bfd_ar_hdr_from_filesystem, compute_and_write_armap): Made static.
10010214082Sdim	* ecoff.c: Some comment changes.
10011214082Sdim	(ecoff_slurp_armap): Handle rename of snarf_ar_hdr.  Set
10012214082Sdim	ardata->tdata to raw_armap.
10013214082Sdim	(ecoff_archive_p): Initialize pointer elements of artdata.
10014214634Sdim	* coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
10015214634Sdim	add_bfd_to_cache.
10016214082Sdim
10017214082Sdim	* hash.c: Added some documentation.
10018214082Sdim
10019214082SdimMon Jan  3 11:09:28 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
10020214082Sdim
10021214082Sdim	* aout-target.h, netbsd386.c: Replace NO_SWAP_MAGIC with SWAP_MAGIC,
10022214082Sdim	and do the swapping here rather than calling ntohl from the N_*
10023214082Sdim	macros.  This cleans up assumptions about the size of a host long,
10024214082Sdim	the existence to ntohl, etc.
10025214634Sdim
10026214082SdimSat Jan  1 13:50:05 1994  Rob Savoye  (rob@darkstar.cygnus.com)
10027214082Sdim
10028214082Sdim	* config.bfd: Add support for VSTa micro-kernel. It currently uses
10029214082Sdim	i386-aout.
10030214082Sdim
10031214082SdimSat Jan  1 10:18:54 1994  David J. Mackenzie  (djm@thepub.cygnus.com)
10032214082Sdim
10033214082Sdim	* hosts/i386mach3.h (HOST_SEGMENT_SIZE): Fix value.
10034214082Sdim	* i386mach3.c (SEGMENT_SIZE): Fix value.
10035214082Sdim
10036214082SdimFor older changes see ChangeLog-9193
10037214082Sdim
10038214082SdimLocal Variables:
10039214082Sdimmode: change-log
10040214082Sdimleft-margin: 8
10041214082Sdimfill-column: 74
10042214082Sdimversion-control: never
10043214082SdimEnd:
10044214082Sdim