Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com>
[external/binutils.git] / bfd / ChangeLog
1 Tue Oct 31 15:30:07 1995  David Mosberger-Tang  <davidm@azstarnet.com>
2
3         * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and
4         define TRAD_HEADER as hosts/alphalinux.h.
5         * configure: Rebuild.
6         * hosts/alphalinux.h: New file.
7         * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma,
8         not int.
9
10 Tue Oct 31 12:34:11 1995  Ian Lance Taylor  <ian@cygnus.com>
11
12         * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and
13         C_ECOMM storage classes.
14
15         * xcofflink.c (xcoff_mark_symbol): New static function, broken out
16         of xcoff_mark.
17         (xcoff_mark): Call xcoff_mark_symbol.
18         (bfd_xcoff_export_symbol): Call xcoff_mark_symbol.
19         (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than
20         doing it by hand.
21         (xcoff_build_ldsyms): Build a .loader symbol for an export symbol.
22
23 Mon Oct 30 14:53:48 1995  Ian Lance Taylor  <ian@cygnus.com>
24
25         * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos
26         field.
27         (xcoff_find_reloc): New static function.
28         (xcoff_link_add_symbols): Use it.
29         (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos.
30         (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL.  Don't
31         relocate the value of C_DECL.
32
33         * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT.
34
35 Sat Oct 28 01:25:34 1995  steve chamberlain  <sac@slash.cygnus.com>
36
37         * cofflink.c (_bfd_coff_generic_relocate_section): Make
38         callback decide what goes in .relocs.
39         * pe[i]-i386.c (TARGET_UNDERSCORE): Define.
40         * peicode.h (pe_mkobject_hook): Only copy aouthdr if
41         there is one.
42
43 Sat Oct 28 01:51:02 1995  Ian Lance Taylor  <ian@cygnus.com>
44
45         * xcofflink.c (xcoff_link_add_symbols): Handle csects in the
46         absolute section.
47
48 Fri Oct 27 18:14:39 1995  Ian Lance Taylor  <ian@cygnus.com>
49
50         * xcofflink.c: More improvements, mostly to fix handling of
51         constructors and a few other special cases.
52         * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to
53         zero, reverting yesterday's change.
54         * bfd-in.h (bfd_xcoff_link_record_set): Declare.
55         (bfd_xcoff_link_count_reloc): Declare.
56         (bfd_xcoff_record_link_assignment): Declare.
57         * bfd-in2.h: Rebuild.
58
59 Fri Oct 27 14:42:15 1995  Niklas Hallqvist  <niklas@appli.se>
60
61         * PORTING, aout-arm.c, aout-encap.c, aout-rce.c, aout-target.h,
62         aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c
63         i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c,
64         i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c,
65         ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c:
66         Change PAGE_SIZE to TARGET_PAGE_SIZE.
67
68         * m68knetbsd.c: Ditto as well as add support for the m68k4k object
69         format.
70
71         * netbsd.h: Double ditto (incl. m68k4k support).  NetBSD's text
72         segments includes the a.out header.  See to that the magic number
73         *always* is big-endian.
74
75         * config.bfd: Add m68*-hp*-netbsd* case.  Cross-pollinate m68k and
76         m68k4k NetBSD configurations.
77
78         * configure.in, configure: Separate i386 & mips NetBSD
79         configurations from other BSD ones.  Don't assume DEC is the only
80         thing NetBSD/mips run on.  Add {m68k,ns32k,sparc}-*-netbsd*
81         configurations.  Add support for m68k4k NetBSD object format.
82
83         * libaout.h: Added M_68K4K_NETBSD magic.
84
85         * m68k4knetbsd.c: New file.
86         
87         * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P.
88
89         * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to
90         <machine/endian.h>.
91
92         * hosts/mipsnbsd.h: New file.
93         
94 start-sanitize-gm
95 Fri Oct 27 09:41:51 1995  Stu Grossman  (grossman@cygnus.com)
96
97         * config.bfd:  Add config stuff for mips*-*-magic* to set
98         targ_defvec to ecoff_big_vec.
99
100 end-sanitize-gm
101 Thu Oct 26 14:16:47 1995  Ian Lance Taylor  <ian@cygnus.com>
102
103         * xcofflink.c: Numerous changes to get closer to a working XCOFF
104         linker.
105         * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr,
106         toc_section, and entry_section fields.
107         (struct xcoff_section_tdata): Remove ldrel_count field.
108         * libcoff.h: Rebuild.
109         * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data
110         fields.
111         (coff_compute_section_file_positions): If RS6000COFF_C, generate
112         full a.out header if full_aouthdr is set in xcoff_data.
113         (coff_write_object_contents): Likewise.  Set o_snentry and o_sntoc
114         based on sections stored in xcoff_data.
115         * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data
116         fields.
117         (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR.
118         (rs6000coff_vec): Set symbol_leading_char to '.'.
119         * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the
120         value stored in ret rather than returning a pointer value.
121         
122 Wed Oct 25 23:10:39 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
123
124         * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC
125         format for now.
126
127 Wed Oct 25 16:19:27 1995  Jeffrey A Law  (law@cygnus.com)
128
129         * som.c (som_slurp_string_table): Allocate the strings with malloc
130         since they're free'd by free_cached_info.
131         (som_slurp_symbol_table): Similarly for the symbol table.
132
133 Wed Oct 25 14:59:22 1995  Per Bothner  <bothner@kalessin.cygnus.com>
134
135         * Makefile.in (diststuff):  Don't make headers.
136
137 Wed Oct 25 11:32:54 1995  Ian Lance Taylor  <ian@cygnus.com>
138
139         * Makefile.in: Rebuild dependencies.
140
141         * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if
142         output_bfd is not SunOS.
143         (bfd_sunos_size_dynamic_sections): Likewise.  Don't scan relocs of
144         non-SunOS input files.
145
146         * xcofflink.c: Extensive changes to support linking shared objects
147         and generating a .loader section.
148         * libcoff-in.h (struct xcoff_tdata): Add import_file_id field.
149         (struct xcoff_section_tdata): Add lineno_count, first_symndx,
150         last_symndx, and ldrel_count fields.
151         * libcoff.h: Rebuild.
152         * coff-rs6000.c (xcoff_howto_table): Correct reloc names.
153         * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD
154         is set.
155         * bfd-in.h (bfd_xcoff_import_symbol): Declare.
156         (bfd_xcoff_export_symbol): Declare.
157         (bfd_xcoff_size_dynamic_sections): Declare.
158         * bfd-in2.h: Rebuild.
159
160 Tue Oct 24 17:44:20 1995  Stan Shebs  <shebs@andros.cygnus.com>
161
162         * configure.in: Add xcofflink.o to pmac_xcoff_vec.
163         * configure: Rebuild.
164         * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos.
165         * coff-pmac.c: Include coff-rs6000.c instead of duplicating its
166         contents.
167         (pmac_xcoff_vec): Update to use new xcoff support.
168         * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static.
169         (xcoff_write_armap): Declare buf as unsigned char.
170         * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR.
171
172         * mpw-make.sed: Generalize subdir_do edit.
173         
174 Tue Oct 24 10:25:01 1995  Jeffrey A Law  (law@cygnus.com)
175
176         * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos
177         correctly.  Don't initialize asect->vma.
178
179 Fri Oct 20 13:23:48 1995  Ken Raeburn  <raeburn@cygnus.com>
180
181         * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use
182         something a little less than the page size.
183
184 Thu Oct 19 13:06:09 1995  Ian Lance Taylor  <ian@cygnus.com>
185
186         * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp.
187
188 Wed Oct 18 16:20:08 1995  steve chamberlain  <sac@slash.cygnus.com>
189
190         * coff-i386.c (coff_i386_reloc_type_lookup): New.
191         * coffcode.h (coff_write_object_contents): If .bss is before
192         .data us that as data_start.
193         * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc
194         calc correct.
195         * peicode.h (add_data_entry): Use _cooked_size of data directory.
196         (coff_swap_outhdr_out): Hardwire in version number.
197         
198 Wed Oct 18 16:50:54 1995  Ken Raeburn  <raeburn@cygnus.com>
199
200         * sunos.c (sunos_add_dynamic_symbols): Rename local variables
201         major and minor to *_vno, since the former are also macros in
202         SunOS header files.  Cast result of bfd_alloc to appropriate
203         type.
204
205         * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value
206         before assigning to sec_data.
207
208 Wed Oct 18 13:25:17 1995  Ian Lance Taylor  <ian@cygnus.com>
209
210         * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is
211         now relative to the section, not absolute.
212         * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to
213         get the file name when there is a N_SO directory name.  When
214         handling stabs, remember that section->vma was added to the
215         offset.
216
217 Tue Oct 17 18:24:54 1995  Ian Lance Taylor  <ian@cygnus.com>
218
219         * sunos.c (struct sunos_link_hash_table): Add needed field.
220         (sunos_link_hash_table_create): Call bfd_release, not free.
221         (sunos_link_hash_table_create): Initialize needed field.
222         (sunos_add_dynamic_symbols): Record needed objects.
223         (bfd_sunos_get_needed_list): New function.
224         * bfd-in.h (bfd_sunos_get_needed_list): Declare.
225         * bfd-in2.h: Rebuild.
226
227 Mon Oct 16 14:43:59 1995  steve chamberlain  <sac@slash.cygnus.com>
228
229         * libcoff-in.h (pe_data_type.in_reloc_p): New.
230
231 Mon Oct 16 10:52:50 1995  Ian Lance Taylor  <ian@cygnus.com>
232
233         * bfd-in.h (struct bfd_link_needed_list): Rename from
234         bfd_elf_link_needed_list.
235         * bfd-in2.h: Rebuild.
236         * elf.c, elflink.h, libelf.h: Corresponding changes.
237
238         Add start at AIX linker support; no shared libraries yet.
239         * xcofflink.c: New file.
240         * configure.in (rs600coff_vec): Use xcofflink.o.
241         * configure: Rebuild.
242         * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices
243         fields.
244         (struct xcoff_section_tdata): Define.
245         (xcoff_section_data): Define macro.
246         (_bfd_xcoff_bfd_link_hash_table_create): Declare.
247         (_bfd_xcoff_bfd_link_add_symbols): Declare.
248         (_bfd_xcoff_bfd_final_link): Declare.
249         (_bfd_ppc_xcoff_relocate_section): Declare.
250         * libcoff.h: Rebuild.
251         * coff-rs6000.c: Clean up a bit.
252         (xcoff_mkobject): Default modtype to 1L, not RE.  Initialize
253         cputype, csects, and debug_indices.
254         (xcoff_copy_private_bfd_data): Copy cputype.
255         (xcoff_howto_table): Rename from rs6000coff_howto_table.
256         (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto.
257         (xcoff_reloc_type_lookup): Rename from
258         rs6000coff_reloc_type_lookup.
259         (coff_relocate_section): Define.
260         (_bfd_xcoff_sizeof_headers): Define.
261         (_bfd_xcoff_bfd_get_relocated_section_contents): Define.
262         (_bfd_xcoff_bfd_relax_section): Define.
263         (_bfd_xcoff_bfd_link_split_section): Define.
264         (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not
265         coff.
266         * coffcode.h (coff_compute_section_file_positions): If AIX,
267         increment sofar by SMALL_AOUTSZ if not executable.
268         (coff_write_object_contents): If AIX, always output an a.out
269         header; if not executable, header size of SMALL_AOUTSZ.
270         * hash.c (struct bfd_strtab_hash): Add xcoff field.
271         (_bfd_stringtab_init): Initialize xcoff field.
272         (_bfd_xcoff_stringtab_init): New function.
273         (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length.
274         (_bfd_stringtab_emit): In XCOFF mode, write out length.
275         * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare.
276         * libbfd.h: Rebuild.
277         * Makefile.in: Rebuild dependencies.
278         (BFD32_BACKENDS): Add xcofflink.o.
279         (CFILES): Add xcofflink.c.
280
281         * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not
282         SEC_NO_FLAGS, for .acommon section.  From Peter Schauer
283         <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>.
284
285 Sat Oct 14 21:36:02 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
286
287         * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c.
288
289 Fri Oct 13 17:48:43 1995  Ken Raeburn  <raeburn@cygnus.com>
290
291         * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment.
292         * config.in: Regenerated.
293
294         * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048.
295         (_bfd_chunksize): New variable.
296         (_bfd_new_bfd): Set it to getpagesize() if negative, and use it
297         for obstack chunk size.
298         * configure.in: Check for getpagesize.
299         * configure: Regenerated.
300
301         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
302
303         * trad-core.c (rawptr): Make it a local variable of
304         ptrace_unix_core_file_p.
305
306 Fri Oct 13 11:22:01 1995  steve chamberlain  <sac@slash.cygnus.com>
307
308         * coff-arm.c (in_reloc_p): New.
309         * coff-i386.c (in_reloc_p): New.
310         * coffcode.h: Allways include peicode.h if COFF_WITH_PE.
311         (coff_write_object_contents): Only set has_reloc_section
312         if PE_IMAGE.
313         * cofflink.c (_bfd_coff_generic_relocate_section): Call
314         in_reloc_p to decide if reloc should be emitted.
315         * libcoff.h (pe_data_type.in_reloc_p): New.
316         * peicode.h (pe_mkobject): Initialize in_reloc_p.
317
318 Wed Oct 11 00:49:29 1995  Ian Lance Taylor  <ian@cygnus.com>
319
320         * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c.
321         (_bfd_coff_read_internal_relocs): Likewise.
322         * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c.
323         (_bfd_coff_read_internal_relocs): Likewise.
324
325         * elflink.h (elf_link_add_object_symbols): Correct conditions
326         under which type and size change warnings are issued.
327
328 Tue Oct 10 18:32:46 1995  Ian Lance Taylor  <ian@cygnus.com>
329
330         * coffgen.c (coff_count_linenumbers): Don't count line numbers for
331         a symbol which is not in a real section.
332         (coff_write_native_symbol): Corresponding change.
333
334         * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from
335         coff_link_hash_newfunc and make non-static.
336         (_bfd_coff_link_hash_table_init): New function, broken out of
337         _bfd_coff_link_hash_table_create.
338         (_bfd_coff_link_hash_table_create): Use it.
339         (process_embedded_commands): Make static.
340         * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare.
341         (_bfd_coff_link_hash_table_init): Declare.
342         * libcoff.h: Rebuild.
343
344         * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype
345         field in XCOFF tdata.
346         (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef
347         U802ROMAGIC, for clarity.  Try to set arch and machine correctly
348         based on cputype stored in a.out header, or in n_type of initial
349         .file symbol.
350         (coff_write_object_contents): Set cputype correctly in a.out
351         header.
352         (coff_slurp_symbol_table): Add casts to file_ptr to avoid
353         warnings.
354         * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field.
355         (coff_swap_aouthdr_out): Swap out cputype field.  Don't clear
356         old resv1 field.
357         * libcoff-in.h (struct xcoff_tdata): Add cputype field.
358         * libcoff.h: Rebuild.
359
360         * cpu-rs6000.c (rs6000_compatible): New static function.
361         (bfd_rs6000_arch): Use it.
362         * cpu-powerpc.c (powerpc_compatible): New static function.
363         (arch_info_struct): Define various flavours of PowerPC.
364         (bfd_powerpc_arch): Use powerpc_compatible.  Point at
365         arch_info_struct.
366
367 Tue Oct 10 10:50:46 1995  Fred Fish  <fnf@cygnus.com>
368
369         * Makefile.in (FLAGS_TO_PASS):  Remove BISON.
370
371 Tue Oct 10 01:28:29 1995  Ian Lance Taylor  <ian@cygnus.com>
372
373         * elflink.h (elf_link_add_object_symbols): Don't warn about
374         changing the size or type if the old definition was weak.
375
376 Mon Oct  9 11:24:08 1995  Ian Lance Taylor  <ian@cygnus.com>
377
378         * coffcode.h (combined_entry_type): Add fix_line field.
379         (coff_slurp_line_table): Warn if we try to set the lineno field of
380         a symbol twice.
381         (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and
382         C_EINCL by setting fix_line.  Fix C_BSTAT symbol value.
383         * coffgen.c (coff_mangle_symbols): Handle fix_line.
384         (coff_write_symbol): Only use N_DEBUG if the symbol is in the
385         absolute section.
386         (coff_print_symbol): Print fix_value symbols in a useful fashion.
387         * libcoff.h: Rebuild.
388
389         * libcoff-in.h (struct xcoff_tdata): Define.
390         (xcoff_data): Define.
391         * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
392         * bfd-in2.h, libcoff.h: Rebuild.
393         * coff-rs6000.c (xcoff_mkobject): New static function.
394         (coff_mkobject): Define.
395         (xcoff_copy_private_bfd_data): New static function.
396         (coff_bfd_copy_private_bfd_data): Define.
397         (rs6000coff_howto_table): Change R_TOC complain_on_overflow from
398         signed to bitfield.
399         (rs6000coff_vec): Add DYNAMIC to object_flags.
400         * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
401         .loader sections specially.
402         (coff_new_section_hook): If RS6000COFF_C, get the .text and .data
403         section alignment from the XCOFF tdata information.
404         (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
405         F_SHROBJ, and copy the extra a.out header information into the
406         XCOFF tdata structure.
407         (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
408         F_DYNLOAD and the extra a.out header information.
409         (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
410         C_HIDEXT symbol with attached csect information.
411         * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
412         in the o_maxdata field.
413         (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
414         * coffgen.c (coff_renumber_symbols): Don't move any symbol to the
415         end if BSF_NOT_AT_END is set.
416
417         * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to
418         _bfd_read_ar_hdr_fn.
419         * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly.
420         * bfd-in2.h, libbfd.h: Rebuild.
421         * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr
422         return value.
423         (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise.
424         (bfd_slurp_bsd_armap_f2): Likewise.
425         (_bfd_slurp_extended_name_table): Likewise.
426
427 Fri Oct  6 16:18:35 1995  Ken Raeburn  <raeburn@cygnus.com>
428
429         Mon Sep 25 22:49:32 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
430
431         * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS
432         when the symbol table is empty.
433
434         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve
435         space for section symbols, since we don't output them either.
436         (elf_m68k_adjust_dynindx): Removed.
437
438         * ptrace-core.c (rawptr): Make it a local variable of
439         ptrace_unix_core_file_p.
440
441 Fri Oct  6 12:24:47 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
442
443         * coff-rs6000.c (xcoff_write_archive_contents): Return false, not
444         NULL.
445
446         * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
447         Mac object file formats.
448
449 Fri Oct  6 12:04:02 1995  Ian Lance Taylor  <ian@cygnus.com>
450
451         * coffgen.c (coff_fix_symbol_name): Don't try to set up file
452         auxent if there isn't one.
453         (coff_write_symbols): If there is no file auxent, use SYMNMLEN
454         rather than FILNMLEN as the maximum name length.
455
456         * coffcode.h (bfd_coff_backend_data): Add new field
457         _bfd_coff_print_aux.
458         (bfd_coff_print_aux): New static function.
459         (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the
460         scnlen field of an XTY_LD csect aux entry.
461         (coff_print_aux): New static function.
462         (coff_slurp_symbol_table): Don't pointerize scnlen field; now done
463         in coff_pointerize_aux_hook.
464         (bfd_coff_std_swap_table): Initialize new field.
465         * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux.
466         * libcoff.h: Rebuild.
467         * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field.
468         * coff-mips.c (mips_ecoff_backend_data): Likewise.
469
470         * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG
471         if there are symbols, for native AIX ld compatibility.
472
473         * coffcode.h (bfd_coff_backend_data): Add new field
474         _bfd_coff_pointerize_aux_hook.
475         (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
476         or I960, and as 0 otherwise.
477         (bfd_coff_std_swap_table): Initialize new field.
478         * libcoff.h: Rebuild.
479         * coffgen.c (coff_pointerize_aux): Change parameters  to take
480         symbol pointer instead of type and class, and to take aux index.
481         Call _bfd_coff_pointerize_aux_hook if it is defined.
482         (coff_get_normalized_symtab): Always call coff_pointerize_aux.
483         * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
484         * coff-mips.c (mips_ecoff_backend_data): Likewise.
485
486         * coff-rs6000.c: Add full support for AIX archives.  Rewrite old
487         read-only/host-only support.
488
489         * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
490         BSF_LOCAL.
491         (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
492         RS6000COFF_C.
493
494         * targets.c (bfd_target): Add _bfd_read_ar_hdr field.  Modify
495         BFD_JUMP_TABLE_ARCHIVE accordingly.
496         * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
497         (_bfd_compute_and_write_armap): Declare.
498         (_bfd_generic_read_ar_hdr): Declare.
499         (_bfd_read_ar_hdr): Define.
500         (_bfd_noarchive_read_ar_hdr): Define.
501         (_bfd_archive_bsd_read_ar_hdr): Define.
502         (_bfd_archive_coff_read_ar_hdr): Define.
503         * archive.c: Change all callers of _bfd_snarf_ar_hdr to call
504         _bfd_read_ar_hdr instead.
505         (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
506         (_bfd_compute_and_write_armap): Rename from
507         compute_and_write_armap.  Make non-static.  Change all callers.
508         * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
509         than _bfd_snarf_ar_hdr.
510         * aout-target.h (MY_read_ar_hdr): Define if not defined.
511         * ieee.c (ieee_read_ar_hdr): Define.
512         * libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
513         * oasys.c (oasys_read_ar_hdr): Define.
514         * som.c (som_read_ar_hdr): Define.
515         * bfd-in2.h, libbfd.h: Rebuild.
516
517 Thu Oct  5 14:04:07 1995  steve chamberlain  <sac@slash.cygnus.com>
518
519         * peicode.c (coff_swap_filehdr_in): If symptr is
520         zero, there aren't any symbols, even if nsyms is set.
521
522 Thu Oct  5 11:45:02 1995  Ian Lance Taylor  <ian@cygnus.com>
523
524         * libecoff.h (struct ecoff_backend_data): Add adjust_headers
525         field.
526         * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
527         sections, and set styp correctly for them: .got, .hash, .dynamic,
528         .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
529         (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
530         types.
531         (ecoff_sort_hdrs): New static function.
532         (ecoff_compute_section_file_positions): Return boolean, not void.
533         Sort the sections by VMA before looking through them.  Put the
534         first non SEC_ALLOC section on a new page.  Put every SEC_ALLOC
535         section on an appropriate boundary within the page.
536         (ecoff_compute_reloc_file_positions): Check return value of
537         ecoff_compute_section_file_positions.
538         (_bfd_ecoff_set_section_contents): Likewise.
539         (_bfd_ecoff_write_object_contents): Check for various Alpha
540         section types when incrementing text_size and data_size.  Call
541         adjust_headers backend function if it exists.
542         * coff-alpha.c (alpha_adjust_headers): New static function.
543         (alpha_ecoff_backend_data): Initialize adjust_headers field.
544         * coff-mips.c (mips_ecoff_backend_data): Likewise.
545
546         * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
547
548 Wed Oct  4 18:15:02 1995  Jeff Law  (law@hurl.cygnus.com)
549
550         * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
551         of ALTERNATE_AIX_CORE_FORMAT.
552         * configure.in (aix4): No longer need CORE_FLAGS.
553         * configure: Updated.
554
555 Wed Oct  4 15:36:36 1995  Ken Raeburn  <raeburn@cygnus.com>
556
557         NS32k changes from Ian Dall:
558         * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
559         macros.
560         (aout_link_input_section_std, aout_link_input_section_ext,
561         aout_link_reloc_link_order): Call them instead of _bfd_*
562         versions.
563         * aout-target.h (MY_exec_header_not_counted): New macro, defaults
564         to zero.
565         (backend_data): Use it instead of hardcoded zero.
566
567         * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
568         (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
569
570         * ns32knetbsd.c: Include bfd.h.
571         (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
572         (MY_bfd_reloc_type_lookup): Declare function too.
573         * pc532-mach.c (set_sizes): Don't declare.
574         (MY_text_includes_header, MY_exec_header_not_counted): Define.
575         (backend_data, MY_backend_data): Don't define.
576
577         * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
578         ns32k-*-lites* like ns32k-*-netbsd*.
579
580         * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
581         compile on lites.
582
583 Wed Oct  4 14:15:52 1995  Ian Lance Taylor  <ian@cygnus.com>
584
585         * coffcode.h (coff_write_object_contents): Restore setting
586         f_timdat to 0, deleted on August 22.
587
588 Tue Oct  3 16:28:32 1995  steve chamberlain  <sac@slash.cygnus.com>
589
590         * coffcode.h (coff_bfd_copy_private_symbol_data,
591         coff_bfd_copy_private_section_data,
592         coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
593         * peicode.h (coff_bfd_copy_private_bfd_data): New
594         (pe_bfd_copy_private_bfd_data): New.
595         (coff_swap_scnhdr_in): Swap bss size into the right place.
596         (pe_print_private_bfd_data): Add some newlines.
597
598 Tue Oct  3 11:53:04 1995  Jeff Law  (law@hurl.cygnus.com)
599
600         * som.c (setup_sections): Don't die if a space has no subspaces.
601
602 Mon Oct  2 14:08:55 1995  Ian Lance Taylor  <ian@cygnus.com>
603
604         * elflink.h (elf_link_add_object_symbols): Don't let a weak
605         dynamic symbol override a common symbol.  Don't change the size or
606         type if they have been set and the new symbol is not a definition.
607         Warn if the size or type changes.
608
609 Sun Oct  1 01:34:41 1995  Jeff Law  (law@hurl.cygnus.com)
610
611         * som.c (som_begin_writing): Don't write the symbol table or
612         symbol  strings.
613         (som_finish_writing): Write them here.  Place them after the
614         subspace data, but before the relocs.
615
616 Fri Sep 29 11:01:55 1995  Ian Lance Taylor  <ian@cygnus.com>
617
618         * sunos.c (sunos_add_one_symbol): Just pass false, not
619         info->shared_library, to sunos_create_dynamic_sections.
620         (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
621         section.
622         (sunos_check_dynamic_reloc): Remove .text section assertion.
623
624 Thu Sep 28 18:48:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
625
626         * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
627         * configure, configure.in: Add pmac_xcoff_vec case.
628         * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
629         * coff-pmac.c: New file, PowerMac XCOFF support.
630         * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
631         * targets.c (pmac_xcoff_vec): Declare.
632
633         * mpw-config.in: Various changes to be compatible with the
634         autoconf-based configury.
635         * mpw-make.sed: New file, sed commands to translate Unix
636         makefile into MPW syntax.
637         * mpw-make.in: Remove.
638         * hosts/mpw.h: Remove.
639         * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
640         true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
641
642 Thu Sep 28 17:06:23 1995  steve chamberlain  <sac@slash.cygnus.com>
643
644         * binary.c (binary_get_symtab): Return an empty string on error.
645         * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
646
647 Thu Sep 28 15:30:44 1995  Kim Knuttila  <krk@nellie>
648
649         * coff-ppc.c: Reformatted according to gnu conventions
650                       Removed irrelevant "if 0" code
651
652 Thu Sep 28 11:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
653
654         * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
655         symbols rather than as indirect symbols.
656         (MY(slurp_symbol_table)): Don't do anything special about
657         secondary symbols.
658
659         * coffcode.h (coff_new_section_hook): Make sure that the alignment
660         of .ctors and .dtors sections is no larger than 2.
661
662         * sunos.c (sunos_add_one_symbol): Don't change
663         bfd_link_hash_common to bfd_link_hash_new, since it may be on the
664         undef list.
665         (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
666         dynamic symbols when creating a shared library.
667         (sunos_scan_ext_relocs): Handle relocs correctly when creating a
668         shared library.
669         (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
670         written even if it is not defined in a regular object.
671         (sunos_write_dynamic_symbol): Use plt_offset for the address of
672         the jump table reloc.  Add an assertion.  Use RELOC_JMP_SLOT
673         rather than the constant 22.
674         (sunos_check_dynamic_reloc): Handle creating a shared library.
675         (sunos_finish_dynamic_link): Set the first entry in the GOT to
676         zero when creating a shared library.
677         * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
678         write it out at the start of the symbol table.
679
680         * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
681
682 Thu Sep 28 00:58:05 1995  Doug Evans  <dje@deneb.cygnus.com>
683
684         * config.bfd: Add arm-*-coff.
685         * configure.in, configure: Add armcoff_{little,big}_vec.
686         * targets.c (armcoff_{little,big}_vec): Declare.
687         (bfd_target_vector): Add armcoff_{little,big}_vec.
688         * coff-arm.c (armcoff_{little,big}_vec): Always define.
689
690 Wed Sep 27 10:37:14 1995  Ian Lance Taylor  <ian@cygnus.com>
691
692         * targets.c (bfd_find_target): Remove debugging code.
693
694 Wed Sep 27 07:23:39 1995  Kim Knuttila  <krk@nellie>
695
696         * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE 
697         support on powerpc.
698         * Makefile.in: added *-ppc files
699         * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
700         allow pe based .o's to be shared with other tools on ppc/NT
701         * config.bfd: added powerpc[le]-[pe|winnt] config support
702         * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec 
703         * peicode.h: Added more section flags for PE on ppc
704                      Added coff_swap_filehdr_out to allow peicode.h to be
705                      used for non-image PE files on ppc.
706                      Check for image, or not, before copying pe_opthdr
707         * targets.c: Added new bfd's
708         * targets.c: Removed two inactive bfds that shouldn't have made it this
709                      far.
710
711 Tue Sep 26 14:06:41 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
712
713         * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
714         explicit values to initialize all relocs.  Change all users.
715         (ppc_elf_brtaken_inner): New function to handle branch predicition
716         relocs.
717         (ppc_elf_brtaken_reloc): Ditto.
718         (ppc_elf_howto_raw): Use new functions.  Make sure all unsupported
719         relocs use ppc_elf_unsupported_reloc.
720         (ppc_elf_merge_private_bfd_data): Keep track of whether an error
721         needs to be reported.
722         (ppc_elf_relocate_section): Support branch prediction relocs.
723
724 Tue Sep 26 12:48:05 1995  Ian Lance Taylor  <ian@cygnus.com>
725
726         * bfd.c (bfd_assert): Remove \n from string passed to
727         _bfd_error_handler.
728
729         * coff-i386.c: (TWO_DATA_SECS): Don't define.
730         * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
731         (bfd_coff_make_section_hook): Don't define.
732         (coff_make_section_hook): Remove.
733         (sec_to_styp_flags): Remove TWO_DATA_SECS case.
734         (styp_to_sec_flags): Likewise.
735         (coff_write_object_contents): Likewise.
736         (bfd_coff_std_swap_table): Don't initialize make_section_hook
737         field.
738         * libcoff.h: Rebuild.
739         * coffgen.c (make_a_section_from_file): Just call
740         bfd_make_section_anyway, not bfd_make_section or
741         bfd_coff_make_section_hook.
742         * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
743         * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
744         * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
745         make_section_hook field.
746         * coff-mips.c (mips_ecoff_backend_data): Likewise.
747
748         * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
749         pointers into value field for warning and indirect symbols; just
750         leave the value field alone.
751         * linker.c (generic_link_add_symbol_list): Use next symbol for
752         warning and indirect symbols, rather than looking in symbol value.
753         * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
754         parameter.  Change all callers.  Remove support for indirect
755         symbols; it didn't work anyhow.
756         (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
757         * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
758         * bfd-in2.h: Rebuild.
759
760 Mon Sep 25 16:04:09 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
761
762         * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
763         go back to telling the tools this reloc operates on 32 bits.
764
765 Mon Sep 25 11:48:02 1995  Ian Lance Taylor  <ian@cygnus.com>
766
767         * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
768         rather than a direct fprintf.
769         * archive.c (_bfd_write_archive_contents): Likewise.
770         * coffcode.h (coff_slurp_symbol_table): Likewise.
771         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
772         (ppc_elf_unsupported_reloc): Likewise.
773         (ppc_elf_relocate_section): Likewise.
774         * i386linux.c (linux_tally_symbols): Likewise.
775         (linux_finish_dynamic_link): Likewise.
776         * osf-core.c (osf_core_core_file_p): Likewise.
777         * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
778         * som.c (som_sizeof_headers): Likewise.
779         * srec.c (srec_bad_byte): Likewise.
780         * bfd.c (bfd_assert): Likewise.  Also change file to be const.
781         * libbfd-in.h (bfd_assert): Declare first parameter const.
782         * libbfd.h: Rebuild.
783         * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
784         bfd_reloc_overflow is enough.
785         * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
786         * coff-h8500.c (rtype2howto): Likewise.
787         * coff-z8k.c (rtype2howto): Likewise.
788         * coffcode.h (dummy_reloc16_extra_cases): Likewise.
789         * elf.c (_bfd_elf_get_lineno): Likewise.
790         (_bfd_elf_no_info_to_howto): Likewise.
791         (_bfd_elf_no_info_to_howto_rel): Likewise.
792         * hp300hpux.c (convert_sym_type): Likewise.
793         (MY(swap_std_reloc_in)): Likewise.
794         * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
795
796         * libaout.h (struct aoutdata): Add line_buf field.
797         * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
798         and filename_buffer.  Instead, use a malloc buffer stored in the
799         new line_buf field.  Remove length restrictions.
800
801         * coffgen.c (string_size): Remove static variable.
802         (debug_string_size, debug_string_section): Likewise.
803         (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
804         and debug_string_size_p parameters.  Use them instead of the
805         global variables.  Change all callers.
806         (coff_write_symbol): Likewise.
807         (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
808         (coff_write_symbols): Add local variables to replace removed
809         global variables.
810
811         * libcoff-in.h (struct coff_section_tdata): Add offset, i,
812         function, and line_base fields.
813         * libcoff.h: Rebuild.
814         * coffgen.c (coff_find_nearest_line): Use section tdata to cache
815         information, rather than using static variables.
816
817         * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
818         file.  From Peter DeWolf <pld@amt.tay1.dec.com>.
819
820         * init.c (initialized): Remove static variable.
821         (bfd_init): Don't bother setting initialized.
822         (bfd_check_init): Remove.
823         * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
824         * libbfd.h: Rebuild.
825
826 Sat Sep 23 01:22:23 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
827
828         * rs6000-core.c (rs6000coff_core_p):  Don't check the core file
829         size for full core dumps. Copy core file header to private data.
830         (rs6000coff_core_file_failing_command,
831         rs6000coff_core_file_failing_signal):  New functions to extract
832         the file name and terminating signal from the core file.
833         * coff-rs6000.c:  Use them.
834
835 Fri Sep 22 17:44:47 1995  Ian Lance Taylor  <ian@cygnus.com>
836
837         Change arch info to be const, initialized at compile time.
838         * archures.c: Reindent many functions.  Change CONST to const.
839         (bfd_arch_info_type): Make arch_name const.  Remove disassemble;
840         nothing set it anyhow.  Make next const.
841         (bfd_arch_info_list): Remove.
842         (bfd_archures_list): Rename from archures_init_table.  Change from
843         a table of function pointers to a table of bfd_arch_info_type
844         structure addresses.
845         (bfd_scan_arch): Rewrite accordingly.  Return a const pointer.
846         (bfd_lookup_arch): Likewise.
847         (bfd_set_arch_info): Rewrite accordingly.  Change argument to be a
848         const pointer.
849         (bfd_default_arch_struct): Make const.
850         (bfd_arch_init, bfd_arch_linkin): Remove.
851         (bfd_get_arch_info): Return a const pointer.
852         * init.c (bfd_init): Don't call bfd_arch_init.
853         * bfd.c (struct _bfd): Make arch_info const.
854         * bfd-in2.h: Rebuild.
855         * libbfd.h: Rebuild.
856         * configure.in: Put & before everything in $selarchs.
857         * configure: Rebuild.
858         * cpu-*.c: Change bfd_*_arch from a function which calls
859         bfd_arch_linkin to a const structure.
860         * ieee.c (ieee_object_p): Make arch const.
861
862 Fri Sep 22 16:23:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
863
864         * reloc.c (bfd_reloc_code_type): Add relocations to support all of
865         PowerPC V.4.
866         * bfd-in2.h: Regenerate.
867         * libbfd.h: Regenerate.
868
869         * elf32-ppc.c (reloc_type): Update names to match current draft.
870         (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
871         relative.  Update names to current V.4 draft.
872         (ppc_elf_reloc_type_lookup): Add support for more relocations.
873         (ppc_elf_relocate_section): Rename relocations to match draft.
874
875 Thu Sep 21 21:53:18 1995  Michael Meissner  <meissner@cygnus.com>
876
877         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
878         compiled with -mrelocatable-lib to be linked with either normal
879         modules or -mrelocatable modules.
880
881 Wed Sep 20 12:03:26 1995  Ian Lance Taylor  <ian@cygnus.com>
882
883         * coffcode.h (coff_write_object_contents): Clear the vstamp field
884         in the a.out header.
885
886         * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
887         a reloc against a local symbol, even if it's not a section.
888
889 Tue Sep 19 17:02:26 1995  Ian Lance Taylor  <ian@cygnus.com>
890
891         * targets.c (bfd_target): Remove unused align_power_min field.
892         * bfd-in2.h: Rebuild.
893         * All backends: Remove initialization of align_power_min.
894
895 Tue Sep 19 14:02:21 1995  steve chamberlain  <sac@slash.cygnus.com>
896
897         * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
898
899 Mon Sep 18 14:35:01 1995  Arne H. Juul  <arnej@pvv.unit.no>
900
901         * config.bfd (mips-dec-netbsd*): New target.
902         * configure.host (mips-dec-netbsd*): New host.
903         * configure.in (mips-dec-netbsd*): New native.
904         * configure: Rebuild.
905
906 Fri Sep 15 10:24:36 1995  Ian Lance Taylor  <ian@cygnus.com>
907
908         Make the COFF backend linker merge common types:
909         * cofflink.c (struct coff_debug_merge_element): Define.
910         (struct coff_debug_merge_type): Define.
911         (struct coff_debug_merge_hash_entry): Define.
912         (struct coff_debug_merge_hash_table): Define.
913         (coff_debug_merge_hash_table_init): Define.
914         (coff_debug_merge_hash_table_free): Define.
915         (coff_debug_merge_hash_lookup): Define.
916         (struct coff_final_link_info): Add debug_merge field.
917         (coff_debug_merge_hash_newfunc): New static function.
918         (_bfd_coff_final_link): Allocate and free debug_merge table.
919         (coff_link_input_bfd): Merge identical enum, struct and union
920         types.
921
922 Thu Sep 14 14:53:58 1995  Ian Lance Taylor  <ian@cygnus.com>
923
924         Convert i960 COFF to use COFF backend linker.
925         * coff-i960.c (coff_i960_relocate): Use a coff_section_data
926         structure to store the symbol being used.
927         (coff_i960_start_final_link): New static function.
928         (coff_i960_relocate_section): New static function.
929         (coff_i960_adjust_symndx): New static function.
930         (coff_start_final_link): Define.
931         (coff_relocate_section): Define.
932         (coff_adjust_symndx): Define.
933         * coffcode.h (bfd_coff_backend_data): Add new callback function
934         _bfd_coff_start_final_link.
935         (bfd_coff_start_final_link): Define.
936         (coff_start_final_link): Define if not defined.
937         (bfd_coff_std_swap_table): Add coff_start_final_link.
938         * cofflink.c (_bfd_coff_internal_syment_name): Make globally
939         visible.
940         (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
941         function callback is not NULL.
942         * libcoff-in.h (struct coff_section_tdata): Add tdata field.
943         (_bfd_coff_internal_syment_name): Declare.
944         * libcoff.h: Rebuild.
945         * configure.in (icoff_big_vec): Add cofflink.o.
946         (icoff_little_vec): Likewise.
947         * configure: Rebuild.
948
949 Wed Sep 13 17:38:23 1995  Fred Fish  <fnf@rtl.cygnus.com>
950
951         * Makefile.in (clean-info): Remove extraneous tab from line
952         following action.
953
954 Wed Sep 13 13:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
955
956         * cofflink.c (coff_link_input_bfd): Fail if a section with no
957         contents has relocs.
958
959 Thu Sep 12 12:45:34 1995  steve chamberlain  <sac@slash.cygnus.com>
960
961         * coffcode.h (coff_compute_section_file_positions): Keep the
962         raw size safe. 
963         (coff_write_object_contents): Remember if it's a relocatable
964         file.
965         * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
966         * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
967         if relocatable file. Swap out saved raw size.
968
969 Tue Sep 12 12:14:33 1995  Ian Lance Taylor  <ian@cygnus.com>
970
971         * Makefile.in (do_maintainer_clean): Rename from do_realclean.
972         (maintainer-clean): Rename from realclean, passing
973         maintainer-clean down to subdirectories, but leave realclean as a
974         synonym.
975
976         * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
977         warning callback.
978
979         * dep-in.sed: Remove config.h from generated dependencies.
980
981         * sunos.c (sunos_slurp_dynamic_symtab): New static function,
982         broken out of sunos_canonicalize_dynamic_symtab.
983         (sunos_canonicalize_dynamic_symtab): Call new function
984         sunos_slurp_dynamic_symtab.
985         (sunos_add_dynamic_symbols): Add three new parameters.  Return the
986         dynamic symbol table to the caller.
987         * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
988         callback to override the symbols being read.
989         * libaout.h (struct aout_backend_data): Add three new parameters
990         to add_dynamic_symbols callback.
991
992         Extensive minor changes to avoid various gcc warnings.  Also:
993         * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
994         * archures.c (bfd_arch_info_type): Change mach field from long to
995         unsigned long.
996         (bfd_lookup_arch): Change machine parameter from long to unsigned
997         long.
998
999 Mon Sep 11 10:55:47 1995  Ian Lance Taylor  <ian@cygnus.com>
1000
1001         * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
1002         a symbol with a non-zero plt_offset.
1003
1004 Fri Sep  8 11:47:24 1995  Ian Lance Taylor  <ian@cygnus.com>
1005
1006         * elfcode.h (align_file_position): Remove; not used.
1007
1008         * configure.in: Only check for <sys/procfs.h> on a native system,
1009         and make sure it defines prstatus_t.
1010         * configure: Rebuild.
1011
1012 Thu Sep  7 12:48:01 1995  Ian Lance Taylor  <ian@cygnus.com>
1013
1014         * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
1015
1016         * config.in: Rename from config.h.in.
1017         * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
1018         Check for config.h:config.in when creating stamp-h.
1019         * configure: Rebuild.
1020         * Makefile.in (stamp-h): Depend upon config.in rather than
1021         config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
1022         calling config.status.
1023
1024         * Makefile.in (do_distclean): Remove config.h and stamp-h.
1025         (Makefile): Just rebuild Makefile.
1026         (config.h, stamp-h): New targets.
1027         * configure.in: Create stamp-h when rebuilding config.h.
1028         * configure: Rebuild.
1029
1030 Wed Sep  6 15:00:33 1995  Ian Lance Taylor  <ian@cygnus.com>
1031
1032         * configure.in: Call AC_CONFIG_HEADER.  Substitute
1033         HOST_64BIT_LONG.  Check that various header files exist.  Check
1034         that fcntl exists.  Call BFD_BINARY_FOPEN.  Check whether malloc
1035         and/or free need to be declared.  Don't make a link to sysdep.h.
1036         Define TRAD_HEADER for various hosts.
1037         * configure: Rebuild.
1038         * configure.host: Don't set my_host.  Add definitions taken from
1039         host header files for various entries.  Remove entries which now
1040         do nothing.
1041         * acconfig.h: New file.
1042         * config.h.in: New file, built by autoheader.
1043         * sysdep.h: New file.
1044         * Makefile.in (do_distclean): Don't remove sysdep.h.
1045         (RECONFIG): Remove.
1046         (LOCAL_H_DEPS): New variable.
1047         ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
1048         $(RECONFIG).
1049         ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
1050         ($(OPTIONAL_BACKENDS)): Likewise.
1051         (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
1052         looking through sysdep.h.
1053         * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
1054         (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
1055         (fprintf_vma, sprintf_vma): Likewise.
1056         (int64_type, uint64_type): Don't define.
1057         * bfd-in2.h: Rebuild.
1058         * archures.c, bfd.c, srec.c: Include <ctype.h>.
1059         * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
1060         * lynx-core.c: Include stuff from old hosts/lynx.h.
1061         * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
1062         rather than NO_FCNTL.
1063         * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
1064         rather than NATIVE_HPPAHPUX_COMPILER.
1065         * trad-core.c: Don't include <errno.h>.  Include TRAD_HEADER if it
1066         is defined.
1067         * hosts/*.h: Remove all header files which merely include,
1068         declare, and define things.  Leave header files which define
1069         information needed by trad-core.c.
1070
1071         * aclocal.m4 (BFD_BINARY_FOPEN): Define.
1072         (BFD_CC_FOR_BUILD): Define.
1073         * configure.in: Use BFD_CC_FOR_BUILD.
1074         * configure: Rebuild.
1075
1076 Tue Sep  5 19:35:28 1995  Ian Lance Taylor  <ian@cygnus.com>
1077
1078         * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
1079         * configure: Rebuild.
1080
1081         * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
1082         a global symbol.
1083
1084 Tue Sep  5 12:48:26 1995  Jason Molenda   (crash@phydeaux.cygnus.com)
1085
1086         * config.bfd: i386pe_ve -> i386pe_vec.
1087
1088 Mon Sep  4 14:02:43 1995  Ian Lance Taylor  <ian@cygnus.com>
1089
1090         * configure.host: Incorporate host Makefile fragments by setting
1091         shell variables.
1092         * configure.in: Call AC_PROG_CC.  Substitute CFLAGS, HDEFINES and
1093         AR.  Call AC_PROG_INSTALL.  Substitute CC_FOR_BUILD, choosing a
1094         value based on whether the code is being compiled by a cross
1095         compiler.  Don't substitute host_makefile_frag or frags.
1096         * aclocal.m4: New file to define local AC_PROG_CC.
1097         * configure: Rebuild.
1098         * Makefile.in (INSTALL): Set to @INSTALL@.
1099         (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
1100         (INSTALL_DATA): Set to @INSTALL_DATA@.
1101         (AR): Set to @AR@.
1102         (CC): Define as @CC@.
1103         (CFLAGS): Set to @CFLAGS@.
1104         (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
1105         (@host_makefile_frag@): Remove.
1106         (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@.  Move $(CFLAGS)
1107         after other options.
1108         (config.status): Remove dependency upon @frags@.
1109         * config/*.mh, config/README: Remove.
1110
1111         * config.bfd: Rewrite to incorporate the contents of the Makefile
1112         fragments by setting shell variables, rather than merely returning
1113         the name of a Makefile fragment.
1114         * configure.in: Use shell variables set by config.bfd rather than
1115         looking at the target Makefile fragment files.  Don't substitute
1116         target_makefile_frag.  Do substitute TDEFINES.
1117         * configure: Rebuild.
1118         * Makefile.in (@target_makefile_frag@): Remove.
1119         (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
1120         * config/*.mt: Remove.
1121
1122 Mon Sep  4 03:13:28 1995  Ken Raeburn  <raeburn@cygnus.com>
1123
1124         * configure.in: Put changequote lines around "i[345]86" patterns
1125         section of core file support.
1126
1127 Sun Sep  3 11:31:58 1995  Jeff Law  (law@snake.cs.utah.edu)
1128
1129         * som.c (som_bfd_print_private_bfd_data): Define to use the
1130         generic version.
1131
1132 Fri Sep  1 17:08:40 1995  steve chamberlain  <sac@slash.cygnus.com>
1133
1134         * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
1135         entry, text_start and data_start.
1136
1137 Fri Sep  1 18:06:28 1995  Ian Lance Taylor  <ian@cygnus.com>
1138
1139         * Makefile.in (OFILES): Remove $(TDEPFILES).
1140         * config/apollo.mt (TDEPFILES): Remove.
1141         * config/README: Update.
1142
1143         * configure.in: For a native configuration, set COREFILE and
1144         COREFLAG based on the canonical host name.
1145         * configure: Rebuild.
1146         * Makefile.in: Rebuild dependencies.
1147         (ALL_CFLAGS): Add @COREFLAG@.
1148         (OFILES): Replace $(HDEPFILES) with @COREFILE@.
1149         * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
1150         support routines.  Check LYNX_CORE rather than HOST_LYNX.
1151         * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
1152         * i386lynx.c: Likewise.
1153         * m68klynx.c: Likewise.
1154         * sparclynx.c: Likewise.
1155         * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
1156         * *-core.c: Comment changes.
1157         * config/decstation.mh (HDEPFILES): Remove.
1158         (HDEFINES): Remove -DTRAD_CORE.
1159         * config/irix3.mh (RANLIB): Remove.
1160         * config/irix4.mh (HDEPFILES, RANLIB): Remove.
1161         (HDEFINES): Remove -DIRIX_CORE.
1162         * config/riscos.mh (RANLIB, HDEPFILES): Remove.
1163         (HDEFINES): Remove -DTRAD_CORE.
1164         * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
1165         * config/ultra3.mh (RANLIB): Remove.
1166         * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
1167         * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
1168         * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
1169         * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
1170         * config/hppahpux.mh, config/hppaosf.mh: Remove.
1171         * config/i386aix.mh, config/i386bsd.mh: Remove.
1172         * config/i386linux.mh, config/i386mach3.mh: Remove.
1173         * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
1174         * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
1175         * config/mipsmach3.mh, config/news-mips.mh: Remove.
1176         * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
1177         * config/rs600.mh, config/rs6000lynx.mh: Remove.
1178         * config/solaris2.mh, config/stratus.mh: Remove.
1179         * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
1180         * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
1181
1182 Fri Sep  1 15:18:50 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>
1183
1184         * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
1185         DT_FINI entry if the appropriate symbol is not in the hash table.
1186
1187         * libelf.h (struct elf_backend_data): Add create_program_headers
1188         and want_hdr_in_seg fields.
1189         * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
1190         defined.
1191         (elf_backend_create_program_headers): Likewise.
1192         (elfNN_bed): Initialize create_program_headers and
1193         want_hdr_in_seg.
1194         * elf.c (get_program_header_size): Call create_program_headers
1195         backend routine.
1196         (map_program_segments): Check want_hdr_in_seg backend field.  Call
1197         create_program_headers backend routine.
1198
1199         * elf.c (assign_file_positions_except_relocs): Align non allocated
1200         sections when creating an executable.
1201
1202         * elfcode.h (elf_swap_phdr_in): Make non static.
1203         (elf_swap_phdr_out): Make non static.
1204         * libelf.h (bfd_elf32_swap_phdr_in): Declare.
1205         (bfd_elf32_swap_phdr_out): Declare.
1206         (bfd_elf64_swap_phdr_in): Declare.
1207         (bfd_elf64_swap_phdr_out): Declare.
1208
1209         * ecofflink.c (ecoff_collect_shuffle): New static function.
1210         (_bfd_ecoff_get_accumulated_pdr): New function.
1211         (_bfd_ecoff_get_accumulated_sym): New function.
1212         (_bfd_ecoff_get_accumulated_ss): New function.
1213         * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
1214         (_bfd_ecoff_get_accumulated_sym): Declare.
1215         (_bfd_ecoff_get_accumulated_ss): Declare.
1216         * libbfd.h: Rebuild.
1217
1218 Fri Sep  1 13:20:25 1995  Ian Lance Taylor  <ian@cygnus.com>
1219
1220         * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
1221
1222         * elflink.h (elf_link_add_object_symbols): Handle indirect and
1223         warning symbols.  If any section is named .gnu.warning.XXX, treat
1224         the contents as a warning to be issued if the symbol XXX is
1225         referenced.
1226         (elf_link_output_extsym): For an indirect or warning symbol, just
1227         output the symbol it points to.
1228
1229         * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
1230         if bfd_hash_allocate fails, since it will already be set.
1231         (generic_link_hash_newfunc): Likewise.
1232         (archive_hash_newfunc): Likewise.
1233         (hash_entry_bfd): New static function.
1234         (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
1235         callback.  Allocate a new warning using the hash table newfunc.
1236         Use bfd_hash_replace to update the entry in the hash table, rather
1237         than assuming we can copy the fields with structure assignment.
1238
1239         * hash.c (bfd_hash_replace): New function.
1240         * bfd-in.h (bfd_hash_replace): Declare.
1241         * bfd-in2.h: Rebuild.
1242
1243 Fri Sep  1 08:12:50 1995  James G. Smith  <jsmith@beauty.cygnus.com>
1244
1245         * config.bfd: Add mips*vr4300-*-elf* target.
1246         * config/mipsbvr4300.mt: Added.
1247
1248 See file ChangeLog.2
1249
1250 \f
1251 Local Variables:
1252 mode: indented-text
1253 left-margin: 8
1254 fill-column: 74
1255 version-control: never
1256 End: