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