* coff-h8300.c (h8300_reloc16_extra_cases): Use the correct
[platform/upstream/binutils.git] / bfd / ChangeLog
1 Tue Jul  9 15:52:20 1996  Jeffrey A Law  (law@cygnus.com)
2
3         * coff-h8300.c (h8300_reloc16_extra_cases): Use the correct
4         value for R_RELBYTE.
5
6         * reloc16.c (bfd_coff_reloc16_relax_section): Only "shrinks"
7         array if one was allocated.
8
9 Tue Jul  9 12:21:54 1996  Ian Lance Taylor  <ian@cygnus.com>
10
11         From Kazumoto Kojima <kkojima@kk.info.kanagawa-u.ac.jp>:
12         * elf32-mips.c (struct mips_elf_link_hash_table): Add new fields
13         use_rld_obj_head and rld_value.
14         (mips_elf_link_hash_table_create): Initialize new fields.
15         (mips_elf_add_symbol_hook): Mark __rld_obj_head symbol as
16         dynamic.
17         (mips_elf_create_dynamic_sections): Create .rld_map section.  If
18         __rld_obj_head symbol not seen, create an __rld_map symbol.
19         (mips_elf_size_dynamic_sections): Make space in .rld_map section.
20         Create a DT_MIPS_RLD_MAP entry rather than a DT_DEBUG entry.
21         (mips_elf_finish_dynamic_symbol): Save value of __rld_map or
22         __rld_obj_head symbol.
23         (mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP.
24
25 Mon Jul  8 16:18:03 1996  Ian Lance Taylor  <ian@cygnus.com>
26
27         * elf32-mips.c (mips_reloc_map): Remove BFD_RELOC_32_PCREL entry.
28
29         * elf32-ppc.c (ppc_elf_howto_raw): For R_PPC_ADDR16_HA, use
30         ppc_elf_addr16_ha_reloc.
31         (ppc_elf_addr16_ha_reloc): New static function.
32
33         * coff-mips.c (struct mips_hi): Define.
34         (mips_refhi_list): New static variable.
35         (mips_refhi_addr, mips_refhi_addend): Remove.
36         (mips_refhi_reloc): Maintain a list of unmatched REFHI relocs.
37         (mips_reflo_reloc): Process mips_refhi_list.
38         (mips_relhi_list): New static variable.
39         (mips_relhi_addr, mips_relhi_addend): Remove.
40         (mips_relhi_reloc): Maintain a list of unmatched RELHI relocs.
41         (mips_rello_reloc): Process mips_relhi_list.
42         (mips_relocate_section): Permit an arbitrary number of REFHI or
43         RELHI relocs before the associated REFLO or RELLO reloc.
44
45 Fri Jul  5 19:27:49 1996  Ian Lance Taylor  <ian@cygnus.com>
46
47         * aout-target.h (MY(callback)): Set reloc_count fields.
48
49 Thu Jul  4 12:00:37 1996  Ian Lance Taylor  <ian@cygnus.com>
50
51         * sunos.c (sunos_add_dynamic_symbols): Don't create dynamic
52         sections unless this is a SunOS link.
53
54         * VERSION: Set to 2.7.1.
55
56         * Released binutils 2.7.
57
58 Wed Jul  3 14:59:47 1996  Ian Lance Taylor  <ian@cygnus.com>
59
60         * i386aout.c: Include "aout/aout64.h".
61         (i386aout_write_object_contents): New static function.
62         (MY_write_object_contents): Define.
63
64         * netbsd.h (MY(write_object_contents)): Make sure that
65         adjust_sizes_and_vmas is called before fiddling with the magic
66         number.
67
68 Tue Jul  2 23:30:39 1996  Ian Lance Taylor  <ian@cygnus.com>
69
70         * stabs.c (_bfd_link_section_stabs): Fix casts of psinfo.
71
72 Sun Jun 30 13:34:33 1996  Ian Lance Taylor  <ian@cygnus.com>
73
74         * libbfd-in.h (itos, stoi): Don't define.
75         * libbfd.h: Rebuild.
76         * i386lynx.c (KEEPIT): Define as udata.i.
77         (NAME(lynx,swap_std_reloc_out)): Don't use stoi.
78         (NAME(lynx,swap_ext_reloc_out)): Likewise.
79         * riscix.c (riscix_swap_std_reloc_out): Use udata.i rather than
80         flags.  Don't use stoi.
81
82         * elf32-mips.c (ELF_MAGPAGESIZE): Change definition to 0x1000.
83
84         * elf.c (map_sections_to_segments): Don't start a new segment for
85         a writable section if it's on the same page as the previous
86         segment.  Reset the writable variable for a readonly section.
87
88 Sat Jun 29 16:18:51 1996  Kim Knuttila  <krk@cygnus.com>
89
90         * peicode.h (coff_swap_aouthdr_in): Missing initializations of
91         first_thunk_address, thunk_size, and import_table_size.
92         * peicode.h: Improved some diagnostics regarding edata sections.
93
94         * coff-ppc.c (coff_ppc_relocate_section): Earlier error check
95         on IMGLUE relocs.
96         (coff_ppc_relocate_section): Improved diagnostic for large TOCDEFN's.
97         (TARGET_LITTLE_SYM): Added missing D_PAGED.
98
99 Fri Jun 28 13:48:45 1996  Ian Lance Taylor  <ian@cygnus.com>
100
101         * xcofflink.c (xcoff_link_check_ar_symbols): An undefined symbol
102         with XCOFF_DEF_DYNAMIC set is really defined.
103         (xcoff_link_check_dynamic_ar_symbols): Likewise.
104         (xcoff_link_add_symbols): Only create special sections if using an
105         XCOFF hash table.
106
107         * reloc.c (bfd_perform_relocation): Handle xcoff-powermac like
108         aixcoff-rs6000.
109         (bfd_install_relocation): Likewise.
110
111 Fri Jun 28 11:17:00 1996  Richard Henderson  <rth@tamu.edu>
112
113         * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add flags
114         field.
115         (ALPHA_ELF_LINK_HASH_LU_ADDR): Define.
116         (ALPHA_ELF_LINK_HASH_LU_MEM): Define.
117         (ALPHA_ELF_LINK_HASH_LU_FUNC): Define.
118         (elf64_alpha_link_hash_newfunc): Initialize flags field.
119         (elf64_alpha_check_relocs): Record types of LITUSE entries that
120         are found for LITERAL relocs.
121         (elf64_alpha_adjust_dynamic_symbol): If a symbol has its address
122         taken, we cannot generate a .plt entry for the symbol.
123
124 Thu Jun 27 11:24:29 1996  Ian Lance Taylor  <ian@cygnus.com>
125
126         * configure.in: Add AC_ISC_POSIX, and check for setitimer and
127         sysconf functions (for gprof).
128         * configure, config.in: Rebuild.
129
130 Wed Jun 26 16:29:02 1996  Ian Lance Taylor  <ian@cygnus.com>
131
132         * ecoff.c (_bfd_ecoff_archive_p): Check the first object file in
133         an archive if it has a map.  If the object file has the wrong
134         xvec, reject it.
135
136         * coff-alpha.c (alpha_adjust_reloc_in): Set the addend for a
137         BRADDR, SREL16, SREL32, or SREL64 reloc against an external
138         symbol.
139         (alpha_relocate_section): Likewise.
140
141         * coffswap.h (coff_swap_reloc_out): Use RELSZ, not sizeof.
142         (coff_swap_filehdr_out): Use FILHSZ, not sizeof.
143         (coff_swap_sym_out): Use SYMESZ, not sizeof.
144         (coff_swap_aux_out): Use AUXESZ, not sizeof.
145         (coff_swap_lineno_out): Use LINESZ, not sizeof.
146         (coff_swap_aouthdr_out): Use AOUTSZ, not sizeof.
147         (coff_swap_scnhdr_out): Use SCNHSZ, not sizeof.
148         * peicode.h: Corresponding changes.
149
150 Tue Jun 25 15:28:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
151
152         * elflink.h (elf_create_pointer_linker_section): Comment out code
153         dealing with making GOT pointers negative of the GOT symbol for
154         now.
155
156 Tue Jun 25 11:41:24 1996  Richard Henderson  <rth@tamu.edu>
157
158         * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't
159         increment the .rela.plt size until after we're done creating the
160         .plt entry.
161         (elf64_alpha_finish_dynamic_symbol): Change .plt entry to load the
162         .rela.plt offset directly rather than calculating it.
163
164 Mon Jun 24 17:15:10 1996  Jason Molenda  (crash@godzilla.cygnus.co.jp)
165  
166         * Makefile.in, (bindir, libdir, datadir, mandir, infodir, includedir): 
167         Use autoconf-set values.
168         * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir, 
169         includedir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set 
170         values.
171         (docdir): Deleted.
172         * configure.in (AC_PREREQ): autoconf v2.5 or higher.
173         * configure: Rebuilt.
174  
175 Mon Jun 24 22:50:35 1996  Jeffrey A Law  (law@cygnus.com)
176
177         * som.c (som_write_fixups): Fix typo in R_END_TRY for exception
178         handling code > 1k away.
179
180 Mon Jun 24 18:41:06 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
181
182         * elflink.h (elf_create_pointer_linker_section): If DEBUG is
183         defined, output whenever the symbol is updated.
184
185 Mon Jun 24 17:58:12 1996  Jouke Numan  <jnuman@bazis.nl>
186
187         * elf.c (elf_fake_sections): Don't set sh_addr of a non SEC_ALLOC
188         section to 0 if user_set_vma is set.
189         * elflink.h (elf_bfd_final_link): Likewise.
190
191 Sun Jun 23 20:42:51 1996  Doug Evans  <dje@canuck.cygnus.com>
192
193         Partially undo patch of Jun 20.
194         * coffcode.h (coff_set_alignment_hook): Use COFF_IMAGE_WITH_PE.
195         (coff_compute_section_file_positions): Likewise.
196         (coff_write_object_contents): Likewise.  Re-add deleted code, but
197         use #ifdef COFF_WITH_PE, not COFF_OBJ_WITH_PE.
198         * peicode.h (pe_bfd_copy_private_bfd_data): Re-add #ifdef.
199
200 Fri Jun 21 17:38:15 1996  Joel Sherrill  <joel@merlin.gcs.redstone.army.mil>
201
202         * config.bfd: Add support for *-*-rtems* configurations.
203         
204 Fri Jun 21 15:19:59 1996  Ian Lance Taylor  <ian@cygnus.com>
205
206         * elf.c (prep_headers): Add bfd_arch_alpha case.
207
208 Fri Jun 21 12:35:27 1996  Richard Henderson  <rth@tamu.edu>
209
210         * elf64-alpha.c: New file.
211         * config.bfd (alpha-*-linuxecoff*): New target.
212         (alpha-*-linux*, alpha-*-elf*): New targets.
213         * configure.in (bfd_elf64_alpha_vec): New vector.
214         * configure: Rebuild.
215         * targets.c (bfd_elf64_alpha_vec): Declare.
216         (bfd_target_vector): Add bfd_elf64_alpha_vec if BFD64.
217         * reloc.c (BFD_RELOC_ALPHA_GPDISP): Define.
218         * bfd-in2.h, libbfd.h: Rebuild.
219         * Makefile.in: Rebuild dependencies.
220         (BFD64_BACKENDS): Add elf64-alpha.o.
221         (BFD64_BACKENDS_CFILES): Add elf64-alpha.c.
222
223 Thu Jun 20 18:14:25 1996  Ian Lance Taylor  <ian@cygnus.com>
224
225         * ecoff.c (ecoff_armap_hash): If hlog is 0, just return 0, rather
226         than relying on a right shift of 32.
227
228 Thu Jun 20 11:00:57 1996  Doug Evans  <dje@canuck.cygnus.com>
229
230         * coffcode.h (coff_set_alignment_hook): Change COFF_IMAGE_WITH_PE
231         ifdef to COFF_WITH_PE.
232         (coff_compute_section_file_positions): Likewise.
233         (coff_write_object_contents): Likewise.  Delete COFF_OBJ_WITH_PE.
234         * pe-{arm,i386,ppc}.c (COFF_OBJ_WITH_PE): Delete.
235         * peicode.h (pe_bfd_copy_private_bfd_data): Delete ifdef
236         COFF_IMAGE_WITH_PE, always include.
237
238         * peicode.h (coff_swap_scnhdr_out): ".drectve" doesn't have trailing 0.
239
240 Wed Jun 19 11:37:52 1996  Ian Lance Taylor  <ian@cygnus.com>
241
242         * elf.c (map_sections_to_segments): Fix up the test for -Ttext to
243         approximate the correct answer if SIZEOF_HEADERS was not used.
244
245         * binary.c (binary_set_section_contents): Set section file
246         position based on LMA rather than VMA.
247
248 Wed Jun 19 11:19:25 1996  Manfred Hollstein KS/EIC5 60/3/142 #40283  <manfred@lts.sel.alcatel.de>
249
250         * linker.c (_bfd_generic_link_output_symbols): Don't output any
251         symbols if info->strip == strip_all.
252
253 Tue Jun 18 15:17:36 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
254
255         * coff-h8300.c: Remove #if 0 code.
256         (compatable): Don't allow mixing/matching of different architectures.
257         
258         * archures.c (bfd_mach_h8300s): Add.
259         * bfd-in2.h: Rebuilt.
260         * coff-h8300.c (funcvec_hash_newfunc): Handle H8/S too.
261         (BADMAG): Likewise.
262         (h8300_reloc16_estimate): Likewise.
263         (h8300_reloc16_extra_cases): Likewise.
264         (h8300_bfd_link_add_symbols): Likewise.
265         * coffcode.h (coff_set_arch_mach_hook): Likewise.
266         (coff_set_flags): Likewise.
267         * cpu-h8300.c (h8300_scan): Likewise.
268         Add H8/S to bfd_h8300_arch list.
269
270 Tue Jun 18 14:42:58 1996  Klaus Kaempf  <kkaempf@progis.de>
271
272         Added support for Alpha OpenVMS:
273         * evax.h, evax-alpha.c, evax-egsd.c, evax-emh.c: New files.
274         * evax-etir.c, evax-misc.c, hosts/alphavms.h: New files.
275         * config.h-vms, makefile.vms: New files.
276         * config.bfd (alpha-*-*vms*): New target.
277         * configure.in (evax_alpha_vec): New target vector.
278         * configure: Rebuild.
279         * reloc.c (BFD_RELOC_SWREL32, BFD_RELOC_SWREL64): Define.
280         (BFD_RELOC_ALPHA_LINKAGE, BFD_RELOC_ALPHA_BASEREG): Define.
281         * targets.c (bfd_target_evax_flavour): Define.
282         (evax_alpha_vec): Declare.
283         (bfd_target_vector): Add ecoffalpha_little_vec and evax_alpha_vec
284         if BFD64 is defined.
285         * bfd-in2.h, libbfd.h: Rebuild.
286         * Makefile.in: Rebuild dependencies.
287         (BFD64_BACKENDS): Add evax-alpha.o, evax-egsd.o, evax-etir.o,
288         evax-emh.o, and evax-misc.o.
289         (BFD64_BACKENDS_CFILES): Add evax-alpha.c, evax-egsd.c,
290         evax-etir.c, evax-emh.c, and evax-misc.c.
291         (HFILES): Add evax.h.
292
293 Tue Jun 18 13:54:18 1996  Ian Lance Taylor  <ian@cygnus.com>
294
295         * coff-h8300.c (h8300_reloc16_extra_cases): Make name a const
296         pointer.
297         (h8300_bfd_link_add_symbols): Likewise.
298
299 Mon Jun 17 10:06:50 1996  Jeffrey A. Law  <law@rtl.cygnus.com>
300
301         * som.h (R_HPPA_BEGIN_TRY, R_HPPA_END_TRY): Define.
302         * som.c (som_write_fixups): Handle R_BEGIN_TRY and R_END_TRY.
303
304 Mon Jun 17 12:49:11 1996  Ian Lance Taylor  <ian@cygnus.com>
305
306         * elf32-mips.c (mips_elf_relocate_section): Don't create a reloc
307         for R_MIPS_REL32 and R_MIPS_32 relocs if no dynamic sections were
308         created.
309         (mips_elf_check_relocs): Only create .rel.dyn for R_MIPS_REL32 and
310         R_MIPS_32 relocs if creating a shared library.
311
312 Thu Jun 13 20:14:51 1996  Doug Evans  <dje@canuck.cygnus.com>
313
314         * peicode.h (add_data_entry): Use pei_section_data rather than
315         _cooked_size.  Corresponds to May 13 change in coffcode.h.
316
317 Thu Jun 13 10:23:40 1996  Ian Lance Taylor  <ian@cygnus.com>
318
319         * cofflink.c (_bfd_coff_final_link): Handle long section names.
320         * coffcode.h (coff_write_object_contents): If there are long
321         section names, always set the f_symptr field, even if there are no
322         symbols.
323         * peicode.h (coff_swap_filehdr_in): Don't clear the f_symptr field
324         if there are no symbols.
325
326         * coffgen.c (make_a_section_from_file): Check return value of
327         _bfd_coff_read_string_table.
328         (coff_real_object_p): Check return value of
329         make_a_section_from_file.
330         (_bfd_coff_read_string_table): Check that there are some symbols
331         before trying to read the string table size.
332
333 Wed Jun 12 11:16:37 1996  Ian Lance Taylor  <ian@cygnus.com>
334
335         * xcofflink.c (xcoff_link_add_symbols): When considering whether
336         to replace a symbol in a dynamic object with a symbol from another
337         dynamic object, do the replacement if the existing symbol is
338         global linkage code.
339
340         * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Check explicitly
341         for _ptrgl, and treat it as global linkage code.
342
343         * aoutx.h (NAME(aout,find_nearest_line)): Notice if we find a
344         filename or N_SO symbol past the offset, and use it to indicate
345         that there is no line number or function when appropriate.
346
347 Tue Jun 11 15:24:48 1996  Ian Lance Taylor  <ian@cygnus.com>
348
349         * xcofflink.c (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR for a
350         common symbol defined by the linker.  Don't export function code
351         even if export_defineds is set.
352
353 Mon Jun 10 11:57:27 1996  Jeffrey A Law  (law@cygnus.com)
354
355         * coff-h8300.c (howto_table): Add new entries for R_BCC_INV
356         and R_JMP_DEL.
357         (rtype2howto): Handle R_BCC_INV and R_JMP_DEL.
358         (h8300_symbol_address_p): New function.
359         (h8300_reloc16_estimate): Eliminate jumps made unnecessary by
360         relaxing.
361
362 Sun Jun  9 16:30:20 1996  Jeffrey A Law  (law@cygnus.com)
363
364         * coff-h8300.c (h8300_reloc16_estimate): Fix many minor spacing
365         problems.
366         (h8300_reloc16_estimate, cases R_JMP1, R_JMP2): Adjust "dot"
367         correctly for the two variants.  Allow relaxing if the target
368         is 128 bytes away since after relaxation it'll be 126 bytes away.
369         (h8300_reloc16_estimate, case R_PCRWORD): Correctly adjust
370         "dot" and "value".  Allow relaxing if the target is 128 bytes
371         away since after relaxation it'll be 126 bytes away.
372         * reloc16.c (bfd_coff_reloc16_relax_section): Keep relaxing
373         the given section until nothing changes.
374
375 Thu Jun  6 15:24:45 1996  Richard Henderson  <rth@tamu.edu>
376
377         * ecoff.c (_bfd_ecoff_new_section_hook): Remove the _PDATA
378         alignment hack--we can get the lnnoptr info another way without
379         suddenly increasing the alignment requirements.  Set the flags for
380         the _PDATA section.
381         (ecoff_compute_section_file_positions): Do so.
382
383 Thu Jun  6 11:24:37 1996  Ian Lance Taylor  <ian@cygnus.com>
384
385         * ieee.c (ieee_write_object_contents): Put a timestamp in the file
386         to keep the HP emulator database happy.
387
388         * config.bfd: Recognize powerpc-*-linux* and powerpcle-*-linux*.
389         From Kevin Buettner <kev@primenet.com>.
390
391 Wed Jun  5 15:16:04 1996  Ian Lance Taylor  <ian@cygnus.com>
392
393         * aoutx.h (translate_to_native_sym_flags): Don't try to print the
394         name of a NULL section.
395
396 Tue Jun  4 18:53:58 1996  Ian Lance Taylor  <ian@cygnus.com>
397
398         * linker.c (_bfd_generic_link_add_one_symbol): If notice_all is
399         set, always call the notice callback.
400
401         * VERSION: Increment for bfdlink.h change.
402
403 Mon Jun  3 11:01:53 1996  Ian Lance Taylor  <ian@cygnus.com>
404
405         * coff-sh.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set to 4.
406         (sh_relax_delete_bytes): Correct handling of differently sized
407         trailing alignment reloc.
408
409         * bfd-in.h: Use #error if BFD_HOST_64_BIT can not be defined.
410         * bfd-in2.h: Rebuild.
411         * configure.in: Warn if there is no known 64 bit type.
412         * configure: Rebuild.
413
414         * Makefile.in: Rebuild dependencies.
415         (BFD32_BACKENDS): Add ppcboot.o.
416         (BFD32_BACKENDS_CFILES): Add ppcboot.c.
417
418         * elf32-mips.c (mips_elf_size_dynamic_sections): Initialize c.
419         From Per Fogelstrom <per.fogelstrom@mailbox200.swipnet.se>.
420
421 Sat Jun  1 21:49:58 1996  Ian Lance Taylor  <ian@cygnus.com>
422
423         * elf64-mips.c (bfd_mips_elf64_swap_reginfo_in)
424         (bfd_mips_elf64_swap_reginfo_out): Move from here...
425         * elf32-mips.c (bfd_mips_elf64_swap_reginfo_in)
426         (bfd_mips_elf64_swap_reginfo_out): ...to here.
427
428 Fri May 31 13:51:28 1996  Ian Lance Taylor  <ian@cygnus.com>
429
430         * elf64-mips.c: Improve reloc special_functions and handling of
431         SHT_MIPS_OPTIONS section.
432         * elf32-mips.c (_bfd_mips_elf_hi16_reloc): Rename from
433         mips_elf_hi16_reloc and make globally visible.
434         (_bfd_mips_elf_lo16_reloc): Rename from mips_elf_lo16_reloc and
435         make globally visible.
436         (_bfd_mips_elf_got16_reloc): Rename from mips_elf_got16_reloc and
437         make globally visible.
438         (_bfd_mips_elf_gprel16_reloc): Rename from mips_elf_gprel16_reloc
439         and make globally visible.
440         (gprel16_with_gp): Check howto->src_mask before using value in
441         insn.
442         (_bfd_mips_elf_gprel32_reloc): Rename from mips_elf_gprel32_reloc
443         and make globally visible.
444         (gprel32_with_gp): Check howto->src_mask before fetching value.
445         (bfd_mips_elf_swap_options_in): New function.
446         (bfd_mips_elf_swap_options_out): New function.
447         (_bfd_mips_elf_set_private_flags): Rename from
448         mips_elf_set_private_flags and make globally visible.
449         (_bfd_mips_elf_copy_private_bfd_data): Rename from
450         mips_elf_copy_private_bfd_data and make globally visible.
451         (_bfd_mips_elf_merge_private_bfd_data): Rename from
452         mips_elf_merge_private_bfd_data and make globally visible.
453         (_bfd_mips_elf_section_from_shdr): Accept .MIPS.options as a name
454         for a SHT_MIPS_OPTIONS section.
455         (mips_elf32_section_from_shdr): Handle SHT_MIPS_OPTIONS section.
456         (_bfd_mips_elf_fake_sections): Consider .MIPS.options to be the
457         name of a SHT_MIPS_OPTIONS section.
458         (_bfd_mips_elf_set_section_contents): New function.
459         (mips_elf32_section_processing): Set the GP value in a
460         SHT_MIPS_OPTIONS section.
461         (_bfd_mips_elf_find_nearest_line): Rename from
462         mips_elf_find_nearest_line and make globally visible.
463         (bfd_elf32_set_section_contents): Define.
464         * elf-bfd.h (_bfd_mips_elf_hi16_reloc): Declare.
465         (_bfd_mips_elf_lo16_reloc): Declare.
466         (_bfd_mips_elf_gprel16_reloc): Declare.
467         (_bfd_mips_elf_got16_reloc): Declare.
468         (_bfd_mips_elf_gprel32_reloc): Declare.
469         (_bfd_mips_elf_set_private_flags): Declare.
470         (_bfd_mips_elf_copy_private_bfd_data): Declare.
471         (_bfd_mips_elf_merge_private_bfd_data): Declare.
472         (_bfd_mips_elf_find_nearest_line): Declare.
473         (_bfd_mips_elf_set_section_contents): Declare.
474
475         * elf32-hppa.c (elf32_hppa_info_to_howto): Rename from
476         elf_info_to_howto.
477         (elf_info_to_howto): Define.
478         * elf32-sparc.c (elf32_sparc_info_to_howto): Rename from
479         elf_info_to_howto.
480         (elf_info_to_howto): Define.
481         * elf64-sparc.c (sparc64_elf_info_to_howto): Rename from
482         elf_info_to_howto.
483         (elf_info_to_howto): Define.
484
485         * coff-w65.c (h8300_reloc16_estimate): Rename R_MOVB[12] to
486         R_MOV16B[12], to match change in coff/internal.h.
487
488 Thu May 30 12:38:49 1996  Ian Lance Taylor  <ian@cygnus.com>
489
490         * elf64-mips.c: Extensive additions to provide better support for
491         writing files and for gas.
492         * elf32-mips.c (_bfd_mips_elf_object_p): New function, broken out
493         of mips_elf_object_p.
494         (mips_elf32_object_p): Rename from mips_elf_object_p; call
495         _bfd_mips_elf_object_p.
496         (_bfd_mips_elf_final_write_processing): Rename from
497         mips_elf_final_write_processing and make globally visible.
498         (_bfd_mips_elf_fake_sections): Rename from
499         mips_elf_fake_sections and make globally visible.
500         (_bfd_mips_elf_section_from_bfd_section): Rename from
501         mips_elf_section_from_bfd_section and make globally visible.
502         (_bfd_mips_elf_section_processing): New function, broken out of
503         mips_elf_section_processing.
504         (mips_elf32_section_processing): Rename from
505         mips_elf_section_processing; call
506         _bfd_mips_elf_section_processing.
507         (_bfd_mips_elf_symbol_processing): Rename from
508         mips_elf_symbol_processing and make globally visible.
509         (_bfd_mips_elf_read_ecoff_info): Rename from
510         mips_elf_read_ecoff_info and make globally visible.
511         (mips_elf32_ecoff_debug_swap): Rename from
512         mips_elf_ecoff_debug_swap.
513         * elf.c (_bfd_elf_symbol_from_bfd_symbol): Use asymbol rather than
514         struct symbol_cache_entry.
515         (_bfd_elf_validate_reloc): New function, moved in from
516         elfcode.h:validate_reloc.
517         * elfcode.h (validate_reloc): Remove; moved into elf.c and renamed
518         to _bfd_elf_validate_reloc.  Change all callers.
519         * elf-bfd.h (bfd_section_from_shdr): Declare.
520         (_bfd_elf_symbol_from_bfd_symbol): Declare.
521         (_bfd_elf_validate_reloc): Declare.
522         (_bfd_mips_elf_object_p): Declare.
523         (_bfd_mips_elf_fake_sections): Declare.
524         (_bfd_mips_elf_section_from_bfd_section): Declare.
525         (_bfd_mips_elf_section_processing): Declare.
526         (_bfd_mips_elf_symbol_processing): Declare.
527         (_bfd_mips_elf_read_ecoff_info): Declare.
528         (_bfd_mips_elf_final_write_processing): Declare.
529         * elfxx-target.h (bfd_elfNN_get_reloc_upper_bound): Don't define
530         if already defined.
531
532         * elf32-mips.c (mips_elf_object_p): Handle E_MIPS_ARCH_4.
533         (mips_elf_final_write_processing): Likewise.
534
535 Wed May 29 16:15:29 1996  Ian Lance Taylor  <ian@cygnus.com>
536
537         64-bit MIPS ELF ABI objdump support:
538         * elf64-mips.c: New file.
539         * Makefile.in: Rebuild dependencies.
540         (BFD64_BACKENDS): Add elf64-mips.o.
541         (BFD64_BACKENDS_CFILES): Add elf64-mips.c.
542         * config.bfd (mips*el-*-elf*) Add bfd_elf64_bigmips_vec and
543         bfd_elf64_littlemips_vec to targ_selvecs.
544         (mips*-*-elf*): Likewise.
545         * confingure.in: Add bfd_elf64_bigmips_vec and
546         bfd_elf64_littlemips_vec to vector switch.
547         * configure: Rebuild.
548         * elf32-mips.c (_bfd_mips_elf_section_from_shdr): New function,
549         broken out of mips_elf_section_from_shdr.
550         (mips_elf32_section_from_shdr): Rename from
551         mips_elf_section_from_shdr.  Call new function.
552         (elf_backend_section_from_shdr): Update name of renamed function.
553         * elf-bfd.h (struct elf_size_info): Change second parameter of
554         write_out_phdrs to be const.  Likewise for second parameter of
555         swap_symbol_out.
556         (struct bfd_elf_section_data): Add rel_hdr2 field.
557         (bfd_elf32_swap_symbol_in): Change second parameter to be const.
558         (bfd_elf32_swap_symbol_out): Likewise.
559         (bfd_elf32_swap_reloc_in): Likewise.
560         (bfd_elf32_swap_reloc_out): Likewise.
561         (bfd_elf32_swap_reloca_in): Likewise.
562         (bfd_elf32_swap_reloca_out): Likewise.
563         (bfd_elf32_swap_phdr_in): Likewise.
564         (bfd_elf32_swap_phdr_out): Likewise.
565         (bfd_elf32_swap_dyn_in): Likewise.
566         (bfd_elf32_swap_dyn_out): Likewise.
567         (bfd_elf32_slurp_symbol_table): Declare.
568         (bfd_elf32_write_shdrs_and_ehdr): Declare.
569         (bfd_elf32_write_out_phdrs): Declare.
570         (bfd_elf64_swap_symbol_in): Change second parameter to be const.
571         (bfd_elf64_swap_symbol_out): Likewise.
572         (bfd_elf64_swap_reloc_in): Likewise.
573         (bfd_elf64_swap_reloc_out): Likewise.
574         (bfd_elf64_swap_reloca_in): Likewise.
575         (bfd_elf64_swap_reloca_out): Likewise.
576         (bfd_elf64_swap_phdr_in): Likewise.
577         (bfd_elf64_swap_phdr_out): Likewise.
578         (bfd_elf64_swap_dyn_in): Likewise.
579         (bfd_elf64_swap_dyn_out): Likewise.
580         (bfd_elf64_slurp_symbol_table): Declare.
581         (bfd_elf64_write_shdrs_and_ehdr): Declare.
582         (bfd_elf64_write_out_phdrs): Declare.
583         (_bfd_mips_elf_section_from_shdr): Declare.
584         * elf.c (bfd_section_from_shdr): Remove assertion requiring
585         SHT_REL/SHT_RELA to match use_rela_p.  If there is already a reloc
586         section for the section, add the new one to rel_hdr2.  Increment
587         reloc_count rather than setting it.
588         * elfcode.h (elf_slurp_symbol_table): Define name as macro.
589         Remove static declaration.
590         (elf_write_shdrs_and_ehdr): Define name as macro.
591         (elf_write_out_phdrs): Likewise.
592         (elf_swap_ehdr_in, elf_swap_ehdr_out): Declare.
593         (elf_swap_shdr_in, elf_swap_shdr_out): Declare.
594         (elf_swap_symbol_in): Change second parameter to be const.
595         (elf_swap_symbol_out): Likewise.
596         (elf_swap_ehdr_in, elf_swap_ehdr_out): Likewise.
597         (elf_swap_shdr_in, elf_swap_shdr_out): Likewise.
598         (elf_swap_phdr_in, elf_swap_phdr_out): Likewise.
599         (elf_swap_reloc_in, elf_swap_reloc_out): Likewise.
600         (elf_swap_reloca_in, elf_swap_reloca_out): Likewise.
601         (elf_write_out_phdrs): Rename from write_out_phdrs.  Change second
602         parameter to be const.  Make non-static.
603         (elf_write_shdrs_and_ehdr): Rename from write_shdrs_and_ehdr.
604         Make non-static.
605         (elf_slurp_symbol_table): Make non-static.
606         (NAME(_bfd_elf,size_info)): Update names of renamed functions.
607         * elfxx-target.h (elf_info_to_howto): Define if not defined.
608         (elf_backend_size_info): Likewise.
609         (elfNN_bed): Use elf_backend_size_info.
610         * targets.c (bfd_elf64_bigmips_vec): Declare.
611         (bfd_elf64_littlemips_vec): Declare.
612         (bfd_target_vector): Add bfd_elf64_bigmips_vec and
613         bfd_elf64_littlemips_vec if BFD64 is defined.
614         
615         * libbfd.c (bfd_get_file_window): Add cast to fprintf argument.
616
617 Tue May 28 11:42:08 1996  Ian Lance Taylor  <ian@cygnus.com>
618
619         * coff-sh.c (sh_relax_delete_bytes): Insert nop instructions, not
620         zeroes, in alignment holes.
621
622         * configure: Rebuild with autoconf 2.10.
623
624         * aoutx.h (NAME(aout,find_nearest_line)): Make room for the
625         potential leading underscore in the allocated buffer.
626
627 Fri May 24 14:28:38 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
628
629         * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not put small common
630         symbols into .sbss if this is a relocatable link.
631
632 Thu May 23 12:26:24 1996  Ian Lance Taylor  <ian@cygnus.com>
633
634         * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Warn about
635         undefined symbols when creating a shared library.
636
637 Fri May 17 13:54:15 1996  Ian Lance Taylor  <ian@cygnus.com>
638
639         * coff-sh.c: Add a bunch of new code and static const arrays to
640         support aligning loads and stores on four byte memory boundaries.
641         Also:
642         (sh_coff_howtos): Add entries for R_SH_CODE, R_SH_DATA and
643         R_SH_LABEL.
644         (sh_relax_section): Look for R_SH_CODE relocs.  If we find one,
645         call sh_align_loads.
646         (sh_relax_delete_bytes): Don't mark R_SH_CODE or R_SH_DATA relocs
647         as unused.
648
649 Thu May 16 16:34:13 1996  Ian Lance Taylor  <ian@cygnus.com>
650
651         * cache.c (bfd_open_file): Unlink the file before opening it for
652         write.  From Marty Leisner <leisner@sdsp.mc.xerox.com>.
653
654         * opncls.c (bfd_fdopenr): Set opened_once.
655
656 Tue May 14 12:35:32 1996  Ian Lance Taylor  <ian@cygnus.com>
657
658         * som.c (som_slurp_reloc_table): Clear external_relocs cache after
659         freeing it.
660
661         * libbfd.c: Remove #ifdef FILE_OFFSET_IS_CHAR_INDEX, and compile
662         the code unconditionally.
663
664 Mon May 13 19:51:37 1996  Ian Lance Taylor  <ian@cygnus.com>
665
666         * libcoff-in.h (struct pei_section_tdata): Define structure.
667         (pei_section_data): Define macro.
668         * libcoff.h: Rebuild.
669         * coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE,
670         store s_paddr field in pei_section_data.
671         (coff_compute_section_file_positions): Use pei_section_data rather
672         than _cooked_size, and don't overwrite an existing value.
673         (coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to
674         0.  If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data.
675         * peicode.h (coff_bfd_copy_private_section_data): Define if
676         COFF_IMAGE_WITH_PE.
677         (pe_bfd_copy_private_section_data): New static function if
678         COFF_IMAGE_WITH_PE.
679
680 Wed May  8 16:10:38 1996  Ian Lance Taylor  <ian@cygnus.com>
681
682         * srec.c (srec_set_arch_mach): Write as a function rather than a
683         macro definition.
684
685         * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): If an archive has
686         no map, just check each member in turn to see whether it is
687         required.
688
689 Wed May  8 09:17:34 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
690
691         * ppcboot.c (ppcboot_object_p): Check for type 0x41 in partition
692         table.  Call BFD_ASSERT to validate header size, instead of
693         calling fatal.
694         (ppcboot_bfd_print_private_bfd_data): Put quotes around partition
695         name.
696
697 Tue May  7 16:10:19 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
698
699         * ppcboot.c: New target for looking at PPCbug boot records.
700
701         * config{ure.in,.bfd}: Add support for ppcboot target.
702         * targets.c: Ditto.
703         * configure: Regenerate.
704                 
705 Tue May  7 11:15:19 1996  Jeffrey A Law  (law@cygnus.com)
706
707         * coff-h8300.c (howto_table): Update names to match recent
708         changes to include/coff/internal.h.  Fix minor errors in the
709         existing relocs.  Add R_MOVL1 and R_MOVL2.
710         (rtype2howto): Similarly.
711         (h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the
712         existing relaxing code  and peform more relaxing.
713         (h8300_reloc16_extra_cases): Likewise.
714
715 Mon May  6 18:24:09 1996  Jeffrey A Law  (law@cygnus.com)
716
717         * reloc16.c (bfd_coff_reloc16_get_value): Handle common
718         symbols correctly.
719
720 Sat May  4 05:08:45 1996  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
721
722         * elfcode.h (elf_object_p):  Reject generic ELF target if
723         e_machine matches an alternate machine code in a specific backend.
724
725         * netbsd-core.c (netbsd_core_vec):  Remove initializer for
726         obsolete align_power_min field.
727
728 Fri May  3 13:07:35 1996  Jeffrey A Law  (law@cygnus.com)
729
730         * coff-h8300.c (reloc_howto_type): Add howto entry for
731         R_PCRWORD_B.
732         (rtype2howto): Handle R_PCRWORD_B.
733         (h8300_reloc16_extra_cases): Handle R_PCRWORD_B.
734         (h8300_reloc_16_estimate): Likewise.  Try to turn a 16bit
735         pc-relative branch (R_PCRWORD) into an 8bit pc-relative
736         branch (R_PCWORD_B).
737
738 Fri May  3 10:47:41 1996  Ian Lance Taylor  <ian@cygnus.com>
739
740         * aoutx.h (translate_from_native_sym_flags): Set the section for
741         BSF_CONSTRUCTOR symbols.
742
743         * cofflink.c (_bfd_coff_link_input_bfd): Correct setting of
744         last_bf_index.
745
746 Wed May  1 18:39:32 1996  Doug Evans  <dje@canuck.cygnus.com>
747
748         * coffcode.h (coff_write_object_contents): In comdat section lookup,
749         stop looking when section is found.
750
751 Wed May  1 14:17:57 1996  Ian Lance Taylor  <ian@cygnus.com>
752
753         * coffcode.h (STRING_SIZE_SIZE): Define.
754         (styp_to_sec_flags): Handle long symbol names when looking for the
755         section symbol.
756         (bfd_coff_backend_data): Add _bfd_coff_long_section_names field.
757         (bfd_coff_long_section_names): Define.
758         (coff_write_object_contents): Handle long section names.
759         (bfd_coff_std_swap_table): Initialize new field.
760         * libcoff.h: Rebuild.
761         * coffgen.c (make_a_section_from_file): Handle long section
762         names.
763         (coff_write_symbols): Handle long section names.
764         * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
765         * coff-mips.c (mips_ecoff_backend_data): Likewise.
766         * pe-arm.c (COFF_LONG_SECTION_NAMES): Define.
767         * pei-arm.c (COFF_LONG_SECTION_NAMES): Define.
768         * pe-i386.c (COFF_LONG_SECTION_NAMES): Define.
769         * pei-i386.c (COFF_LONG_SECTION_NAMES): Define.
770         * pe-ppc.c (COFF_LONG_SECTION_NAMES): Define.
771         * pei-ppc.c (COFF_LONG_SECTION_NAMES): Define.
772
773         * bout.c (b_out_callback): Set lma of sections.
774         (b_out_bfd_get_relocated_section_contents): Rename in_abfd
775         parameter to output_bfd.  Used input_bfd instead of output_bfd in
776         several places.
777
778 Tue Apr 30 17:56:39 1996  Ian Lance Taylor  <ian@cygnus.com>
779
780         * aoutx.h (translate_from_native_sym_flags): Don't create
781         SEC_CONSTRUCTOR sections.
782         * ecoff.c (ecoff_set_symbol_info): Likewise.
783
784         * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp.
785         From Don Bowman <bowman@waterloo.hp.com>.
786
787 Tue Apr 30 17:06:32 1996  Doug Evans  <dje@canuck.cygnus.com>
788
789         * coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, add
790         SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
791
792 Mon Apr 29 13:15:17 1996  Ian Lance Taylor  <ian@cygnus.com>
793
794         * elf32-mips.c (struct mips_elf_link_hash_entry): Add
795         mips_32_relocs field.
796         (mips_elf_link_hash_newfunc): Initialize mips_32_relocs field.
797         (mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32
798         relocs against a global symbol which is not defined in a regular
799         file.
800         (mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc
801         against a global symbol, increment mips_32_relocs.
802         (mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and
803         the symbol is not defined in a regular file, make room in the
804         .rel.dyn section.
805
806 Fri Apr 26 18:00:37 1996  Ian Lance Taylor  <ian@cygnus.com>
807
808         * ecoff.c (ecoff_compute_section_file_positions): Track the real
809         file position and the virtual file position separately.  Set
810         filepos information bsaed on the real file position.
811         (_bfd_ecoff_set_section_contents): Handle .lib sections like the
812         Jan 23 change to coffcode.h.
813
814         * som.c (som_slurp_symbol_table): Set the symbol count to the
815         number of BFD symbols created.
816
817 Fri Apr 26 12:34:29 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
818
819         * elf32-ppc.c (ppc_elf_check_relocs): Forward relocations to the
820         output file if linking shared objects.  Loop to check all relocs,
821         rather than returning false on first error.
822
823 Thu Apr 25 13:25:12 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
824
825         * elf32-ppc.c (ppc_elf_create_linker_section): Add PLT case.
826         (ppc_elf_additional_program_headers): If .interp section, bump #
827         of program headers by 1.
828         (ppc_elf_adjust_dynamic_symbol): Flesh out support.
829         (ppc_elf_size_dynamic_sections): Add support for .plt section.
830         (ppc_elf_check_relocs): Print out filename in debug code.  Enable
831         PLT support.
832         (ppc_elf_finish_dynamic_symbol): Add support for PLT's, beef up
833         debug output.
834         (ppc_elf_relocate_section): If the output section isn't defined,
835         don't abort, just give an error message.
836
837         * elflink.c (_bfd_elf_create_dynamic_sections): If the section
838         being created is .sdata or .sdata2, don't make the symbol dynamic.
839
840 Wed Apr 24 14:04:07 1996  Ian Lance Taylor  <ian@cygnus.com>
841
842         * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the
843         members of an archive for dynamic objects with no symbols, and
844         pass them directly to check_archive_element.
845         (xcoff_link_check_ar_symbols): Pass dynamic objects to
846         xcoff_link_check_dynamic_ar_symbols.
847         (xcoff_link_check_dynamic_ar_symbols): New static function.
848
849         * coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC
850         from _bfd_nodynamic to _bfd_xcoff.
851         * libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound):
852         Declare.
853         (_bfd_xcoff_canonicalize_dynamic_symtab): Declare.
854         (_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare.
855         (_bfd_xcoff_canonicalize_dynamic_reloc): Declare.
856         * libcoff.h: Rebuild.
857         * xcofflink.c (xcoff_swap_ldrel_in): New static function.
858         (xcoff_get_section_contents): New static function.
859         (_bfd_xcoff_get_dynamic_symtab_upper_bound): New function.
860         (_bfd_xcoff_canonicalize_dynamic_symtab): New function.
861         (_bfd_xcoff_get_dynamic_reloc_upper_bound): New function.
862         (xcoff_dynamic_reloc): New static variable.
863         (_bfd_xcoff_canonicalize_dynamic_reloc): New function.
864         (xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents.
865         
866 Tue Apr 23 12:48:42 1996  Ian Lance Taylor  <ian@cygnus.com>
867
868         * coff-sparc.c (bfd_coff_generic_reloc): Return bfd_reloc_ok even
869         if reloc_entry->addend is not 0.
870         (CALC_ADDEND): Just set the addend to reloc.r_offset.
871
872 Mon Apr 22 18:29:01 1996  Doug Evans  <dje@canuck.cygnus.com>
873
874         * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling of
875         R_SPARC_GLOB_JMP.
876         * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
877         Add entries for R_SPARC_[56].
878         (sparc_reloc_map): Add entries for R_SPARC_[56].
879
880 Mon Apr 22 15:07:24 1996  Ian Lance Taylor  <ian@cygnus.com>
881
882         Optimize linking of stabs in sections as used in ELF and COFF.
883         * stabs.c: New file.
884         * libbfd-in.h (_bfd_link_section_stabs): Declare.
885         (_bfd_write_section_stabs): Declare.
886         (_bfd_write_stab_strings): Declare.
887         * libbfd.h: Rebuild.
888         * libcoff-in.h (struct coff_section_tdata): Add stab_info field.
889         (struct coff_link_hash_table): Add stab_info field.
890         * libcoff.h: Rebuild.
891         * cofflink.c (_bfd_coff_link_hash_table_init): Initialize
892         stab_info field.
893         (coff_link_add_symbols): Call _bfd_link_section_stabs if
894         appropriate.
895         (_bfd_coff_final_link): Write out stab strings hash table.
896         (_bfd_coff_link_input_bfd): Handle optimized stabs sections.
897         * coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings
898         hash table.
899         * elf-bfd.h (struct elf_link_hash_table): Add stab_info field.
900         (struct bfd_elf_section_data): Add stab_info field.
901         * elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info
902         field.
903         * elflink.h (elf_link_add_object_symbols): If appropriate, call
904         _bfd_link_section_stabs.
905         (elf_bfd_final_link): Write out stab strings hash table.
906         (elf_link_input_bfd): Handle optimized stabs sections.
907         * reloc.c (_bfd_final_link_relocate): Check address against
908         _raw_size rather than _cooked_size.
909         * Makefile.in: Rebuild dependencies.
910         (BFD_LIBS): Add stabs.o
911         (BFD_LIBS_CFILES): Add stabs.c.
912
913         * VERSION: Increment for bfdlink.h change.
914
915         * coffgen.c (coff_renumber_symbols): Correct handling of
916         BSF_NOT_AT_END common symbols.
917
918 Fri Apr 19 19:21:56 1996  Ian Lance Taylor  <ian@cygnus.com>
919
920         * coff-ppc.c (record_toc): Add cast to avoid warning.
921         (ppc_allocate_toc_section): Likewise.
922         (coff_ppc_relocate_section): Remove ANSI C string concatenation.
923         (ppc_coff_reloc_type_lookup): Remove unreached code.
924         * coffcode.h (coff_write_object_contents): Don't take the address
925         of an array.
926         * peicode.h (pe_print_idata): Add casts to avoid warning.
927         (pe_print_edata): Likewise.
928         (pe_print_reloc): Remove ANSI C string concatenation.
929
930 Thu Apr 18 18:51:18 1996  Ian Lance Taylor  <ian@cygnus.com>
931
932         * libcoff-in.h (struct coff_final_link_info): Add last_bf_index
933         and last_bf fields.
934         * libcoff.h: Rebuild.
935         * coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN
936         symbols.
937         (coff_swap_aux_out): Likewise.
938         * peicode.h (coff_swap_aux_in): Likewise.
939         (coff_swap_aux_out): Likewise.
940         * coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN
941         symbols.
942         * cofflink.c (_bfd_coff_final_link): Initialize last_bf_index
943         field.
944         (_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols.
945         Fix up .bf endndx link fields.
946         * coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index
947         field.
948         * xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN
949         symbols.
950
951 Wed Apr 17 12:08:24 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
952
953         * pe{,i}-ppc.c (PPC_PE): Define instead of PPC, so that compiling
954         on Solaris PowerPC systems doesn't get confused.
955
956         * ccffcode.h (coff_write_object_contents): Use #ifdef PPC_PE, not
957         #ifdef PPC.
958
959         * elfcore.h (bfd_prstatus, bfd_fpregset): Add thread argument.
960         (elf_corefile_note): If HAVE_SYS_PROCFS_H is not defined, don't
961         update did_reg and did_reg2.
962
963 Wed Apr 17 13:07:37 1996  Ian Lance Taylor  <ian@cygnus.com>
964
965         * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow.
966
967         * linker.c (_bfd_generic_link_add_one_symbol): When calling the
968         callback routines, pass h->root.string rather than name, in case
969         copy is true and name is transient.
970
971 Tue Apr 16 16:36:38 1996  Stu Grossman  (grossman@lisa.cygnus.com)
972
973         * elfcore.h:  Add support for core files with multiple threads.
974         (Primarily for Solaris.)
975
976 Tue Apr 16 13:44:08 1996  Ian Lance Taylor  <ian@cygnus.com>
977
978         * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if
979         section->orelocation is NULL.
980
981         * coffgen.c (bfd_coff_get_syment): New function.
982         (bfd_coff_get_auxent): New function.
983         * bfd-in.h (bfd_coff_get_syment): Declare.
984         (bfd_coff_get_auxent): Declare.
985         * bfd-in2.h: Rebuild.
986
987 Mon Apr 15 19:06:59 1996  Ian Lance Taylor  <ian@cygnus.com>
988
989         * elf32-mips.c (struct mips_hi16): Define.
990         (mips_hi16_addr, mips_hi16_addend): Remove.
991         (mips_hi16_list): New static variable.
992         (mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs.
993         (mips_elf_lo16_reloc): Process mips_hi16_list.
994         (mips_elf_relocate_section): Permit an arbitrary number of HI16
995         relocs before the associated LO16 reloc.
996
997 Wed Apr 10 00:23:53 1996  Ian Lance Taylor  <ian@cygnus.com>
998
999         * versados.c (versados_scan): Check bfd_alloc return value.
1000         (versados_object_p): Check all bfd_read return values.  Require
1001         that lang field be less than 10, to avoid confusion with Intel Hex
1002         files.
1003
1004         * libaout.h (WRITE_HEADERS): Write out the relocs even if there
1005         aren't any symbols.
1006         * aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS,
1007         not 0, for an absolute symbol.
1008         (NAME(aout,swap_ext_reloc_out)): Likewise.
1009
1010         * ihex.c (ihex_scan): Accept a length of 4 for record type 5.
1011         (ihex_write_object_contents): For a large start address, output
1012         the full 32 bit address in record type 5.
1013
1014         * ieee.c (ieee_write_byte): Change second parameter from bfd_byte
1015         to int to avoid promotion problems in prototype.
1016
1017 Tue Apr  9 11:44:21 1996  Ian Lance Taylor  <ian@cygnus.com>
1018
1019         * configure.host: Use ${srcdir} when looking for picfrag.
1020
1021         * configure.host: Switch on ${libdir}, not $(libdir).  From
1022         alan@spri.levels.unisa.edu.au (Alan Modra).
1023
1024         * aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols
1025         entry point, not just for DYNAMIC objects.
1026         * sunos.c (sunos_add_dynamic_symbols): Always call
1027         sunos_create_dynamic_sections.  If called with a non DYNAMIC
1028         object, don't do anything else.
1029         (sunos_add_one_symbol): Don't call sunos_create_dynamic_sections.
1030
1031 Mon Apr  8 12:09:36 1996  Ian Lance Taylor  <ian@cygnus.com>
1032
1033         * configure.in: Permit --enable-shared to specify a list of
1034         directories.
1035         * configure: Rebuild.
1036
1037         * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf*
1038         host when configuring with --enable-shard.
1039
1040 Fri Apr  5 12:24:13 1996  Ian Lance Taylor  <ian@cygnus.com>
1041
1042         * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra
1043         <jdp@polstra.com>.
1044
1045         * linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE,
1046         to avoid crashing in bfd_hash_replace.
1047
1048         * sysdep.h: Use #ifdef, not #if.
1049
1050 Thu Apr  4 23:32:23 1996  Ian Lance Taylor  <ian@cygnus.com>
1051
1052         * config.in: Rebuild.
1053
1054 Thu Apr  4 18:49:09 1996  Fred Fish  <fnf@cygnus.com>
1055
1056         * configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE.
1057         (AC_CHECK_HEADERS): Check for sys/time.h
1058         (AC_HEADER_TIME): Add macro.
1059         * configure: Rebuild.
1060         * sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H
1061         to control what combination of <time> and <sys/time.h>
1062         get included.
1063         
1064 Tue Apr  2 13:11:53 1996  Doug Evans  <dje@canuck.cygnus.com>
1065
1066         * aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET.
1067         (aout_32_sunos4_write_object_contents): Likewise.
1068         * aoutx.h (NAME(aout,machine_type)): Handle
1069         bfd_mach_sparc_{sparclet,sparclite}.
1070         * archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define.
1071         (bfd_mach_sparc_v9_p): Update.
1072         * cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite.
1073         * libaout.h (enum machine_type): Add M_SPARCLET.
1074         * sunos.c (MACHTYPE_OK): Define.
1075         * bfd-in2.h: Regenerated.
1076
1077 Tue Apr  2 00:33:18 1996  Ian Lance Taylor  <ian@cygnus.com>
1078
1079         * elf-bfd.h (struct elf_link_hash_table): Add hgot field.
1080         * elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field.
1081         * elflink.c (_bfd_elf_create_got_section): Store the
1082         _GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field.
1083         * elf32-sparc.c (elf32_sparc_check_relocs): If the size of the
1084         global offset table goes over 0x1000, set the value of
1085         _GLOBAL_OFFSET_TABLE_ to 0x1000 into the section.
1086         (elf32_sparc_relocate_section): Subtract the offset of
1087         _GLOBAL_OFFSET_TABLE_ when handling GOT relocations.
1088
1089         * elfcode.h: Don't include <string.h>.
1090
1091 Mon Apr  1 10:39:24 1996  Jeffrey A Law  (law@cygnus.com)
1092
1093         * linker.c (_bfd_generic_link_hash_newfunc): Renamed from
1094         generic_link_hash_newfunc.  All references changed.
1095         * genlink.h (_bfd_generic_link_hash_newfunc): Declaration
1096         moved here from libbfd-in.h.
1097         * libbfd-in.h: Corresponding changes.
1098         * libbfd.h: Regenerated.
1099
1100 Mon Apr  1 12:35:36 1996  Ian Lance Taylor  <ian@cygnus.com>
1101
1102         * aoutx.h (aout_link_input_section_std): When reporting an
1103         overflow error, use the name of the symbol in the hash table if
1104         available.
1105         (aout_link_input_section_ext): Likewise.
1106
1107         * elflink.h (elf_adjust_dynamic_symbol): If a common symbol got
1108         defined in a regular file, set ELF_LINK_HASH_DEF_REGULAR.
1109
1110 Sun Mar 31 01:58:41 1996  steve chamberlain  <sac@slash.cygnus.com>
1111
1112         * peicode.h (coff_swap_aouthdr_out): Delete test for .junk.
1113         * coffcode.h (coff_compute_section_file_positions): Likewise.
1114         (coff_write_object_contents): Likewise.
1115         
1116 Fri Mar 29 12:44:36 1996  Ian Lance Taylor  <ian@cygnus.com>
1117
1118         * section.c (SEC_LINK_ONCE): Define.
1119         (SEC_LINK_DUPLICATES): Define.
1120         (SEC_LINK_DUPLICATES_DISCARD): Define.
1121         (SEC_LINK_DUPLICATES_ONE_ONLY): Define.
1122         (SEC_LINK_DUPLICATES_SAME_SIZE): Define.
1123         (SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
1124         * bfd-in2.h: Rebuild.
1125         * coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
1126         SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
1127         (styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
1128         into SEC_EXCLUDE.  If IMAGE_SCN_LNK_COMDAT is set, set
1129         SEC_LINK_ONCE, and look through the symbol table for the setting
1130         for SEC_LINK_DUPLICATES.
1131         (coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
1132         set for a section, find the section symbol in the symbol table,
1133         and set the aux entry based on SEC_LINK_DUPLICATES.
1134         * coffgen.c (coff_print_symbol): Add a space before "checksum".
1135         * coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
1136         SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
1137         * coff-i386.c (i386coff_vec): Likewise.
1138         * coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
1139
1140         * VERSION: Bump to 2.6.1.
1141         * Makefile.in (stamp-h): Depend upon VERSION.
1142
1143 Thu Mar 28 23:48:49 1996  Jeffrey A Law  (law@cygnus.com)
1144
1145         * libbfd-in.h (generic_link_hash_newfunc): Add declaration.
1146         * libbfd.h: Rebuilt.
1147         * linker.c (generic_link_hash_newfunc): No longer static.
1148         * coffcode.h (coff_bfd_link_hash_create): Allow specific targets
1149         to override.
1150         * coff-h8300.c: Add two derived hash tables and their associated
1151         funtions and #defines for use by the h8300 linker.
1152         (h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
1153         the function vector as needed.  Place the address of the function
1154         vector entry in the location specified by the R_MEM_INDIRECT reloc.
1155         Rewrite the vectors section contents as necessary.
1156         (h8300_bfd_link_add_symbols): New function for the h8300 linker. 
1157         (coff_bfd_link_add_symbols): Define to use h8300 specific version.
1158         (coff_bfd_link_hash_table_create): Likewise.
1159
1160 Thu Mar 28 17:44:08 1996  Ian Lance Taylor  <ian@cygnus.com>
1161
1162         * libhppa.h: If gcc 2.7 or higher, declare all the functions with
1163         __attribute__ ((__unused__)) so that -Wall doesn't warn about
1164         them.
1165         (hppa_rebuild_insn): Pass pointer to correct type to
1166         low_sign_unext and dis_assemble_21.
1167
1168 Thu Mar 28 11:00:36 1996  Doug Evans  <dje@canuck.cygnus.com>
1169
1170         * config.bfd (sparc64-{sysv4*,solaris2*}): Delete.
1171         Stick with sparc-*-{sysv4*,solaris2*}.
1172
1173 Wed Mar 27 10:43:34 1996  Ian Lance Taylor  <ian@cygnus.com>
1174
1175         * peicode.h (coff_swap_aux_in): Swap in extra PE x_scn fields.
1176         (coff_swap_aux_out): Swap out extra PE x_scn fields.
1177         * coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields.
1178         * coffgen.c (coff_print_symbol): If any of the extra PE x_scn
1179         fields is non-zero, print them.
1180
1181         * coff-ppc.c (ppc_record_toc_entry): Put inside COFF_IMAGE_WITH_PE
1182         ifdef.  Remove unused variables.
1183         (ppc_record_data_in_toc_entry): Ifdef out.  Removed unused
1184         variables.
1185         (ppc_mark_symbol_as_glue): Put inside COFF_IMAGE_WITH_PE ifdef.
1186         (get_symbol_value): Ifdef out.
1187         (pe_ppc_reloc): Ifdef out.  Remove unused variables.
1188         (coff_ppc_relocate_section): Remove unused variables.  Make
1189         fprintf strings and argument types correspond.  Put before_addr in
1190         DEBUG_RELOC ifdef.
1191         (dump_toc): Make fprintf strings and argument types correspond.
1192         (ppc_process_before_allocation): Remove unused variables.  Always
1193         return a value.
1194         (ppc_reflo_reloc): Ifdef out.
1195         (ppc_addr32nb_reloc): Ifdef out.
1196         (ppc_coff_rtype2howto): Make fprintf strings and argument types
1197         correspond.
1198         (coff_ppc_rtype_to_howto): Likewise.
1199         (ppc_coff_swap_sym_in_hook): Remove unused variables.
1200
1201         * peicode.h (pe_print_idata): Move otherwise unused variables into
1202         the #ifdef where they are used.  Always return a value.
1203         (pe_print_edata): Make fprintf strings and argument types
1204         correspond.  Always return a value.
1205         (pe_print_pdata): Removed unused variable addr_value.  Always
1206         return a value.
1207         (pe_print_reloc): Remove unused variable onaline.  Make fprintf
1208         strings and argument types correspond.  Always return a value.
1209
1210         * elf32-ppc.c (ppc_elf_fake_sections): Return true.
1211         (ppc_elf_finish_dynamic_symbol): Move definition of unused
1212         variable rela inside #if 0 section where it is used.
1213
1214         * ns32k.h: New file.
1215         * cpu-ns32k.h: Include ns32k.h.  Rename externally visible
1216         functions to start with _bfd_.
1217         * aout-ns32k.c: Include ns32k.h.  Change references to renamed
1218         functions in cpu-ns32k.h.
1219         * Makefile.in: Rebuild dependencies.
1220         (HFILES): Add ns32k.h.
1221
1222         * section.c (struct sec): Add linker_mark field.  Change
1223         user_set_vma and reloc_done to be single bit fields.
1224         (STD_SECTION): Update accordingly.
1225         * bfd-in2.h: Rebuild.
1226         * aoutx.h (NAME(aout,final_link)): Mark sections included in the
1227         link.
1228         (aout_link_input_bfd): Don't link unmarked sections.
1229         * cofflink.c (_bfd_coff_final_link): Mark sections included in the
1230         link.
1231         (_bfd_coff_link_input_bfd): Don't link unmarked sections.
1232         * coff-ppc.c (ppc_bfd_coff_final_link): Mark sections included in
1233         the link.
1234         * elflink.h (elf_bfd_final_link): Mark sections included in the
1235         link.
1236         (elf_link_input_bfd): Don't link unmarked sections.
1237         * xcofflink.c (_bfd_xcoff_bfd_final_link): Mark sections included
1238         in the link.
1239         (xcoff_link_input_bfd): Don't link unmarked sections.
1240
1241         * coffswap.h (coff_swap_scnhdr_out): Include section name in
1242         overflow error messages.
1243
1244 Tue Mar 26 15:46:18 1996  Ian Lance Taylor  <ian@cygnus.com>
1245
1246         * bfd.c (_bfd_default_error_handler): If _bfd_error_program_name
1247         is not set, print "BFD: " before the error message.
1248
1249         * configure.in: Use AC_CHECK_TOOL to find ar and ranlib.  From
1250         Miles Bader <miles@gnu.ai.mit.edu>.
1251         * configure: Rebuild.
1252
1253 Fri Mar 22 12:17:00 1996  Ian Lance Taylor  <ian@cygnus.com>
1254
1255         * xcofflink.c (xcoff_link_input_bfd): Fix scan for C_BINCL/C_EINCL
1256         symbols.
1257
1258         * config.bfd: Add ieee_vec to targ_selvecs for i960 targets and
1259         m68k-aout, m68k-coff, and m68k-elf targets.
1260
1261 Fri Mar 22 11:33:44 1996  Martin Anantharaman  <martin@goofy.imech.uni-duisburg.de>
1262
1263         * ieee.c: Changed #ifdef KEEPMINUSPCININST to #if KEEPMINUSPCININST.
1264         (ieee_generic_stat_arch_elt): Restructured to prevent
1265         ieee_object_p from being called repeatedly.
1266
1267 Thu Mar 21 11:00:47 1996  steve chamberlain  <sac@slash.cygnus.com>
1268
1269         * coffcode.h (coff_write_object_contents):  Allocate
1270         buffers large enough for any FILEHDR or AOUTHDR.
1271
1272 Thu Mar 21 16:28:17 1996  David Mosberger-Tang  <davidm@azstarnet.com>
1273
1274         * ecofflink.c (lookup_line): New static function, renamed and
1275         slighly changed from old _bfd_ecoff_locate_line.
1276         (_bfd_ecoff_locate_line): Cache line number information.  Use
1277         lookup_line for actual lookup.
1278
1279 Thu Mar 21 14:59:11 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1280
1281         * peicode.h (pe_print_pdata): Warn if the .pdata section is not a
1282         multiple of 20 bytes.
1283
1284 Thu Mar 21 13:54:40 1996  Ian Lance Taylor  <ian@cygnus.com>
1285
1286         * ecoff.c (_bfd_ecoff_find_nearest_line): Use bfd_zalloc to
1287         allocate ecoff_find_line, and don't initialize by hand.
1288         * elf32-mips.c (mips_elf_find_nearest_line): Use bfd_zalloc for
1289         mips_elf_find_line, and don't call memset.
1290
1291         * coffcode.h (coff_compute_section_file_positions): If not
1292         producing a final executable, don't consider sofar when aligning
1293         the section to the correct size.
1294
1295 Wed Mar 20 16:53:12 1996  Ian Lance Taylor  <ian@cygnus.com>
1296
1297         * coffcode.h (coff_add_missing_symbols): Ifdef out.
1298         (coff_write_object_contents): Don't call coff_add_missing_symbols.
1299         * coffgen.c (coff_section_symbol): Ifdef out.
1300
1301 Mon Mar 18 12:54:41 1996  Ian Lance Taylor  <ian@cygnus.com>
1302
1303         * elf32-mips.c (mips_elf_gprel32_reloc): Initialize gp if
1304         output_bfd is not NULL.
1305
1306 Thu Mar 14 17:12:06 1996  Doug Evans  <dje@charmed.cygnus.com>
1307
1308         * coffgen.c (coff_get_normalized_symtab): Call bfd_zalloc instead
1309         of bfd_alloc (fixes fix_line not being initialized).
1310         Delete zeroing of fix_{value,tag,end,scnlen} fields.
1311
1312 Thu Mar 14 16:06:06 1996  Jeffrey A Law  (law@cygnus.com)
1313
1314         * coffcode.h: Allow specific backends to override the
1315         bfd_link_add_symbols routine.
1316
1317         * coff-h8300.c: Include genlink.h.
1318         (howto_table): Add R_MEM_INDIRECT.
1319         (rtype2howto): Support R_MEM_INDIRECT.
1320         (h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE
1321         for now.
1322         
1323 Tue Mar 12 12:41:17 1996  David Mosberger-Tang  <davidm@koala.azstarnet.com>
1324
1325         * coff-alpha.c (alpha_relocate_section): Use
1326         info->callbacks_warning, rather than _bfd_error_handler, for
1327         "multiple gp" warning.
1328
1329 Tue Mar 12 12:10:55 1996  Ian Lance Taylor  <ian@cygnus.com>
1330
1331         * linker.c (bfd_wrapped_link_hash_lookup): New function.
1332         (_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash
1333         table string.  Use bfd_wrapped_link_hash_lookup.
1334         (_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash
1335         table string.
1336         * aoutx.h (aout_link_write_symbols): Use the name from the hash
1337         table, if any, when writing out symbols.
1338         (aout_link_input_section_std): Use the name from the hash table,
1339         if any, when reporting undefined symbols.
1340         (aout_link_input_section_ext): Likewise.
1341         (aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup.
1342         * bout.c (get_value): Likewise.
1343         * cofflink.c (_bfd_coff_reloc_link_order): Likewise.
1344         * ecoff.c (ecoff_reloc_link_order): Likewise.
1345         * elflink.h (elf_link_add_object_symbols): Likewise.
1346         (elf_reloc_link_order): Likewise.       
1347         * linker.c (_bfd_generic_link_output_symbols): Likewise.
1348         (_bfd_generic_reloc_link_order): Likewise.
1349         (default_indirect_link_order): Likewise.
1350         * reloc16.c (bfd_coff_reloc16_get_value): Likewise.
1351         * sunos.c (sunos_add_one_symbol): Likewise.
1352         * xcofflink.c (xcoff_link_add_symbols): Likewise.
1353         (bfd_xcoff_link_count_reloc): Likewise.
1354         (xcoff_reloc_link_order): Likewise.
1355
1356         * ecoffswap.h (ecoff_swap_fdr_in): If ECOFF_64, turn 0xffffffff
1357         into -1 for intern->rss.
1358
1359         * configure: Rebuild with autoconf 2.8.
1360
1361 Mon Mar 11 12:28:31 1996  Ian Lance Taylor  <ian@cygnus.com>
1362
1363         * stab-syms.c (__define_stab_duplicate): Define.
1364         (bfd_get_stab_name): Rename from aout_stab_name.  Rewrite to use a
1365         switch.
1366         * bfd-in.h (bfd_get_stab_name): Declare.
1367         * bfd-in2.h: Rebuild.
1368         * Makefile.in: Rebuild dependencies.
1369         (BFD_LIBS): Add stab-syms.o.
1370         (BFD_LIBS_CFILES): Add stab-syms.c.
1371         (BFD32_BACKENDS): Remove stab-syms.o.
1372         (BFD32_BACKENDS_CFILES): Remove stab-syms.c.
1373         * configure.in: Don't list stab-syms.o in bfd_backends.
1374         * configure: Rebuild.
1375         * libaout.h (aout_stab_name): Don't declare.
1376         * aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name,
1377         not aout_stab_name.
1378
1379 Fri Mar  8 11:26:20 1996  Ian Lance Taylor  <ian@cygnus.com>
1380
1381         * elf.c (assign_file_positions_for_segments): Adjust file offset
1382         for section alignment even if SEC_LOAD is not set.
1383
1384 Tue Mar  5 12:02:23 1996  Ian Lance Taylor  <ian@cygnus.com>
1385
1386         * configure.in: Don't set SHLIB or SHLINK to an empty string,
1387         since they appear as targets in Makefile.in.
1388         * configure: Rebuild.
1389
1390         * sunos.c (sunos_scan_ext_relocs): If not making a shared library,
1391         don't fiddle with a symbol which is not defined anywhere.
1392
1393 Mon Mar  4 12:49:16 1996  Ian Lance Taylor  <ian@cygnus.com>
1394
1395         * xcofflink.c (xcoff_mark): Treat undefined imported symbols as
1396         though they are defined in a shared library.
1397         (xcoff_build_ldsyms): Likewise.
1398
1399         * coffgen.c (coff_find_nearest_line): Don't look at the line
1400         numbers for the section if section->lineno is NULL.
1401
1402         * elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error
1403         message rather than calling BFD_ASSERT.
1404         * elfcode.h (write_relocs): Check return value of
1405         _bfd_elf_symbol_from_bfd_symbol.
1406
1407 Fri Mar  1 09:42:59 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1408
1409         * elf32-ppc.c (ppc_elf_add_symbol_hook): Don't set SEC_LOAD flag
1410         for .sbss section.
1411
1412 Wed Feb 28 11:25:47 1996  Jeffrey A Law  (law@cygnus.com)
1413
1414         * libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL
1415         and R_HPPA_NLRSEL.
1416         (e_nsel, e_nlsel, e_nlrsel): Undefine.  Add to
1417         hppa_reloc_field_selector_type_alt.
1418         (hppa_field_adjust): Handle e_nlsel, e_nlrsel.  Fix e_nsel handling.
1419         * som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field
1420         selectors.
1421         (som_write_fixups): Finish handling of R_N0SEL and R_N1SEL.
1422
1423 Wed Feb 28 11:00:24 1996  Ian Lance Taylor  <ian@cygnus.com>
1424
1425         * elf.c (assign_file_positions_for_segments): Adjust the segment
1426         memory size for the alignment of a SEC_ALLOC section, not just a
1427         SEC_LOAD section.
1428
1429 Tue Feb 27 14:17:31 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1430
1431         * m68klinux.c: New file.
1432         * hosts/m68klinux.h: New file.
1433         * config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets.
1434         * configure.in (m68*-*-linux*): New native host.
1435         (m68klinux_vec): New vector.
1436         * configure: Rebuild.
1437         * targets.c (m68klinux_vec): Declare.
1438         * i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from
1439         bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c.
1440         * bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename
1441         declaration from bfd_linux_size_dynamic_sections.
1442         (bfd_m68klinux_size_dynamic_sections): Declare.
1443         * bfd-in2.h: Rebuild.
1444         * Makefile.in: Rebuild dependencies.
1445         (BFD32_BACKENDS): Add m68klinux.o.
1446         (BFD32_BACKENDS_CFILES): Add m68klinux.c.
1447
1448 Tue Feb 27 11:31:34 1996  Jeffrey A Law  (law@cygnus.com)
1449
1450         * libhppa.h (pa_arch): Add pa20.
1451         (hppa_reloc_field_selector_type): Add R_HPPA_NSEL.
1452         (e_nsel): Undefine.  Add to hppa_reloc_field_selector_type_alt.
1453         (hppa_field_adjust): Handle e_nsel.
1454         * som.c: Provide default definitions for many new relocs found only
1455         in hpux10 include files.
1456         (som_fixup_formats): Add several new relocs from hpux10.
1457         (som_hppa_howto_table): Add hpux10 relocs.
1458         (som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs.
1459
1460 Mon Feb 26 12:52:48 1996  Stan Shebs  <shebs@andros.cygnus.com>
1461
1462         * mpw-make.sed: Edit out recent shared library support, and
1463         rules to rebuild .h files using doc/chew.
1464
1465 Mon Feb 26 14:48:39 1996  David Mosberger-Tang  <davidm@AZStarNet.com>
1466
1467         * ecoff.c (ecoff_compute_section_file_positions): Adjust the file
1468         size even of sections with no contents.
1469
1470 Mon Feb 26 14:01:13 1996  Ian Lance Taylor  <ian@cygnus.com>
1471
1472         * cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names
1473         starting with '$' the way we skip names starting with '.'.  When
1474         updating x_endndx, don't be fooled by an index which has been
1475         merged.
1476
1477         * cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a
1478         struct/union/enum type with no elements.
1479
1480 Sat Feb 24 11:38:58 1996  Ian Lance Taylor  <ian@cygnus.com>
1481
1482         * bfd.c (bfd_errmsg): Handle a NULL return from strerror.
1483
1484         * archive.c (bfd_generic_archive_p): If the first file in the
1485         archive can not be recognized as an object, don't assume that this
1486         is the wrong format.
1487
1488         * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
1489         format is not bfd_object.
1490         (bfd_elf_get_dt_soname): Likewise.
1491
1492 Wed Feb 21 13:58:04 1996  Ian Lance Taylor  <ian@cygnus.com>
1493
1494         * coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES
1495         reloc.
1496
1497 Tue Feb 20 16:22:44 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
1498
1499         * bfd.c (tdata): Add netbsd_core_data.
1500         * bfd-in2.h: Regenerated.
1501
1502 Tue Feb 20 16:50:02 1996  Ian Lance Taylor  <ian@cygnus.com>
1503
1504         * sunos.c (SUNOS_CONSTRUCTOR): Define.
1505         (sunos_add_one_symbol): Don't let a symbol from a dynamic object
1506         override a constructor symbol.  Set SUNOS_CONSTRUCTOR when
1507         appropriate.
1508
1509         * bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags
1510         to get the symbol index, matching 14 Jul 95 change.
1511
1512 Tue Feb 20 08:26:27 1996  Fred Fish  <fnf@phydeaux.cygnus.com>
1513
1514         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents):
1515         Remove duplicate definition of gp.
1516
1517 Mon Feb 19 12:37:41 1996  Ian Lance Taylor  <ian@cygnus.com>
1518
1519         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't
1520         assume that we can set the GP value and then get the same value,
1521         since it won't be true if the output file is neither ELF nor
1522         ECOFF.
1523         * coff-mips.c (mips_adjust_reloc_in): Don't bother to use
1524         _bfd_get_gp_value here.
1525         (mips_gprel_reloc): Don't assume we can set and get the GP value.
1526         * elf32-mips.c (mips_elf_hi16_reloc): Get gp value from
1527         mips_elf_final_gp.
1528         (mips_elf_lo16_reloc): Likewise.
1529         (mips_elf_final_gp): Add pgp parameter.  Set it to the GP value.
1530         Don't require that the BFD be ELF.
1531         (mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp.
1532         (mips_elf_gprel32_reloc): Likewise.
1533         (mips_elf_relocate_section): Don't assume we can set and get the
1534         GP value.
1535         (mips_elf_finish_dynamic_symbol): Don't bother to use
1536         _bfd_get_gp_value here.
1537
1538         * elf32-mips.c (mips_elf_create_procedure_table): Initialize sv.
1539         Don't change epdr between malloc and free.  Be careful not to free
1540         NULL pointers.  Zero out the first RPDR.
1541
1542         * configure.host: On Linux, only pass -rpath option if $(libdir)
1543         is neither /lib nor /usr/lib.  From Alan Modra
1544         <alan@mullet.Levels.UniSA.Edu.Au>.
1545
1546         * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to
1547         dt_name.
1548         (elf_dt_name): Rename from elf_dt_needed_name.
1549         * elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not
1550         elf_dt_needed_name.
1551         (bfd_elf_get_dt_soname): New function.
1552         * elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not
1553         elf_dt_needed_name.  Save the SONAME back in elf_dt_name.
1554         * bfd-in.h (bfd_elf_get_dt_soname): Declare.
1555         * bfd-in2.h: Rebuild.
1556
1557 Mon Feb 19 02:50:23 1996  Doug Evans  <dje@charmed.cygnus.com>
1558
1559         * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from
1560         _bfd_sparc_elf_reloc_type_lookup.
1561         (bfd_elf32_bfd_reloc_type_lookup): Update.
1562         * elf64-sparc.c (SPARC64_OLD_RELOCS): Define.
1563         (sparc64_elf_howto_table): Define.
1564         (sparc_reloc_map): Define.
1565         (sparc64_elf_reloc_type_lookup): New function.
1566         (sparc_elf_wdisp16_reloc): New function.
1567         (elf_info_to_howto): Use sparc64_elf_howto_table.
1568         (sparc64_elf_relocate_section): Likewise.
1569         (bfd_elf64_bfd_reloc_type_lookup): Update.
1570
1571 Sun Feb 18 15:02:25 1996  Ian Lance Taylor  <ian@cygnus.com>
1572
1573         * configure.host: Check for 'do not mix' from native linker before
1574         trying to use -rpath.
1575
1576 Fri Feb 16 12:46:18 1996  Ian Lance Taylor  <ian@cygnus.com>
1577
1578         * bfd.c (_bfd_get_gp_value): New function.
1579         (_bfd_set_gp_value): New function.
1580         * libbfd-in.h (_bfd_get_gp_value): Declare.
1581         (_bfd_set_gp_value): Declare.
1582         * libbfd.h: Rebuild.
1583         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
1584         _bfd_get_gp_value and _bfd_set_gp_value rather than referring
1585         directly to the fields in the tdata information.
1586         (alpha_relocate_section): Likewise.
1587         * coff-mips.c (mips_adjust_reloc_in): Likewise.
1588         (mips_gprel_reloc): Likewise.
1589         (mips_relocate_section): Likewise.
1590         * elf32-mips.c (mips_elf_hi16_reloc): Likewise.
1591         (mips_elf_lo16_reloc): Likewise.
1592         (mips_elf_final_gp): Likewise.
1593         (mips_elf_gprel16_reloc): Likewise.
1594         (mips_elf_gprel32_reloc): Likewise.
1595         (mips_elf_relocate_section): Likewise.
1596         (mips_elf_finish_dynamic_symbol): Likewise.
1597
1598         * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx.
1599
1600 Thu Feb 15 11:29:13 1996  Ian Lance Taylor  <ian@cygnus.com>
1601
1602         * configure.in: Call AC_PROG_CC before configure.host.
1603         * configure: Rebuild.
1604         * configure.host: Don't set information which autoconf should
1605         figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB.
1606
1607         * configure.host: Remove go32 and win32 host information, since it
1608         should no longer be needed.
1609
1610         * elf.c (map_sections_to_segments): If we have a .dynamic section,
1611         then start a new segment rather than put a writable section in a
1612         readonly segment.
1613
1614         * configure.host: Set RPATH_ENVVAR.
1615
1616         * Makefile.in: Rebuild dependencies.
1617
1618         * elflink.c (_bfd_elf_create_linker_section): Remove unused
1619         zero_section variable.
1620
1621 Thu Feb 15 10:39:17 1996  H.J. Lu  <hjl@zoom.com>
1622
1623         * Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h.
1624         ($(srcdir)/libbfd.h): Rename from libbfd.h.
1625         ($(srcdir)/libcoff.h): Rename from libcoff.h.
1626
1627 Wed Feb 14 16:29:07 1996  Martin Anantharaman  <martin@mail.imech.uni-duisburg.de>
1628
1629         * ieee.c (ieee_write_expression): Only use an R variable for a
1630         local symbol.  Don't output a zero offset.  Handle a zero address.
1631         (SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST.
1632         (rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and
1633         PCREL_OFFSET.
1634         (parse_expression): Don't try to handle multiple occurrences of a
1635         P variable.  Handle I variables differently from X variables.  Fix
1636         the order of minus expressions.
1637         (ieee_slurp_external_symbols): Generate an I variable for an NN
1638         record.  Fix handling of ATI and ATX records.
1639         (ieee_slurp_sections): Only set minimal section attributes.
1640         Adjust them later, based on the section contents.
1641         (ieee_object_p): Read in the file until just after the ME record.
1642         Call ieee_slurp_section_data to set the section flags.
1643         (do_one): Add iterations parameter.  Only repeat the first load
1644         item.  Set the section and file reloc flags.
1645         (ieee_slurp_section_data): Set section flags.  Pass iterations to
1646         do_one.
1647         (ieee_canonicalize_reloc): Handle I variables.
1648         (do_with_relocs): Only emit relocation size when necessary.
1649         Increase MAXRUN to 127.  Change ov to be assigned, and take
1650         src_mask and pcrel_offset into account.
1651         (ieee_write_data_part): Skip sections that are not loaded.
1652         (ieee_write_external_part): Don't output optional last entry of WX
1653         records.
1654         (ieee_write_me_part): Make setting of me_record neater.
1655         (ieee_generic_stat_arch_elt): Get the size of an archive element.
1656
1657         * syms.c (stt): Add entries for zerovars, vars, and code.
1658
1659         * elfcode.h (validate_reloc): New static function.
1660         (write_relocs): Call validate_reloc for non ELF relocs.
1661
1662         * elfxx-target.h (elf_symbol_leading_char): Define if not defined.
1663         (TARGET_BIG_SYM): Use elf_symbol_leading_char.
1664         (TARGET_LITTLE_SYM): Likewise.
1665
1666         * config.bfd (m68*-*-psos*): New target.
1667
1668 Tue Feb 13 15:56:22 1996  Bryan Ford  <baford@snake.cs.utah.edu>
1669
1670         * i386msdos.c: Remove some #if 0 code.
1671         (msdos_write_object_contents): Don't include empty sections in the
1672         size computation, regardless of their address.
1673
1674 Tue Feb 13 15:36:37 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1675
1676         * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault if dynboj
1677         is NULL, ie, the -r switch is used.
1678
1679 Tue Feb 13 14:35:15 1996  Ian Lance Taylor  <ian@cygnus.com>
1680
1681         * reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define.
1682         (BFD_RELOC_MIPS_GOT_LO16): Define.
1683         (BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16): Define.
1684         * bfd-in2.h, libbfd.h: Rebuild.
1685         * elf32-mips.c (mips_reloc_map): Map new relocs.
1686
1687         * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared.
1688
1689         * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not
1690         $(SHLINK).
1691
1692         * ieee.c (get_symbol): Set the section to bfd_abs_section.
1693         (do_with_relocs): If EXEC_P is set and there are no relocs, use a
1694         simple number for the section address, rather than an expression.
1695         Limit the number of bytes between relocs to MAXRUN.
1696         (ieee_write_me_part): Set me_record to the file offset after the
1697         start address.
1698         (ieee_write_processor): New static function.
1699         (ieee_write_object_contents): Use ieee_write_processor.
1700
1701 Fri Feb  9 10:53:00 1996  Ian Lance Taylor  <ian@cygnus.com>
1702
1703         * configure.host: Use ${CC-gcc} when testing for -rpath on SunOS.
1704
1705         * coff-aux.c: Change include of aux.h to aux-coff.h.
1706
1707 Thu Feb  8 14:01:03 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1708
1709         * elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE
1710         relocation put the addend both in the reloc entry and the data.
1711         (elf_m68k_finish_dynamic_symbol): Likewise.  Mask out marker in
1712         GOT offset value.
1713
1714         * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve
1715         a R_68K_PCxx reloc against a defined global symbol directly.
1716         (elf_m68k_check_relocs): Don't count such a reloc.
1717
1718         * elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with
1719         a PLTxx reloc as dynamic.  Disallow PLTxxO reloc against a local
1720         symbol for now, otherwise always record the symbol as dynamic.
1721         (elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc
1722         is not referenced by a dynamic object, and we are not making a
1723         shared object, then don't make a PLT entry.  If we do make a PLT
1724         entry, make sure the symbol has been recorded as dynamic.
1725
1726 Wed Feb  7 13:56:06 1996  Ian Lance Taylor  <ian@cygnus.com>
1727
1728         * configure.host: When making a shared library, set HLDFLAGS to
1729         pass an appropriate -rpath option.  Use the make variable SONAME
1730         as the shared library soname, rather than computing it here.  On
1731         SunOS, build stamp-tshlink in place of $(SHLINK).
1732         * Makefile.in (SONAME): New variable.
1733         ($(SHLINK)): Make a link to the transformed name, as well.
1734         (stamp-tshlink): New target.
1735         (install): Skip stamp-tshlink during install.
1736
1737 Wed Feb  7 13:37:39 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1738
1739         * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not assume that the
1740         linker sections have been set up yet.
1741
1742         * elf.c (make_mapping): Add an additional argument to suppress
1743         making the first section include the program headers.
1744         (map_sections_to_segments): If the user used -Ttext such that the
1745         program headers are on a different page, do not set the flags
1746         saying that this section includes the program headers.
1747
1748 Tue Feb  6 14:04:49 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
1749
1750         * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c.
1751         don't define TRAD_HEADER.
1752         * configure: Rebuild.
1753
1754         * netbsd-core.c: New file, support for NetBSD core files.
1755         * hosts/*nbsd.h: Removed.
1756
1757 Tue Feb  6 11:47:49 1996  Doug Evans  <dje@charmed.cygnus.com>
1758
1759         * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types.
1760         (BFD_RELOC_SPARC_LO7 reloc type): Deleted.
1761         * libbfd.h, bfd-in2.h: Regenerated.
1762         * elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from
1763         bfd_elf32_bfd_reloc_type_lookup.
1764         (reloc_type{,_names}): Deleted.
1765         (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
1766         Add sparc64 relocs.
1767         (sparc_reloc_map): Add sparc64 relocs.
1768         (sparc_elf_notsupported_reloc): New static function.
1769         (sparc_elf_wdisp16_reloc): New static function.
1770         (elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}.
1771         (elf32_sparc_relocate_section): Likewise.
1772         (bfd_elf32_bfd_reloc_type_lookup): Define.
1773         * elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted.
1774         (reloc_type{,_names}): Deleted.
1775         (elf_sparc_howto_table): Deleted.
1776         (sparc_reloc_map): Deleted.
1777         (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table.
1778         (bfd_elf64_bfd_reloc_type_lookup): Change from function to #define.
1779
1780 Tue Feb  6 12:12:22 1996  Ian Lance Taylor  <ian@cygnus.com>
1781
1782         * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a
1783         *-*-hpux* host.
1784
1785         * Makefile.in (program_transform_name): New variable.
1786         (install): Transform library name before installing it.
1787
1788 Mon Feb  5 10:38:27 1996  Ian Lance Taylor  <ian@cygnus.com>
1789
1790         * archures.c (bfd_mach_i960_hx): Define.
1791         * bfd-in2.h: Rebuild.
1792         * cpu-i960.c (scan_960_mach): Accept machine "hx".
1793         (MATRIX): Expand entries for HX.
1794         (arch_info_struct): Add i960:hx entry.
1795         * bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx.
1796         * coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX.
1797         (coff_set_flags): Handle bfd_mach_i960_hx.
1798
1799         Support for building as a shared library, based on patches from
1800         Alan Modra <alan@spri.levels.unisa.edu.au>:
1801         * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib.
1802         New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC,
1803         SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK.
1804         * configure: Rebuild.
1805         * configure.host: If --enable-shared, adjust shared library stuff
1806         based on the host.  If the host is SunOS, and the linker supports
1807         -rpath, set HLDFLAGS to use it.
1808         * Makefile.in (ALLLIBS): New variable.
1809         (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables.
1810         (COMMON_SHLIB, SHLINK): New variables.
1811         (.c.o): If PICFLAG is set, compile twice, once PIC, once normal.
1812         (STAGESTUFF): Remove variable.
1813         (all): Depend upon $(ALLLIBS) and @PICLIST@ rather than
1814         $(TARGETLIB).
1815         (stamp-ofiles): New target, like old ofiles target, but build
1816         using a temporary file and move-if-change, and touch stamp-ofiles
1817         when done.
1818         (ofiles): Just depend upon stamp-ofiles.
1819         (stamp-piclist, piclist): New targets.
1820         ($(SHLIB), $(SHLINK)): New targets.
1821         (targets.o, archures.o): Build twice if PICFLAG is set.
1822         (do_mostlyclean): Remove pic/*.o.
1823         (do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and
1824         stamp-piclist.
1825         (do_distclean): Remove pic and stamp-picdir.
1826         (install): Install shared libraries.
1827         ($(OFILES)): Depend upon stamp-picdir.
1828         (stamp-picdir): New target.
1829
1830         * libcoff-in.h: Add comment reminding people that libcoff.h is a
1831         generated file.
1832         * libcoff.h: Rebuild.
1833
1834         * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the
1835         flavour of a section with no owner.
1836
1837         * elf32-mips.c (mips_elf_create_dynamic_sections): Clear
1838         ELF_LINK_NON_ELF flag.
1839         (mips_elf_create_got_section): Likewise.
1840
1841         * elf.c: Revert last change, since it breaks dynamic linking.
1842         * elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg
1843         field.
1844         * elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define.
1845         * elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define.
1846         (elfNN_bed): Don't initialize want_hdr_in_seg field.
1847
1848 Sun Feb  4 20:45:13 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1849
1850         * elf.c (assign_file_positions_for_segments): If the backend does
1851         not want the elf header or the program headers in the address
1852         space, do not include them in the calculations.
1853
1854         * elf32-ppc.c (ppc_elf_additional_program_headers): New hook
1855         function to determine if we need additional program headers.
1856         (ppc_elf_modify_segment_map): Define as a NOP function for now.
1857         (ppc_elf_create_linker_section): .sdata2 is a read-only section.
1858
1859 Sat Feb  3 23:00:03 1996  Ian Lance Taylor  <ian@cygnus.com>
1860
1861         * coffcode.h: Move today's libcoff.h change into coffcode.h.
1862
1863 Sat Feb  3 15:43:44 1996  Fred Fish  <fnf@cygnus.com>
1864
1865         * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args
1866         back into one line.  Some compilers (sunos 4.1.3 for example)
1867         won't accept args split across more than one line.
1868
1869 Fri Feb  2 11:42:15 1996  Steve Chamberlain  <sac@slash.cygnus.com>
1870
1871         * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32.
1872         * configure: Regenerate.
1873
1874 Fri Feb  2 12:12:16 1996  Jeffrey A Law  (law@cygnus.com)
1875
1876         * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't
1877         try to do arithmetic on a void *, cast it to a unsigned char * first.
1878
1879 Thu Feb  1 16:04:06 1996  Ian Lance Taylor  <ian@cygnus.com>
1880
1881         * elf-bfd.h (ELF_LINK_NON_ELF): Define.
1882         * elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to
1883         ELF_LINK_NON_ELF.
1884         * elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF
1885         flag for a newly defined symbol.
1886         (NAME(bfd_elf,record_link_assignment)): Likewise.
1887         (elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to
1888         set the DEF or REF_REGULAR flags correctly.
1889
1890         * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir.
1891         (libbfd.h, libcoff.h): Corresponding change.
1892
1893         * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with
1894         a PLT32 reloc as dynamic.
1895         (elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc
1896         is not referenced by a dynamic object, and we are not making a
1897         shared object, then don't make a PLT entry.  If we do make a PLT
1898         entry, make sure the symbol has been recorded as dynamic.
1899
1900 Wed Jan 31 17:23:32 1996  Steve Chamberlain  <sac@slash.cygnus.com>
1901
1902         * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL.
1903         * config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32.
1904         (powerpcle-*-cygwin32): New.
1905         * peicode.h (add_data_entry): Get address from vma.
1906
1907 Wed Jan 31 16:23:57 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
1908
1909         * elflink.c (_bfd_elf_create_linker_section): If the symbol
1910         attached to the section has already been created as an undefined
1911         symbol, treat it as if it hasn't been created yet.
1912
1913 Wed Jan 31 16:16:53 1996  Ian Lance Taylor  <ian@cygnus.com>
1914
1915         * elflink.h (elf_bfd_final_link): Don't output initial dummy
1916         symbol or section symbols if stripping all symbols and this is not
1917         a relocateable link.  Don't output the symbol string table if
1918         there are no symbols.
1919         (elf_link_flush_output_syms): Don't do anything if there are no
1920         symbols to flush.
1921
1922 Wed Jan 31 12:55:49 1996  Richard Henderson  <rth@tamu.edu>
1923
1924         * coff-aux.c: New file.
1925         * hosts/m68kaux.h: New file.
1926         * config.bfd (m68*-apple-aux*): New target.
1927         * configure.in (m68*-apple-aux*): New native host.
1928         (m68kaux_coff_vec): New vector.
1929         * configure: Rebuild.
1930         * targets.c (m68kaux_coff_vec): Declare.
1931         * coffcode.h (bfd_coff_backend_data): Add field
1932         _bfd_coff_link_add_one_symbol.
1933         (bfd_coff_link_add_one_symbol): Define.
1934         (compare_arelent_ptr): New static function if TARG_AUX.
1935         (coff_write_relocs): If TARG_AUX, sort the relocs.
1936         (coff_write_object_contents): Set A/UX aouthdr magic number.
1937         (coff_link_add_one_symbol): Define if not defined.
1938         (bfd_coff_std_swap_table): Initialize new field.
1939         * libcoff.h: Rebuild.
1940         * cofflink.c (coff_link_add_symbols): Call
1941         bfd_coff_link_add_one_symbol rather than
1942         _bfd_generic_link_add_one_symbol.
1943         * coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined.
1944         * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
1945         * coff-mips.c (mips_ecoff_backend_data): Likewise.
1946         * Makefile.in: Rebuild dependencies.
1947         (BFD32_BACKENDS): Add coff-aux.o.
1948         (BFD32_BACKENDS_CFILES): Add coff-aux.c.
1949
1950 Wed Jan 31 11:37:46 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1951
1952         * elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT*
1953         relocation; ignore addend with R_68K_{GOT,PLT}*O relocation.
1954
1955 Tue Jan 30 12:09:04 1996  Ian Lance Taylor  <ian@cygnus.com>
1956
1957         * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h,
1958         $(srcdir)/libbfd.h and $(srcdir)/libcoff.h.
1959         (maintainer-clean): Warn about deleting special files.
1960         (bfd-in2.h, libbfd.h, libcoff.h): New targets.
1961
1962         * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and
1963         warning symbols correctly.
1964         * elf32-i386.c (elf_i386_relocate_section): Likewise.
1965         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1966         * elf32-mips.c (mips_elf_relocate_section): Likewise.
1967         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1968         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1969         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1970
1971         * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid
1972         warnings.
1973
1974 Mon Jan 29 14:27:24 1996  Kim Knuttila  <krk@cygnus.com>
1975
1976         * libcoff-in.h: aligned newly exported names with bfd naming 
1977         conventions. Removed an erroneous define of POWERPC_LE_PE.
1978         * libcoff.h: Rebuild.
1979         * cofflink.c, coff-ppc.c: the above function name changes
1980
1981 Mon Jan 29 13:06:28 1996  Ian Lance Taylor  <ian@cygnus.com>
1982
1983         From Basim Kadhim <kadhim@spock.cs.colorado.edu>:
1984         * ecoff.c (struct extsym_info): Define.
1985         (_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
1986         to ecoff_link_write_external.
1987         (ecoff_link_write_external): Accept a struct extsym_info pointer.
1988         Strip symbols when appropriate.
1989
1990         Based on patches from Ronald F. Guilmette <rfg@monkeys.com>:
1991         * syms.c (BSF_OBJECT): Define.
1992         (bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
1993         * bfd-in2.h: Rebuild.
1994         * elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
1995         STT_OBJECT symbol.
1996         * elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
1997         is set.
1998
1999         * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when
2000         copying relocs into a shared object, treat a defined global symbol
2001         as a local symbol.
2002         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2003         * elf32-mips.c (mips_elf_relocate_section): Likewise.
2004         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2005
2006         * elflink.h (elf_link_add_object_symbols): Only set weakdef to a
2007         real defined symbol, not to a weak defined symbol.
2008
2009 Mon Jan 29 11:34:36 1996  Kim Knuttila  <krk@cygnus.com>
2010
2011         * cofflink.c: removed the POWERPC_LE_PE hack, promoted some types
2012         and made a few static functions externs.
2013
2014         * coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the
2015         POWERPC_LE_PE hack in cofflink.
2016
2017         * libcoff-in.h: promoted the following from cofflink.c to allow
2018         _bfd_coff_final_link to be overridden -  STRING_SIZE_SIZE,
2019         coff_debug_merge_element, struct coff_debug_merge_type, 
2020         coff_debug_merge_hash_entry, coff_debug_merge_hash_table,
2021         coff_debug_merge_hash_table_init,  coff_debug_merge_hash_table_free,
2022         coff_debug_merge_hash_lookup, coff_link_section_info, 
2023         coff_final_link_info, coff_debug_merge_hash_newfunc,
2024         coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order.
2025
2026         * libcoff.h: re-gen'd
2027
2028 Fri Jan 26 18:33:35 1996  Ian Lance Taylor  <ian@cygnus.com>
2029
2030         * syms.c: Include "bfdlink.h".
2031         (struct stab_find_info): Define.
2032         (_bfd_stab_section_find_nearest_line): New function.
2033         * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare.
2034         * libbfd.h: Rebuild.
2035         * elf-bfd.h (struct elf_obj_tdata): Add line_info field.
2036         * elf.c (_bfd_elf_find_nearest_line): Try calling
2037         _bfd_stab_section_find_nearest_line before searching the ELF
2038         symbol table.  Find the closest STT_FUNC symbol, not the last one.
2039         * libcoff-in.h (coff_data_type): Add line_info field.
2040         * libcoff.h: Rebuild.
2041         * coffgen.c (coff_find_nearest_line): Try calling
2042         _bfd_stab_section_find_nearest_line before searching the COFF
2043         symbol table.
2044         * Makefile.in: Rebuild dependencies.
2045
2046 Fri Jan 26 16:11:19 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2047
2048         * elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size
2049         4 bytes, so we get the correct value when updating the register
2050         field in little endian mode.
2051
2052 Thu Jan 25 12:14:16 1996  Ian Lance Taylor  <ian@cygnus.com>
2053
2054         * libcoff-in.h (struct xcoff_tdata): Remove toc_section and
2055         entry_section fields.  Add sntoc and snentry fields.
2056         * libcoff.h: Rebuild.
2057         * coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
2058         not toc_section and entry_section (the COFF file does not have any
2059         sections at this point).
2060         (coff_write_object_contents): Set o_snentry and o_sntoc from
2061         snentry and sntoc rather than entry_section and toc_section.
2062         * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
2063         snentry, not toc_section and entry_section.
2064         * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
2065         entry_section from hentry.
2066         (xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
2067         set snenty.
2068         (xcoff_link_input_bfd): Set sntoc, not toc_section.
2069         (xcoff_write_global_symbol): Get toc_section from sntoc, rather
2070         than using toc_section directly.
2071
2072         * archures.c: Add missing `.' in enum bfd_architecture.
2073         * bfd-in2.h: Rebuild.
2074
2075         * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec.  From
2076         Robert Lipe <robertl@arnet.com>.
2077
2078 Thu Jan 25 12:08:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2079
2080         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2}
2081         to sections we allocate.  Use bfd_zalloc to allocate initialial
2082         sections, not bfd_alloc.
2083         (ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from
2084         SDA{,2}I16 relocations.
2085         (ppc_elf_add_symbol_hook): Use the value of -G nn to determine
2086         whether to put something in .sbss or not.
2087         (ppc_elf_relocate_section): Add support for more relocations.  Add
2088         in sec->output_offset where appropriate.  Make error messages
2089         include the symbol name.
2090
2091         * elflink.c (_bfd_elf_create_linker_section): Lookup symbol before
2092         trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_
2093         doesn't get redefined messages if -shared.
2094
2095         * elflink.h (elf_create_pointer_linker_section) Only bump RELA
2096         section if the rel_section field has been set up.
2097
2098 Wed Jan 24 20:40:26 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2099
2100         * elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi
2101         relocations.
2102
2103 Wed Jan 24 10:38:34 1996  Doug Evans  <dje@charmed.cygnus.com>
2104
2105         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking
2106         of flags, only flags used are controlled by mach number.  Bump up
2107         output file mach number to highest of input file mach numbers.
2108         (elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
2109         (elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
2110
2111         * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out
2112         bfd_elf64_sparc_vec support.
2113
2114 Tue Jan 23 14:33:05 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2115
2116         * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if
2117         the embedded bit is set on some objects and not on others.  Just
2118         or it together.
2119         (ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA}
2120         relocations.
2121
2122 Tue Jan 23 14:22:45 1996  Ian Lance Taylor  <ian@cygnus.com>
2123
2124         * coffcode.h (coff_new_section_hook): Don't try to align the
2125         .stabstr section.
2126
2127         * coffcode.h (coff_set_section_contents): Fix the handling of the
2128         .lib section to work even if the entire section contents are
2129         written at once.  From Gvran Uddeborg <gvran@uddeborg.pp.se> and
2130         Robert Lipe <robertl@arnet.com>.
2131
2132 Mon Jan 22 18:45:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2133
2134         * elflink.h (elf_finish_pointer_linker_section): Don't allocate
2135         memory here for contents.
2136
2137         * elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and
2138         _SDA2_BASE_ by 32768.
2139         (ppc_elf_size_dynamic_sections): #if out PLT code which we haven't
2140         started using.  Allocate contents for .sdata and .sdata2 sections
2141         also.
2142         (ppc_elf_check_relocs): Use bfd_get_section_name in debug message,
2143         rather than _name.
2144         (ppc_elf_finish_dynamic_symbol): Remove code that attempted to
2145         size _SDA{,2}_BASE_.
2146         (ppc_elf_relocate_section): Change how sdata{,2} relocations are
2147         done.
2148
2149 Mon Jan 22 08:52:04 1996  Doug Evans  <dje@charmed.cygnus.com>
2150
2151         * elflink.h (elf_finish_pointer_linker_section): Fix typo.
2152
2153         * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64.
2154         (bfd_mach_sparc_{v8plus,v8plusa}): Define.
2155         (bfd_mach_sparc_v9a): Define.
2156         (bfd_mach_sparc_v9_p): Define.
2157         * bfd-in2.h: Regenerated.
2158         * aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to
2159         bfd_mach_sparc_v9.
2160         * elf64-sparc.c (sparc64_elf_object_p): Likewise.
2161         * config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec
2162         to bfd_elf32_sparc_vec.
2163         * cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info.
2164         Add v8plus{,a} support.
2165         Add v9a support.
2166         (sparc_compatible): New function.
2167         * elf32-sparc.h: #include "elf/sparc.h".
2168         (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p,
2169         elf32_sparc_final_write_processing): New functions.
2170         (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p,
2171         elf_backend_final_write_processing): Define.
2172
2173 Mon Jan 22 11:21:51 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2174
2175         * elf-bfd.h (struct elf_link_hash_entry): Add
2176         linker_section_pointer field.
2177         (enum elf_linker_section_enum): Enumeration for new way of
2178         creating linker dynamic sections and symbols.
2179         (elf_linker_section{,_pointers}): New structures for creating
2180         dynamic sections and symbols.
2181         (elf_obj_tdata): Add linker_section_pointers and linker_section
2182         fields.
2183         (elf_local_ptr_offsets,elf_linker_section): New accessor macros.
2184         (_bfd_elf_create_linker_section): New declarations.
2185         (_bfd_elf_find_pointer_linker_section): Ditto.
2186         (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto.
2187         (_bfd_elf_make_linker_section_rela): Ditto.
2188
2189         * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields.
2190
2191         * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete.
2192         (ppc_elf_create_linker_section): New function to create the
2193         sections .got, .sdata, and .sdata2.
2194         (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if
2195         needed.
2196         (ppc_elf_check_relocs): Support more of the eabi relocations.
2197         (ppc_elf_relocate_section): Ditto.
2198         (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768
2199         if the .sdata{,2} + .sbss{,2} section size is > 32k.
2200
2201         * elflink.h (elf_create_pointer_linker_section): New function to
2202         create initialized pointers in dynamic linker sections.
2203         (elf_finish_pointer_linker_section): Actually intialize the
2204         pointers created above.
2205
2206         * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New
2207         macros to provide both 32 and 64 bit versions of
2208         elf_create_pointer_linker_section.
2209         (bfd_elf{32,64}_finish_pointer_linker_section): New macros to
2210         provide both 32 and 64 bit versions of
2211         elf_finish_pointer_linker_section.
2212
2213         * elflink.c (_bfd_elf_create_linker_section): New function to
2214         create a linker section.
2215         (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a
2216         given address in the linker pointer offsets created for a given
2217         symbol.
2218         (_bfd_elf_make_linker_section_rela): Make a RELA section
2219         corresponding to the generated linker section.
2220
2221 Sat Jan 20 08:36:10 1996  Doug Evans  <dje@canuck.cygnus.com>
2222
2223         * elf32-sparc.c (ELF_MACHINE_ALT1): Define.
2224
2225 Thu Jan 18 18:25:34 1996  Kim Knuttila  <krk@cygnus.com>
2226
2227         * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs.
2228         (coff_ppc_relocate_section): Handle special values for gcc built dlls.
2229         (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries.
2230         Also begin the toc at 4 as an eye catcher ('31313131' marks the first
2231         toc entry in an objdump) for now.
2232         (ppc_do_last, ppc_get_last): New function - needed to save processing 
2233         the toc owner to the end.
2234         (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the 
2235         toc owner last.
2236
2237         * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the 
2238         toc owner from being done till last. Must define POWERPC_LE_PC 
2239         to enable it.
2240
2241         * coffcode.h (coff_set_alignment_hook): alignment setting for .stab
2242
2243         * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str
2244         to INFO.
2245         (coff_swap_aouthdr_out): Removed a non-working hack for computing the
2246         SizeOfImage for PowerPC. Ignore the size of the .junk section.
2247
2248 Thu Jan 18 17:42:12 1996  Ian Lance Taylor  <ian@cygnus.com>
2249
2250         * elfcore.h: Include <signal.h> before <sys/procfs.h>.
2251
2252 Wed Jan 17 12:40:14 1996  Ian Lance Taylor  <ian@cygnus.com>
2253
2254         * cpu-powerpc.c (arch_info_struct): Change last entry to not point
2255         back to first.
2256         (bfd_powerpc_arch): Point at first entry in arch_info_struct.
2257
2258 Tue Jan 16 15:10:49 1996  Ian Lance Taylor  <ian@cygnus.com>
2259
2260         * elf.c (assign_file_positions_for_segments): Don't increment file
2261         offset for a segment which contains no loadable sections.
2262
2263 Mon Jan 15 17:46:27 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2264
2265         * reloc.c: Add new PowerPC relocations.
2266         * {bfd-in2,libbfd}.h: Regenerate.
2267
2268         * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations.
2269         (ppc_elf_reloc_type_lookup): Lookup new relocations.
2270
2271 Mon Jan 15 14:29:44 1996  Ian Lance Taylor  <ian@cygnus.com>
2272
2273         * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22
2274         entries.
2275
2276         * sunos.c (sunos_scan_ext_relocs): Don't fail assert if
2277         info->shared.
2278
2279         * coffgen.c (coff_find_nearest_line): Don't try to cache
2280         information in sections that are not owned by a BFD.  From Richard
2281         Henderson <richard@atheist.tamu.edu>.
2282
2283         * elf32-mips.c: Numerous changes to dynamic linking code, mostly
2284         from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
2285         * elflink.h (elf_link_output_extsym): Remove special check for
2286         _rld_new_interface.
2287
2288         * ecoffswap.h: Add prototypes for static functions.
2289
2290 Sun Jan 14 21:36:08 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2291
2292         * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions.
2293         (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc
2294         references.
2295         (ppc_elf_relocate_section):  No longer allow .sdata/.sbss sections
2296         to satisfy a TOC16 relocation.  Rewrite unsupported relocation
2297         support.  Begin support for R_PPC_SDA{2,}REL.
2298
2299 Sat Jan 13 09:36:52 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2300
2301         * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to
2302         create the .got and .got.neg sections.
2303         (ppc_elf_size_dynamic_sections): Call it.
2304         (ppc_elf_check_relocs): Call it.
2305         (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got.
2306         (ppc_elf_check_relocs): Add error messages for relocations we
2307         don't yet support.  Do not include R_PPC_SDAREL16 like a GOT
2308         relocation.
2309
2310 Fri Jan 12 15:27:59 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2311
2312         * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new
2313         section flags for V.4 and eabi.
2314
2315 Fri Jan 12 13:59:16 1996  Ian Lance Taylor  <ian@cygnus.com>
2316
2317         * elf.c (assign_file_positions_for_segments): If a segment
2318         contains no sections, don't mark it as readable.
2319
2320         * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare.
2321         * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare.
2322
2323         * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of
2324         dynamic section, if there is one.
2325         * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
2326         (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
2327         (bfd_elf64_swap_dyn_in): Likewise.
2328         * elfcode.h (elf_swap_dyn_in): Change type of second parameter to
2329         PTR.
2330         (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
2331
2332         * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a
2333         DT_TEXTREL entry because of .rel.plt.  From Martin Pirker
2334         <pirker@eiunix.tuwien.ac.at>.
2335
2336 Thu Jan 11 17:06:14 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2337
2338         * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for
2339         PowerPC V.4 and eabi.
2340         * bfd-in2.h: Regenerate.
2341         * libfd.h: Regenerate.
2342
2343         * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags.
2344
2345         * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED
2346         section type and SHF_EXCLUDE section flag, turning them into the
2347         appropriate bfd section flag.
2348
2349 Thu Jan 11 11:23:30 1996  Ian Lance Taylor  <ian@cygnus.com>
2350
2351         * xcofflink.c (xcoff_link_add_symbols): Create the special
2352         sections if we see a DYNAMIC object, in case that is the only
2353         XCOFF input object we see.
2354         
2355         * elf32-mips.c: Extensive changes for a start at dynamic linking
2356         support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
2357
2358         * elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
2359         (struct elf_backend_data): Remove
2360         elf_backend_create_program_headers field.  Add
2361         elf_backend_additional_program_headers and
2362         elf_backend_modify_segment_map fields.
2363         * elfxx-target.h (elf_backend_type_change_ok): Define if not
2364         defined.
2365         (elf_backend_additional_program_headers): Likewise.
2366         (elf_backend_modify_segment_map): Likewise.
2367         (elf_backend_create_program_headers): Don't define.
2368         (elfNN_bed): Change to account for field changes.
2369         * elf.c (assign_file_positions_for_segments): Call new
2370         modify_segment_map backend function.  Don't call old
2371         create_program_headers backend function.
2372         (get_program_header_size): Call additional_program_headers rather
2373         than create_program_headers.
2374         * elflink.h (elf_link_add_object_symbols): Initialize
2375         type_change_ok from new backend field.
2376         (elf_link_output_extsym): Don't warn if _rld_new_interface is
2377         defined.
2378         (elf_reloc_link_order): Treat a reloc against a defined symbol as
2379         a reloc against the appropriate section.
2380
2381         * elf-bfd.h (struct bfd_elf_section_data): Add tdata field.
2382         (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
2383         (elf_flags_init): Rename from elf_ppc_flags_init.
2384         * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
2385         elf_ppc_flags_init.
2386         (ppc_elf_copy_private_bfd_data): Likewise.
2387         (ppc_elf_merge_private_bfd_data): Likewise.
2388
2389         * elf32-m68k.c (howto_table): Change src_mask to 0 for all
2390         relocation entries.
2391
2392 Tue Jan  9 15:22:53 1996  David Mosberger-Tang  <davidm@azstarnet.com>
2393
2394         * coff-alpha.c (alpha_relocate_section): During final link, allow
2395         output .lita section to be bigger than 64k by adjusting gp value
2396         on a per-input section basis.
2397         * libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning
2398         field.
2399         (struct ecoff_section_tdata): Add gp field.
2400
2401 Tue Jan  9 12:00:36 1996  Ian Lance Taylor  <ian@cygnus.com>
2402
2403         Handle Alpha ECOFF changes in OSF/1 3.2.
2404         * libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos
2405         field.
2406         * coff-alpha.c: Include "aout/ar.h".
2407         (alpha_ecoff_get_relocated_section_contents): Don't require an
2408         ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1
2409         3.2 doesn't generate one.
2410         (alpha_relocate_section): Likewise.
2411         (alpha_ecoff_slurp_armap): Define.
2412         (alpha_ecoff_slurp_extended_name_table): Define.
2413         (alpha_ecoff_construct_extended_name_table): Define.
2414         (alpha_ecoff_truncate_arname): Define.
2415         (alpha_ecoff_write_armap): Define.
2416         (alpha_ecoff_generic_stat_arch_elt): Define.
2417         (alpha_ecoff_update_armap_timestamp): Define.
2418         (ARFZMAG): Define.
2419         (alpha_ecoff_read_ar_hdr): New static function.
2420         (alpha_ecoff_get_elt_at_filepos): New static function.
2421         (alpha_ecoff_openr_next_archived_file): New static function.
2422         (alpha_ecoff_get_elt_at_index): New static function.
2423         (alpha_ecoff_backend_data): Initialize get_elt_at_filepos field.
2424         (ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from
2425         _bfd_ecoff to alpha_ecoff.
2426         * ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos
2427         field from backend structure, rather than always calling
2428         _bfd_get_elt_at_filepos.
2429         * coff-mips.c (mips_ecoff_backend_data): Initialize
2430         get_elt_at_filepos field.
2431         * archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied
2432         from _bfd_generic_read_ar_hdr with minor changes.
2433         (_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag.
2434         * libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare.
2435         * libbfd.h: Rebuild.
2436
2437         * bfd-in.h (BFD_IN_MEMORY): Define.
2438         * libbfd-in.h (struct bfd_in_memory): Define.
2439         * libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag.
2440         (bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file.
2441         (bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set.
2442         (bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag.
2443         * bfd.c (struct _bfd): Change iostream field from char * to PTR.
2444         (bfd_get_size): Handle BFD_IN_MEMORY flag.
2445         * cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files.
2446         (bfd_open_file): Cast to PTR, not char *, when setting iostream.
2447         (bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set.
2448         * opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting
2449         iostream.
2450         (bfd_openstreamr): Likewise.
2451         * aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if
2452         BFD_IN_MEMORY is not set.
2453         * riscix.c (riscix_some_aout_object_p): Likewise.
2454         * bfd-in2.h, libbfd.h: Rebuild.
2455
2456         * targets.c (bfd_target): Add _bfd_get_elt_at_index field.
2457         (BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index.
2458         (bfd_get_elt_at_index): Define.
2459         * archive.c (_bfd_generic_get_elt_at_index): Rename from
2460         bfd_get_elt_at_index.  Change index parameter from int to
2461         symindex.
2462         * libbfd-in.h (_bfd_generic_get_elt_at_index): Declare.
2463         (_bfd_noarchive_get_elt_at_index): Define.
2464         (_bfd_archive_bsd_get_elt_at_index): Define.
2465         (_bfd_archive_coff_get_elt_at_index): Define.
2466         * bfd-in2.h, libbfd.h: Rebuild.
2467         * aout-target.h (MY_get_elt_at_index): Define if not defined.
2468         * coff-rs6000.c (xcoff_get_elt_at_index): Define.
2469         * ieee.c (ieee_get_elt_at_index): Define.
2470         * libecoff.h (_bfd_ecoff_get_elt_at_index): Define.
2471         * oasys.c (oasys_get_elt_at_index): Define.
2472         * som.c (som_get_elt_at_index): Define.
2473
2474         * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line
2475         numbers to the .text section.
2476
2477 Mon Jan  8 17:00:57 1996  Ian Lance Taylor  <ian@cygnus.com>
2478
2479         * ieee.c (ieee_write_debug_part): Change return type to boolean.
2480         If there is a SEC_DEBUGGING section, get the contents of the debug
2481         information part from it.
2482         (ieee_set_section_contents): Store the contents of a SEC_DEBUGGING
2483         section in memory.
2484         (ieee_write_object_contents): Check ieee_write_debug_part return.
2485
2486 Thu Jan  4 17:12:37 1996  Fred Fish  <fnf@cygnus.com>
2487
2488         * config.bfd (i[345]86-*-freebsd*): Add target.
2489         * configure.in (i386freebsd_vec): Add vec.
2490         * configure: Regenerate.
2491         * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o.
2492         (BFD32_BACKENDS_CFILES): Add i386freebsd.c.
2493         Rebuild dependencies..
2494         * freebsd.h: New file.
2495         * i386freebsd.c: New file.
2496         * targets.c (i386freebsd_vec): Declare.
2497         (bfd_target_vector): Add i386freebsd_vec.
2498         * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE
2499         * i386netbsd.c (SEGMENT_SIZE):  Define as TARGET_PAGE_SIZE
2500         
2501 Thu Jan  4 16:27:46 1996  Ian Lance Taylor  <ian@cygnus.com>
2502
2503         * ieee.c (ieee_slurp_debug): New static function.
2504         (ieee_object_p): Call it.
2505         (ieee_slurp_section_data): Skip debugging sections.
2506         (ieee_get_reloc_upper_bound): Likewise.
2507         (ieee_get_section_contents): Likewise.
2508         (ieee_canonicalize_reloc): Likewise.
2509         (ieee_write_section_part): Likewise.
2510         (ieee_write_debug_part): Likewise.
2511         (ieee_write_data_part): Likewise.
2512         (init_for_output): Likewise.
2513
2514 Wed Jan  3 19:42:47 1996  Michael Meissner  <meissner@wogglebug.tiac.net>
2515
2516         * elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations
2517         work.
2518         (ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto
2519         relocs, since ppc_elf_relocate_section handles the linker case.
2520         (ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer
2521         used.
2522         (ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into
2523         ppc_elf_relocate_section since that is now the only caller.
2524         (ppc_elf_relocate_section): Ditto.
2525
2526 Wed Jan  3 15:11:30 1996  Ian Lance Taylor  <ian@cygnus.com>
2527
2528         * coffcode.h (coff_write_object_contents): If we don't know the
2529         section of the entry point for an XCOFF executable, always set the
2530         entry address to -1.
2531
2532 Tue Jan  2 14:17:15 1996  Michael Meissner  <meissner@tiktok.cygnus.com>
2533
2534         * elf.c (bfd_section_from_shdr): Add support for note sections.
2535
2536 Tue Jan  2 13:10:25 1996  Ian Lance Taylor  <ian@cygnus.com>
2537
2538         * bfd-in.h (struct _symbol_info): Add stab_type field.
2539         * bfd-in2.h: Rebuild.
2540         * aoutx.h (NAME(aout,get_symbol_info)): Set stab_type.
2541
2542         * elf32-ppc.c: Remove trailing newline from calls to
2543         _bfd_error_handler.
2544         (ppc_elf_merge_private_bfd_data): Only warn about endianness
2545         difference if target endianness is known.
2546
2547 Thu Dec 21 12:43:49 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
2548
2549         * elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the
2550         old style TOC16 references without using R_PPC_GOT.
2551         (ppc_reloc_type): Ditto.
2552         (ppc_elf_reloc_type_lookup): Add support for TOC16.
2553         (ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner.
2554         (ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc.
2555         (ppc_elf_got16_{inner,reloc}): Stubs for real GOT support.
2556         (ppc_elf_check_relocs): New function for GOT/PLT support that is
2557         work in progress.
2558         (ppc_elf_adjust_dynamic_symbol): Ditto.
2559         (ppc_elf_adjust_dynindx): Ditto.
2560         (ppc_elf_size_dynamic_sections): Ditto.
2561         (ppc_elf_finish_dynamic_symbol): Ditto.
2562         (ppc_elf_finish_dynamic_sections): Ditto.
2563         (ELF_DYNAMIC_INTERPRETER): Define.
2564
2565 Wed Dec 20 19:14:18 1995  Ken Raeburn  <raeburn@cygnus.com>
2566
2567         * elf.c (copy_private_bfd_data): When attaching sections to
2568         segments ignore sections that won't be allocated.  Patch from
2569         Andreas Schwab.
2570
2571 Tue Dec 19 20:01:43 1995  Ken Raeburn  <raeburn@cygnus.com>
2572
2573         * config.bfd: Match on m68k-cbm-* only if OS doesn't match
2574         anything else.
2575
2576 Tue Dec 19 16:38:59 1995  Ian Lance Taylor  <ian@cygnus.com>
2577
2578         * coff-i960.c (CALC_ADDEND): Define.
2579         (coff_i960_relocate_section): Add the input section VMA to the
2580         addend for PC relative relocs.
2581
2582 Sun Dec 17 20:11:55 1995  Kim Knuttila  <krk@cygnus.com>
2583
2584         * peicode.h (pe_print_pdata): Must test the entire entry for zero
2585         to correctly terminate.
2586
2587 Fri Dec 15 12:05:57 1995  Ian Lance Taylor  <ian@cygnus.com>
2588
2589         * targets.c (enum bfd_endian): Define.
2590         (bfd_target): Rename byteorder_big_p to byteorder, and change it
2591         from boolean to enum bfd_endian.  Change header_byteorder_big_p
2592         correspondingly.
2593         * bfd-in.h (bfd_big_endian, bfd_little_endian): New macros.
2594         (bfd_header_big_endian, bfd_header_little_endian): New macros.
2595         * bfd-in2.h: Rebuild.
2596         * All targets: Change initialization of byteorder and
2597         header_byteorder to use enum bfd_endian values rather than
2598         booleans.
2599         * All files: Change all references to byteorder_big_p and
2600         header_byteorder_big_p to use new bfd_*_endian macros.
2601
2602         * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not
2603         s_vaddr.
2604         * coffcode.h (coff_write_object_contents): Set s_paddr to lma, not
2605         vma.
2606         * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
2607
2608 Fri Dec 15 07:32:09 1995  steve chamberlain  <sac@slash.cygnus.com>
2609
2610         * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'.
2611
2612 Thu Dec 14 13:45:37 1995  Ian Lance Taylor  <ian@cygnus.com>
2613
2614         * ieee.c: Lots of minor cleanups.  Make many functions return
2615         errors rather than calling abort.  Also:
2616         (ieee_write_twobyte): Remove; change callers to call existing
2617         ieee_write_2bytes function.
2618         (ieee_write_expression): Don't output the section twice when
2619         outputting a local symbol.  Don't emit an extraneous zero if there
2620         is only one term.
2621         (ieee_slurp_sections): Set the lma as well as the vma.
2622         (ieee_archive_p): Use bfd_alloc_grow rather than an obstack.
2623
2624         * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just
2625         a recognized one or bfd_arch_unknown.
2626         (ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy
2627         to succeed.
2628         (ihex_get_symtab): Likewise.
2629
2630 Wed Dec 13 15:44:06 1995  Ian Lance Taylor  <ian@cygnus.com>
2631
2632         * aoutx.h: Include <ctype.h>.
2633         (struct aout_link_includes_table): Define.
2634         (struct aout_link_includes_totals): Define.
2635         (struct aout_link_includes_entry): Define.
2636         (aout_link_includes_lookup): Define macro.
2637         (struct aout_final_link_info): Add includes field.
2638         (aout_link_includes_newfunc): New static function.
2639         (NAME(aout,final_link)): Initialize includes hash table.
2640         (aout_link_write_symbols): Eliminate duplicate N_BINCL entries.
2641
2642 Wed Dec 13 10:52:14 1995  Stan Shebs  <shebs@andros.cygnus.com>
2643
2644         * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff.
2645
2646 Wed Dec 13 11:07:45 1995  Kim Knuttila  <krk@cygnus.com>
2647
2648         * coff-ppc.c (coff_ppc_relocate_section): removed debugging code.
2649
2650 Tue Dec 12 17:42:06 1995  Kim Knuttila  <krk@cygnus.com>
2651
2652         * peicode.h (pe_print_reloc): New function to dump the .reloc section.
2653         (pe_print_private_bfd_data): call pe_print_reloc.
2654         * coffcode.h (coff_set_alignment_hook): .reloc section alignment.
2655         * coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed
2656         up some debugging as well.
2657
2658 Tue Dec 12 11:34:23 1995  Ian Lance Taylor  <ian@cygnus.com>
2659
2660         * config.bfd: Handle sparc-*-elf*.  From Ronald F. Guilmette
2661         <rfg@monkeys.com>.
2662
2663 Fri Dec  8 17:47:07 1995  Ian Lance Taylor  <ian@cygnus.com>
2664
2665         * elflink.h (elf_link_add_object_symbols): Set section_count to 0
2666         when setting sections to NULL.
2667
2668 Wed Dec  6 17:05:37 1995  Ian Lance Taylor  <ian@cygnus.com>
2669
2670         * xcofflink.c (struct xcoff_loader_info): Add export_defineds
2671         field.
2672         (bfd_xcoff_size_dynamic_sections): Add export_defineds parameter.
2673         (xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT
2674         for all symbols.
2675         * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
2676         * bfd-in2.h: Rebuild.
2677
2678 Mon Dec  4 16:40:47 1995  Kim Knuttila  <krk@cygnus.com>
2679
2680         * coffcode.h (coff_set_alignment_hook): Removed some debugging printf's
2681
2682 Mon Dec  4 11:25:39 1995  Ian Lance Taylor  <ian@cygnus.com>
2683
2684         * ihex.c (ihex_scan): Handle record types 4 and 5.
2685         (ihex_object_p): Permit types 4 and 5.
2686         (ihex_set_section_contents): Remove check for out of range
2687         addresses.
2688         (ihex_write_object_contents): Generate types 4 and 5.
2689
2690         * elflink.h (elf_link_output_extsym): Just ignore warning and
2691         indirect references to symbols which don't really exist.
2692
2693 Sun Dec  3 19:00:27 1995  Kim Knuttila  <krk@cygnus.com>
2694
2695         * peicode.h (pe_print_idata): Minor format fixes
2696         (pe_print_edata): New function. Under private printing, this formats
2697         the edata section of a PE file.
2698         (pe_print_private_bfd_data): Added call to pe_print_edata.
2699
2700 Sun Dec  3 16:46:54 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
2701
2702         * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol
2703         index, don't call stoi.
2704
2705 Fri Dec  1 14:46:51 1995  Ian Lance Taylor  <ian@cygnus.com>
2706
2707         * srec.c (srec_scan): Set lma as well as vma.
2708
2709         * ihex.c: New file; support for Intel Hex format.
2710         * targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour.
2711         (ihex_vec): Declare.
2712         (bfd_target_vector): Always include ihex_vec.
2713         * bfd.c (struct _bfd): Add ihex_data field to tdata union.
2714         * Makefile.in: Rebuild dependencies.
2715         (BFD_LIBS): Add ihex.o
2716         (BFD_LIBS_CFILES): Add ihex.c.
2717         * bfd-in2.h: Rebuild.
2718
2719         * elf.c (assign_file_positions_for_segments): Sort the sections in
2720         each segment.
2721         (get_program_header_size): Return the right size if segment_map is
2722         not NULL.
2723         (copy_private_bfd_data): Don't bother to sort the sections.
2724
2725         * bfd.c (bfd_record_phdr): New function.
2726         * bfd-in.h (bfd_record_phdr): Declare.
2727         * bfd_in2.h: Rebuild.
2728
2729         * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus
2730         BFD_ASSERT.
2731
2732         * libbfd.c (bfd_malloc, bfd_realloc): New functions.
2733         (bfd_zmalloc): Return PTR, not char *.  Take size_t, not
2734         bfd_size_type.
2735         * libbfd-in.h (bfd_malloc, bfd_realloc): Declare.
2736         (bfd_zmalloc): Change declaration.
2737         * libbfd.h: Rebuild.
2738         * Many files: Use bfd_malloc and bfd_realloc rather than malloc
2739         and realloc.  Don't set bfd_error_no_memory if they fail.
2740
2741 Thu Nov 30 19:32:26 1995  Kim Knuttila  <krk@cygnus.com>
2742
2743         * coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous
2744         uses as well. Added a new howto to deal with TOCREL16 relocs that 
2745         are TOCDEFN as well.
2746         (coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs
2747         to handle RVA relocs from dlltool.
2748         (ppc_coff_rtype2howto): TOCDEFN reloc addition.
2749         (coff_ppc_rtype_to_howto): TOCDEFN reloc addition.
2750         (ppc_coff_reloc_type_lookup): TOCDEFN reloc addition.
2751
2752         * coffcode.h (coff_set_alignment_hook): check idata$X sections 
2753         to get the right section alignment.
2754
2755 Thu Nov 30 16:48:18 1995  Ian Lance Taylor  <ian@cygnus.com>
2756
2757         * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
2758         p_paddr if p_paddr is zero.
2759         (make_mapping): Set includes_filehdr and includes_phdrs for first
2760         PT_LOAD segment.
2761         (map_sections_to_segments): Set includes_phdrs for PT_PHDR
2762         segment.
2763         (assign_file_positions_for_segments): Handle includes_filehdr and
2764         includes_phdrs.  Remove special handling of PT_PHDR and first
2765         PT_LOAD segments.
2766         (copy_private_bfd_data): Set includes_filehdr and includes_phdr
2767         when appropriate.  Remove special handling of PT_PHDR segment.
2768         Use a more complex condition for when a section is included in a
2769         segment to handle Solaris linker oddities.
2770
2771 Thu Nov 30 11:17:33 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
2772
2773         * coff-m88k.c (howto_table): Reformatted for easier reading;
2774         special_function now points to new function m88k_special_reloc.
2775         (howto_hvrt16): Function previously used for handling HVRT16 relocs
2776         removed.
2777         (rtype2howto): Do not add reloc's r_offset to the addend, this will
2778         be done correctly by m88k_special_reloc.
2779         (reloc_processing): New function to be used by RELOC_PROCESSING.
2780         (RELOC_PROCESSING): Define to call reloc_processing.
2781
2782 Wed Nov 29 12:42:36 1995  Ian Lance Taylor  <ian@cygnus.com>
2783
2784         * peicode.h (pe_print_idata): Call malloc rather than xmalloc.
2785         (pe_print_pdata): Likewise.
2786
2787         * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if
2788         obstack_alloc fails.
2789         (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
2790         fails.
2791         * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
2792         * Many files: don't set bfd_error_no_memory if one of the above
2793         routines fails.
2794
2795         * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr
2796         if p_paddr_valid is set.
2797         (copy_private_bfd_data): New static function.
2798         (_bfd_elf_copy_private_section_data): Call copy_private_bfd_data.
2799
2800         * elf.c (assign_file_positions_for_segments): Fix case where extra
2801         program headers were allocated.
2802
2803         * elf.c (_bfd_elf_print_private_bfd_data): New function.
2804         * elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare.
2805         * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to
2806         _bfd_elf_print_private_bfd_data.
2807
2808         * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
2809         r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
2810         Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
2811         (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
2812         RELOC_SECTION_LITA for ALPHA_R_IGNORE.
2813         (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
2814         RELOC_SECTION_ABS to RELOC_SECTION_NONE.
2815
2816 Tue Nov 28 16:59:50 1995  Ian Lance Taylor  <ian@cygnus.com>
2817
2818         * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
2819         * elf.c (make_mapping): New static function.
2820         (map_sections_to_segments): New static function.
2821         (elf_sort_sections): New static function.
2822         (assign_file_positions_for_segments): New static function.
2823         (map_program_segments): Remove.
2824         (get_program_header_size): Remove sorted_hdrs, count, and
2825         maxpagesize parameters.  Simplify.
2826         (assign_file_positions_except_relocs): When generating an
2827         executable, use assign_file_positions_for_segments.
2828         (elf_sort_hdrs): Remove.
2829         (_bfd_elf_sizeof_headers): Remove eliminated parameters from call
2830         to get_program_header_size.
2831
2832 Mon Nov 27 12:27:46 1995  Ian Lance Taylor  <ian@cygnus.com>
2833
2834         * hp300hpux.c (MY(callback)): Set lma as well as vma.
2835
2836         * configure, config.in: Regenerate with autoconf 2.7.
2837
2838         * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1.
2839         * elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0.
2840
2841 Wed Nov 22 12:02:09 1995  Ian Lance Taylor  <ian@cygnus.com>
2842
2843         * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section.
2844         (ecoff_sec_to_styp_flags): Likewise.
2845         (_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST.
2846         (ecoff_set_symbol_info): Handle scRConst.
2847         (ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST.
2848         (ecoff_compute_section_file_positions): Handle .rconst section.
2849         (_bfd_ecoff_write_object_contents): Likewise.
2850         (ecoff_link_check_archive_element): Handle scRConst.
2851         (ecoff_link_add_externals): Likewise.
2852         (ecoff_link_write_external): Handle .rconst section.
2853         (ecoff_reloc_link_order): Likewise.
2854         * ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst.
2855         * coff-alpha.c (alpha_convert_external_reloc): Handle .rconst
2856         section.
2857         (alpha_relocate_section): Handle RELOC_SECTION_RCONST.
2858
2859         * sunos.c (sunos_scan_dynamic_symbol): Only set written if the
2860         DEF_DYNAMIC flag is set.
2861
2862 Tue Nov 21 13:25:29 1995  Ken Raeburn  <raeburn@cygnus.com>
2863
2864         * host-aout.c: If TRAD_HEADER is defined, include it.
2865
2866 Tue Nov 21 13:03:57 1995  Ian Lance Taylor  <ian@cygnus.com>
2867
2868         * aclocal.m4 (AC_PROG_CC): Remove local definition.
2869         (BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM.
2870         (BFD_NEED_DECLARATION): New function.
2871         * configure.in: Use BFD_NEED_DECLARATION.
2872         * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section.
2873         * configure, config.in: Rebuild with autoconf 2.6.
2874
2875         * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear
2876         special_sections before returning when called with a non XCOFF
2877         BFD.
2878
2879         * coffgen.c (coff_renumber_symbols): Sort common symbols with
2880         global symbols.
2881
2882         * coffcode.h (coff_compute_section_file_positions): Only pad the
2883         previous section to force file alignment when creating an
2884         executable.
2885
2886 Mon Nov 20 14:54:09 1995  Ian Lance Taylor  <ian@cygnus.com>
2887
2888         * coffcode.h (coff_compute_section_file_positions): If
2889         RS6000COFF_C, set up the .debug section.
2890
2891         * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value
2892         if it is not large enough to accomodate the entire TOC area with
2893         signed 16 bit offsets.
2894         (xcoff_write_global_symbol): Handle negative TOC offsets in global
2895         linkage code.
2896         (_bfd_ppc_xcoff_relocate_section): Adjust relocations against a
2897         TOC anchor to use the TOC value used in the output file.
2898
2899 Sat Nov 18 18:01:41 1995  Ian Lance Taylor  <ian@cygnus.com>
2900
2901         * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return.
2902         (_bfd_coff_read_string_table): Likewise.
2903
2904 Sat Nov 18 19:43:04 1995  Richard Earnshaw (rearnsha@armltd.co.uk)
2905
2906         * pe-arm.c: Fix typos.
2907         * coff-arm.c: Likewise.
2908
2909 Fri Nov 17 16:22:04 1995  Kim Knuttila  <krk@cygnus.com>
2910
2911         * coff-ppc.c (list_ele): Added "cat"egory member.
2912         (record_toc): New category parameter (priv or pub).
2913         (ppc_record_toc_entry): Check to see if toc bounds exceeded.
2914         (ppc_process_before_allocation): Removed embrionic data-in-toc from
2915         the mainline. It addes extra toc cells in error.
2916         (ppc_coff_swap_sym_in_hook): Added some documentation.
2917         (dump_toc): Can now diagnose "virtual toc" chicanery.
2918
2919 Fri Nov 17 10:41:25 1995  Philippe De Muyter  <phdm@info.ucl.ac.be>
2920
2921         * elf-bfd.h (struct elf_link_hash_table): Change type of
2922         dynsymcount and bucketcount fields from size_t to bfd_size_type.
2923
2924 Fri Nov 17 10:02:58 1995  Ian Lance Taylor  <ian@cygnus.com>
2925
2926         * coffcode.h (coff_pointerize_aux_hook): I960 version: don't
2927         pointerize C_LEAFSTAT or C_LEAFEXT entries.
2928
2929         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create
2930         DT_INIT and DT_FINI entries if the _init or _fini symbol is
2931         defined or mentioned in a regular file.
2932
2933 Thu Nov 16 15:16:42 1995  Kim Knuttila  <krk@cygnus.com>
2934
2935         * coff-ppc.c (ppc_record_data_in_toc_entry): new function
2936         (coff_ppc_relocate_section): Handle TOCDEFN attribute
2937         (coff_ppc_relocate_section): Correct REL24 handling
2938         (ppc_process_before_allocation): Correct TOCDEFN handling
2939
2940         * peicode.h (dir_names): Added name descriptions
2941
2942 Thu Nov 16 03:38:03 1995  Ken Raeburn  <raeburn@cygnus.com>
2943
2944         * VERSION: Updated to cygnus-2.6.
2945
2946 Wed Nov 15 19:30:07 1995  Ken Raeburn  <raeburn@cygnus.com>
2947
2948         * targets.c (m68k4knetbsd_vec): Declare.
2949
2950 Wed Nov 15 18:05:52 1995  Ian Lance Taylor  <ian@cygnus.com>
2951
2952         * targets.c (bfd_target): Change type of second argument to
2953         _bfd_print_private_bfd_data from void * to PTR.
2954         * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast
2955         using PTR rather than void *.
2956         * bfd-in2, libbfd.h: Rebuild.
2957         * peicode.h (pe_print_private_bfd_data): Change vfile from void *
2958         to PTR.
2959         * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as
2960         _bfd_generic_bfd_print_private_bfd_data rather than casting
2961         bfd_true.
2962
2963 Wed Nov 15 04:09:14 1995  Ken Raeburn  <raeburn@cygnus.com>
2964
2965         * Makefile.in (.dep1): Fix stupid typo in last change.  Remove any
2966         "DO NOT DELETE" lines or blank lines that mkdep writes on some
2967         systems.
2968         (BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES,
2969         BFD64_BACKENDS_CFILES): New variables.
2970         (CFILES): Use them.
2971         
2972 Tue Nov 14 11:52:23 1995  Ian Lance Taylor  <ian@cygnus.com>
2973
2974         * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0,
2975         not at the file position of the first section.
2976         * coffcode.h (coff_compute_section_file_positions): Avoid using
2977         unportable #elif.
2978         (coff_write_object_contents): When generating a PPC PE executable
2979         with no symbols, round up the file size to a COFF_PAGE_SIZE
2980         boundary.
2981         * cofflink.c (_bfd_coff_final_link): If there are no symbols,
2982         don't write out a string table.
2983
2984         * elf.c (bfd_section_from_shdr): When using a different section
2985         header, pass the new one to _bfd_elf_make_section_from_shdr.
2986         (elf_fake_sections): Don't set sh_info and sh_entsize fields.
2987         (elf_map_symbols): Add section VMA to symbol value when comparing
2988         against 0.
2989         (_bfd_elf_compute_section_file_positions): Only build symbol table
2990         if there are some symbols.  Set file offset of symtab and strtab
2991         sections.
2992         (assign_file_positions_except_relocs): Remove dosyms parameter.
2993         Change all callers.  Never set file offset of symtab and strtab
2994         sections.
2995         (_bfd_elf_copy_private_section_data): New function.
2996         (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define.
2997         (_bfd_elf_copy_private_symbol_data): New function.
2998         (swap_out_syms): Check for special mapping of st_shndx created by
2999         copy_private_symbol_data.
3000         * elfxx-target.h: Use new copy routines.
3001         * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare.
3002         (_bfd_elf_copy_private_section_data): Declare.
3003
3004         * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec.
3005
3006         * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle
3007         C_NT_WEAK.
3008
3009         * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not
3010         _bfd_dummy_target, matching the recent change to archive
3011         recognition.
3012
3013 Mon Nov 13 13:24:38 1995  Ian Lance Taylor  <ian@cygnus.com>
3014
3015         * libbfd.c (bfd_get_file_window): Use casts to avoid doing
3016         arithmetic on PTR types.
3017
3018         * aout-target.h (MY(callback)): Set the lma of the sections.
3019
3020         * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined
3021         symbol into a reloc against the section.
3022
3023 Mon Nov 13 07:31:35 1995  Kim Knuttila  <krk@cygnus.com>
3024
3025         * coff-ppc.c (ppc_coff_link_hash_entry): added support for inline
3026         glue for the relocs: IMGLUE and IFGLUE.
3027         (record_toc): new function - tracks toc contents
3028         (ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc
3029         (coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE
3030         (ppc_coff_rtype2howto): removed invalid IMGLUE hack
3031         (coff_ppc_rtype_to_howto): removed invalid IMGLUE hack
3032         (ppc_record_toc_entry): Removed a debug define (duh)
3033
3034         * peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata"
3035         (pe_print_idata): New function - formats the idata section data
3036         (pe_print_pdata): New function - formats the pdata section data
3037         (pe_print_private_bfd_data): calls to above
3038
3039 Sun Nov 12 12:23:24 1995  Stan Shebs  <shebs@andros.cygnus.com>
3040
3041         * Makefile.in (bfd_libs_here, etc): Provide empty definitions.
3042         * coff-rs6000.c (rs6000coff_vec): Add conditional defines
3043         TARGET_SYM and TARGET_NAME for vector and BFD name.
3044         * coff-pmac.c (pmac_xcoff_vec): Remove.
3045         (TARGET_SYM, TARGET_NAME): Define.
3046         * coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
3047         machine to 0, not all PowerMacs are 601s.
3048
3049 Fri Nov 10 12:10:14 1995  Ian Lance Taylor  <ian@cygnus.com>
3050
3051         * elfcode.h (elf_object_p): Read in any program headers.
3052         * elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma
3053         based on the program headers, if any.
3054         (elf_fake_sections): Set sh_addr from the vma, not the lma.
3055         (map_program_segments): Set p_paddr of program headers based on
3056         the lma.
3057
3058 Thu Nov  9 13:01:31 1995  Ian Lance Taylor  <ian@cygnus.com>
3059
3060         * archive.c (bfd_generic_archive_p): Preserve tdata in case of
3061         failure.
3062
3063         * aoutx.h (NAME(aout,final_link)): Report a reasonable error when
3064         trying to do a relocateable link with a non-a.out object file.
3065
3066         * archive.c (bfd_generic_archive_p): Check the first object file
3067         in an archive even if target_defaulted is set.  If the object file
3068         has the wrong xvec, reject it.
3069
3070         * aoutx.h (NAME(aout,set_section_contents)): If a section can not
3071         be represented, report the name via _bfd_error_handler.
3072         (translate_to_native_sym_flags): Likewise.
3073         * elf32-mips.c (mips_elf_final_link): Likewise.
3074         * oasys.c (oasys_write_sections): Likewise.
3075
3076         * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version
3077         which checks for STYP_OVRFLO sections.
3078         (coff_compute_section_file_positions): If RS6000COFF_C, handle
3079         reloc and lineno count overflows.
3080         (coff_write_object_contents): Call coff_count_linenumbers before
3081         coff_compute_section_file_positions.  If RS6000COFF_C, handle
3082         reloc and lineno count overflows.
3083         * xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and
3084         relocs before dealing with .pad sections.  Count overflow section
3085         headers when handling .pad sections.
3086
3087         * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1
3088         if RS6000COFF_C.
3089
3090         * xcofflink.c (XCOFF_DESCRIPTOR): Define.
3091         (struct xcoff_link_hash_table): Add descriptor_section and
3092         special_sections fields.
3093         (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields.
3094         (xcoff_link_add_symbols): Set linkage section alignment.  Create
3095         descriptor section.  Check for magic symbol names (_text, etc.),
3096         and record them in special_sections if found.  Set
3097         XCOFF_DESCRIPTOR flag for a function descriptor, and set its
3098         descriptor field to point back to the function code symbol.
3099         (xcoff_sweep): Always mark the special descriptor_section.
3100         (bfd_xcoff_export_symbol): Check whether the symbol might be a
3101         function descriptor, and mark it if it is.
3102         (bfd_xcoff_size_dynamic_sections): Add new special_sections
3103         parameter, and fill it in.  Allocate space for the descriptor
3104         section.
3105         (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining
3106         global linkage code.  If an undefined function descriptor is
3107         exported, arrange to define it.  Warn about any other undefined
3108         exported symbol.
3109         (_bfd_xcoff_bfd_final_link): Write out the descriptor section.
3110         (xcoff_write_global_symbol): Create a function descriptor when
3111         necessary.
3112         * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration.
3113         * bfd-in2.h: Rebuild.
3114
3115 Thu Nov  9 08:40:23 1995  Kim Knuttila  <krk@cygnus.com>
3116
3117         * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing
3118         (ppc_coff_link_hash_table): new types for hashing
3119         (ppc_coff_link_hash_newfunc): hash entry constructor
3120         (ppc_coff_link_hash_table_init): hash table initializer
3121         (ppc_coff_link_hash_table_create): hash table constructor
3122         (ppc_record_toc_entry): changed references to hash table
3123         (coff_ppc_relocate_section): changed references to hash table
3124
3125         * libcoff-in.h (coff_link_hash_entry): removed toc_offset
3126         * libcoff.h: Rebuild
3127
3128         * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init
3129         (coff_link_add_symbols): removed toc_offset init
3130
3131 Thu Nov  9 04:00:38 1995  Ken Raeburn  <raeburn@cygnus.com>
3132
3133         * Makefile.in (.dep1): Make sure the file mkdep is to write exists
3134         first.
3135
3136         * configure.in: Added new option --with[out]-mmap.  Set USE_MMAP
3137         if it is given and mmep is available.
3138         * acconfig.h: Undef USE_MMAP.
3139         * configure, config.in: Regenerated.
3140         * aoutx.h: If USE_MMAP is not defined, do all symbol and string
3141         table handling the old way.
3142         (aout_get_external_symbols): Don't complain if last byte of string
3143         table is nonzero.
3144         * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h.
3145         (bfd_free_window) [! USE_MMAP]: Don't define.
3146         (bfd_get_file_window,
3147         _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort.
3148
3149 Wed Nov  8 20:03:44 1995  Eric Freudenthal <freudenthal@nyu.edu>
3150
3151         * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than
3152         0xffff0000.
3153
3154 Wed Nov  8 11:31:11 1995  Ian Lance Taylor  <ian@cygnus.com>
3155
3156         * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be
3157         compatible with AMD generated COFF files.  Try to support both AMD
3158         and GNU formats simultaneously.
3159         (coff_a29k_relocate_section): Likewise.
3160
3161         * libbfd.c (bfd_get_file_window): Change writable parameter from
3162         int to boolean; update all callers.  Pass MAP_SHARED if not
3163         writable--it's required on Solaris.  Cast fprintf argument to
3164         avoid warning.
3165         * bfd-in.h (bfd_get_file_window): Update declaration.
3166         * bfd-in2.h: Rebuild.
3167         * aoutx.h: Update calls to bfd_get_file_window.
3168
3169         * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
3170         Change all uses.
3171         (xcoff_swap_ldhdr_in): New static function.
3172         (xcoff_swap_ldsym_in): New static function.
3173         (xcoff_find_reloc): Handle the case of a single reloc correctly.
3174         (xcoff_link_add_symbols): If we just created a descriptor, pass it
3175         to _bfd_generic_link_add_one_symbol, to save a hash lookup.
3176         Handle XTY_ER/XMC_XO symbols correctly.
3177         (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols
3178         rather than normal symbol table.
3179         (bfd_xcoff_import_symbol): It's not an error if the symbol is
3180         already defined with the same absolute value.
3181         (xcoff_mark): When considering called symbols, check whether the
3182         descriptor is from a dynamic object, rather than the symbol
3183         itself.
3184         (xcoff_build_ldsyms): Likewise.
3185
3186         * libbfd.c (bfd_get_file_window): Change return type to boolean.
3187         Cast realloc and malloc return values.  If malloc or realloc fail,
3188         set bfd_error_no_memory.
3189         * bfd-in.h (bfd_get_file_window): Change type to boolean.
3190         * bfd-in2.h: Rebuild.
3191
3192 Tue Nov  7 11:53:48 1995  Kim Knuttila  <krk@cygnus.com>
3193
3194         * coff-ppc.c (ppc_record_toc_entry): new function.
3195         (in_reloc_p): changed return value.
3196         (coff_ppc_relocate_section): much rework.
3197         (ppc_allocate_toc_section): new function.
3198         (ppc_process_before_allocation): new function.
3199         (ppc_coff_swap_sym_in_hook): new function.
3200
3201         * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset.
3202         (coff_link_add_symbols): initialize toc_offset.
3203
3204         * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook
3205         (coff_swap_aouthdr_out): Added more sections to the data
3206         dictionary for the pe file header. Also changed linker version
3207         number on the ppc side.
3208         (dir_names): small improvements to the dictionary printing.
3209         (pe_mkobject_hook): save the file level flags.
3210
3211         * libcoff-in.h (coff_link_hash_entry): added toc_offset field
3212         (pe_tdata): added real_flags field
3213         (coff_tdata): added local_toc_sym_map and access macro
3214
3215         * libcoff.h (coff_link_hash_entry): added toc_offset field
3216         (pe_tdata): added real_flags field
3217         (coff_tdata): added local_toc_sym_map and access macro
3218
3219         * coffcode.h (coff_set_alignment_hook): added hook for PE.
3220         (coff_mkobject): init for local_toc_sym_map
3221         (coff_write_object_contents): set the internal_a.magic to
3222         IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other
3223         ppc compilers use.
3224
3225 Tue Nov  7 13:48:58 1995  Ian Lance Taylor  <ian@cygnus.com>
3226
3227         * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs
3228         entries until both the line number address and the function name
3229         address are too large.
3230
3231         * configure.in: Call AC_CHECK_PROG to find and cache AR.
3232         * configure: Rebuilt.
3233
3234         * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it
3235         is defined in the environment.
3236
3237 Tue Nov  7 10:57:24 1995  Jeffrey A Law  (law@cygnus.com)
3238
3239         * som.c (som_get_section_contents_in_window): Define to use
3240         generic version.
3241
3242 Mon Nov  6 17:13:15 1995  Harry Dolan  <dolan@ssd.intel.com>
3243
3244         * coff-i860.c: New file, based on coff-i386.c.
3245         * cpu-i860.c: New file, based on cpu-i386.c.
3246         * hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
3247         * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
3248         targets, using i860coff_vec.
3249         * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
3250         trad-core.o and hosts/i860mach3.h.
3251         (i860coff_vec): Use coff-i860.o and cofflink.o.
3252         * configure: Rebuild.
3253         * Makefile.in: Rebuild dependencies.
3254         (ALL_MACHINES): Add cpu-i860.o.
3255         (BFD32_BACKENDS): Add coff-i860.o.
3256         (CFILES): Add cpu-i860.c and coff-i860.c.
3257         * targets.c (i860coff_vec): Declare.
3258         (bfd_target_vector): Add &i860coff_vec. 
3259         * archures.c (bfd_i860_arch): Declare.
3260         (bfd_archures_list): Add &bfd_i860_arch.
3261         * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
3262         (coff_set_flags): Handle bfd_arch_i860.
3263         (coff_write_object_contents): Handle I860 a.out magic number.
3264
3265 Mon Nov  6 14:34:07 1995  Ian Lance Taylor  <ian@cygnus.com>
3266
3267         * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of
3268         the created .tc section to 2.
3269         (xcoff_mark): Don't keep a .loader reloc for a call to an
3270         undefined symbol when creating a shared library.
3271         (xcoff_build_ldsyms): When creating a shared library, generate
3272         global linkage code for a call to an undefined symbol.
3273
3274 Sun Nov  5 21:44:13 1995  Ken Raeburn  <raeburn@cygnus.com>
3275
3276         * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES,
3277         BFD32_BACKENDS, BFD64_BACKENDS.
3278         (.dep1): Put mkdep output in a separate file.
3279         Rebuilt dependencies.
3280
3281         * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return
3282         value.
3283
3284         Permit use of mmap when available:
3285
3286         * configure.in: Check for mmap, madvise, mprotect.
3287         * config.in, configure: Regenerated.
3288
3289         * libbfd.c (struct _bfd_window_internal): Define type.
3290         (bfd_init_window, bfd_free_window, bfd_get_file_window): New
3291         functions.
3292         (ok_to_map): New static variable for debugging.
3293         (_bfd_generic_get_section_contents_in_window): New function.
3294         * bfd-in.h (bfd_window_internal): Declare type.
3295         (bfd_window): Define type.
3296         (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare.
3297         * libbfd-in.h (_bfd_generic_get_section_contents_in_window):
3298         Declare.
3299
3300         * libaout.h (struct aoutdata): Add two window fields.
3301         (obj_aout_sym_window, obj_aout_string_window): New macros.
3302         * aoutx.h (some_aout_object_p): Initialize windows.
3303         (aout_get_external_symbols): Get symbol data and strings in
3304         windows instead of explicitly allocated buffers.
3305         (slurp_symbol_table): Free window instead of memory.
3306         (bfd_free_cached_info): Release windows instead of freeing storage
3307         directly.
3308         (aout_link_free_symbols): Ditto.
3309
3310         * targets.c (bfd_target): Add new field for
3311         get_section_contents_in_window.
3312         (BFD_JUMP_TABLE_GENERIC): Updated.
3313         * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c,
3314         coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c,
3315         libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new
3316         macros for get_section_contents_in_window field.
3317
3318 Sat Nov  4 12:23:26 1995  Fred Fish  <fnf@cygnus.com>
3319
3320         * core.c: Renamed to corefile.c
3321         * makefile.dos (OBJS): Change core.o to corefile.o
3322         * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c
3323         
3324 start-sanitize-gm
3325 Sat Nov  4 10:16:54 1995  Stu Grossman  (grossman@cygnus.com)
3326
3327         * config.bfd (mips*-*-magic*):  Add bfd_elf32_bigmips_vec to
3328         targ_selvecs to allow debugging under Irix-5 native.
3329
3330 end-sanitize-gm
3331 Fri Nov  3 15:54:59 1995  Ian Lance Taylor  <ian@cygnus.com>
3332
3333         * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub
3334         to o.  Clobber and restore the list of new csects around the call
3335         to _bfd_generic_link_add_one_symbol, in case it wants to report a
3336         linker error and the linker wants to read the symbol table.  Reset
3337         the line number count of a real section even if it has no relocs.
3338         (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag.
3339
3340         * coffgen.c (_bfd_coff_read_string_table): Warn if the string size
3341         is too small.
3342
3343 Thu Nov  2 23:16:39 1995  Ian Lance Taylor  <ian@cygnus.com>
3344
3345         * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about
3346         an undefined symbol in a shared link.
3347
3348         * linker.c (_bfd_generic_link_add_one_symbol): Correct type of
3349         oldtype from bfd_link_order_type to bfd_link_hash_type.  From
3350         phdm@info.ucl.ac.be (Philippe De Muyter).
3351
3352 Wed Nov  1 14:26:02 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
3353
3354         * coff-m88k.c (rtype2howto): New static function.
3355         (RTYPE2HOWTO): Use it rather than a macro definition.
3356
3357         * coffcode.h (coff_write_object_contents): set internal_a.magic
3358         to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS).
3359
3360         * configure.in: m68*-motorola-sysv* does not use ptrace-core.o;
3361         define TRAD_HEADER to new file hosts/delta68.h.
3362         m88*-motorola-sysv*, however, does use ptrace-core.o.
3363         * hosts/delta68.h: New file.
3364
3365         * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to
3366         bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc.
3367
3368 Wed Nov  1 13:51:54 1995  Ken Raeburn  <raeburn@cygnus.com>
3369
3370         * i386linux.c (MY(vec)): Declare before use.
3371
3372 Wed Nov  1 11:45:07 1995  Ian Lance Taylor  <ian@cygnus.com>
3373
3374         * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents):
3375         Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases.
3376
3377         * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the
3378         BFD is not of the right type.
3379         (bfd_elf_get_needed_list): Likewise.
3380         * i386linux.c (bfd_linux_size_dynamic_sections): Likewise.
3381         * sunos.c (bfd_sunos_get_needed_list): Likewise.
3382         * xcofflink.c (XCOFF_XVECP): Define.
3383         (bfd_xcoff_link_record_set): Don't do anything if the BFD is not
3384         of the right type.
3385         (bfd_xcoff_import_symbol): Likewise.
3386         (bfd_xcoff_export_symbol): Likewise.
3387         (bfd_xcoff_link_count_reloc): Likewise.
3388         (bfd_xcoff_record_link_assignment): Likewise.
3389         (bfd_xcoff_size_dynamic_sections): Likewise.
3390
3391         * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol
3392         table index against the number of symbols for a base relative
3393         reloc.
3394
3395         * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to
3396         static function.
3397         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set
3398         full_aouthdr flag here...
3399         (_bfd_xcoff_bfd_final_link): ...not here.
3400
3401 Tue Oct 31 12:52:02 1995  Fred Fish  <fnf@cygnus.com>
3402
3403         * libelf.h:  Rename to elf-bfd.h to avoid conflict with
3404         systems that have a system <libelf.h>.
3405         * Makefile.in: Globally replace libelf.h with elf-bfd.h.
3406         * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c,
3407         elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c,
3408         elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c,
3409         elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c,
3410         elfxx-target.h: Include elf-bfd.h rather than libelf.h.
3411         * elfxx-target.h: Change libelf.h reference to elf-bfd.h.
3412
3413 Tue Oct 31 15:30:07 1995  David Mosberger-Tang  <davidm@azstarnet.com>
3414
3415         * ecoff.c (ecoff_set_symbol_info): Add new parameter weak.  If
3416         set, set BSF_WEAK in symbol.  Change all callers.
3417         (ecoff_get_extr): Set weakext based on BSF_WEAK.
3418         (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to
3419         _bfd_generic_link_add_one_symbol.
3420         (ecoff_indirect_link_order): Check that the section tdata relocs
3421         are not NULL before using them.
3422
3423         * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
3424         define TRAD_HEADER as hosts/alphalinux.h.
3425         * configure: Rebuild.
3426         * hosts/alphalinux.h: New file.
3427         * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
3428         not int.
3429
3430 Tue Oct 31 12:34:11 1995  Ian Lance Taylor  <ian@cygnus.com>
3431
3432         * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
3433         C_ECOMM storage classes.
3434
3435         * xcofflink.c (xcoff_mark_symbol): New static function, broken out
3436         of xcoff_mark.
3437         (xcoff_mark): Call xcoff_mark_symbol.
3438         (bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
3439         (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
3440         doing it by hand.
3441         (xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
3442
3443 Mon Oct 30 14:53:48 1995  Ian Lance Taylor  <ian@cygnus.com>
3444
3445         * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
3446         field.
3447         (xcoff_find_reloc): New static function.
3448         (xcoff_link_add_symbols): Use it.
3449         (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
3450         (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL.  Don't
3451         relocate the value of C_DECL.
3452
3453         * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
3454
3455 Sat Oct 28 01:25:34 1995  steve chamberlain  <sac@slash.cygnus.com>
3456
3457         * cofflink.c (_bfd_coff_generic_relocate_section): Make
3458         callback decide what goes in .relocs.
3459         * pe[i]-i386.c (TARGET_UNDERSCORE): Define.
3460         * peicode.h (pe_mkobject_hook): Only copy aouthdr if
3461         there is one.
3462
3463 Sat Oct 28 01:51:02 1995  Ian Lance Taylor  <ian@cygnus.com>
3464
3465         * xcofflink.c (xcoff_link_add_symbols): Handle csects in the
3466         absolute section.
3467
3468 Fri Oct 27 18:14:39 1995  Ian Lance Taylor  <ian@cygnus.com>
3469
3470         * xcofflink.c: More improvements, mostly to fix handling of
3471         constructors and a few other special cases.
3472         * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
3473         zero, reverting yesterday's change.
3474         * bfd-in.h (bfd_xcoff_link_record_set): Declare.
3475         (bfd_xcoff_link_count_reloc): Declare.
3476         (bfd_xcoff_record_link_assignment): Declare.
3477         * bfd-in2.h: Rebuild.
3478
3479 Fri Oct 27 14:42:15 1995  Niklas Hallqvist  <niklas@appli.se>
3480
3481         * PORTING, aout-arm.c, aout-encap.c, aout-target.h,
3482         aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
3483         i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
3484         i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
3485         ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
3486         Change PAGE_SIZE to TARGET_PAGE_SIZE.
3487
3488         * m68knetbsd.c: Ditto as well as add support for the m68k4k object
3489         format.
3490
3491         * netbsd.h: Double ditto (incl. m68k4k support).  NetBSD's text
3492         segments includes the a.out header.  See to that the magic number
3493         *always* is big-endian.
3494
3495         * config.bfd: Add m68*-hp*-netbsd* case.  Cross-pollinate m68k and
3496         m68k4k NetBSD configurations.
3497
3498         * configure.in, configure: Separate i386 & mips NetBSD
3499         configurations from other BSD ones.  Don't assume DEC is the only
3500         thing NetBSD/mips run on.  Add {m68k,ns32k,sparc}-*-netbsd*
3501         configurations.  Add support for m68k4k NetBSD object format.
3502
3503         * libaout.h: Added M_68K4K_NETBSD magic.
3504
3505         * m68k4knetbsd.c: New file.
3506         
3507         * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
3508
3509         * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
3510         <machine/endian.h>.
3511
3512         * hosts/mipsnbsd.h: New file.
3513         
3514 start-sanitize-gm
3515 Fri Oct 27 09:41:51 1995  Stu Grossman  (grossman@cygnus.com)
3516
3517         * config.bfd:  Add config stuff for mips*-*-magic* to set
3518         targ_defvec to ecoff_big_vec.
3519
3520 end-sanitize-gm
3521 Thu Oct 26 14:16:47 1995  Ian Lance Taylor  <ian@cygnus.com>
3522
3523         * xcofflink.c: Numerous changes to get closer to a working XCOFF
3524         linker.
3525         * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
3526         toc_section, and entry_section fields.
3527         (struct xcoff_section_tdata): Remove ldrel_count field.
3528         * libcoff.h: Rebuild.
3529         * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
3530         fields.
3531         (coff_compute_section_file_positions): If RS6000COFF_C, generate
3532         full a.out header if full_aouthdr is set in xcoff_data.
3533         (coff_write_object_contents): Likewise.  Set o_snentry and o_sntoc
3534         based on sections stored in xcoff_data.
3535         * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
3536         fields.
3537         (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
3538         (rs6000coff_vec): Set symbol_leading_char to '.'.
3539         * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
3540         value stored in ret rather than returning a pointer value.
3541         
3542 Wed Oct 25 23:10:39 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
3543
3544         * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
3545         format for now.
3546
3547 Wed Oct 25 16:19:27 1995  Jeffrey A Law  (law@cygnus.com)
3548
3549         * som.c (som_slurp_string_table): Allocate the strings with malloc
3550         since they're free'd by free_cached_info.
3551         (som_slurp_symbol_table): Similarly for the symbol table.
3552
3553 Wed Oct 25 14:59:22 1995  Per Bothner  <bothner@kalessin.cygnus.com>
3554
3555         * Makefile.in (diststuff):  Don't make headers.
3556
3557 Wed Oct 25 11:32:54 1995  Ian Lance Taylor  <ian@cygnus.com>
3558
3559         * Makefile.in: Rebuild dependencies.
3560
3561         * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
3562         output_bfd is not SunOS.
3563         (bfd_sunos_size_dynamic_sections): Likewise.  Don't scan relocs of
3564         non-SunOS input files.
3565
3566         * xcofflink.c: Extensive changes to support linking shared objects
3567         and generating a .loader section.
3568         * libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
3569         (struct xcoff_section_tdata): Add lineno_count, first_symndx,
3570         last_symndx, and ldrel_count fields.
3571         * libcoff.h: Rebuild.
3572         * coff-rs6000.c (xcoff_howto_table): Correct reloc names.
3573         * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
3574         is set.
3575         * bfd-in.h (bfd_xcoff_import_symbol): Declare.
3576         (bfd_xcoff_export_symbol): Declare.
3577         (bfd_xcoff_size_dynamic_sections): Declare.
3578         * bfd-in2.h: Rebuild.
3579
3580 Tue Oct 24 17:44:20 1995  Stan Shebs  <shebs@andros.cygnus.com>
3581
3582         * configure.in: Add xcofflink.o to pmac_xcoff_vec.
3583         * configure: Rebuild.
3584         * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
3585         * coff-pmac.c: Include coff-rs6000.c instead of duplicating its
3586         contents.
3587         (pmac_xcoff_vec): Update to use new xcoff support.
3588         * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
3589         (xcoff_write_armap): Declare buf as unsigned char.
3590         * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
3591
3592         * mpw-make.sed: Generalize subdir_do edit.
3593         
3594 Tue Oct 24 10:25:01 1995  Jeffrey A Law  (law@cygnus.com)
3595
3596         * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
3597         correctly.  Don't initialize asect->vma.
3598
3599 Fri Oct 20 13:23:48 1995  Ken Raeburn  <raeburn@cygnus.com>
3600
3601         * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
3602         something a little less than the page size.
3603
3604 Thu Oct 19 13:06:09 1995  Ian Lance Taylor  <ian@cygnus.com>
3605
3606         * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
3607
3608 Wed Oct 18 16:20:08 1995  steve chamberlain  <sac@slash.cygnus.com>
3609
3610         * coff-i386.c (coff_i386_reloc_type_lookup): New.
3611         * coffcode.h (coff_write_object_contents): If .bss is before
3612         .data us that as data_start.
3613         * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
3614         calc correct.
3615         * peicode.h (add_data_entry): Use _cooked_size of data directory.
3616         (coff_swap_outhdr_out): Hardwire in version number.
3617         
3618 Wed Oct 18 16:50:54 1995  Ken Raeburn  <raeburn@cygnus.com>
3619
3620         * sunos.c (sunos_add_dynamic_symbols): Rename local variables
3621         major and minor to *_vno, since the former are also macros in
3622         SunOS header files.  Cast result of bfd_alloc to appropriate
3623         type.
3624
3625         * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
3626         before assigning to sec_data.
3627
3628 Wed Oct 18 13:25:17 1995  Ian Lance Taylor  <ian@cygnus.com>
3629
3630         * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
3631         now relative to the section, not absolute.
3632         * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
3633         get the file name when there is a N_SO directory name.  When
3634         handling stabs, remember that section->vma was added to the
3635         offset.
3636
3637 Tue Oct 17 18:24:54 1995  Ian Lance Taylor  <ian@cygnus.com>
3638
3639         * sunos.c (struct sunos_link_hash_table): Add needed field.
3640         (sunos_link_hash_table_create): Call bfd_release, not free.
3641         (sunos_link_hash_table_create): Initialize needed field.
3642         (sunos_add_dynamic_symbols): Record needed objects.
3643         (bfd_sunos_get_needed_list): New function.
3644         * bfd-in.h (bfd_sunos_get_needed_list): Declare.
3645         * bfd-in2.h: Rebuild.
3646
3647 Mon Oct 16 14:43:59 1995  steve chamberlain  <sac@slash.cygnus.com>
3648
3649         * libcoff-in.h (pe_data_type.in_reloc_p): New.
3650
3651 Mon Oct 16 10:52:50 1995  Ian Lance Taylor  <ian@cygnus.com>
3652
3653         * bfd-in.h (struct bfd_link_needed_list): Rename from
3654         bfd_elf_link_needed_list.
3655         * bfd-in2.h: Rebuild.
3656         * elf.c, elflink.h, libelf.h: Corresponding changes.
3657
3658         Add start at AIX linker support; no shared libraries yet.
3659         * xcofflink.c: New file.
3660         * configure.in (rs600coff_vec): Use xcofflink.o.
3661         * configure: Rebuild.
3662         * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
3663         fields.
3664         (struct xcoff_section_tdata): Define.
3665         (xcoff_section_data): Define macro.
3666         (_bfd_xcoff_bfd_link_hash_table_create): Declare.
3667         (_bfd_xcoff_bfd_link_add_symbols): Declare.
3668         (_bfd_xcoff_bfd_final_link): Declare.
3669         (_bfd_ppc_xcoff_relocate_section): Declare.
3670         * libcoff.h: Rebuild.
3671         * coff-rs6000.c: Clean up a bit.
3672         (xcoff_mkobject): Default modtype to 1L, not RE.  Initialize
3673         cputype, csects, and debug_indices.
3674         (xcoff_copy_private_bfd_data): Copy cputype.
3675         (xcoff_howto_table): Rename from rs6000coff_howto_table.
3676         (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
3677         (xcoff_reloc_type_lookup): Rename from
3678         rs6000coff_reloc_type_lookup.
3679         (coff_relocate_section): Define.
3680         (_bfd_xcoff_sizeof_headers): Define.
3681         (_bfd_xcoff_bfd_get_relocated_section_contents): Define.
3682         (_bfd_xcoff_bfd_relax_section): Define.
3683         (_bfd_xcoff_bfd_link_split_section): Define.
3684         (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
3685         coff.
3686         * coffcode.h (coff_compute_section_file_positions): If AIX,
3687         increment sofar by SMALL_AOUTSZ if not executable.
3688         (coff_write_object_contents): If AIX, always output an a.out
3689         header; if not executable, header size of SMALL_AOUTSZ.
3690         * hash.c (struct bfd_strtab_hash): Add xcoff field.
3691         (_bfd_stringtab_init): Initialize xcoff field.
3692         (_bfd_xcoff_stringtab_init): New function.
3693         (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
3694         (_bfd_stringtab_emit): In XCOFF mode, write out length.
3695         * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
3696         * libbfd.h: Rebuild.
3697         * Makefile.in: Rebuild dependencies.
3698         (BFD32_BACKENDS): Add xcofflink.o.
3699         (CFILES): Add xcofflink.c.
3700
3701         * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
3702         SEC_NO_FLAGS, for .acommon section.  From Peter Schauer
3703         <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
3704
3705 Sat Oct 14 21:36:02 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
3706
3707         * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
3708
3709 Fri Oct 13 17:48:43 1995  Ken Raeburn  <raeburn@cygnus.com>
3710
3711         * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
3712         * config.in: Regenerated.
3713
3714         * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
3715         (_bfd_chunksize): New variable.
3716         (_bfd_new_bfd): Set it to getpagesize() if negative, and use it
3717         for obstack chunk size.
3718         * configure.in: Check for getpagesize.
3719         * configure: Regenerated.
3720
3721         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3722
3723         * trad-core.c (rawptr): Make it a local variable of
3724         ptrace_unix_core_file_p.
3725
3726 Fri Oct 13 11:22:01 1995  steve chamberlain  <sac@slash.cygnus.com>
3727
3728         * coff-arm.c (in_reloc_p): New.
3729         * coff-i386.c (in_reloc_p): New.
3730         * coffcode.h: Allways include peicode.h if COFF_WITH_PE.
3731         (coff_write_object_contents): Only set has_reloc_section
3732         if PE_IMAGE.
3733         * cofflink.c (_bfd_coff_generic_relocate_section): Call
3734         in_reloc_p to decide if reloc should be emitted.
3735         * libcoff.h (pe_data_type.in_reloc_p): New.
3736         * peicode.h (pe_mkobject): Initialize in_reloc_p.
3737
3738 Wed Oct 11 00:49:29 1995  Ian Lance Taylor  <ian@cygnus.com>
3739
3740         * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
3741         (_bfd_coff_read_internal_relocs): Likewise.
3742         * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
3743         (_bfd_coff_read_internal_relocs): Likewise.
3744
3745         * elflink.h (elf_link_add_object_symbols): Correct conditions
3746         under which type and size change warnings are issued.
3747
3748 Tue Oct 10 18:32:46 1995  Ian Lance Taylor  <ian@cygnus.com>
3749
3750         * coffgen.c (coff_count_linenumbers): Don't count line numbers for
3751         a symbol which is not in a real section.
3752         (coff_write_native_symbol): Corresponding change.
3753
3754         * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
3755         coff_link_hash_newfunc and make non-static.
3756         (_bfd_coff_link_hash_table_init): New function, broken out of
3757         _bfd_coff_link_hash_table_create.
3758         (_bfd_coff_link_hash_table_create): Use it.
3759         (process_embedded_commands): Make static.
3760         * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
3761         (_bfd_coff_link_hash_table_init): Declare.
3762         * libcoff.h: Rebuild.
3763
3764         * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
3765         field in XCOFF tdata.
3766         (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
3767         U802ROMAGIC, for clarity.  Try to set arch and machine correctly
3768         based on cputype stored in a.out header, or in n_type of initial
3769         .file symbol.
3770         (coff_write_object_contents): Set cputype correctly in a.out
3771         header.
3772         (coff_slurp_symbol_table): Add casts to file_ptr to avoid
3773         warnings.
3774         * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
3775         (coff_swap_aouthdr_out): Swap out cputype field.  Don't clear
3776         old resv1 field.
3777         * libcoff-in.h (struct xcoff_tdata): Add cputype field.
3778         * libcoff.h: Rebuild.
3779
3780         * cpu-rs6000.c (rs6000_compatible): New static function.
3781         (bfd_rs6000_arch): Use it.
3782         * cpu-powerpc.c (powerpc_compatible): New static function.
3783         (arch_info_struct): Define various flavours of PowerPC.
3784         (bfd_powerpc_arch): Use powerpc_compatible.  Point at
3785         arch_info_struct.
3786
3787 Tue Oct 10 10:50:46 1995  Fred Fish  <fnf@cygnus.com>
3788
3789         * Makefile.in (FLAGS_TO_PASS):  Remove BISON.
3790
3791 Tue Oct 10 01:28:29 1995  Ian Lance Taylor  <ian@cygnus.com>
3792
3793         * elflink.h (elf_link_add_object_symbols): Don't warn about
3794         changing the size or type if the old definition was weak.
3795
3796 Mon Oct  9 11:24:08 1995  Ian Lance Taylor  <ian@cygnus.com>
3797
3798         * coffcode.h (combined_entry_type): Add fix_line field.
3799         (coff_slurp_line_table): Warn if we try to set the lineno field of
3800         a symbol twice.
3801         (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
3802         C_EINCL by setting fix_line.  Fix C_BSTAT symbol value.
3803         * coffgen.c (coff_mangle_symbols): Handle fix_line.
3804         (coff_write_symbol): Only use N_DEBUG if the symbol is in the
3805         absolute section.
3806         (coff_print_symbol): Print fix_value symbols in a useful fashion.
3807         * libcoff.h: Rebuild.
3808
3809         * libcoff-in.h (struct xcoff_tdata): Define.
3810         (xcoff_data): Define.
3811         * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
3812         * bfd-in2.h, libcoff.h: Rebuild.
3813         * coff-rs6000.c (xcoff_mkobject): New static function.
3814         (coff_mkobject): Define.
3815         (xcoff_copy_private_bfd_data): New static function.
3816         (coff_bfd_copy_private_bfd_data): Define.
3817         (rs6000coff_howto_table): Change R_TOC complain_on_overflow from
3818         signed to bitfield.
3819         (rs6000coff_vec): Add DYNAMIC to object_flags.
3820         * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
3821         .loader sections specially.
3822         (coff_new_section_hook): If RS6000COFF_C, get the .text and .data
3823         section alignment from the XCOFF tdata information.
3824         (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
3825         F_SHROBJ, and copy the extra a.out header information into the
3826         XCOFF tdata structure.
3827         (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
3828         F_DYNLOAD and the extra a.out header information.
3829         (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
3830         C_HIDEXT symbol with attached csect information.
3831         * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
3832         in the o_maxdata field.
3833         (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
3834         * coffgen.c (coff_renumber_symbols): Don't move any symbol to the
3835         end if BSF_NOT_AT_END is set.
3836
3837         * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
3838         _bfd_read_ar_hdr_fn.
3839         * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
3840         * bfd-in2.h, libbfd.h: Rebuild.
3841         * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
3842         return value.
3843         (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
3844         (bfd_slurp_bsd_armap_f2): Likewise.
3845         (_bfd_slurp_extended_name_table): Likewise.
3846
3847 Fri Oct  6 16:18:35 1995  Ken Raeburn  <raeburn@cygnus.com>
3848
3849         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3850
3851         * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
3852         when the symbol table is empty.
3853
3854         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
3855         space for section symbols, since we don't output them either.
3856         (elf_m68k_adjust_dynindx): Removed.
3857
3858         * ptrace-core.c (rawptr): Make it a local variable of
3859         ptrace_unix_core_file_p.
3860
3861 Fri Oct  6 12:24:47 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
3862
3863         * coff-rs6000.c (xcoff_write_archive_contents): Return false, not
3864         NULL.
3865
3866         * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
3867         Mac object file formats.
3868
3869 Fri Oct  6 12:04:02 1995  Ian Lance Taylor  <ian@cygnus.com>
3870
3871         * coffgen.c (coff_fix_symbol_name): Don't try to set up file
3872         auxent if there isn't one.
3873         (coff_write_symbols): If there is no file auxent, use SYMNMLEN
3874         rather than FILNMLEN as the maximum name length.
3875
3876         * coffcode.h (bfd_coff_backend_data): Add new field
3877         _bfd_coff_print_aux.
3878         (bfd_coff_print_aux): New static function.
3879         (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
3880         scnlen field of an XTY_LD csect aux entry.
3881         (coff_print_aux): New static function.
3882         (coff_slurp_symbol_table): Don't pointerize scnlen field; now done
3883         in coff_pointerize_aux_hook.
3884         (bfd_coff_std_swap_table): Initialize new field.
3885         * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
3886         * libcoff.h: Rebuild.
3887         * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
3888         * coff-mips.c (mips_ecoff_backend_data): Likewise.
3889
3890         * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
3891         if there are symbols, for native AIX ld compatibility.
3892
3893         * coffcode.h (bfd_coff_backend_data): Add new field
3894         _bfd_coff_pointerize_aux_hook.
3895         (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
3896         or I960, and as 0 otherwise.
3897         (bfd_coff_std_swap_table): Initialize new field.
3898         * libcoff.h: Rebuild.
3899         * coffgen.c (coff_pointerize_aux): Change parameters  to take
3900         symbol pointer instead of type and class, and to take aux index.
3901         Call _bfd_coff_pointerize_aux_hook if it is defined.
3902         (coff_get_normalized_symtab): Always call coff_pointerize_aux.
3903         * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
3904         * coff-mips.c (mips_ecoff_backend_data): Likewise.
3905
3906         * coff-rs6000.c: Add full support for AIX archives.  Rewrite old
3907         read-only/host-only support.
3908
3909         * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
3910         BSF_LOCAL.
3911         (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
3912         RS6000COFF_C.
3913
3914         * targets.c (bfd_target): Add _bfd_read_ar_hdr field.  Modify
3915         BFD_JUMP_TABLE_ARCHIVE accordingly.
3916         * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
3917         (_bfd_compute_and_write_armap): Declare.
3918         (_bfd_generic_read_ar_hdr): Declare.
3919         (_bfd_read_ar_hdr): Define.
3920         (_bfd_noarchive_read_ar_hdr): Define.
3921         (_bfd_archive_bsd_read_ar_hdr): Define.
3922         (_bfd_archive_coff_read_ar_hdr): Define.
3923         * archive.c: Change all callers of _bfd_snarf_ar_hdr to call
3924         _bfd_read_ar_hdr instead.
3925         (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
3926         (_bfd_compute_and_write_armap): Rename from
3927         compute_and_write_armap.  Make non-static.  Change all callers.
3928         * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
3929         than _bfd_snarf_ar_hdr.
3930         * aout-target.h (MY_read_ar_hdr): Define if not defined.
3931         * ieee.c (ieee_read_ar_hdr): Define.
3932         * libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
3933         * oasys.c (oasys_read_ar_hdr): Define.
3934         * som.c (som_read_ar_hdr): Define.
3935         * bfd-in2.h, libbfd.h: Rebuild.
3936
3937 Thu Oct  5 14:04:07 1995  steve chamberlain  <sac@slash.cygnus.com>
3938
3939         * peicode.c (coff_swap_filehdr_in): If symptr is
3940         zero, there aren't any symbols, even if nsyms is set.
3941
3942 Thu Oct  5 11:45:02 1995  Ian Lance Taylor  <ian@cygnus.com>
3943
3944         * libecoff.h (struct ecoff_backend_data): Add adjust_headers
3945         field.
3946         * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
3947         sections, and set styp correctly for them: .got, .hash, .dynamic,
3948         .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
3949         (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
3950         types.
3951         (ecoff_sort_hdrs): New static function.
3952         (ecoff_compute_section_file_positions): Return boolean, not void.
3953         Sort the sections by VMA before looking through them.  Put the
3954         first non SEC_ALLOC section on a new page.  Put every SEC_ALLOC
3955         section on an appropriate boundary within the page.
3956         (ecoff_compute_reloc_file_positions): Check return value of
3957         ecoff_compute_section_file_positions.
3958         (_bfd_ecoff_set_section_contents): Likewise.
3959         (_bfd_ecoff_write_object_contents): Check for various Alpha
3960         section types when incrementing text_size and data_size.  Call
3961         adjust_headers backend function if it exists.
3962         * coff-alpha.c (alpha_adjust_headers): New static function.
3963         (alpha_ecoff_backend_data): Initialize adjust_headers field.
3964         * coff-mips.c (mips_ecoff_backend_data): Likewise.
3965
3966         * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
3967
3968 Wed Oct  4 18:15:02 1995  Jeff Law  (law@hurl.cygnus.com)
3969
3970         * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
3971         of ALTERNATE_AIX_CORE_FORMAT.
3972         * configure.in (aix4): No longer need CORE_FLAGS.
3973         * configure: Updated.
3974
3975 Wed Oct  4 15:36:36 1995  Ken Raeburn  <raeburn@cygnus.com>
3976
3977         NS32k changes from Ian Dall:
3978         * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
3979         macros.
3980         (aout_link_input_section_std, aout_link_input_section_ext,
3981         aout_link_reloc_link_order): Call them instead of _bfd_*
3982         versions.
3983         * aout-target.h (MY_exec_header_not_counted): New macro, defaults
3984         to zero.
3985         (backend_data): Use it instead of hardcoded zero.
3986
3987         * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
3988         (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
3989
3990         * ns32knetbsd.c: Include bfd.h.
3991         (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
3992         (MY_bfd_reloc_type_lookup): Declare function too.
3993         * pc532-mach.c (set_sizes): Don't declare.
3994         (MY_text_includes_header, MY_exec_header_not_counted): Define.
3995         (backend_data, MY_backend_data): Don't define.
3996
3997         * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
3998         ns32k-*-lites* like ns32k-*-netbsd*.
3999
4000         * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
4001         compile on lites.
4002
4003 Wed Oct  4 14:15:52 1995  Ian Lance Taylor  <ian@cygnus.com>
4004
4005         * coffcode.h (coff_write_object_contents): Restore setting
4006         f_timdat to 0, deleted on August 22.
4007
4008 Tue Oct  3 16:28:32 1995  steve chamberlain  <sac@slash.cygnus.com>
4009
4010         * coffcode.h (coff_bfd_copy_private_symbol_data,
4011         coff_bfd_copy_private_section_data,
4012         coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
4013         * peicode.h (coff_bfd_copy_private_bfd_data): New
4014         (pe_bfd_copy_private_bfd_data): New.
4015         (coff_swap_scnhdr_in): Swap bss size into the right place.
4016         (pe_print_private_bfd_data): Add some newlines.
4017
4018 Tue Oct  3 11:53:04 1995  Jeff Law  (law@hurl.cygnus.com)
4019
4020         * som.c (setup_sections): Don't die if a space has no subspaces.
4021
4022 Mon Oct  2 14:08:55 1995  Ian Lance Taylor  <ian@cygnus.com>
4023
4024         * elflink.h (elf_link_add_object_symbols): Don't let a weak
4025         dynamic symbol override a common symbol.  Don't change the size or
4026         type if they have been set and the new symbol is not a definition.
4027         Warn if the size or type changes.
4028
4029 Sun Oct  1 01:34:41 1995  Jeff Law  (law@hurl.cygnus.com)
4030
4031         * som.c (som_begin_writing): Don't write the symbol table or
4032         symbol  strings.
4033         (som_finish_writing): Write them here.  Place them after the
4034         subspace data, but before the relocs.
4035
4036 Fri Sep 29 11:01:55 1995  Ian Lance Taylor  <ian@cygnus.com>
4037
4038         * sunos.c (sunos_add_one_symbol): Just pass false, not
4039         info->shared_library, to sunos_create_dynamic_sections.
4040         (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
4041         section.
4042         (sunos_check_dynamic_reloc): Remove .text section assertion.
4043
4044 Thu Sep 28 18:48:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
4045
4046         * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
4047         * configure, configure.in: Add pmac_xcoff_vec case.
4048         * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
4049         * coff-pmac.c: New file, PowerMac XCOFF support.
4050         * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
4051         * targets.c (pmac_xcoff_vec): Declare.
4052
4053         * mpw-config.in: Various changes to be compatible with the
4054         autoconf-based configury.
4055         * mpw-make.sed: New file, sed commands to translate Unix
4056         makefile into MPW syntax.
4057         * mpw-make.in: Remove.
4058         * hosts/mpw.h: Remove.
4059         * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
4060         true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
4061
4062 Thu Sep 28 17:06:23 1995  steve chamberlain  <sac@slash.cygnus.com>
4063
4064         * binary.c (binary_get_symtab): Return an empty string on error.
4065         * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
4066
4067 Thu Sep 28 15:30:44 1995  Kim Knuttila  <krk@nellie>
4068
4069         * coff-ppc.c: Reformatted according to gnu conventions
4070                       Removed irrelevant "if 0" code
4071
4072 Thu Sep 28 11:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
4073
4074         * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
4075         symbols rather than as indirect symbols.
4076         (MY(slurp_symbol_table)): Don't do anything special about
4077         secondary symbols.
4078
4079         * coffcode.h (coff_new_section_hook): Make sure that the alignment
4080         of .ctors and .dtors sections is no larger than 2.
4081
4082         * sunos.c (sunos_add_one_symbol): Don't change
4083         bfd_link_hash_common to bfd_link_hash_new, since it may be on the
4084         undef list.
4085         (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
4086         dynamic symbols when creating a shared library.
4087         (sunos_scan_ext_relocs): Handle relocs correctly when creating a
4088         shared library.
4089         (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
4090         written even if it is not defined in a regular object.
4091         (sunos_write_dynamic_symbol): Use plt_offset for the address of
4092         the jump table reloc.  Add an assertion.  Use RELOC_JMP_SLOT
4093         rather than the constant 22.
4094         (sunos_check_dynamic_reloc): Handle creating a shared library.
4095         (sunos_finish_dynamic_link): Set the first entry in the GOT to
4096         zero when creating a shared library.
4097         * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
4098         write it out at the start of the symbol table.
4099
4100         * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
4101
4102 Thu Sep 28 00:58:05 1995  Doug Evans  <dje@deneb.cygnus.com>
4103
4104         * config.bfd: Add arm-*-coff.
4105         * configure.in, configure: Add armcoff_{little,big}_vec.
4106         * targets.c (armcoff_{little,big}_vec): Declare.
4107         (bfd_target_vector): Add armcoff_{little,big}_vec.
4108         * coff-arm.c (armcoff_{little,big}_vec): Always define.
4109
4110 Wed Sep 27 10:37:14 1995  Ian Lance Taylor  <ian@cygnus.com>
4111
4112         * targets.c (bfd_find_target): Remove debugging code.
4113
4114 Wed Sep 27 07:23:39 1995  Kim Knuttila  <krk@nellie>
4115
4116         * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE 
4117         support on powerpc.
4118         * Makefile.in: added *-ppc files
4119         * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
4120         allow pe based .o's to be shared with other tools on ppc/NT
4121         * config.bfd: added powerpc[le]-[pe|winnt] config support
4122         * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec 
4123         * peicode.h: Added more section flags for PE on ppc
4124                      Added coff_swap_filehdr_out to allow peicode.h to be
4125                      used for non-image PE files on ppc.
4126                      Check for image, or not, before copying pe_opthdr
4127         * targets.c: Added new bfd's
4128         * targets.c: Removed two inactive bfds that shouldn't have made it this
4129                      far.
4130
4131 Tue Sep 26 14:06:41 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
4132
4133         * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
4134         explicit values to initialize all relocs.  Change all users.
4135         (ppc_elf_brtaken_inner): New function to handle branch predicition
4136         relocs.
4137         (ppc_elf_brtaken_reloc): Ditto.
4138         (ppc_elf_howto_raw): Use new functions.  Make sure all unsupported
4139         relocs use ppc_elf_unsupported_reloc.
4140         (ppc_elf_merge_private_bfd_data): Keep track of whether an error
4141         needs to be reported.
4142         (ppc_elf_relocate_section): Support branch prediction relocs.
4143
4144 Tue Sep 26 12:48:05 1995  Ian Lance Taylor  <ian@cygnus.com>
4145
4146         * bfd.c (bfd_assert): Remove \n from string passed to
4147         _bfd_error_handler.
4148
4149         * coff-i386.c: (TWO_DATA_SECS): Don't define.
4150         * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
4151         (bfd_coff_make_section_hook): Don't define.
4152         (coff_make_section_hook): Remove.
4153         (sec_to_styp_flags): Remove TWO_DATA_SECS case.
4154         (styp_to_sec_flags): Likewise.
4155         (coff_write_object_contents): Likewise.
4156         (bfd_coff_std_swap_table): Don't initialize make_section_hook
4157         field.
4158         * libcoff.h: Rebuild.
4159         * coffgen.c (make_a_section_from_file): Just call
4160         bfd_make_section_anyway, not bfd_make_section or
4161         bfd_coff_make_section_hook.
4162         * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
4163         * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
4164         * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
4165         make_section_hook field.
4166         * coff-mips.c (mips_ecoff_backend_data): Likewise.
4167
4168         * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
4169         pointers into value field for warning and indirect symbols; just
4170         leave the value field alone.
4171         * linker.c (generic_link_add_symbol_list): Use next symbol for
4172         warning and indirect symbols, rather than looking in symbol value.
4173         * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
4174         parameter.  Change all callers.  Remove support for indirect
4175         symbols; it didn't work anyhow.
4176         (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
4177         * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
4178         * bfd-in2.h: Rebuild.
4179
4180 Mon Sep 25 16:04:09 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
4181
4182         * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
4183         go back to telling the tools this reloc operates on 32 bits.
4184
4185 Mon Sep 25 11:48:02 1995  Ian Lance Taylor  <ian@cygnus.com>
4186
4187         * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
4188         rather than a direct fprintf.
4189         * archive.c (_bfd_write_archive_contents): Likewise.
4190         * coffcode.h (coff_slurp_symbol_table): Likewise.
4191         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
4192         (ppc_elf_unsupported_reloc): Likewise.
4193         (ppc_elf_relocate_section): Likewise.
4194         * i386linux.c (linux_tally_symbols): Likewise.
4195         (linux_finish_dynamic_link): Likewise.
4196         * osf-core.c (osf_core_core_file_p): Likewise.
4197         * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
4198         * som.c (som_sizeof_headers): Likewise.
4199         * srec.c (srec_bad_byte): Likewise.
4200         * bfd.c (bfd_assert): Likewise.  Also change file to be const.
4201         * libbfd-in.h (bfd_assert): Declare first parameter const.
4202         * libbfd.h: Rebuild.
4203         * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
4204         bfd_reloc_overflow is enough.
4205         * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
4206         * coff-h8500.c (rtype2howto): Likewise.
4207         * coff-z8k.c (rtype2howto): Likewise.
4208         * coffcode.h (dummy_reloc16_extra_cases): Likewise.
4209         * elf.c (_bfd_elf_get_lineno): Likewise.
4210         (_bfd_elf_no_info_to_howto): Likewise.
4211         (_bfd_elf_no_info_to_howto_rel): Likewise.
4212         * hp300hpux.c (convert_sym_type): Likewise.
4213         (MY(swap_std_reloc_in)): Likewise.
4214         * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
4215
4216         * libaout.h (struct aoutdata): Add line_buf field.
4217         * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
4218         and filename_buffer.  Instead, use a malloc buffer stored in the
4219         new line_buf field.  Remove length restrictions.
4220
4221         * coffgen.c (string_size): Remove static variable.
4222         (debug_string_size, debug_string_section): Likewise.
4223         (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
4224         and debug_string_size_p parameters.  Use them instead of the
4225         global variables.  Change all callers.
4226         (coff_write_symbol): Likewise.
4227         (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
4228         (coff_write_symbols): Add local variables to replace removed
4229         global variables.
4230
4231         * libcoff-in.h (struct coff_section_tdata): Add offset, i,
4232         function, and line_base fields.
4233         * libcoff.h: Rebuild.
4234         * coffgen.c (coff_find_nearest_line): Use section tdata to cache
4235         information, rather than using static variables.
4236
4237         * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
4238         file.  From Peter DeWolf <pld@amt.tay1.dec.com>.
4239
4240         * init.c (initialized): Remove static variable.
4241         (bfd_init): Don't bother setting initialized.
4242         (bfd_check_init): Remove.
4243         * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
4244         * libbfd.h: Rebuild.
4245
4246 Sat Sep 23 01:22:23 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
4247
4248         * rs6000-core.c (rs6000coff_core_p):  Don't check the core file
4249         size for full core dumps. Copy core file header to private data.
4250         (rs6000coff_core_file_failing_command,
4251         rs6000coff_core_file_failing_signal):  New functions to extract
4252         the file name and terminating signal from the core file.
4253         * coff-rs6000.c:  Use them.
4254
4255 Fri Sep 22 17:44:47 1995  Ian Lance Taylor  <ian@cygnus.com>
4256
4257         Change arch info to be const, initialized at compile time.
4258         * archures.c: Reindent many functions.  Change CONST to const.
4259         (bfd_arch_info_type): Make arch_name const.  Remove disassemble;
4260         nothing set it anyhow.  Make next const.
4261         (bfd_arch_info_list): Remove.
4262         (bfd_archures_list): Rename from archures_init_table.  Change from
4263         a table of function pointers to a table of bfd_arch_info_type
4264         structure addresses.
4265         (bfd_scan_arch): Rewrite accordingly.  Return a const pointer.
4266         (bfd_lookup_arch): Likewise.
4267         (bfd_set_arch_info): Rewrite accordingly.  Change argument to be a
4268         const pointer.
4269         (bfd_default_arch_struct): Make const.
4270         (bfd_arch_init, bfd_arch_linkin): Remove.
4271         (bfd_get_arch_info): Return a const pointer.
4272         * init.c (bfd_init): Don't call bfd_arch_init.
4273         * bfd.c (struct _bfd): Make arch_info const.
4274         * bfd-in2.h: Rebuild.
4275         * libbfd.h: Rebuild.
4276         * configure.in: Put & before everything in $selarchs.
4277         * configure: Rebuild.
4278         * cpu-*.c: Change bfd_*_arch from a function which calls
4279         bfd_arch_linkin to a const structure.
4280         * ieee.c (ieee_object_p): Make arch const.
4281
4282 Fri Sep 22 16:23:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
4283
4284         * reloc.c (bfd_reloc_code_type): Add relocations to support all of
4285         PowerPC V.4.
4286         * bfd-in2.h: Regenerate.
4287         * libbfd.h: Regenerate.
4288
4289         * elf32-ppc.c (reloc_type): Update names to match current draft.
4290         (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
4291         relative.  Update names to current V.4 draft.
4292         (ppc_elf_reloc_type_lookup): Add support for more relocations.
4293         (ppc_elf_relocate_section): Rename relocations to match draft.
4294
4295 Thu Sep 21 21:53:18 1995  Michael Meissner  <meissner@cygnus.com>
4296
4297         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
4298         compiled with -mrelocatable-lib to be linked with either normal
4299         modules or -mrelocatable modules.
4300
4301 Wed Sep 20 12:03:26 1995  Ian Lance Taylor  <ian@cygnus.com>
4302
4303         * coffcode.h (coff_write_object_contents): Clear the vstamp field
4304         in the a.out header.
4305
4306         * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
4307         a reloc against a local symbol, even if it's not a section.
4308
4309 Tue Sep 19 17:02:26 1995  Ian Lance Taylor  <ian@cygnus.com>
4310
4311         * targets.c (bfd_target): Remove unused align_power_min field.
4312         * bfd-in2.h: Rebuild.
4313         * All backends: Remove initialization of align_power_min.
4314
4315 Tue Sep 19 14:02:21 1995  steve chamberlain  <sac@slash.cygnus.com>
4316
4317         * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
4318
4319 Mon Sep 18 14:35:01 1995  Arne H. Juul  <arnej@pvv.unit.no>
4320
4321         * config.bfd (mips-dec-netbsd*): New target.
4322         * configure.host (mips-dec-netbsd*): New host.
4323         * configure.in (mips-dec-netbsd*): New native.
4324         * configure: Rebuild.
4325
4326 Fri Sep 15 10:24:36 1995  Ian Lance Taylor  <ian@cygnus.com>
4327
4328         Make the COFF backend linker merge common types:
4329         * cofflink.c (struct coff_debug_merge_element): Define.
4330         (struct coff_debug_merge_type): Define.
4331         (struct coff_debug_merge_hash_entry): Define.
4332         (struct coff_debug_merge_hash_table): Define.
4333         (coff_debug_merge_hash_table_init): Define.
4334         (coff_debug_merge_hash_table_free): Define.
4335         (coff_debug_merge_hash_lookup): Define.
4336         (struct coff_final_link_info): Add debug_merge field.
4337         (coff_debug_merge_hash_newfunc): New static function.
4338         (_bfd_coff_final_link): Allocate and free debug_merge table.
4339         (coff_link_input_bfd): Merge identical enum, struct and union
4340         types.
4341
4342 Thu Sep 14 14:53:58 1995  Ian Lance Taylor  <ian@cygnus.com>
4343
4344         Convert i960 COFF to use COFF backend linker.
4345         * coff-i960.c (coff_i960_relocate): Use a coff_section_data
4346         structure to store the symbol being used.
4347         (coff_i960_start_final_link): New static function.
4348         (coff_i960_relocate_section): New static function.
4349         (coff_i960_adjust_symndx): New static function.
4350         (coff_start_final_link): Define.
4351         (coff_relocate_section): Define.
4352         (coff_adjust_symndx): Define.
4353         * coffcode.h (bfd_coff_backend_data): Add new callback function
4354         _bfd_coff_start_final_link.
4355         (bfd_coff_start_final_link): Define.
4356         (coff_start_final_link): Define if not defined.
4357         (bfd_coff_std_swap_table): Add coff_start_final_link.
4358         * cofflink.c (_bfd_coff_internal_syment_name): Make globally
4359         visible.
4360         (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
4361         function callback is not NULL.
4362         * libcoff-in.h (struct coff_section_tdata): Add tdata field.
4363         (_bfd_coff_internal_syment_name): Declare.
4364         * libcoff.h: Rebuild.
4365         * configure.in (icoff_big_vec): Add cofflink.o.
4366         (icoff_little_vec): Likewise.
4367         * configure: Rebuild.
4368
4369 Wed Sep 13 17:38:23 1995  Fred Fish  <fnf@rtl.cygnus.com>
4370
4371         * Makefile.in (clean-info): Remove extraneous tab from line
4372         following action.
4373
4374 Wed Sep 13 13:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
4375
4376         * cofflink.c (coff_link_input_bfd): Fail if a section with no
4377         contents has relocs.
4378
4379 Thu Sep 12 12:45:34 1995  steve chamberlain  <sac@slash.cygnus.com>
4380
4381         * coffcode.h (coff_compute_section_file_positions): Keep the
4382         raw size safe. 
4383         (coff_write_object_contents): Remember if it's a relocatable
4384         file.
4385         * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
4386         * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
4387         if relocatable file. Swap out saved raw size.
4388
4389 Tue Sep 12 12:14:33 1995  Ian Lance Taylor  <ian@cygnus.com>
4390
4391         * Makefile.in (do_maintainer_clean): Rename from do_realclean.
4392         (maintainer-clean): Rename from realclean, passing
4393         maintainer-clean down to subdirectories, but leave realclean as a
4394         synonym.
4395
4396         * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
4397         warning callback.
4398
4399         * dep-in.sed: Remove config.h from generated dependencies.
4400
4401         * sunos.c (sunos_slurp_dynamic_symtab): New static function,
4402         broken out of sunos_canonicalize_dynamic_symtab.
4403         (sunos_canonicalize_dynamic_symtab): Call new function
4404         sunos_slurp_dynamic_symtab.
4405         (sunos_add_dynamic_symbols): Add three new parameters.  Return the
4406         dynamic symbol table to the caller.
4407         * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
4408         callback to override the symbols being read.
4409         * libaout.h (struct aout_backend_data): Add three new parameters
4410         to add_dynamic_symbols callback.
4411
4412         Extensive minor changes to avoid various gcc warnings.  Also:
4413         * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
4414         * archures.c (bfd_arch_info_type): Change mach field from long to
4415         unsigned long.
4416         (bfd_lookup_arch): Change machine parameter from long to unsigned
4417         long.
4418
4419 Mon Sep 11 10:55:47 1995  Ian Lance Taylor  <ian@cygnus.com>
4420
4421         * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
4422         a symbol with a non-zero plt_offset.
4423
4424 Fri Sep  8 11:47:24 1995  Ian Lance Taylor  <ian@cygnus.com>
4425
4426         * elfcode.h (align_file_position): Remove; not used.
4427
4428         * configure.in: Only check for <sys/procfs.h> on a native system,
4429         and make sure it defines prstatus_t.
4430         * configure: Rebuild.
4431
4432 Thu Sep  7 12:48:01 1995  Ian Lance Taylor  <ian@cygnus.com>
4433
4434         * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
4435
4436         * config.in: Rename from config.h.in.
4437         * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
4438         Check for config.h:config.in when creating stamp-h.
4439         * configure: Rebuild.
4440         * Makefile.in (stamp-h): Depend upon config.in rather than
4441         config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
4442         calling config.status.
4443
4444         * Makefile.in (do_distclean): Remove config.h and stamp-h.
4445         (Makefile): Just rebuild Makefile.
4446         (config.h, stamp-h): New targets.
4447         * configure.in: Create stamp-h when rebuilding config.h.
4448         * configure: Rebuild.
4449
4450 Wed Sep  6 15:00:33 1995  Ian Lance Taylor  <ian@cygnus.com>
4451
4452         * configure.in: Call AC_CONFIG_HEADER.  Substitute
4453         HOST_64BIT_LONG.  Check that various header files exist.  Check
4454         that fcntl exists.  Call BFD_BINARY_FOPEN.  Check whether malloc
4455         and/or free need to be declared.  Don't make a link to sysdep.h.
4456         Define TRAD_HEADER for various hosts.
4457         * configure: Rebuild.
4458         * configure.host: Don't set my_host.  Add definitions taken from
4459         host header files for various entries.  Remove entries which now
4460         do nothing.
4461         * acconfig.h: New file.
4462         * config.h.in: New file, built by autoheader.
4463         * sysdep.h: New file.
4464         * Makefile.in (do_distclean): Don't remove sysdep.h.
4465         (RECONFIG): Remove.
4466         (LOCAL_H_DEPS): New variable.
4467         ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
4468         $(RECONFIG).
4469         ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
4470         ($(OPTIONAL_BACKENDS)): Likewise.
4471         (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
4472         looking through sysdep.h.
4473         * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
4474         (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
4475         (fprintf_vma, sprintf_vma): Likewise.
4476         (int64_type, uint64_type): Don't define.
4477         * bfd-in2.h: Rebuild.
4478         * archures.c, bfd.c, srec.c: Include <ctype.h>.
4479         * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
4480         * lynx-core.c: Include stuff from old hosts/lynx.h.
4481         * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
4482         rather than NO_FCNTL.
4483         * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
4484         rather than NATIVE_HPPAHPUX_COMPILER.
4485         * trad-core.c: Don't include <errno.h>.  Include TRAD_HEADER if it
4486         is defined.
4487         * hosts/*.h: Remove all header files which merely include,
4488         declare, and define things.  Leave header files which define
4489         information needed by trad-core.c.
4490
4491         * aclocal.m4 (BFD_BINARY_FOPEN): Define.
4492         (BFD_CC_FOR_BUILD): Define.
4493         * configure.in: Use BFD_CC_FOR_BUILD.
4494         * configure: Rebuild.
4495
4496 Tue Sep  5 19:35:28 1995  Ian Lance Taylor  <ian@cygnus.com>
4497
4498         * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
4499         * configure: Rebuild.
4500
4501         * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
4502         a global symbol.
4503
4504 Tue Sep  5 12:48:26 1995  Jason Molenda   (crash@phydeaux.cygnus.com)
4505
4506         * config.bfd: i386pe_ve -> i386pe_vec.
4507
4508 Mon Sep  4 14:02:43 1995  Ian Lance Taylor  <ian@cygnus.com>
4509
4510         * configure.host: Incorporate host Makefile fragments by setting
4511         shell variables.
4512         * configure.in: Call AC_PROG_CC.  Substitute CFLAGS, HDEFINES and
4513         AR.  Call AC_PROG_INSTALL.  Substitute CC_FOR_BUILD, choosing a
4514         value based on whether the code is being compiled by a cross
4515         compiler.  Don't substitute host_makefile_frag or frags.
4516         * aclocal.m4: New file to define local AC_PROG_CC.
4517         * configure: Rebuild.
4518         * Makefile.in (INSTALL): Set to @INSTALL@.
4519         (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
4520         (INSTALL_DATA): Set to @INSTALL_DATA@.
4521         (AR): Set to @AR@.
4522         (CC): Define as @CC@.
4523         (CFLAGS): Set to @CFLAGS@.
4524         (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
4525         (@host_makefile_frag@): Remove.
4526         (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@.  Move $(CFLAGS)
4527         after other options.
4528         (config.status): Remove dependency upon @frags@.
4529         * config/*.mh, config/README: Remove.
4530
4531         * config.bfd: Rewrite to incorporate the contents of the Makefile
4532         fragments by setting shell variables, rather than merely returning
4533         the name of a Makefile fragment.
4534         * configure.in: Use shell variables set by config.bfd rather than
4535         looking at the target Makefile fragment files.  Don't substitute
4536         target_makefile_frag.  Do substitute TDEFINES.
4537         * configure: Rebuild.
4538         * Makefile.in (@target_makefile_frag@): Remove.
4539         (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
4540         * config/*.mt: Remove.
4541
4542 Mon Sep  4 03:13:28 1995  Ken Raeburn  <raeburn@cygnus.com>
4543
4544         * configure.in: Put changequote lines around "i[345]86" patterns
4545         section of core file support.
4546
4547 Sun Sep  3 11:31:58 1995  Jeff Law  (law@snake.cs.utah.edu)
4548
4549         * som.c (som_bfd_print_private_bfd_data): Define to use the
4550         generic version.
4551
4552 Fri Sep  1 17:08:40 1995  steve chamberlain  <sac@slash.cygnus.com>
4553
4554         * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
4555         entry, text_start and data_start.
4556
4557 Fri Sep  1 18:06:28 1995  Ian Lance Taylor  <ian@cygnus.com>
4558
4559         * Makefile.in (OFILES): Remove $(TDEPFILES).
4560         * config/apollo.mt (TDEPFILES): Remove.
4561         * config/README: Update.
4562
4563         * configure.in: For a native configuration, set COREFILE and
4564         COREFLAG based on the canonical host name.
4565         * configure: Rebuild.
4566         * Makefile.in: Rebuild dependencies.
4567         (ALL_CFLAGS): Add @COREFLAG@.
4568         (OFILES): Replace $(HDEPFILES) with @COREFILE@.
4569         * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
4570         support routines.  Check LYNX_CORE rather than HOST_LYNX.
4571         * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
4572         * i386lynx.c: Likewise.
4573         * m68klynx.c: Likewise.
4574         * sparclynx.c: Likewise.
4575         * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
4576         * *-core.c: Comment changes.
4577         * config/decstation.mh (HDEPFILES): Remove.
4578         (HDEFINES): Remove -DTRAD_CORE.
4579         * config/irix3.mh (RANLIB): Remove.
4580         * config/irix4.mh (HDEPFILES, RANLIB): Remove.
4581         (HDEFINES): Remove -DIRIX_CORE.
4582         * config/riscos.mh (RANLIB, HDEPFILES): Remove.
4583         (HDEFINES): Remove -DTRAD_CORE.
4584         * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
4585         * config/ultra3.mh (RANLIB): Remove.
4586         * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
4587         * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
4588         * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
4589         * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
4590         * config/hppahpux.mh, config/hppaosf.mh: Remove.
4591         * config/i386aix.mh, config/i386bsd.mh: Remove.
4592         * config/i386linux.mh, config/i386mach3.mh: Remove.
4593         * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
4594         * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
4595         * config/mipsmach3.mh, config/news-mips.mh: Remove.
4596         * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
4597         * config/rs600.mh, config/rs6000lynx.mh: Remove.
4598         * config/solaris2.mh, config/stratus.mh: Remove.
4599         * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
4600         * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
4601
4602 Fri Sep  1 15:18:50 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>
4603
4604         * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
4605         DT_FINI entry if the appropriate symbol is not in the hash table.
4606
4607         * libelf.h (struct elf_backend_data): Add create_program_headers
4608         and want_hdr_in_seg fields.
4609         * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
4610         defined.
4611         (elf_backend_create_program_headers): Likewise.
4612         (elfNN_bed): Initialize create_program_headers and
4613         want_hdr_in_seg.
4614         * elf.c (get_program_header_size): Call create_program_headers
4615         backend routine.
4616         (map_program_segments): Check want_hdr_in_seg backend field.  Call
4617         create_program_headers backend routine.
4618
4619         * elf.c (assign_file_positions_except_relocs): Align non allocated
4620         sections when creating an executable.
4621
4622         * elfcode.h (elf_swap_phdr_in): Make non static.
4623         (elf_swap_phdr_out): Make non static.
4624         * libelf.h (bfd_elf32_swap_phdr_in): Declare.
4625         (bfd_elf32_swap_phdr_out): Declare.
4626         (bfd_elf64_swap_phdr_in): Declare.
4627         (bfd_elf64_swap_phdr_out): Declare.
4628
4629         * ecofflink.c (ecoff_collect_shuffle): New static function.
4630         (_bfd_ecoff_get_accumulated_pdr): New function.
4631         (_bfd_ecoff_get_accumulated_sym): New function.
4632         (_bfd_ecoff_get_accumulated_ss): New function.
4633         * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
4634         (_bfd_ecoff_get_accumulated_sym): Declare.
4635         (_bfd_ecoff_get_accumulated_ss): Declare.
4636         * libbfd.h: Rebuild.
4637
4638 Fri Sep  1 13:20:25 1995  Ian Lance Taylor  <ian@cygnus.com>
4639
4640         * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
4641
4642         * elflink.h (elf_link_add_object_symbols): Handle indirect and
4643         warning symbols.  If any section is named .gnu.warning.XXX, treat
4644         the contents as a warning to be issued if the symbol XXX is
4645         referenced.
4646         (elf_link_output_extsym): For an indirect or warning symbol, just
4647         output the symbol it points to.
4648
4649         * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
4650         if bfd_hash_allocate fails, since it will already be set.
4651         (generic_link_hash_newfunc): Likewise.
4652         (archive_hash_newfunc): Likewise.
4653         (hash_entry_bfd): New static function.
4654         (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
4655         callback.  Allocate a new warning using the hash table newfunc.
4656         Use bfd_hash_replace to update the entry in the hash table, rather
4657         than assuming we can copy the fields with structure assignment.
4658
4659         * hash.c (bfd_hash_replace): New function.
4660         * bfd-in.h (bfd_hash_replace): Declare.
4661         * bfd-in2.h: Rebuild.
4662
4663 Fri Sep  1 08:12:50 1995  James G. Smith  <jsmith@beauty.cygnus.com>
4664
4665         * config.bfd: Add mips*vr4300-*-elf* target.
4666         * config/mipsbvr4300.mt: Added.
4667
4668 See file ChangeLog.2
4669
4670 \f
4671 Local Variables:
4672 mode: indented-text
4673 left-margin: 8
4674 fill-column: 74
4675 version-control: never
4676 End: