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