* coffcode.h (bfd_coff_backend_data): Add new field
[external/binutils.git] / bfd / ChangeLog
1 Fri Oct  6 12:24:47 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
2
3         * coff-rs6000.c (xcoff_write_archive_contents): Return false, not
4         NULL.
5
6         * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and
7         Mac object file formats.
8
9 Fri Oct  6 12:04:02 1995  Ian Lance Taylor  <ian@cygnus.com>
10
11         * coffcode.h (bfd_coff_backend_data): Add new field
12         _bfd_coff_pointerize_aux_hook.
13         (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C
14         or I960, and as 0 otherwise.
15         (bfd_coff_std_swap_table): Initialize new field.
16         * libcoff.h: Rebuild.
17         * coffgen.c (coff_pointerize_aux): Change parameters  to take
18         symbol pointer instead of type and class, and to take aux index.
19         Call _bfd_coff_pointerize_aux_hook if it is defined.
20         (coff_get_normalized_symtab): Always call coff_pointerize_aux.
21         * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields.
22         * coff-mips.c (mips_ecoff_backend_data): Likewise.
23
24         * coff-rs6000.c: Add full support for AIX archives.  Rewrite old
25         read-only/host-only support.
26
27         * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be
28         BSF_LOCAL.
29         (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if
30         RS6000COFF_C.
31
32         * targets.c (bfd_target): Add _bfd_read_ar_hdr field.  Modify
33         BFD_JUMP_TABLE_ARCHIVE accordingly.
34         * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare.
35         (_bfd_compute_and_write_armap): Declare.
36         (_bfd_generic_read_ar_hdr): Declare.
37         (_bfd_read_ar_hdr): Define.
38         (_bfd_noarchive_read_ar_hdr): Define.
39         (_bfd_archive_bsd_read_ar_hdr): Define.
40         (_bfd_archive_coff_read_ar_hdr): Define.
41         * archive.c: Change all callers of _bfd_snarf_ar_hdr to call
42         _bfd_read_ar_hdr instead.
43         (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr.
44         (_bfd_compute_and_write_armap): Rename from
45         compute_and_write_armap.  Make non-static.  Change all callers.
46         * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather
47         than _bfd_snarf_ar_hdr.
48         * aout-target.h (MY_read_ar_hdr): Define if not defined.
49         * ieee.c (ieee_read_ar_hdr): Define.
50         * libecoff.h (_bfd_ecoff_read_ar_hdr): Define.
51         * oasys.c (oasys_read_ar_hdr): Define.
52         * som.c (som_read_ar_hdr): Define.
53         * bfd-in2.h, libbfd.h: Rebuild.
54
55 Thu Oct  5 14:04:07 1995  steve chamberlain  <sac@slash.cygnus.com>
56
57         * peicode.c (coff_swap_filehdr_in): If symptr is
58         zero, there aren't any symbols, even if nsyms is set.
59
60 Thu Oct  5 11:45:02 1995  Ian Lance Taylor  <ian@cygnus.com>
61
62         * libecoff.h (struct ecoff_backend_data): Add adjust_headers
63         field.
64         * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha
65         sections, and set styp correctly for them: .got, .hash, .dynamic,
66         .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment.
67         (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section
68         types.
69         (ecoff_sort_hdrs): New static function.
70         (ecoff_compute_section_file_positions): Return boolean, not void.
71         Sort the sections by VMA before looking through them.  Put the
72         first non SEC_ALLOC section on a new page.  Put every SEC_ALLOC
73         section on an appropriate boundary within the page.
74         (ecoff_compute_reloc_file_positions): Check return value of
75         ecoff_compute_section_file_positions.
76         (_bfd_ecoff_set_section_contents): Likewise.
77         (_bfd_ecoff_write_object_contents): Check for various Alpha
78         section types when incrementing text_size and data_size.  Call
79         adjust_headers backend function if it exists.
80         * coff-alpha.c (alpha_adjust_headers): New static function.
81         (alpha_ecoff_backend_data): Initialize adjust_headers field.
82         * coff-mips.c (mips_ecoff_backend_data): Likewise.
83
84         * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6.
85
86 Wed Oct  4 18:15:02 1995  Jeff Law  (law@hurl.cygnus.com)
87
88         * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead
89         of ALTERNATE_AIX_CORE_FORMAT.
90         * configure.in (aix4): No longer need CORE_FLAGS.
91         * configure: Updated.
92
93 Wed Oct  4 15:36:36 1995  Ken Raeburn  <raeburn@cygnus.com>
94
95         NS32k changes from Ian Dall:
96         * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New
97         macros.
98         (aout_link_input_section_std, aout_link_input_section_ext,
99         aout_link_reloc_link_order): Call them instead of _bfd_*
100         versions.
101         * aout-target.h (MY_exec_header_not_counted): New macro, defaults
102         to zero.
103         (backend_data): Use it instead of hardcoded zero.
104
105         * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro.
106         (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi.
107
108         * ns32knetbsd.c: Include bfd.h.
109         (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros.
110         (MY_bfd_reloc_type_lookup): Declare function too.
111         * pc532-mach.c (set_sizes): Don't declare.
112         (MY_text_includes_header, MY_exec_header_not_counted): Define.
113         (backend_data, MY_backend_data): Don't define.
114
115         * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and
116         ns32k-*-lites* like ns32k-*-netbsd*.
117
118         * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to
119         compile on lites.
120
121 Wed Oct  4 14:15:52 1995  Ian Lance Taylor  <ian@cygnus.com>
122
123         * coffcode.h (coff_write_object_contents): Restore setting
124         f_timdat to 0, deleted on August 22.
125
126 Tue Oct  3 16:28:32 1995  steve chamberlain  <sac@slash.cygnus.com>
127
128         * coffcode.h (coff_bfd_copy_private_symbol_data,
129         coff_bfd_copy_private_section_data,
130         coff_bfd_copy_private_bfd_data): ifdef to allow overrides.
131         * peicode.h (coff_bfd_copy_private_bfd_data): New
132         (pe_bfd_copy_private_bfd_data): New.
133         (coff_swap_scnhdr_in): Swap bss size into the right place.
134         (pe_print_private_bfd_data): Add some newlines.
135
136 Tue Oct  3 11:53:04 1995  Jeff Law  (law@hurl.cygnus.com)
137
138         * som.c (setup_sections): Don't die if a space has no subspaces.
139
140 Mon Oct  2 14:08:55 1995  Ian Lance Taylor  <ian@cygnus.com>
141
142         * elflink.h (elf_link_add_object_symbols): Don't let a weak
143         dynamic symbol override a common symbol.  Don't change the size or
144         type if they have been set and the new symbol is not a definition.
145         Warn if the size or type changes.
146
147 Sun Oct  1 01:34:41 1995  Jeff Law  (law@hurl.cygnus.com)
148
149         * som.c (som_begin_writing): Don't write the symbol table or
150         symbol  strings.
151         (som_finish_writing): Write them here.  Place them after the
152         subspace data, but before the relocs.
153
154 Fri Sep 29 11:01:55 1995  Ian Lance Taylor  <ian@cygnus.com>
155
156         * sunos.c (sunos_add_one_symbol): Just pass false, not
157         info->shared_library, to sunos_create_dynamic_sections.
158         (sunos_scan_ext_relocs): Don't warn about a reloc in the .text
159         section.
160         (sunos_check_dynamic_reloc): Remove .text section assertion.
161
162 Thu Sep 28 18:48:47 1995  Stan Shebs  <shebs@andros.cygnus.com>
163
164         * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*.
165         * configure, configure.in: Add pmac_xcoff_vec case.
166         * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o.
167         * coff-pmac.c: New file, PowerMac XCOFF support.
168         * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case.
169         * targets.c (pmac_xcoff_vec): Declare.
170
171         * mpw-config.in: Various changes to be compatible with the
172         autoconf-based configury.
173         * mpw-make.sed: New file, sed commands to translate Unix
174         makefile into MPW syntax.
175         * mpw-make.in: Remove.
176         * hosts/mpw.h: Remove.
177         * bfd-in.h, bfd-in2.h: If MPW, include the file that defines
178         true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED.
179
180 Thu Sep 28 17:06:23 1995  steve chamberlain  <sac@slash.cygnus.com>
181
182         * binary.c (binary_get_symtab): Return an empty string on error.
183         * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB.
184
185 Thu Sep 28 15:30:44 1995  Kim Knuttila  <krk@nellie>
186
187         * coff-ppc.c: Reformatted according to gnu conventions
188                       Removed irrelevant "if 0" code
189
190 Thu Sep 28 11:19:53 1995  Ian Lance Taylor  <ian@cygnus.com>
191
192         * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak
193         symbols rather than as indirect symbols.
194         (MY(slurp_symbol_table)): Don't do anything special about
195         secondary symbols.
196
197         * coffcode.h (coff_new_section_hook): Make sure that the alignment
198         of .ctors and .dtors sections is no larger than 2.
199
200         * sunos.c (sunos_add_one_symbol): Don't change
201         bfd_link_hash_common to bfd_link_hash_new, since it may be on the
202         undef list.
203         (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the
204         dynamic symbols when creating a shared library.
205         (sunos_scan_ext_relocs): Handle relocs correctly when creating a
206         shared library.
207         (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as
208         written even if it is not defined in a regular object.
209         (sunos_write_dynamic_symbol): Use plt_offset for the address of
210         the jump table reloc.  Add an assertion.  Use RELOC_JMP_SLOT
211         rather than the constant 22.
212         (sunos_check_dynamic_reloc): Handle creating a shared library.
213         (sunos_finish_dynamic_link): Set the first entry in the GOT to
214         zero when creating a shared library.
215         * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC,
216         write it out at the start of the symbol table.
217
218         * Makefile.in (BFD32_BACKENDS): Add coff-arm.o.
219
220 Thu Sep 28 00:58:05 1995  Doug Evans  <dje@deneb.cygnus.com>
221
222         * config.bfd: Add arm-*-coff.
223         * configure.in, configure: Add armcoff_{little,big}_vec.
224         * targets.c (armcoff_{little,big}_vec): Declare.
225         (bfd_target_vector): Add armcoff_{little,big}_vec.
226         * coff-arm.c (armcoff_{little,big}_vec): Always define.
227
228 Wed Sep 27 10:37:14 1995  Ian Lance Taylor  <ian@cygnus.com>
229
230         * targets.c (bfd_find_target): Remove debugging code.
231
232 Wed Sep 27 07:23:39 1995  Kim Knuttila  <krk@nellie>
233
234         * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE 
235         support on powerpc.
236         * Makefile.in: added *-ppc files
237         * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to
238         allow pe based .o's to be shared with other tools on ppc/NT
239         * config.bfd: added powerpc[le]-[pe|winnt] config support
240         * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec 
241         * peicode.h: Added more section flags for PE on ppc
242                      Added coff_swap_filehdr_out to allow peicode.h to be
243                      used for non-image PE files on ppc.
244                      Check for image, or not, before copying pe_opthdr
245         * targets.c: Added new bfd's
246         * targets.c: Removed two inactive bfds that shouldn't have made it this
247                      far.
248
249 Tue Sep 26 14:06:41 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
250
251         * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use
252         explicit values to initialize all relocs.  Change all users.
253         (ppc_elf_brtaken_inner): New function to handle branch predicition
254         relocs.
255         (ppc_elf_brtaken_reloc): Ditto.
256         (ppc_elf_howto_raw): Use new functions.  Make sure all unsupported
257         relocs use ppc_elf_unsupported_reloc.
258         (ppc_elf_merge_private_bfd_data): Keep track of whether an error
259         needs to be reported.
260         (ppc_elf_relocate_section): Support branch prediction relocs.
261
262 Tue Sep 26 12:48:05 1995  Ian Lance Taylor  <ian@cygnus.com>
263
264         * bfd.c (bfd_assert): Remove \n from string passed to
265         _bfd_error_handler.
266
267         * coff-i386.c: (TWO_DATA_SECS): Don't define.
268         * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook.
269         (bfd_coff_make_section_hook): Don't define.
270         (coff_make_section_hook): Remove.
271         (sec_to_styp_flags): Remove TWO_DATA_SECS case.
272         (styp_to_sec_flags): Likewise.
273         (coff_write_object_contents): Likewise.
274         (bfd_coff_std_swap_table): Don't initialize make_section_hook
275         field.
276         * libcoff.h: Rebuild.
277         * coffgen.c (make_a_section_from_file): Just call
278         bfd_make_section_anyway, not bfd_make_section or
279         bfd_coff_make_section_hook.
280         * ecoff.c (_bfd_ecoff_make_section_hook): Remove.
281         * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare.
282         * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize
283         make_section_hook field.
284         * coff-mips.c (mips_ecoff_backend_data): Likewise.
285
286         * aoutx.h (translate_from_native_sym_flags): Don't try to stuff
287         pointers into value field for warning and indirect symbols; just
288         leave the value field alone.
289         * linker.c (generic_link_add_symbol_list): Use next symbol for
290         warning and indirect symbols, rather than looking in symbol value.
291         * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
292         parameter.  Change all callers.  Remove support for indirect
293         symbols; it didn't work anyhow.
294         (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
295         * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
296         * bfd-in2.h: Rebuild.
297
298 Mon Sep 25 16:04:09 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
299
300         * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs,
301         go back to telling the tools this reloc operates on 32 bits.
302
303 Mon Sep 25 11:48:02 1995  Ian Lance Taylor  <ian@cygnus.com>
304
305         * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler
306         rather than a direct fprintf.
307         * archive.c (_bfd_write_archive_contents): Likewise.
308         * coffcode.h (coff_slurp_symbol_table): Likewise.
309         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise.
310         (ppc_elf_unsupported_reloc): Likewise.
311         (ppc_elf_relocate_section): Likewise.
312         * i386linux.c (linux_tally_symbols): Likewise.
313         (linux_finish_dynamic_link): Likewise.
314         * osf-core.c (osf_core_core_file_p): Likewise.
315         * rs6000-core.c (rs6000coff_get_section_contents): Likewise.
316         * som.c (som_sizeof_headers): Likewise.
317         * srec.c (srec_bad_byte): Likewise.
318         * bfd.c (bfd_assert): Likewise.  Also change file to be const.
319         * libbfd-in.h (bfd_assert): Declare first parameter const.
320         * libbfd.h: Rebuild.
321         * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning
322         bfd_reloc_overflow is enough.
323         * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort.
324         * coff-h8500.c (rtype2howto): Likewise.
325         * coff-z8k.c (rtype2howto): Likewise.
326         * coffcode.h (dummy_reloc16_extra_cases): Likewise.
327         * elf.c (_bfd_elf_get_lineno): Likewise.
328         (_bfd_elf_no_info_to_howto): Likewise.
329         (_bfd_elf_no_info_to_howto_rel): Likewise.
330         * hp300hpux.c (convert_sym_type): Likewise.
331         (MY(swap_std_reloc_in)): Likewise.
332         * elf.c (bfd_section_from_shdr): Remove #if 0 sections.
333
334         * libaout.h (struct aoutdata): Add line_buf field.
335         * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
336         and filename_buffer.  Instead, use a malloc buffer stored in the
337         new line_buf field.  Remove length restrictions.
338
339         * coffgen.c (string_size): Remove static variable.
340         (debug_string_size, debug_string_section): Likewise.
341         (coff_fix_symbol_name): Add string_size_p, debug_string_section_p,
342         and debug_string_size_p parameters.  Use them instead of the
343         global variables.  Change all callers.
344         (coff_write_symbol): Likewise.
345         (coff_write_alien_symbol, coff_write_native_symbol): Likewise.
346         (coff_write_symbols): Add local variables to replace removed
347         global variables.
348
349         * libcoff-in.h (struct coff_section_tdata): Add offset, i,
350         function, and line_base fields.
351         * libcoff.h: Rebuild.
352         * coffgen.c (coff_find_nearest_line): Use section tdata to cache
353         information, rather than using static variables.
354
355         * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC
356         file.  From Peter DeWolf <pld@amt.tay1.dec.com>.
357
358         * init.c (initialized): Remove static variable.
359         (bfd_init): Don't bother setting initialized.
360         (bfd_check_init): Remove.
361         * opncls.c (_bfd_new_bfd): Don't call bfd_check_init.
362         * libbfd.h: Rebuild.
363
364 Sat Sep 23 01:22:23 1995  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
365
366         * rs6000-core.c (rs6000coff_core_p):  Don't check the core file
367         size for full core dumps. Copy core file header to private data.
368         (rs6000coff_core_file_failing_command,
369         rs6000coff_core_file_failing_signal):  New functions to extract
370         the file name and terminating signal from the core file.
371         * coff-rs6000.c:  Use them.
372
373 Fri Sep 22 17:44:47 1995  Ian Lance Taylor  <ian@cygnus.com>
374
375         Change arch info to be const, initialized at compile time.
376         * archures.c: Reindent many functions.  Change CONST to const.
377         (bfd_arch_info_type): Make arch_name const.  Remove disassemble;
378         nothing set it anyhow.  Make next const.
379         (bfd_arch_info_list): Remove.
380         (bfd_archures_list): Rename from archures_init_table.  Change from
381         a table of function pointers to a table of bfd_arch_info_type
382         structure addresses.
383         (bfd_scan_arch): Rewrite accordingly.  Return a const pointer.
384         (bfd_lookup_arch): Likewise.
385         (bfd_set_arch_info): Rewrite accordingly.  Change argument to be a
386         const pointer.
387         (bfd_default_arch_struct): Make const.
388         (bfd_arch_init, bfd_arch_linkin): Remove.
389         (bfd_get_arch_info): Return a const pointer.
390         * init.c (bfd_init): Don't call bfd_arch_init.
391         * bfd.c (struct _bfd): Make arch_info const.
392         * bfd-in2.h: Rebuild.
393         * libbfd.h: Rebuild.
394         * configure.in: Put & before everything in $selarchs.
395         * configure: Rebuild.
396         * cpu-*.c: Change bfd_*_arch from a function which calls
397         bfd_arch_linkin to a const structure.
398         * ieee.c (ieee_object_p): Make arch const.
399
400 Fri Sep 22 16:23:18 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
401
402         * reloc.c (bfd_reloc_code_type): Add relocations to support all of
403         PowerPC V.4.
404         * bfd-in2.h: Regenerate.
405         * libbfd.h: Regenerate.
406
407         * elf32-ppc.c (reloc_type): Update names to match current draft.
408         (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC
409         relative.  Update names to current V.4 draft.
410         (ppc_elf_reloc_type_lookup): Add support for more relocations.
411         (ppc_elf_relocate_section): Rename relocations to match draft.
412
413 Thu Sep 21 21:53:18 1995  Michael Meissner  <meissner@cygnus.com>
414
415         * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules
416         compiled with -mrelocatable-lib to be linked with either normal
417         modules or -mrelocatable modules.
418
419 Wed Sep 20 12:03:26 1995  Ian Lance Taylor  <ian@cygnus.com>
420
421         * coffcode.h (coff_write_object_contents): Clear the vstamp field
422         in the a.out header.
423
424         * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for
425         a reloc against a local symbol, even if it's not a section.
426
427 Tue Sep 19 17:02:26 1995  Ian Lance Taylor  <ian@cygnus.com>
428
429         * targets.c (bfd_target): Remove unused align_power_min field.
430         * bfd-in2.h: Rebuild.
431         * All backends: Remove initialization of align_power_min.
432
433 Tue Sep 19 14:02:21 1995  steve chamberlain  <sac@slash.cygnus.com>
434
435         * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right.
436
437 Mon Sep 18 14:35:01 1995  Arne H. Juul  <arnej@pvv.unit.no>
438
439         * config.bfd (mips-dec-netbsd*): New target.
440         * configure.host (mips-dec-netbsd*): New host.
441         * configure.in (mips-dec-netbsd*): New native.
442         * configure: Rebuild.
443
444 Fri Sep 15 10:24:36 1995  Ian Lance Taylor  <ian@cygnus.com>
445
446         Make the COFF backend linker merge common types:
447         * cofflink.c (struct coff_debug_merge_element): Define.
448         (struct coff_debug_merge_type): Define.
449         (struct coff_debug_merge_hash_entry): Define.
450         (struct coff_debug_merge_hash_table): Define.
451         (coff_debug_merge_hash_table_init): Define.
452         (coff_debug_merge_hash_table_free): Define.
453         (coff_debug_merge_hash_lookup): Define.
454         (struct coff_final_link_info): Add debug_merge field.
455         (coff_debug_merge_hash_newfunc): New static function.
456         (_bfd_coff_final_link): Allocate and free debug_merge table.
457         (coff_link_input_bfd): Merge identical enum, struct and union
458         types.
459
460 Thu Sep 14 14:53:58 1995  Ian Lance Taylor  <ian@cygnus.com>
461
462         Convert i960 COFF to use COFF backend linker.
463         * coff-i960.c (coff_i960_relocate): Use a coff_section_data
464         structure to store the symbol being used.
465         (coff_i960_start_final_link): New static function.
466         (coff_i960_relocate_section): New static function.
467         (coff_i960_adjust_symndx): New static function.
468         (coff_start_final_link): Define.
469         (coff_relocate_section): Define.
470         (coff_adjust_symndx): Define.
471         * coffcode.h (bfd_coff_backend_data): Add new callback function
472         _bfd_coff_start_final_link.
473         (bfd_coff_start_final_link): Define.
474         (coff_start_final_link): Define if not defined.
475         (bfd_coff_std_swap_table): Add coff_start_final_link.
476         * cofflink.c (_bfd_coff_internal_syment_name): Make globally
477         visible.
478         (_bfd_coff_final_link): Call bfd_coff_start_final_link if the
479         function callback is not NULL.
480         * libcoff-in.h (struct coff_section_tdata): Add tdata field.
481         (_bfd_coff_internal_syment_name): Declare.
482         * libcoff.h: Rebuild.
483         * configure.in (icoff_big_vec): Add cofflink.o.
484         (icoff_little_vec): Likewise.
485         * configure: Rebuild.
486
487 Wed Sep 13 17:38:23 1995  Fred Fish  <fnf@rtl.cygnus.com>
488
489         * Makefile.in (clean-info): Remove extraneous tab from line
490         following action.
491
492 Wed Sep 13 13:27:53 1995  Ian Lance Taylor  <ian@cygnus.com>
493
494         * cofflink.c (coff_link_input_bfd): Fail if a section with no
495         contents has relocs.
496
497 Thu Sep 12 12:45:34 1995  steve chamberlain  <sac@slash.cygnus.com>
498
499         * coffcode.h (coff_compute_section_file_positions): Keep the
500         raw size safe. 
501         (coff_write_object_contents): Remember if it's a relocatable
502         file.
503         * libcoff-in.h (pe_data_type): New member 'has_reloc_section'
504         * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag
505         if relocatable file. Swap out saved raw size.
506
507 Tue Sep 12 12:14:33 1995  Ian Lance Taylor  <ian@cygnus.com>
508
509         * Makefile.in (do_maintainer_clean): Rename from do_realclean.
510         (maintainer-clean): Rename from realclean, passing
511         maintainer-clean down to subdirectories, but leave realclean as a
512         synonym.
513
514         * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to
515         warning callback.
516
517         * dep-in.sed: Remove config.h from generated dependencies.
518
519         * sunos.c (sunos_slurp_dynamic_symtab): New static function,
520         broken out of sunos_canonicalize_dynamic_symtab.
521         (sunos_canonicalize_dynamic_symtab): Call new function
522         sunos_slurp_dynamic_symtab.
523         (sunos_add_dynamic_symbols): Add three new parameters.  Return the
524         dynamic symbol table to the caller.
525         * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
526         callback to override the symbols being read.
527         * libaout.h (struct aout_backend_data): Add three new parameters
528         to add_dynamic_symbols callback.
529
530         Extensive minor changes to avoid various gcc warnings.  Also:
531         * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o.
532         * archures.c (bfd_arch_info_type): Change mach field from long to
533         unsigned long.
534         (bfd_lookup_arch): Change machine parameter from long to unsigned
535         long.
536
537 Mon Sep 11 10:55:47 1995  Ian Lance Taylor  <ian@cygnus.com>
538
539         * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find
540         a symbol with a non-zero plt_offset.
541
542 Fri Sep  8 11:47:24 1995  Ian Lance Taylor  <ian@cygnus.com>
543
544         * elfcode.h (align_file_position): Remove; not used.
545
546         * configure.in: Only check for <sys/procfs.h> on a native system,
547         and make sure it defines prstatus_t.
548         * configure: Rebuild.
549
550 Thu Sep  7 12:48:01 1995  Ian Lance Taylor  <ian@cygnus.com>
551
552         * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test.
553
554         * config.in: Rename from config.h.in.
555         * configure.in: Call AC_CONFIG_HEADER with config.h:config.in.
556         Check for config.h:config.in when creating stamp-h.
557         * configure: Rebuild.
558         * Makefile.in (stamp-h): Depend upon config.in rather than
559         config.h.in.  Set CONFIG_HEADERS to config.h:config.in when
560         calling config.status.
561
562         * Makefile.in (do_distclean): Remove config.h and stamp-h.
563         (Makefile): Just rebuild Makefile.
564         (config.h, stamp-h): New targets.
565         * configure.in: Create stamp-h when rebuilding config.h.
566         * configure: Rebuild.
567
568 Wed Sep  6 15:00:33 1995  Ian Lance Taylor  <ian@cygnus.com>
569
570         * configure.in: Call AC_CONFIG_HEADER.  Substitute
571         HOST_64BIT_LONG.  Check that various header files exist.  Check
572         that fcntl exists.  Call BFD_BINARY_FOPEN.  Check whether malloc
573         and/or free need to be declared.  Don't make a link to sysdep.h.
574         Define TRAD_HEADER for various hosts.
575         * configure: Rebuild.
576         * configure.host: Don't set my_host.  Add definitions taken from
577         host header files for various entries.  Remove entries which now
578         do nothing.
579         * acconfig.h: New file.
580         * config.h.in: New file, built by autoheader.
581         * sysdep.h: New file.
582         * Makefile.in (do_distclean): Don't remove sysdep.h.
583         (RECONFIG): Remove.
584         (LOCAL_H_DEPS): New variable.
585         ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and
586         $(RECONFIG).
587         ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise.
588         ($(OPTIONAL_BACKENDS)): Likewise.
589         (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than
590         looking through sysdep.h.
591         * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile.
592         (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG.
593         (fprintf_vma, sprintf_vma): Likewise.
594         (int64_type, uint64_type): Don't define.
595         * bfd-in2.h: Rebuild.
596         * archures.c, bfd.c, srec.c: Include <ctype.h>.
597         * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS.
598         * lynx-core.c: Include stuff from old hosts/lynx.h.
599         * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL),
600         rather than NO_FCNTL.
601         * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__
602         rather than NATIVE_HPPAHPUX_COMPILER.
603         * trad-core.c: Don't include <errno.h>.  Include TRAD_HEADER if it
604         is defined.
605         * hosts/*.h: Remove all header files which merely include,
606         declare, and define things.  Leave header files which define
607         information needed by trad-core.c.
608
609         * aclocal.m4 (BFD_BINARY_FOPEN): Define.
610         (BFD_CC_FOR_BUILD): Define.
611         * configure.in: Use BFD_CC_FOR_BUILD.
612         * configure: Rebuild.
613
614 Tue Sep  5 19:35:28 1995  Ian Lance Taylor  <ian@cygnus.com>
615
616         * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist.
617         * configure: Rebuild.
618
619         * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of
620         a global symbol.
621
622 Tue Sep  5 12:48:26 1995  Jason Molenda   (crash@phydeaux.cygnus.com)
623
624         * config.bfd: i386pe_ve -> i386pe_vec.
625
626 Mon Sep  4 14:02:43 1995  Ian Lance Taylor  <ian@cygnus.com>
627
628         * configure.host: Incorporate host Makefile fragments by setting
629         shell variables.
630         * configure.in: Call AC_PROG_CC.  Substitute CFLAGS, HDEFINES and
631         AR.  Call AC_PROG_INSTALL.  Substitute CC_FOR_BUILD, choosing a
632         value based on whether the code is being compiled by a cross
633         compiler.  Don't substitute host_makefile_frag or frags.
634         * aclocal.m4: New file to define local AC_PROG_CC.
635         * configure: Rebuild.
636         * Makefile.in (INSTALL): Set to @INSTALL@.
637         (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@.
638         (INSTALL_DATA): Set to @INSTALL_DATA@.
639         (AR): Set to @AR@.
640         (CC): Define as @CC@.
641         (CFLAGS): Set to @CFLAGS@.
642         (CC_FOR_BUILD): Set to @CC_FOR_BUILD@.
643         (@host_makefile_frag@): Remove.
644         (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@.  Move $(CFLAGS)
645         after other options.
646         (config.status): Remove dependency upon @frags@.
647         * config/*.mh, config/README: Remove.
648
649         * config.bfd: Rewrite to incorporate the contents of the Makefile
650         fragments by setting shell variables, rather than merely returning
651         the name of a Makefile fragment.
652         * configure.in: Use shell variables set by config.bfd rather than
653         looking at the target Makefile fragment files.  Don't substitute
654         target_makefile_frag.  Do substitute TDEFINES.
655         * configure: Rebuild.
656         * Makefile.in (@target_makefile_frag@): Remove.
657         (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@.
658         * config/*.mt: Remove.
659
660 Mon Sep  4 03:13:28 1995  Ken Raeburn  <raeburn@cygnus.com>
661
662         * configure.in: Put changequote lines around "i[345]86" patterns
663         section of core file support.
664
665 Sun Sep  3 11:31:58 1995  Jeff Law  (law@snake.cs.utah.edu)
666
667         * som.c (som_bfd_print_private_bfd_data): Define to use the
668         generic version.
669
670 Fri Sep  1 17:08:40 1995  steve chamberlain  <sac@slash.cygnus.com>
671
672         * peicode.h (coff_swap_aouthdr_in): Add ImageBase to
673         entry, text_start and data_start.
674
675 Fri Sep  1 18:06:28 1995  Ian Lance Taylor  <ian@cygnus.com>
676
677         * Makefile.in (OFILES): Remove $(TDEPFILES).
678         * config/apollo.mt (TDEPFILES): Remove.
679         * config/README: Update.
680
681         * configure.in: For a native configuration, set COREFILE and
682         COREFLAG based on the canonical host name.
683         * configure: Rebuild.
684         * Makefile.in: Rebuild dependencies.
685         (ALL_CFLAGS): Add @COREFLAG@.
686         (OFILES): Replace $(HDEPFILES) with @COREFILE@.
687         * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file
688         support routines.  Check LYNX_CORE rather than HOST_LYNX.
689         * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX.
690         * i386lynx.c: Likewise.
691         * m68klynx.c: Likewise.
692         * sparclynx.c: Likewise.
693         * rs6000-core.c: Check AIX_CORE rather than HOST_AIX.
694         * *-core.c: Comment changes.
695         * config/decstation.mh (HDEPFILES): Remove.
696         (HDEFINES): Remove -DTRAD_CORE.
697         * config/irix3.mh (RANLIB): Remove.
698         * config/irix4.mh (HDEPFILES, RANLIB): Remove.
699         (HDEFINES): Remove -DIRIX_CORE.
700         * config/riscos.mh (RANLIB, HDEPFILES): Remove.
701         (HDEFINES): Remove -DTRAD_CORE.
702         * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove.
703         * config/ultra3.mh (RANLIB): Remove.
704         * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove.
705         * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove.
706         * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove.
707         * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove.
708         * config/hppahpux.mh, config/hppaosf.mh: Remove.
709         * config/i386aix.mh, config/i386bsd.mh: Remove.
710         * config/i386linux.mh, config/i386mach3.mh: Remove.
711         * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove.
712         * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove.
713         * config/mipsmach3.mh, config/news-mips.mh: Remove.
714         * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove.
715         * config/rs600.mh, config/rs6000lynx.mh: Remove.
716         * config/solaris2.mh, config/stratus.mh: Remove.
717         * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove.
718         * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove.
719
720 Fri Sep  1 15:18:50 1995  Kazumoto Kojima  <kkojima@info.kanagawa-u.ac.jp>
721
722         * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or
723         DT_FINI entry if the appropriate symbol is not in the hash table.
724
725         * libelf.h (struct elf_backend_data): Add create_program_headers
726         and want_hdr_in_seg fields.
727         * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not
728         defined.
729         (elf_backend_create_program_headers): Likewise.
730         (elfNN_bed): Initialize create_program_headers and
731         want_hdr_in_seg.
732         * elf.c (get_program_header_size): Call create_program_headers
733         backend routine.
734         (map_program_segments): Check want_hdr_in_seg backend field.  Call
735         create_program_headers backend routine.
736
737         * elf.c (assign_file_positions_except_relocs): Align non allocated
738         sections when creating an executable.
739
740         * elfcode.h (elf_swap_phdr_in): Make non static.
741         (elf_swap_phdr_out): Make non static.
742         * libelf.h (bfd_elf32_swap_phdr_in): Declare.
743         (bfd_elf32_swap_phdr_out): Declare.
744         (bfd_elf64_swap_phdr_in): Declare.
745         (bfd_elf64_swap_phdr_out): Declare.
746
747         * ecofflink.c (ecoff_collect_shuffle): New static function.
748         (_bfd_ecoff_get_accumulated_pdr): New function.
749         (_bfd_ecoff_get_accumulated_sym): New function.
750         (_bfd_ecoff_get_accumulated_ss): New function.
751         * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare.
752         (_bfd_ecoff_get_accumulated_sym): Declare.
753         (_bfd_ecoff_get_accumulated_ss): Declare.
754         * libbfd.h: Rebuild.
755
756 Fri Sep  1 13:20:25 1995  Ian Lance Taylor  <ian@cygnus.com>
757
758         * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo.
759
760         * elflink.h (elf_link_add_object_symbols): Handle indirect and
761         warning symbols.  If any section is named .gnu.warning.XXX, treat
762         the contents as a warning to be issued if the symbol XXX is
763         referenced.
764         (elf_link_output_extsym): For an indirect or warning symbol, just
765         output the symbol it points to.
766
767         * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error
768         if bfd_hash_allocate fails, since it will already be set.
769         (generic_link_hash_newfunc): Likewise.
770         (archive_hash_newfunc): Likewise.
771         (hash_entry_bfd): New static function.
772         (_bfd_generic_link_add_one_symbol): Pass new arguments to warning
773         callback.  Allocate a new warning using the hash table newfunc.
774         Use bfd_hash_replace to update the entry in the hash table, rather
775         than assuming we can copy the fields with structure assignment.
776
777         * hash.c (bfd_hash_replace): New function.
778         * bfd-in.h (bfd_hash_replace): Declare.
779         * bfd-in2.h: Rebuild.
780
781 Fri Sep  1 08:12:50 1995  James G. Smith  <jsmith@beauty.cygnus.com>
782
783         * config.bfd: Add mips*vr4300-*-elf* target.
784         * config/mipsbvr4300.mt: Added.
785
786 See file ChangeLog.2
787
788 \f
789 Local Variables:
790 mode: indented-text
791 left-margin: 8
792 fill-column: 74
793 version-control: never
794 End: