diff options
author | Richard Henderson <rth@redhat.com> | 1999-05-03 07:29:11 +0000 |
---|---|---|
committer | Richard Henderson <rth@redhat.com> | 1999-05-03 07:29:11 +0000 |
commit | 252b5132c753830d5fd56823373aed85f2a0db63 (patch) | |
tree | 1af963bfd8d3e55167b81def4207f175eaff3a56 /bfd/ChangeLog-9193 | |
download | gdb-252b5132c753830d5fd56823373aed85f2a0db63.zip gdb-252b5132c753830d5fd56823373aed85f2a0db63.tar.gz gdb-252b5132c753830d5fd56823373aed85f2a0db63.tar.bz2 |
19990502 sourceware importbinu_ss_19990502
Diffstat (limited to 'bfd/ChangeLog-9193')
-rw-r--r-- | bfd/ChangeLog-9193 | 7851 |
1 files changed, 7851 insertions, 0 deletions
diff --git a/bfd/ChangeLog-9193 b/bfd/ChangeLog-9193 new file mode 100644 index 0000000..15af931 --- /dev/null +++ b/bfd/ChangeLog-9193 @@ -0,0 +1,7851 @@ +Fri Dec 31 16:23:43 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Minor cleanups suggested by CodeCenter. + * aoutx.h, coffgen.c, ecoff.c, ecofflink.c, elf.c, libbfd.c, + linker.c, reloc.c, section.c, srec.c: Added /*ARGSUSED*/ as + appropriate. + * aoutx.h (struct external_exec): Removed unnecessary declaration. + (NAME(aout,some_aout_object_p)): Set some tdata pointers to NULL. + (adjust_z_magic): Removed useless variable data_vma. + (stringtab_init): Initialize hash_zero. + (add_to_stringtab): Removed unused fourth argument. + (NAME(aout,swap_std_reloc_out)): Removed useless variable + r_addend. + (aout_link_input_section): Added some casts. + * archive.c (get_extended_arelt_filename, do_slurp_coff_armap, + bfd_ar_hdr_from_filesystem, bsd_write_armap, coff_write_armap): + Minor code rewriting to make it more C like. + (do_slurp_bsd_armap): Added some casts. + * ecoff.c (ecoff_write_object_contents): Removed useless variable + scn_base. + (ecoff_write_armap): Added some casts. Use "" rather than "\0". + * ecofflink.c (bfd_ecoff_write_debug): Added a cast. + * libaout.h (struct internal_exec): Removed unnecessary + declaration. + * linker.c (_bfd_generic_indirect_link_order): Added a cast. + * opncls.c (new_bfd): Removed a cast. + * reloc.c (bfd_generic_get_relocated_section_contents): Added + some casts. + * srec.c (internal_srec_write_object_contents): Removed useless + variable bytes_written. + +Fri Dec 31 11:46:13 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * i386mach3.c (N_TXTADDR): Don't define after all. + (TEXT_START_ADDR): Don't include exec header size in value. + +Thu Dec 30 15:47:54 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * i386mach3.c (N_TXTADDR): Define. + +Thu Dec 30 13:37:24 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Extensive changes to move the bulk of the linker into BFD so that + more efficient backend code can be written for specific object + files. Only existing efficient backend is a.out. + * seclet.c, seclet.h: Removed. + * hash.c, linker.c, genlink.h: New files. + * bfd-in.h: Removed bfd_error_vector. Declared hash table + structures and functions. + (JUMP_TABLE): Removed bfd_seclet_link, added + bfd_link_hash_table_create, bfd_link_add_symbols and + bfd_final_link. + * All backends: Changed accordingly. + * bfd-in2.h: Rebuilt. + * bfd.c (struct _bfd): Added link_next and archive_pass fields. + Removed ld_symbols field. + (bfd_nonrepresentable_section, bfd_undefined_symbol, + bfd_reloc_value_truncated, bfd_reloc_is_dangerous, + bfd_error_vector): Removed. + (bfd_default_error_trap, bfd_error_trap, + bfd_error_nonrepresentabltrap): Removed. + (bfd_get_relocated_section_contents): Pass link_info. Pass + link_order instead of seclet. Pass symbols. + (bfd_relax_section): Pass link_info. + (bfd_seclet_link): Removed. + (bfd_link_hash_table_create, bfd_link_add_symbols, + bfd_final_link): New macros. + * libbfd-in.h: If __GNUC__ is defined and alloca is not, define + alloca as __builtin_alloca. Declare internal linking functions. + * libbfd.h: Rebuilt. + * libbfd.c (bfd_seek): Comment out fseek assertion. It's worked + for months. + * reloc.c (reloc_howto_type): Added error_message argument to + special_function field. Changed all callers and all definitions. + (bfd_get_reloc_size): Make argument a const pointer. + (bfd_perform_relocation): Add error_message argument to hold + string set if return value if bfd_reloc_dangerous. Changed all + callers. + (_bfd_final_link_relocate, _bfd_relocate_contents): New functions. + * section.c (asection): Renamed seclets_head and seclets_tail to + link_order_head and link_order_tail. + * targets.c (bfd_target): Replaced seclet argument with link_info + and link_order and symbols arguments in + bfd_get_relocated_section_contents. Added symbols argument to + bfd_relax_section. Removed bfd_seclet_link. Added + bfd_link_hash_table_create, bfd_link_add_symbols and + bfd_final_link. + * libaout.h (struct aoutdata): Added external_syms, + external_sym_count, external_strings, sym_hashes fields. + (obj_aout_external_syms, obj_aout_external_sym_count, + obj_aout_external_strings, obj_aout_sym_hashes): New accessor + macros. + (WRITE_HEADERS): Only output symbols if outsymbols is not NULL. + * aoutx.h: Wrote new back end linker routines. + (translate_to_native_sym_flags): Return boolean value. Don't use + bfd_error_vector. + (NAME(aout,write_syms)): Return boolean value. Check return value + of translate_to_native_sym_flags and bfd_write. + * aout-target.h (final_link_callback): New function. + (MY_bfd_final_link): New function. + * aout-adobe.c (aout_adobe_write_object_contents): Check return + value of aout_32_write_syms. + * hp300hpux.c (MY(write_object_contents)): Likewise. + * i386lynx.c (WRITE_HEADERS): Likewise. + * libaout.h (WRITE_HEADERS): Likewise. + * bout.c: Changed functions to use link_info->callbacks rather + than bfd_error_vector, and link_orders rather than seclets. + * coff-alpha.c: Likewise. + * coff-h8300.c: Likewise. + * coff-h8500.c: Likewise. + * coff-sh.c: Likewise. + * coff-z8k.c: Likewise. + * elf32-hppa.c: Likewise. + * reloc16.c: Likewise. + * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Look + up _gp in the hash table rather than in outsymbols. + * coff-a29k.c (a29k_reloc): Pass errors back in new error_message + argument rather than printing them. + * coffcode.h (bfd_coff_reloc16_extra_cases): Take link_info and + link_order arguments rather than seclet. Changed all uses and + definitions. + (bfd_coff_reloc16_estimate): Pass link_info arguments. Changed + all uses and definitions. + * libcoff.h: Rebuilt. + * ecoff.c (ecoff_get_extr): If symbol is defined by linker, but + not by ECOFF, make it scAbs. + (ecoff_bfd_final_link): Renamed from ecoff_bfd_seclet_link and + rewritten. + * elf32-mips.c (mips_elf_final_link): Renamed from + mips_elf_seclet_link and rewritten. + * elf32-hppa.c (elf32_hppa_stub_description): Added link_info + field. + (new_stub, add_stub_by_name, hppa_elf_build_arg_reloc_stub, + hppa_elf_build_long_branch_stub, hppa_look_for_stubs_in_section): + Added link_info arguments. Changed all callers. + * elfcode.h (elf_slurp_symbol_table): Don't quit if outsymbols is + not NULL. + * oasys.c (oasys_write_sections): Return boolean value rather than + using bfd_error_vector. + (oasys_write_object_contents): Check return value of + oasys_write_sections. + * hosts/std-host.h: Don't declare qsort or strtol. + * Makefile.in: Rebuild dependencies. + (BFD_LIBS): Removed seclet.o. Added hash.o and linker.o. + (CFILES): Removed seclet.c. Added hash.c and linker.c. + (HFILES): Removed seclet.h. Added genlink.h. + +Thu Dec 30 07:41:36 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * section.c (bfd_get_section_contents): Return zero filled buffer + if section has no contents. + +Tue Dec 28 12:43:54 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf.c (bfd_elf_generic_reloc): If this is not an inplace reloc, + then skip bfd_perform_relocation even if the addend is non-zero. + +Tue Dec 21 09:22:19 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * coffcode.h (coff_write_relocs) [SWAP_OUT_RELOC_OFFSET]: Copy + addend to r_offset field. + + * Makefile.in (CFILES): Added coff-sparc.c. Rebuild dependencies. + + * coff-sparc.c (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET, + CALC_ADDEND): Define. + + * aix386-core.c (aix386_core_file_p): Use cd_regs[0] for computing + the offsetof because AIX /bin/cc does not like to take the address + of an array. (From Minh Tran-Le.) + +Thu Dec 16 13:06:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Thu Dec 16 15:41:06 1993 Peter Hoogenboom (hoogen@cs.utah.edu) + + * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Make sure to copy + the return pointer into %r2 if no jump-in-call-delay-slot + optimization was done. + + * hosts/hp300bsd.h: Correctly identify 4.3BSD vs 4.4BSD. + +Wed Dec 15 08:04:16 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * hosts/std-host.h: (time): Don't declare; conflicts on Mach3. + + * hosts/i386mach3.h (HOST_PAGE_SIZE): Set to 1 to avoid padding. + (HOST_SEGMENT_SIZE): Set to 0 for same reason. + + * i386mach3.c (PAGE_SIZE, SEGMENT_SIZE): Same changes as above. + (TEXT_START_ADDR): Correct. + (MY_backend_data): Define. + + * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic): + New functions; code moved from aout_<size>_adjust_sizes_and_vmas. + +Tue Dec 14 21:48:33 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_begin_writing): Fix thinkos in auxiliary header + support. + (bfd_som_attach_aux_hdr): Likewise. + +Mon Dec 13 23:34:48 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (hppa_elf_gen_reloc_type): Handle 'T' field + selectors for PIC code. + + * som.c (hppa_som_gen_reloc_type): Handle 'T' field selectors. + (som_write_fixups): Handle R_DLT_REL, R_FSEL, R_RSEL, R_LSEL + relocations needed by PIC. + +Tue Dec 7 15:47:51 1993 Stu Grossman (grossman at cygnus.com) + + * nlmcode.h: Fixes to avoid compiler warnings... + +Tue Dec 7 15:10:54 1993 Ian Lance Taylor (ian@cygnus.com) + + * libnlm.h (nlm_backend_data): Removed macro definition. + (nlm_alpha_backend_data): Adjusted accordingly. + +Sun Dec 5 19:32:08 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_begin_writing): Flesh out code for handling simple + auxiliary headers. + (bfd_som_attach_aux_hdr): New function. + + * som.h (struct somdata): Add fields for attaching version and + copyright headers. Add accessor macros. + + * som.c (R_DLT_REL, R_AUX_UNWIND, R_SEC_STMT): Add protected + definitions for old versions of HPUX which fail to define them. + (som_hppa_howto_talbe): Add R_DLT_REL, R_AUX_UNWIND, and R_SEC_STMT + now that they're safe. Delete bogus R_STATEMENT relocations. + + * som.c (som_hppa_howto_table): Add missing R_END_TRY. Delete + extra R_DATA_OVERRIDE. + (hppa_som_gen_reloc_type): Generate a relocation for the rounding + mode selector if needed. + (som_write_fixups): Handle requests for a change in the default + rounding mode. Rounding modes do not consume input bytes, but + are just markers much like R_ENTRY and R_EXIT. + +Sat Dec 4 19:40:32 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + Fri Dec 3 09:55:17 1993 Pete Hoogenboom (hoogen@cs.utah.edu) + + * elf32-hppa.c: (hppa_elf_reloc): Do not do code reordering when + the branch instruction as originally been nullified. + hppa_elf_reloc): Avoid useless call to bfd_put_32 () in the + case of no code reordering due to an LDO instruction in the + delay slot of the branch. Make sure to relocate the correct + instruction. Do not perform instruction reordering for millicode + calls. + (hppa_elf_build_arg_reloc_stub): Change the relocation type + to R_HPPA_STUB_CALL_17 when special processing might be needed. + (hppa_elf_build_long_branch_stub): Prevent code reordering on + a call from a linker stub to another linker stub and for millicode + calls. Do not trash the return register for calls from one linker + stub to a second linker stub. + + * elf32-hppa.c: (elf_hppa_howto_table): PLABEL and DLT + relocations are not pc-relative. + + * hppa_stubs.h: (BLE_N_XXX_0_31): New instruction used in + linker stub code. + (COPY_2_31): Likewise. + +Fri Dec 3 18:40:58 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/solaris2.mh (HDEFINES): Remove -Dconst= + * hosts/solaris.h: If not __GNUC__, define const as empty. + +Thu Dec 2 15:43:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c: Added various casts for 32/64 bit cross targeting. + (ecoff_mkobject_hook): Set SEC_SHARED_LIBRARY for the .reginfo + section so that the linker ignores it. + * ecofflink.c: Added various casts for 32/64 bit cross targeting. + (ecoff_add_bytes): Changed need argument to size_t. + (bfd_ecoff_debug_link_other): Check return value of + ecoff_add_string. + + * libbfd-in.h (new_bfd): Use void rather than an empty parameter + list. + * libbfd.h: Rebuilt. + + * libnlm.h (struct nlm_obj_tdata): New field backend_data. + (nlm_backend_data, nlm_alpha_backend_data): New accessor macros. + (struct nlm_backend_data): New field no_uninitialized_data. + (nlm_no_uninitialized_data): New accessor macro. + * nlmcode.h (nlm_compute_section_file_positions): Handle + no_uninitialized_data. + (nlm_external_reloc_compare): Sort relocs by address for a + particular symbol, to make the sort more stable. + (nlm_write_object_contents): Cast the arguments to qsort. Get the + value of a debugging symbol the same way we get the value of a + normal symbol. + * nlm32-alpha.c: Various changes. Write out GP and .lita relocs. + Set no_uninitialized_data to true. + * nlm32-i386.c (nlm32_i386_backend), nlm32-sparc.c + (nlm32_sparc_backend): Set no_uninitialized_data field false. + * nlmswap.h (nlm_swap_fixed_header_out): Zero out destination + before filling it in. + +Wed Dec 1 21:47:58 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_section_type, som_decode_symcalss): New functions. + (som_get_symbol_info): Use them. + (som_slurp_symbol_table): Set the section of common and undefined + symbols correctly. + +Wed Dec 1 14:15:10 1993 Ken Raeburn (raeburn@cygnus.com) + + * elfcode.h (write_relocs): Initialize local var LAST_SYM_IDX, to + make gcc happy. + + * mipsbsd.c: Changes from Ralph Campbell: + (mips_howto_table_ext): MIPS_RELOC_LO16 should use + complain_overflow_dont. + (aout_mips_*_vec): Make name use "a.out" instead of "aout", to + make gdb happy. + + * bfd.c (bfd_errmsgs): Reword invalid-target message. + + * config.bfd: For sparc*-*-coff, use sparc-coff. + * configure.in: Handle sparccoff_vec. + * targets.c (sparccoff_vec): Declare. + + * reloc.c (bfd_get_reloc_size): New function. + (struct reloc_howto_type): Update documentation of size field. + +Wed Dec 1 14:39:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlm32-alpha.c: New file; preliminary Alpha NetWare support. + * config.bfd (alpha-*-netware*): New target; use alpha-nlm. + * config/alpha-nlm.mt: New file. + * configure.in (nlm32_alpha_vec): New vector; use nlm32-alpha.o, + nlm32.o, and nlm.o. + * Makefile.in (BFD32_BACKENDS): Added nlm32-alpha.o. + (CFILES): Added nlm32-alpha.c. + Rebuilt dependencies. + * targets.c (nlm32_alpha_vec): Declare. + + * libnlm.h (struct nlm_backend_data): New fields + optional_prefix_size, nlm_backend_object_p, nlm_write_prefix, + nlm_set_public_section, nlm_get_public_offset. Removed unused + nlm_write_reloc field. Changed nlm_write_import to remove + unnecessary symbol argument. Renamed nlm_write_externals to + nlm_write_external, and changed cound argument from bfd_vma to + bfd_size_type. + (nlm_optional_prefix_size, nlm_backend_object_p_func, + nlm_write_prefix_func, nlm_set_public_section_func, + nlm_get_public_offset_func): New accessor macros. + (nlm_write_reloc_func): Removed. + (nlm_write_external_func): Adjusted for field renaming. + * nlm32-i386.c (nlm_i386_write_import): Renamed from + nlm_i386_write_reloc. Removed old nlm_i386_write_import which + just called old nlm_i386_write_reloc. + (nlm_i386_write_external): Renamed from nlm_i386_write_externals. + Declared. Changed second argument from bfd_vma to bfd_size_type. + (nlm32_i386_backend): Adjusted for changes to fields and names. + * nlm32-sparc.c (nlm_sparc_mangle_relocs): Removed unused, + ifdeffed out code. + (nlm_sparc_write_import): Removed second argument. + (nlm_sparc_write_external): Renamed from + nlm_sparc_write_externals. Changed second argument from bfd_vma + to bfd_size_type. + (nlm32_sparc_backend): Adjusted for changes to fields and names. + * nlmcode.h: Removed some unused code. + (nlm_object_p): Don't destroy tdata pointer. Call + backend_object_p function if it exists. + (nlm_slurp_symbol_table): Removed unused variable rcount. Call + set_public_section_func if it exists instead of checking + NLM_HIBIT. + (nlm_compute_section_file_positions): Account for + optional_prefix_size. + (nlm_write_object_contents): Account for optional_prefix_size. + Removed useless variable write_reloc_func. Changed declaration + and call of write_import_func. Call write_prefix_func if it + exists. Removed unused variables len and temp. Call + get_public_offset_func if it exists rather than setting NLM_HIBIT. + * nlmswap.h: Declare functions. + + * bfd-in.h (uint64_typeLOW, uint64_typeHIGH): Fully parenthesize + for clarity. + (fprintf_vma, sprintf_vma): Use %lx, not %x. + * bfd-in2.h: Rebuilt. + * hosts/alphaosf.h (uint64_typeLOW, uint64_typeHIGH): Cast results + to unsigned long. + + * config.bfd: Don't set target64 here, as the setting is ignored. + * configure.in (ecoffalpha_little_vec): Set target64. + + * config/alphaosf.mt (TDEFINES): Removed; setting host parameters + in TDEFINES is wrong. + + * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): + Remove unused variable output_section. + +Tue Nov 30 16:45:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * irix-core.c: New file for Irix 4 and Irix 5 core support. + Functions taken out of coff-mips.c. Handle vmap type VMAPFILE. + * coff-mips.c: Irix 4 core file support moved to irix-core.c. + * targets.c: If IRIX_CORE defined, include irix_core_vec in + target_vector. + * config/irix4.mh (HDEFINES): Add -DIRIX_CORE. + (HDEPFILES): Define to be irix-core.o. + * config/irix5.mh (HDEFINES): Define to be -DIRIX_CORE. + (HDEPFILES): Define to be irix-core.o. + * Makefile.in (OPTIONAL_BACKENDS): Added irix-core.o. Removed + sco-core.o, which no longer exists. + (CFILES): Added all *-core.c files. + Rebuilt dependencies. + +Wed Nov 24 02:02:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (map_program_segments): Restore check of file_size != + mem_size, but only if SHT_PROGBITS. + + * ecofflink.c: New file to hold ECOFF debug information linking + routines. + * ecoff.c (ecoff_clear_output_flags, ecoff_rel, ecoff_dump_seclet, + ecoff_add_string, ecoff_get_debug): Removed. Functionality now in + ecofflink.c. + (ecoff_get_extr, ecoff_set_index): New functions. + (ecoff_slurp_symbolic_info): Don't save raw_size. + (ecoff_bfd_seclet_link): Rewrote to use ecofflink.c functions. + (ecoff_compute_section_file_positions): Don't set EXEC_P just + because there is a start address. + (ecoff_write_object_contents): Handle external symbols here. Use + ecofflink.c functions to write out debugging information. + * elf32-mips.c (mips_elf_read_ecoff_info, mips_elf_get_extr, + mips_elf_set_index): New functions. + (mips_elf_seclet_link): Discard empty sections, the .options + section and .gptab sections. Handle linking .mdebug section. + * libecoff.h (ecoff_data_type): Removed raw_size and ifdbase. + * libelf.h (elf_symbol_type): Added mips_extr to tc_data union. + * bfd-in.h: Added prototypes for routines in ecofflink.c (some are + called by gas, so they are public). + * bfd-in2.h: Rebuilt. + * Makefile.in (BFD_LIBS): Added ecofflink.o. + (CFILES): Added ecofflink.c. + (ecofflink.o): New target. Rebuilt dependencies. + +Mon Nov 22 22:26:42 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (hppa_object_p): Also recognize SHARED_MAGIC_CNX as + a valid magic number if it's been defined. + +Mon Nov 22 14:17:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_mkobject): Don't create .scommon section; linker + no longer requires it. + (ecoff_bfd_seclet_link, ecoff_sizeof_headers, + ecoff_write_object_contents): Don't treat .scommon section + specially. + +Mon Nov 22 10:54:27 1993 Fred Fish (fnf@cygnus.com) + + Merged changes from kev@spuds.geg.mot.com (Kevin A. Buettner): + * bfd/config/delta88.mh (HDEFINES): Define this to be -DPTRACE_CORE. + * bfd/config/delta88.mh (HDEPFILES): Defined to be ptrace-core.o. + * bfd/ptrace-core.c: New file for dealing with core files with + start with the ptrace_user structure found on BCS compliant systems. + * bfd/targets.c (ptrace_core_vec): New vector. + +Mon Nov 22 02:33:12 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * Minimal support for reading SOM fixup streams. Allows + objdump -r to do something reasonable. + * som.c (som_get_reloc_upper_bound): Implement. + (som_canonicalize_reloc): Implement. + (som_set_reloc_info, som_slurp_reloc_table): New functions. + +Sun Nov 21 13:46:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * hosts/lynx.h (FPRINTF_ALREADY_DECLARED): Define. + * hosts/sparclynx.h: Include lynx.h instead of duplicating it. + +Fri Nov 19 14:34:04 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-a29k.c (a29k_reloc): For R_IREL, don't left shift + signed_value before sign extending it. Don't subtract out + reloc_entry->address. This makes it compatible with what gas is + generating. + + * elfcode.h (elf_fake_sections): Accept .sbss as the name for a + SHT_NOBITS sections. + (map_program_segments): Don't leave the loop after the first + SHT_NOBITS section. + (assign_file_positions_except_relocs): Only force sh_offset and + sh_addr to match modulo maxpagesize for a section which is not + SHT_NOBITS. Changed the method used to force page alignment after + a SHT_NOBITS section to only do it for the last such consecutive + section, and to really force page alignment. + +Fri Nov 19 04:02:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * coffcode.h (coff_slurp_symbol_table): Print more verbose message + in the case of an unknown (or unhandled) storage class. + + * config/i386-lynx.mt (TDEFINES): FPRINTF_ALREADY_DECLARED should + not be defined here, since it is a host attribute, not a target + one. + * config/m68k-lynx.mt, config/sparc-lynx.mt: Ditto. + + * coffcode.h (coff_bfd_reloc_type_lookup): Don't define if already + defined. + + * coff-sparc.c: Define some relocations, based on ELF relocations. + (enum reloc_type, bfd_coff_generic_reloc, coff_sparc_howto_table, + struct coff_reloc_map, sparc_reloc_map, + coff_sparc_reloc_type_lookup): Borrowed from elf32-sparc.c and + elf.c, renamed. + (coff_bfd_reloc_type_lookup): Define to be coff_sparc_reloc_.... + (rtype2howto): Index into coff_sparc_howto_table using + dst->r_type. + +Thu Nov 18 11:45:39 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config.bfd (mips*-*-irix5*): New target; use mipsbelf. + * configure.host (mips-sgi-irix5*) New host; use irix5 (no + hosts/irix5.h created; just use std-host.h). + * config/irix5.mh: New file; like irix4.mh, but don't use -G or + -lmalloc. + * Makefile.in: Rebuilt dependencies. + + * ecoffswap.h: Changed type of internal pointers for swap out + functions to const *. + + * elf32-mips.c (mips_elf_got16_reloc): New function. Handle GOT16 + correctly for assembler, but linker support not implemented. + (elf_mips_howto_table): Use mips_elf_got16_reloc for GOT16. + (mips_elf_sym_is_global): New function; at least on Irix 5, all + non section symbols are considered global. + (elf_backend_sym_is_global): Define. + (mips_elf_final_write_processing): New function. Set the MIPS + architecture level correctly. + (elf_backend_final_write_processing): Define. + (mips_elf_section_from_shdr): Handle SHT_MIPS_OPTIONS. + (mips_elf_fake_sections): Set entsize of .mdebug or .reginfo + section to 1. Handle .options section. + (mips_elf_acom_section, mips_elf_acom_symbol, + mips_elf_acom_symbol_ptr): New static variables, used to build a + generic .acommon section to hold SHN_MIPS_ACOMMON symbols. + (mips_elf_symbol_processing): Handle SHN_MIPS_ACOMMON symbols by + putting them all in a global .acommon section. + + * elfcode.h (bfd_section_from_shdr): Don't dump core if target + section has no ELF section data. + (elf_make_sections): Set addralign of reloc section to 4. + (elf_fake_sections): Likewise. + (map_program_segments): Don't consider section 0. + (assign_file_positions_except_relocs): Don't consider section 0. + In the main loop, skip the symtab and strtab sections, since their + positions are set elsewhere. + (swap_out_syms): Set addralign of symtab section to 4. Set + addralign of strtab sections to 1. + (assign_file_positions_for_relocs): Don't consider section 0. + (write_object_contents): Don't write out section 0. + + * libelf.h (struct elf_backend_data): Added fields + elf_backend_sym_is_global and elf_backend_final_write_processing. + * elf32-target.h (elf32_bed): Added corresponding initializers. + * elf64-target.h (elf64_bed): Likewise. + * elfcode.h (sym_is_global): Take abfd argument. Call + elf_backend_sym_is_global if it is not NULL. + (elf_map_symbols): Pass abfd to sym_is_global. + (write_object_contents): Call elf_backend_final_write_processing + if it is defined. + +Wed Nov 17 18:43:28 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libecoff.h: Include coff/ecoff.h. + (struct ecoff_backend_data): Move external debugging information + fields into a single field pointing to an ecoff_debug_swap + structure. + (ecoff_data_type): Move debugging information fields into a single + field pointing to an ecoff_debug_info structure. + * coff-alpha.c, coff-mips.c, ecoff.c: Corresponding changes. + +Wed Nov 17 17:38:58 1993 Sean Eric Fagan (sef@cygnus.com) + + * nlmswap.h: New file to swap fixed header. Included by NLM + backends. + * libnlm.h (struct reloc_and_sec): Define. + (struct nlm_backend_data): Add fields fixed_header_size, + nlm_read_import, nlm_write_import, nlm_swap_fhdr_in, + nlm_swap_fhdr_out. + (nlm_fixed_header_size, nlm_read_import_func, + nlm_write_import_func, nlm_swap_fixed_header_in_func, + nlm_swap_fixed_header_out_func, nlm_write_external_func): New + accessor macros. + * nlmcode.h: Use new functions. + * nlm32-i386.c: Provide new functions. + * nlm32-sparc.c: New file; SPARC NLM backend. + +Wed Nov 17 13:56:10 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * i386lynx.c (swap_std_reloc_in, swap_ext_reloc_in): Ignore + garbage bits appearing in the upper end of symbolnums. + + * config/sparc-lynx.mt (TDEFINES): Add -DFPRINTF_ALREADY_DECLARED. + +Tue Nov 16 17:03:41 1993 Stu Grossman (grossman at cygnus.com) + + * lynx-core.c (lynx_core_file_p): Change bfd_zalloc to bfd_alloc. + * m68klynx.c: Define core file macros. + * hosts/i386lynx.h, hosts/m68klynx.h, hosts/lynx.h: Move all + non-architecture specific stuff into lynx.h. + +Tue Nov 16 15:45:54 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * i386linux.c: Define new macro ZMAGIC_DISK_BLOCK_SIZE to 1024, and + change PAGE_SIZE to 4096. + +Mon Nov 15 11:48:08 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * Makefile.in (diststuff): New target. + + * VERSION: Updated. + +Sun Nov 14 23:33:01 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_object_setup): Do not create dummy ".text", ".data", + and ".bss" sections. + (setup_sections): Do not set SEC_HAS_CONTENTS if a section's size + is zero. Recognize BSS type sections and turn off SEC_LOAD and + SEC_DATA (so binutils/size works). Set the correct value for + a section's _raw_size. + (som_slurp_symbol_table): Program entry points, and millicode are + also functions. Mark them as such. Also mark L$* symbols as + debugging symbols. + + * bfd-in2.h: Rebuilt. + +Sat Nov 13 15:27:15 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_reloc_type_lookup): Add missing prototype. Returns + a pointer to constant data. Delete bogus #define which made the + function useless. + + * som.c (som_prep_for_fixups): New function. + (som_write_fixups): New function. + (som_write_space_strings): New function. + (som_write_symbol_strings): New function. + (som_begin_writing): New function. + +Fri Nov 12 15:29:36 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * som.c (som_write_object_contents): Do not abort. Flesh out. + (som_set_section_contents): Do not abort. Flesh out. + + * som.c (som_write_headers): New function. + (som_prep_headers): New function. + (som_build_and_write_symbol_table): New function. + + * som.c (som_sizeof_headers): Add missing prototype. + (som_set_arch_mach): Do not abort. + + * som.c (som_count_spaces): New function. + (som_count_subspaces): New function. + (compare_syms): New function. + (som_compute_checksum): New function. + + * som.c (hppa_som_gen_reloc_type): New function. + (som_bfd_reloc_type_lookup): New function. + + * som.c (try_prev_fixup): New function. + (som_reloc_skip): New function. + (som_reloc_addend): New function. + (som_reloc_call): New function. + + * som.c (som_initialize_reloc_queue): New function. + (som_reloc_queue_insert): Likewise. + (som_reloc_queue_fix): Likewise. + (som_reloc_queue_find): Likewise. + + * som.c (som_hppa_howto_table): SOM howto relocation table. + (hppa_som_reloc): New function. + + * som.c (struct reloc_queue): New structure to keep track of + the last four multibyte relocations emitted. + (enum pa_symbol_type): Type to fully describe the symbol types + associated with .import/.export assembler directives. + + * som.c: Include libhppa.h + + * som.c (bfd_som_set_section_attributes): New function. + (bfd_som_set_subsection_attributes): Likewise. + (bfd_som_set_symboL_type): Likewise. + (bfd_som_attach_unwind_info): Likewise. + * som.h: Declare new exported functions. + + * som.h (struct som_symbol): Add new fields to hold additional + information needed to build/write symbol tables and fixup streams. + (struct som_section_data_struct): Add new fields to hold additional + information needed to build/write space and subspace headers. + (som_symbol_data): New accessor macro for SOM symbol information. + (R_HPPA_*): Basic relocation types to be used by the assembler. + +Fri Nov 12 11:00:28 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * trad-core.c (trad_unix_core_file_p): If new hook + TRAD_CORE_ALLOW_ANY_EXTRA_SIZE defined, then skip the check for the + corefile being too big. + * hosts/i386sco.h: Define it. + +Thu Nov 11 15:16:28 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * bfd.c (struct _bfd): Add hppabsd_core_data. + * targets.c (target_vector): Add hppabsd_core_vec. + * hpux-core.c (hpux_core_core_file_p): Fail if an unknown core + section is encountered during core section scanning. + * hppabsd-core.c: New file. + * config/hppabsd.mh: Enable HPPA BSD core files. + + * elf32-hppa.c (hppa_elf_reloc): Remove DEFUN crud. Remove code + which is either commented out or ifdef'd out. Add, update and + clean comments. Fix various indention and spacing problems. Handle + problems related to using "ble" to jump to a stub rather than "bl" + (%r31 is trashed by "ble", but not by "bl"). + (NEW_INSTRUCTION): Put inside curly braces. + (CURRENT_STUB_OFFSET): Fix indention problems. + (hppa_elf_build_arg_reloc_stub): Fix indention and spacing problems. + Add, update and clean comments. Handle "ble" %r31 lossage problems. + (hppa_elf_build_long_branch_stub): Likewise. + (hppa_look_for_stubs_in_section): Likewise. + (hppa_elf_stub_check): Remove obsolete function. + + * hppa_stubs.h: Add new instructions to deal with %r31 lossage + problems. Delete unused instructions. + +Tue Nov 9 11:40:27 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * m68klynx.c (TARGET_IS_BIG_ENDIAN_P): Define. + +Tue Nov 9 11:26:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (elf_object_p): Rather than looking through an array + of architectures, get the ELF EM_xxx code from the backend + information. Let the generic ELF target match any EM_xxx code not + matched by another ELF target. Call elf_backend_object_p to let + the backend do more checks and set global information. + * libelf.h (struct elf_backend_data): Added elf_machine_code and + elf_backend_object_p fields. + (struct bfd_elf_arch_map): Removed. + (bfd_elf_arch_map, bfd_elf_arch_map_size): Don't declare. + * elf32-target.h, elf64-target.h: Initialize elf_machine_code + field with ELF_MACHINE_CODE. Initialize elf_backend_object_p + field with elf_backend_object_p (if it is defined). + * elf32-gen.c, elf32-hppa.c, elf32-i386.c, elf32-i860.c, + elf32-m68k.c, elf32-m88k.c, elf32-mips.c, elf32-sparc.c, + elf64-gen.c (ELF_MACHINE_CODE): Defined. + * elf32-mips.c: Include ecoffswap.h to get ECOFF swapping + routines. + (mips_elf_object_p): Set the right machine number. + (mips_elf_ecoff_debug_swap): Defined. + (elf_backend_object_p): Defined to be mips_elf_object_p. + (elf_backend_ecoff_debug_swap): Defined to be + mips_elf_ecoff_debug_swap. + * elf.c (bfd_elf_arch_map, bfd_elf_arch_map_size): Removed. + + * libbfd-in.h (target_vector, default_vector): Declare. + * libbfd.h: Rebuilt. + * format.c (target_vector, default_vector): Don't declare. + + * elf32-mips.c (elf_mips_howto_table): Don't complain on overflow + for R_MIPS_26. Correct overflow detection requires matching the + upper four bits of the destination against the PC. From Ted Lemon + <mellon@pepper.ncd.com>. + + * bout.c (b_out_reloc_type_lookup): Return type should point to + const data. + * coff-i960.c (coff_i960_reloc_type_lookup): Likewise. + * elf32-hppa.c (elf_hppa_reloc_type_lookup): Likewise. + * mipsbsd.c (MY(reloc_howto_type_lookup)): Likewise. + * coff-i386.c (coff_i386_reloc): Made howto const. + * oasys.c (oasys_write_data): Made how const. + + * libelf.h: Added some comments. + (struct elf_backend_data): Added elf_backend_ecoff_debug_swap + field. Removed unused write_relocs field. + * elf32-target.h: Adjusted elf_backend_data initialization + accordingly. + * elf64-target.h: Corrected elf_backend_data initialization to + fill in all fields and to set elf_64_p to 1. + +Mon Nov 8 18:13:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (bfd_section_from_shdr): Remove duplicate assignment + to filepos in SHT_STRTAB case. + (assign_file_position_for_section): Set BFD section filepos as + well as ELF section sh_offset. + + * reloc.c: Use const instead of CONST. + (bfd_perform_relocation): Make variable howto a const pointer. + * bfd-in2.h, libbfd.h: Rebuilt. + +Mon Nov 8 12:19:15 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (realclean): Don't remove generated headers. Reverts + change of 2 Jul 1993. + +Mon Nov 8 06:08:31 1993 D. V. Henkel-Wallace (gumby@cirdan.cygnus.com) + + * configure.bfd: make unixware equivalent to sysv4. + + * config/i386-nlm.mt: bring in elf config; make it the default. + +Sun Nov 7 20:21:38 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * libbfd.c (bfd_put_8): Add parens around reference to "val" + argument. + +Fri Nov 5 21:45:09 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * hosts/i386mach3.h (HOST_SEGMENT_SIZE), + i386mach3.c (SEGMENT_SIZE, TEXT_START_ADDR): Correct values (?). + +Fri Nov 5 15:17:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coffcode.h (coff_write_object_contents): Zero out internal_a. + +Fri Nov 5 10:41:07 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coffcode.h, + core.c, ctor.c, format.c, init.c, libbfd.c, opncls.c, reloc.c, + section.c, syms.c, targets.c: + Doc cleanup (spelling, punctuation, grammar, formatting). + * bfd-in2.h, libbfd.h: Rebuild. + +Thu Nov 4 14:46:14 1993 John Gilmore (gnu@rtl.cygnus.com) + + * bfd-in.h (bfd_get_cacheable, bfd_set_cacheable): New accessors. + * bfd.c, opncls.c: Improve comments on file descriptor cacheing. + +Thu Nov 4 08:54:30 1993 Jeffrey A. Law (law@snake.cs.utah.edu) + + * From Pete Hoogenboom (hoogen@cs.utah.edu) + * elf32-hppa.c (hppa_elf_get_section_contents): Fix logic error + in last change. Always rebuild symbol extension section the first + time though if output sections exist (fixes ld -r problems). + +Thu Nov 04 08:08:46 1993 Jeffrey Wheat (cassidy@cygnus.com) + + * Makefile.in: Add .PHONY for check and installcheck rules. + +Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com) + + * libbfd-in.h (artdata): Use long, not time_t for portability, at + least to HPUX. File below is a derived file. + +Tue Nov 2 14:42:27 1993 Bill Cox (bill@tarkas.cygnus.com) + + * libbfd.h (artdata): Use long, not time_t for portability, at + least to HPUX. + +Tue Nov 2 09:32:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.bfd: Use bigmips for mips*-*-bsd*. + +Mon Nov 1 14:30:09 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (elf_slurp_reloca_table, elf_slurp_reloc_table): + Handle symbol number of zero. + + * reloc.c (enum bfd_reloc_code_real): Added + BFD_RELOC_MIPS_LITERAL, BFD_RELOC_MIPS_GOT16, + BFD_RELOC_MIPS_CALL16, BFD_RELOC_MIPS_GPREL32. + * bfd-in2.h: Rebuilt. + * coff-mips.c (mips_bfd_reloc_type_lookup): Handle + BFD_RELOC_MIPS_LITERAL. + * elf32-mips.c (mips_reloc_map): Handle new relocs. + (mips_elf_hi16_reloc, mips_elf_lo16_reloc): Rearrange _gp_disp + checks slightly. + + * aout-target.h (MY_bfd_debug_info_start, MY_bfd_debug_info_end, + MY_bfd_debug_info_accumulat [sic]): Remove unused definitions. + (MY_bfd_get_relocated_section_contents, MY_bfd_relax_section, + MY_bfd_seclet_link): Define. + (MY_bfd_reloc_type_lookup): Rename from + MY_reloc_howto_type_lookup. + (MY_bfd_make_debug_symbol): Rename from MY_make_debug_symbol. + (MY(vec)): Use JUMP_TABLE rather than listing functions. + * hp300hpux.c (MY_get_symtab, MY_get_symtab_upper_bound, + MY_canonicalize_reloc, MY_write_object_contents): Don't define in + terms of MY, because that causes a recusive invocation of CAT when + expanded within JUMP_TABLE, and ANSI compilers don't expand + recursive macros. + * mipsbsd.c (MY_bfd_reloc_type_lookup): Rename from + MY_reloc_howto_type_lookup, and don't define in terms of MY. + (MY_canonicalize_reloc): Don't define in terms of MY. + (aout_mips_little_vec, aout_mips_big_vec): Use JUMP_TABLE rather + than listing functions. + +Mon Nov 1 09:12:25 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.bfd: Use m68k-elf for m68*-*-sysv4*. + +Sun Oct 31 09:35:49 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * targets.c: Move enum target_flavour outside of struct and change + the name to enum bfd_flavour. This means bfd clients can use it. + * bfd-in.h: Add macro bfd_get_flavour. + * bfd-in2.h: Rebuilt. + + * som.c: Add comment about how abort() on corrupt executable is evil. + +Sat Oct 30 12:27:09 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (aout,slurp_reloc_table): Avoid a goto. + +Fri Oct 29 16:04:33 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * gen-aout.c, libbfd.c: exit(1) instead of exit(-1). + +Fri Oct 29 13:17:21 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd-in.h: Added commands for object file flag values. + * bfd-in2.h: Rebuilt. + * elfcode.h (elf_object_p): If type is ET_DYN, set DYNAMIC flag, + not EXEC_P. + * bout.c, coff-h8300.c, coff-sh.c: Add BFD_IS_RELAXABLE to + object_flags field for target vector. + * aix386-core.c, aout-adobe.c, aout-target.h, bout.c, coff-a29k.c, + coff-alpha.c, coff-apollo.c, coff-h8300.c, coff-h8500.c, + coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c, coff-mips.c, + coff-rs6000.c, coff-sh.c, coff-we32k.c, coff-z8k.c, hpux-core.c, + ieee.c, mipsbsd.c, nlm-target.h, oasys.c, osf-core.c, som.c, + srec.c, tekhex.c, trad-core.c: Remove DYNAMIC from object_flags + field for target vector. + +Thu Oct 28 20:02:31 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * hosts/std-host.h: Don't declare time; causes error on mach3. + * configure.in (i386mach3_vec): Require aout32.o stab-syms.o. + +Thu Oct 28 16:33:26 1993 Stan Shebs (shebs@rtl.cygnus.com) + + LynxOS and Sparc LynxOS changes: + * config.bfd: Recognize sparc-*-lynxos*. + * configure.host: Recognize sparc-*-lynxos*. + * configure.in: Recognize Sparc Lynx vectors. + * targets.c (sparclynx_aout_vec): Declare. + (sparclynx_coff_vec): Declare. + (target_vector): Add them. + * cf-i386lynx.c: New file, renamed from i386lynx-cf.c. + * cf-m68klynx.c: New file, renamed from m68klynx-cf.c. + * cf-sparclynx.c: New file, support for coff in Sparc LynxOS. + * coff-sparc.c: New file, basic Sparc coff support. + * sparclynx.c: New file, support for a.out in Sparc LynxOS. + * Makefile.in: Change filenames appropriately, add Sparc rules. + * coffcode.h (coff_set_arch_mach_hook): Recognize Sparc magic + number. + (coff_set_flags): Use LynxOS magic number for i386, m68k, and + Sparc LynxOS, set Sparc magic number for Sparcs. + * config/m68k-lynx.mt (SELECT_VECS): Remove redundant vector. + * config/sparc-lynx.mt: New file. + * hosts/i386lynx.h: Cosmetic improvements. + * hosts/m68klynx.h: Add ifdefs, #define of cfree. + * hosts/sparclynx.h: New file. + +Thu Oct 28 16:23:40 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + gcc -Wall lint: + * coff-h8300.c (h8300_reloc16_estimate): Declare return type. + Remove useless statement probably left by code copy. + * cpu-i960.c (compatible): Fully bracket matrix initializer. + * elf32-hppa.c (hppa_elf_build_arg_reloc_stub): Use bfd_xmalloc + rather than xmalloc. Use realloc and check the return value + rather than xrealloc. + (hppa_elf_get_section_contents): Add some casts. + * elf32-i386.c (elf_i386_reloc_type_lookup): Remove unused + variable. Add default case to switch. + * hp300hpux.c: Declare aout_32_write_syms. + * i386bsd.c, i386linux.c, netbsd386.c (N_SHARED_LIB): Define as 0 + (definition from aout/aout64.h is always 0 anyhow). + * i386lynx.c (swap_std_reloc_in): Remove unused variable. + * ieee.c (ieee_write_id): length can never be negative. + (read_id): Likewise. + (ieee_archive_p): Remove unused variable. + * libcoff-in.h (bfd_perform_slip): Declare. + * libcoff.h: Rebuilt. + * oasys.c (oasys_write_sections): Remove zero initialization of + static structure. + * reloc16.c: Indentation change. + +Wed Oct 27 16:51:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in, config/i386-mach3.mt: Update for new configuration + (--with-targets and so on). + * hosts/i386mach3.h: Declare errno. + * targets.c: Declare i386mach3_vec. + +Wed Oct 27 12:18:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlmcode.h (nlm_swap_auxiliary_headers_in, + nlm_swap_auxiliary_headers_out): Handle sharedDebugRecordOffset + and sharedDebugRecordCount fields. + +Tue Oct 26 16:21:12 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * targets.c (target_vector): Remove SCO_CORE. On Sep 11 1993, + we started using trad-core.c for SCO instead. + + * targets.c (target_vector): Re-enable generic ELF and NLM targets. + +Tue Oct 26 16:53:12 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (assign_file_position_for_section): Align sh_offset to + sh_addralign (this is what UnixWare does, and it shouldn't hurt). + +Tue Oct 26 10:16:54 1993 Ken Raeburn (raeburn@cygnus.com) + + From Jeff Law and Pete Hoogenboom at Utah: + + * elf32-hppa.h (hppa_elf_stub_finish): Add prototype. + (ELF32_HPPA_R_ARG_RELOC): Renamed without the ELF32 prefix + and moved into libhppa.h. All references changed. + (ELF32_HPPA_R_CONSTANT, ELF32_HPPA_R_ADDEND): Likewise. + (get_opcode and opcode defines): Move into libhppa.h + * elf32-hppa.c (hppa_elf_insn2fmt): Rename and move info + libhppa.h. + * libhppa.h (HPPA_R_*): Moved here. Reformatted slightly to make + for easier reading. + (get_opcode): Moved here. FIXME! this really should be a C function + inside the opcode library! + (bfd_hppa_insn2fmt): Likewise. + + * targets.c (target_vector): Enable elf32-hppa vector. + + * elf32-hppa.c (hppa_elf_get_section_contents): Add new comments + and clarify existing comments. Do not use DEFUN to declare this + function. Fix numerous indention problems. Correctly handle cases + where symbol extension section may need to be read from disk, + read from memory, or built then read from memory. + + * elf32-hppa.h: Reformat with gnu-indent and hand fix numerous + formatting and indention problems gnu-indent can not handle. + Clarify some comments about relocation types. Comment basic + relocation "classes". Group PARAM declarations together. + (HPPA_SXT_{NULL, SYMNDX, RG_RELOC}): Make members of a new + enumerated type rather than #defines. + +Tue Oct 26 02:40:46 1993 Stu Grossman (grossman at cygnus.com) + + * som.c (hppa_object_setup): Set SEC_CODE for .text section so + that GDB can figure out text_start and text_end. + +Mon Oct 25 16:05:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + Fix up warnings from gcc -Wall: + * coffgen.c (coff_print_symbol): Use %lx and cast n_value to + unsigned long. Use %ld for tagndx. Use %lx for offset + vma and + cast it to unsigned long. + * ecoff.c (ecoff_emit_aggregate): Use %ld. + (ecoff_print_symbol): Use %ld, and cast indx and sym_base to long. + * coffcode.h (dummy_reloc16_estimate): Specify return type. + + * libbfd.c (bfd_write): If not everything is written out, set + bfd_error to system_call_error. If the return value is + non-negative, set errno to ENOSPC (if ENOSPC is defined). + (bfd_seek): If the seek fails, set bfd_error to system_call_error. + (bfd_generic_set_section_contents): For a bad offset + count, set + bfd_error to bad_value. + * seclet.c (rel): Don't abort. Instead, return false. + +Mon Oct 25 09:59:37 1993 Ken Raeburn (raeburn@cygnus.com) + + * aoutx.h (reloc_type_lookup): Handle BFD_RELOC_SPARC_WDISP22. + +Fri Oct 22 20:35:54 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config.bfd: handle mips*-* instead of mips-*, use mips*el + instead of mips-*-*l + +Fri Oct 22 14:03:33 1993 Mark Eichin (eichin@cygnus.com) + + * m68k-lynx.mt, i386-lynx.mt (TDEFINES): set + FPRINTF_ALREADY_DECLARED because the objdump.c declaration of + fprintf collides with the native one. + +Fri Oct 22 11:50:25 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * targets.c (target_vector): Enable MIPS ELF vectors. + +Fri Oct 22 07:51:51 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.bfd: Use bigmips for mips-sony-bsd*. + + * configure.host, config.bfd: Add * to end of all OS names. + +Thu Oct 21 12:16:26 1993 Ken Raeburn (raeburn@cygnus.com) + + * elfcode.h (FILE_ALIGN): Renamed from EALIGN, to avoid conflict + with Ultrix header files. + + * som.h (struct som_section_data_struct): Renamed from + som_section_data to avoid conflict with macro by that name. + + Changes from Jeff Law and Peter Hoogenboom at Utah: + + * elf32-hppa.c (hppa_elf_reloc): Target register for a 'jump + in delay slot' optimization in combination with a long call + stub should always be r31. + + * elf32-hppa.c: (hppa_elf_relocate_insn): To be consistent + across all relocation types, retrieve instruction addends from + the relocation entry rather than from the instruction itself. + + * elf32-hppa.c: (hppa_elf_relocate_insn): Fix a relocation + error that only occurred when the addend of an 'addil' or + 'ldil' was larger than 21 bits and very close to a 2K byte + boundary. + + * elf32-hppa.c: (hppa_elf_reloc): Handle the optimization in + which a jump is placed in the delay slot of a function call. + The jump was being accomplished via an adjustment to the + return pointer. This optimization would break the long call + stub code, if there was any. + + * elf32-hppa.c: (hppa_elf_build_long_branch_stub): Corrections + to long branch stubs to avoid use of general register 2. + + * hppa_stubs.h: New stub instructions. + + * elfcode.h: Declare bfd_elf_find_section. + + * som.h (som_section_data): Add new "subspace_index" field. + + * som.c (setup_sections): Save the original SOM subspace index + in the BFD section associated with that subspace. + (som_get_symtab_upper_bound): Implement. + (som_get_symtab): Implement. + (som_print_symbol): Implement. + (som_slurp_string_table): New function to read a string table + from a SOM object file. + (som_section_from_subspace_index): New function to return the + section which corresponds to a SOM subspace index. + (som_slurp_symbol_table): New function to read the symbol + table from a SOM object file. + (som_make_empty_symbol): Check for errors from bfd_zalloc. + (som_new_section_hook): Initialize subspace_index field to + -1 instead of 0. + + * som.c (som_object_setup): Fix polarity of test to set HAS_RELOC. + Set EXEC_P for executables. + (setup_sections): Correctly identify when a section has + relocations. + (log2): New function. + (setup_sections): Correctly convert between SOM alignments and BFD + alignments. + + * som.c (setup_sections): Do not set SEC_ALLOC or SEC_LOAD + for sections which correspond to SOM spaces, doing so confuses + many utilities. Set assorted SEC_* flags for SOM subspaces + which correspond to BFD sections. + + * elf32-hppa.c: (elf32_hppa_backend_fake_sections): The stab + string table should have sh_type == SHT_STRTAB. Add + processing to make it so. + + * elfcode.h: (bfd_section_from_shdr): String tables (other + than .strtab) were not getting the file offsets recorded, so + they could not be read from disk. + + * elfcode.h: (elf_make_sections): Leave the sh_addr field of + the section header and the vma field of a section at 0 if the + section is not part of the program execution image. (e.g., + .stab) + + * som.[hc]: Change target vector prefix from "hppa" to "som". + Consistently use obj_som prefix to access fields in backend data + structures. Fix all callers/references. + + * som.h: Do not include files only needed for core file reading here. + Include a.out for both HOST_HPPAHPUX and HOST_HPPABSD. Delete + forward structure declarations, they are unnecessary. + (struct somdata): Delete aux_hdr, and hp_symbol_entry_size fields. + Change "symbols" to "symtab". Add "stringtab" and "reloc_filepos" + fields for future use. Change obj_som_* macros as appropriate. + (som_section_data): New structure to keep SOM specific information + about BFD sections (for future use). + + * som.c: Provide PARAMS declarations for all functions currently + in this file. + (struct container): Delete unwanted structure definition. + (som_object_setup): Add comments. Use som_mkobject to allocate + SOM specific information in the BFD; use information from the + file and (possibly empty) auxiliary headers to initialize this + information. Delete redundant bfd_get_symcount (abfd) "calls". + (setup_sections): Return type is now boolean, fix return statements. + "Fix" handling of BSS like subspaces in the computation of the + containing space's size. If the subspace has relocations, set the + appropriate BFD section flags and record the index into and the + size of the fixup stream. Always return a value. + (som_object_p): Set bfd_error appropriately if errors are detected + from bfd_{read,seek} functions. Handle EXECLIBMAGIC type files. + Do not try to read a non-existant auxiliary header. + (som_mkobject): Flesh out. + (som_section_hook): Allocate space to hold SOM specific information + about sections. + +Thu Oct 21 12:41:34 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + gcc -Wall lint: + * coff-h8300.c, coffcode.h: Change shrink parameter + in *_reloc16_estimate to unsigned to match prototype. + * archive.c: Avoid "/*" in comment. + +Thu Oct 21 13:05:16 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * dep-in.sed: Create our own line breaks for a more aesthetic + Makefile. + * Makefile.in: Rebuilt dependencies. + + * elf32-mips.c: Include "seclet.h". + (mips_elf_fake_sections): Force size of .reginfo section to sizeof + Elf32_External_RegInfo. + (mips_elf_seclet_link): New function. Link the .reginfo section + specially, and pass everything else to the generic routine. + (bfd_elf32_bfd_seclet_link): Define macro. + * elf32-target.h: If bfd_elf32_bfd_seclet_link is already defined, + don't override it. + +Wed Oct 20 12:22:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libnlm.h (nlm_backend_data): Added signature field. + (nlm_signature): New macro. + * nlmcode.h (nlm_object_p, nlm_write_object_contents): Use the NLM + signature from the backend rather than the constant NLM_SIGNATURE. + * nlm32-i386.c (nlm32_i386_backend): Initialize signature field. + + * aoutf1.h (MACHTYPE_OK): Accept M_UNKNOWN. + (NAME(sunos,set_arch_mach)): Treat M_UNKNOWN as 68000, not 68020. + +Wed Oct 20 10:28:27 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/i386bsd.h [__bsdi__]: Define HOST_DATA_START_ADDR. + +Wed Oct 20 10:10:07 1993 Ken Raeburn (raeburn@cygnus.com) + + * Makefile.in (HFILES): New variable, for use in "make dep". + (.dep): Depend on $(CFILES) and $(HFILES). Delete .dep1 and + remake it, so that "$?" is complete. + (.dep1): Don't need to remove .dep1 first. + (dep.sed): Depend on config.status, not Makefile. + (CFILES): Add nlm.c. + +Tue Oct 19 15:26:26 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-alpha.c: Implemented reloc handling for the linker, made + various other related changes. + * libecoff.h (ecoff_backend_data): Added rdata_in_text field. + Renamed finish_reloc to adjust_reloc_in. Added adjust_reloc_out + field. + (ecoff_bfd_get_relocated_section_contents): Don't define. + * ecoff.c (ecoff_sec_to_styp_flags, ecoff_styp_to_sec_flags): + Handle .lita section. + (ecoff_slurp_reloc_table): Handle RELOC_SECTION_FINI. + finish_reloc backend field renamed to adjust_reloc_in. + (ecoff_bfd_seclet_link): Adjust number of aux entries to + debug_align boundary. + (ecoff_compute_section_file_positions): If rdata_in_text put + .rdata section in text segment, not data segment. Put .pdata + section in text segment. + (ecoff_write_object_contents): Likewise. Also, call + adjust_reloc_out, and handle .lita, .xdata, .pdata, .fini and + absolute sections when writing out relocs. + * coffswap.h (coff_swap_aouthdr_out): For ALPHAECOFF, output 2 for + bldrev field, as on Alpha OSF/1. Padding field is now 2 bytes. + * coff-mips.c (mips_ecoff_swap_reloc_out): Added assertion. + (mips_adjust_reloc_in): Renamed from mips_finish_reloc. + (mips_adjust_reloc_out): New function (does nothing). + (mips_ecoff_backend_data): Initialize new fields. + (ecoff_bfd_get_relocation_section_contents): Define to be + bfd_generic_get_relocated_section_contents. + + * reloc.c (bfd_perform_relocation): Added casts to avoid Alpha + OSF/1 cc bug. + +Thu Oct 14 01:10:35 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * reloc.c (bfd_perform_relocation): Add comments attempting to + explain PC relative relocations. + + * coffcode.h (styp_to_sec_flags): Don't set SEC_DEBUGGING until it + is made to work. + (coff_compute_section_file_positions): Remove check for + USE_DISCARDED_SECTIONS_COUNT. + * coff-i386.c: Don't define USE_DISCARDED_SECTIONS_COUNT. Basing + it on host defines is wrong. + + * ecoff.c (ecoff_bfd_seclet_link): Don't link a .reginfo section. + (ecoff_write_object_contents): Don't require the .reginfo section + to be a particular size. + +Wed Oct 13 18:39:03 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * Makefile.in (dep-in): New rule, for editing dependencies into + Makefile.in in $(srcdir). Use move-if-change. + (.dep1, dep): Use move-if-change. + (CFILES): Add coff-apollo.c. + + Sun Oct 10 18:02:56 1993 Troy Rollo (troy@cbme.unsw.EDU.AU) + + * Makefile.in: Recognise new file, coff-apollo.o + + * coff-apollo.c: New file + + * coffcode.h: Recognise apollo magic numbers and writable text + + * coffswap.h: Swap Apollo optional header entries + + * config.bfd: Add line for Apollo + + * configure.host: Replace apollo68b and apollo68v with Apollo + + * configure.in: Recognise apollocoff_vec + + * targets.c: Likewise + + * config/apollo.mh, config/apollo.mt: New files + + * hosts/apollo68.h: Remove inclusion of strings.h + +Wed Oct 13 14:28:17 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * coff-i386.c (i3coff_object_p): Now static. + + * Makefile.in: Updated dependencies. + (.dep, .dep1, dep.sed): New targets, to make "make dep" work + better. + * dep-in.sed: New file. + + * m68klynx-cf.c (ONLY_DECLARE_RELOCS): Define, to avoid name + conflicts when "--with-targets=all". + * coff-m68k.c (m68kcoff_howto_table, m68k_rtype2howto, + m68k_howto2rtype): Rename via macros to keep namespace clean. + * configure.in: For m68klynx_coff_vec, include coff-m68k.o for + now. + +Tue Oct 12 17:03:27 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf32-mips.c: Extensive additions to do relocations and to + handle MIPS specific sections. + * libelf.h (elf_backend_data): Pass fourth argument to + elf_backend_section_from_bfd_section to permit it to control the + section index to use. + (elf_obj_tdata): Add gp and gp_size fields. + (elf_gp, elf_gp_size): New accessor macros. + * elfcode.h: Removed a number of unused local variables. + (elf_fake_sections): Clear section header before calling + elf_backend_fake_sections, not after. + (prep_headers): Return true at end. + (elf_section_from_bfd_section): Pass retval argument to + elf_backend_section_from_bfd_section. + * elf32-hppa.c (elf32_hppa_backend_section_from_bfd_section): + Accept and ignore new retval argument. + * bfd.c: Include libelf.h. + (bfd_set_gp_size): Handle ELF targets. + * Makefile.in (bfd.o): Depends upon libelf.h. + (elf32-mips.o): Depends upon $(INCDIR)/elf/mips.h. + +Mon Oct 11 17:25:18 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_mkobject): Check bfd_make_section return value. + (ecoff_mkobject_hook): New function. + (ecoff_new_section_hook, ecoff_sizeof_headers, + ecoff_compute_section_file_positions, ecoff_set_section_contents, + ecoff_write_object_contents): Handle dummy REGINFO section. + (ecoff_get_section_contents): New function to handle reading + REGINFO section. + * libecoff.h (ecoff_get_section_contents): Change from macro + definition to function prototype. + (ecoff_mkobject_hook): New prototype. + * coff-alpha.c (alpha_ecoff_mkobject_hook): Removed. + (alpha_ecoff_backend_data): Use ecoff_mkobject_hook. + * coff-mips.c (mips_ecoff_mkobject_hook): Removed. + (mips_ecoff_backend_data): Use ecoff_mkobject_hook. + +Fri Oct 8 15:25:33 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * libbfd.c (bfd_get*32, bfd_get*64): Prevent ANSI sign extension + by casting the most significant byte to bfd_vma. + +Fri Oct 8 02:34:21 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * configure.in: Do not define SELECT_VECS, SELECT_ARCHITECTURES + if configuring --with-targets=all. + +Thu Oct 7 17:34:07 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * aoutx.h (howto_table_std): Correct the "size" field in some + entries. + + * reloc.c (reloc_howto_type): Change documentation to dispel any + notion that the "size" field is a power-of-two indicator. + +Thu Oct 7 10:50:38 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * coffswap.h: (bfd_swap_reloc_in): a symndx is signed. + + Make support for relaxing more generic. + * reloc16.c: Add new target entry - bfd_coff_reloc16_estimate, + fix bit rot. + * libcoff.h, libcoff-in.h: declarations. Prototypes + * coffcode.h (bfd_coff_std_swap_table): Add calls to + coff_reloc_16_extra_cases and coff_reloc16_estimate. + (dummy_reloc16_estimate): New function. + * coff-h8300.c (h8300_reloc16_estimate): New function + +Thu Oct 7 14:24:13 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfcode.h (EALIGN): Define, dependent on ARCH_SIZE. + (align_file_position): New function. + (elf_locate_sh): Disabled function deleted. + (assign_file_positions_for_symtab_and_strtabs): Align position, + then place symtab, then do other sections. + (map_program_segments): Align program header. + (assign_file_positions_except_relocs): Align section headers. + (assign_file_positions_for_relocs): Align relocation sections. + +Tue Oct 5 10:44:32 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.host: Recognize hppa*-*-hiux* (currently synonym for hpux). + Change other hppa entries to use -*- not -hp-. + * config.bfd: Recognize hppa*-*-hiux* (currently synonym for hpux). + + * coff-rs6000.c, cpu-rs6000.c, rs6000-core.c: Change non-ASCII + characters in comment to octal escapes. + +Sun Oct 3 12:35:15 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * coff-i386lynx.c: Removed, name too long. + * i386lynx-cf.c: New file, was coff-i386lynx.c. + * configure.in: Reflect file name changes. + * Makefile.in: Mention Lynx-related files. + + * i386lynx.c (lynx_32_swap_ext_reloc_in): get reloc bits in i386 + Lynx-specific way. + + * m68klynx-cf.c: New file, defines coff format for M68K LynxOS. + * m68klynx.c: Remove coff vector definition, now in m68klynx-cf.c. + + * coffcode.h (sec_to_styp_flags): Set section flag to STYP_INFO + for .stab, .stabstr and .debug sections, and set SEC_DEBUGGING for + sections of type STYP_INFO. (from Minh Tran-Le) + (coff_compute_section_file_positions): Add discarded_sections_count + to abfd->section_count, which helps `strip' keep the size + of the executable header constant. + * coff-i386.c (discarded_sections_count): New variable, initialized + to zero. For use by `strip'. Currently being used only in aix386 + coff, but may be useful for other coff systems. (from Minh Tran-Le) + + * coffswap.h (coff_swap_filehdr_out): Added a missing cast. + + * archive.c: Cosmetic improvements. + * opncls.c: Cosmetic improvements. + (new_bfd): Removed redundant structure slot init. + +Sat Oct 2 18:48:17 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/news-mips.mh, hosts/news-mips.h: New files. + * configure.host: Use news-mips for mips-sony-bsd*. + +Fri Oct 1 13:14:17 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * configure.in: i386lynx_coff_vec requires coff-i386lynx.o. + * coff-i386lynx.c: New file, defines Lynx target vector and name, + includes coff-i386.c. + * coff-i386.c (i386coff_vec): Allow redefinition of target vector + symbol and name, if TARGET_SYM and/or TARGET_NAME are defined. + * i386lynx.c: Remove coff vector definition entirely. + (lynx_32_swap_ext_reloc_in): Define. + (lynx_32_swap_std_reloc_in): Define, get reloc bits in i386 + Lynx-specific way. + (lynx_32_swap_ext_reloc_out): Define. + (lynx_32_swap_std_reloc_out): Define. + (lynx_32_slurp_reloc_table): Define, call Lynx swapping fns. + (lynx_32_squirt_out_relocs): Define, call Lynx swapping fns. + (lynx_32_canonicalize_reloc): Define, call Lynx swapping fns. + (WRITE_HEADERS): Define, call Lynx swapping fns. + + * config/i386-lynx.mt (SELECT_VECS): Remove redundant vector. + +Thu Sep 30 17:50:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * reloc.c (bfd_reloc_code_type): Add linkage-table relative + relocations of size 8, 16, 32. Sort generic relocs by type rather + than size. Added a little documentation too. + + * aoutx.h (howto_table_std): Add BASE16 and BASE32 relocs. + (TABLE_SIZE): New macro. + (reloc_type_lookup): Handle BFD_RELOC_{16,32}_BASEREL for std + relocs. + (swap_std_reloc_out): Write baserel relocs correctly. + (swap_std_reloc_in): Handle r_baserel field. Assert that + r_jmptable and r_relative fields are clear, and that the computed + index does refer to a defined entry of the howto table. + +Tue Sep 28 14:47:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * section.c (bfd_make_section_anyway): New function. + * section.c: Change comments to say several sections can have + the same name. + * bfd-in2.h: Re-generate to reflect above change. + * coffgen.c (make_a_section_from_file): Call bfd_make_section_anyway + if still no section after the bfd_coff_make_section_hook. + * coffcode.h: Add comment about TWO_DATA_SECS. + +Tue Sep 28 03:22:24 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * ecoff.c (ecoff_slurp_symbolic_info): Always determine raw_size + explicitly. + * ecoff.c (ecoff_sec_to_styp_flags, ecoff_styp_to_sec_flags): Handle + .fini section. + +Mon Sep 27 18:29:18 1993 Stan Shebs (shebs@rtl.cygnus.com) + + * config.bfd configure.host: Match on *-lynxos* for LynxOS, + add m68*-*-lynxos*. + * configure.in : Replaced i386lynx_vec with i386lynx_aout_vec + and i386lynx_coff_vec. + Added m68klynx_aout_vec and m68klynx_coff_vec. + * targets.c (target_vector): Removed i386lynx_vec, added + {i386,m68k}lynx_{aout,coff}_vec. + * i386lynx.c: Added copy of i386coff.c, renamed bfd target to + i386lynx_coff_vec. + * m68klynx.c: New file. + * config/i386-lynx.mt: Replaced i386lynx_vec with i386lynx_aout_vec + and i386lynx_coff_vec. + * config/m68k-lynx.mt: New file. + * hosts/i386lynx.h: Added definition of cfree as free (from Eichin). + * hosts/m68klynx.h: New file. + +Mon Sep 27 18:00:41 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * archive.c: Define offsetof here. + * hosts/*.h: Don't define it here. + +Mon Sep 27 19:09:27 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (bfd_section_from_shdr): Set filepos for SHT_STRTAB + section. + +Fri Sep 24 15:47:40 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hpux-core.c: Add comment about hpux version 7. + +Fri Sep 24 16:50:26 1993 Stu Grossman (grossman at cygnus.com) + + * lynx-core.c (lynx_core_file_p): Change per-thread register + section names from .regXXX to .reg/XXX to avoid parsing ambiguity + in gdb/corelow.c. Create alias .reg section for the currently + running thread. + +Fri Sep 24 13:22:32 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libecoff.h (ecoff_backend_data): Removed big_magic and + little_magic fields. + * coff-alpha.c (alpha_ecoff_backend_data): Removed initialization + of big_magic and little_magic. + * coff-mips.c (mips_ecoff_bad_format_hook): Make sure magic number + matches endianess of bfd. + (mips_ecoff_backend_data): Removed initialization of big_magic and + little_magic. + * ecoff.c (ecoff_set_arch_mach_hook): Set MIPS machine number + based on magic number. Support r4000 magic numbers. + (ecoff_get_magic): New function. + (ecoff_write_object_contents): Use ecoff_get_magic, not fields in + the backend structure. + * cpu-mips.c (arch_info_struct): Added case for r6000. + + For MIPS configurations put both big and little endian versions in + the list of targets; the code is getting compiled in anyhow. + * bigmips.mt (SELECT_VECS): Define to be ecoff_little_vec. + * decstation.mt (SELECT_VECS): Define to be ecoff_big_vec. + * mipsbelf.mt (SELECT_VECS): Define to be bfd_elf32_littlemips_vec. + * mipslelf.mt (SELECT_VECS): Define to be bfd_elf32_bitmips_vec. + * riscos.mt (SELECT_VECS): Define to be ecoff_little_vec. + +Fri Sep 24 00:42:23 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * osf-core.c: New file for OSF/1 core file support. + * config/alphaosf.mh (HDEFINES): Add -DOSF_CORE. + (HDEPFILES): Set to osf-core.o. + * bfd-in2.h (union tdata): Add osf_core_data member. + * targets.c: If OSF_CORE is defined, add osf_core_vec to target list. + * Makefile.in (OPTIONAL_BACKENDS): Add osf-core.o. + (osf-core.o): New dependency. + +Thu Sep 23 21:04:53 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * TODO: Remove note about making --with-bfd-targets use canonical + target configuration name (already done); reword item about + separating reading and writing stuff to not refer to a + non-existent item. + + * ecoff.h (ecoff_set_arch_mach_hook): Accept MIPS_MAGIC_LITTLE2 + and MIPS_MAGIC_BIG2. + +Thu Sep 23 11:06:34 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * gen-aout.c (main): Output newline after end of comment, not + before. (Reported by Jonathan Stone, + jonathan@oscar.stanford.edu). + +Thu Sep 23 10:48:27 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * archive.c (compute_and_write_armap): Put weak symbols in the + armap. + + * elfcode.h (fix_up_strtabs): Set sh_entsize for the .stab + section, not the .stabstr section. Set the type of the .stabstr + section to SHT_STRTAB. + (elf_section_from_bfd_section): Handle SHT_STRTAB sections. + + * section.c (SEC_DEBUGGING): New section flag. + * elfcode.h (bfd_section_from_shdr): If section is SHT_PROGBITS, + and the name starts with .debug, .line or .stab, set + SEC_DEBUGGING. If SHT_STRTAB, check for .debug and .stab. + * elf32-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added + SEC_DEBUGGING to section_flags. + * elf64-target.h (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Added + SEC_DEBUGGING and SEC_CODE to section_flags. + * bfd-in2.h: Updated. + +Wed Sep 22 16:34:14 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd.c (tdata): Add lynx_core_data. + + * ecoff.c (ecoff_compute_section_file_positions): Set filepos for + sections with SEC_LOAD set, even if SEC_HAS_CONTENTS is clear. + (ecoff_write_object_contents): Don't set scnptr to zero just + because size of section is zero. Needed for Irix 4.0.5F. + +Wed Sep 22 09:49:32 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config.bfd: Use i960-bout, not i960-coff for i960-*-nindy*. + +Wed Sep 22 07:34:09 1993 Stu Grossman (grossman at cygnus.com) + + * Makefile.in (OPTIONAL_BACKENDS): Add lynx-core.o. + * bfd-in2.h (tdata): Add lynx_core_data; + * config.bfd configure.host: Get rid of superfluous netbsd and + lynxos entries. + * configure.in: Add lynx-core.o to Lynx config. + * i386lynx.c: Add defs for core file support. + * lynx-core.c: New file with Lynx core file support. + * hosts/i386lynx.h: Move lots of host specific includes to here. + Add def of HOST_LYNX. Remove unnecessary defs. + +Mon Sep 20 19:18:10 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (bfd_section_from_shdr): Only set SEC_DATA for a + SHF_PROGBITS or SHT_STRTAB section if SEC_ALLOC is set. Never set + SEC_DATA for a SHF_NOBITS section. + + * nlm32-i386.c (nlm_i386_mangle_relocs): Check SEC_LOAD rather + than SEC_CODE | SEC_DATA. Add some casts to avoid warnings. + * nlmcode.h: Add some casts to avoid warnings. + (nlm_write_object_contents): Ignore relocs for sections that are + neither code nor data. Just use the symbol value for debugging + symbols; don't offset by the section vma. + +Fri Sep 17 18:08:55 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * reloc.c (bfd_perform_relocation): Don't return an error when + performing a reloc against an undefined weak symbol. + * syms.c (bfd_print_symbol_vandf): Show value of BSF_WEAK rather + than obsolete BSF_EXPORT. + +Fri Sep 17 02:04:31 1993 John Gilmore (gnu@cygnus.com) + + * hosts/{alphaosf.h, amix.h, apollo68.h, apollov68.h, + decstation.h, delta88.h, dgux.h, dose.h, go32.h, harris.h, + hp300.h, hp300bsd.h, hppabsd.h, hppahpux.h, i386aix.h, i386bsd.h, + i386linux.h, i386lynx.h, i386v.h, i386v4.h, irix3.h, irix4.h, + mipsbsd.h, ncr3000.h, rs6000.h, rtbsd.h, solaris2.h, sparc-ll.h, + std-host.h, stratus.h, sun3.h, sysv4.h, tahoe.h, ultra3.h, + vaxult.h, vaxult2.h, we32k.h}: Make sure that "offsetof" is + defined on all hosts, now that archive.c uses it. + +Thu Sep 16 18:20:30 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elfcode.h (elf_map_symbols): Create section symbols for all + sections, not just allocated sections; debugging sections can have + relocs. + (elf_symbol_from_bfd_symbol): If there is an output section, use + the section index from that rather than the input section. + +Thu Sep 16 12:20:50 1993 Ken Raeburn (raeburn@cygnus.com) + + * libbfd-in.h (bfd_flush, bfd_stat): Reflect John's changes to + libbfd.h, which is regenerated from this file. + + * bfd-in.h (symtype): Deleted typedef. + +Wed Sep 15 11:48:37 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libbfd.c (COERCExx): Cast x to bfd_signed_vma before doing the + xor and subtract. Otherwise it will not sign extend if the type + of bfd_vma is larger than int. + + * ecoffswap.h (ecoff_swap_pdr_in): Get regoffset, iopt, fregoffset + and frameoffset as signed numbers. From Peter Schauer. + +Tue Sep 14 18:20:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf32-i386.c (elf_howto_table): Add bfd_elf_generic_reloc + special function for all reloc entries. + * elf32-target.h (TARGET_LITTLE_SYM): Add SEC_CODE to + section_flags. + * libelf.h (elf_symbol_type): Remove desc, type and other fields. + * Makefile.in (elf32-*.o): These depend upon elf32-target.h. + +Tue Sep 14 14:34:45 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * libbfd-in.h (struct artdata): Add armap_timestamp and + armap_datepos here too. + +Mon Sep 13 21:03:18 1993 John Gilmore (gnu@cacophony.cygnus.com) + + Improve timestamp support in BSD archive files to avoid linker + warnings. + + * libbfd.h (struct artdata): Add armap_timestamp and armap_datepos. + (bfd_flush, bfd_stat): Add prototypes. + * libbfd.c (bfd_flush): Add, does fflush on a BFD. + (bfd_stat): Add, does fstat on a BFD. + + * archive.c (_bfd_write_archive_contents): At end of file writing, + verify and possibly update the timestamp in the armap, if a BSD + archive. FIXME! Kludge recognizes BSD archive, rather than + vectoring properly. Should add to xvec. + (compute_and_write_armap): Move prototype to top, avoid PROTO. + (bsd_write_armap): Save timestamp and file location thereof, when + writing the armap in a BSD file. + (bsd_update_armap_timestamp): New function to check and + rewrite the timestamp. + + * hosts/std-host.h (offsetof): Define, if not already, for archive.c. + +Sat Sep 11 18:13:42 1993 Jim Kingdon (kingdon@poseidon.cygnus.com) + + * hosts/i386sco.h: Define a bunch of stuff for core files. + * sco-core.c: Remove, replace by trad-core.c. + * trad-core.c: If HOST_STACK_START_ADDR is defined, use it. + * config/i386sco.mh: Use trad-core not sco-core. + * hosts/i386isc.h, config/i386isc.mh: Remove. + * configure.host: Use i386sco for isc. + * config/i386-sco.mt: Remove, identical to i386-coff.mt. + * config.bfd: Use i386-coff not i386-sco. + + * config.bfd: Recognize i[34]86-*-solaris2* specifically rather + than using *-*-solaris2* (i486-unknown-solaris2 is i386-elf, not + i486-elf which doesn't exist). + +Fri Sep 10 12:56:36 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coffswap.h (coff_swap_aouthdr_out): For ALPHAECOFF, force + padding field to zero. + + * config.bfd (i[34]86-*-netbsd*): New target; use i386-netbsd. + * configure.in: Remove bogus netbsd386 handling. + + * coff-mips.c: Don't warn about overflow for MIPS_R_JMPADDR reloc. + Correct overflow detection requires matching the upper four bits + of the destination against the PC. + +Thu Sep 9 16:57:46 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in: Make 64-bit stuff work with "--with-targets=all". + +Tue Sep 7 14:17:02 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * libbfd-in.h: Removed swapping routines declarations. + * bfd-in.h: Added swapping routine declarations, and renamed them + from _do_* to bfd_*. + * libbfd.c: Renamed swapping routines from _do_* to _bfd_*. + * Changed all callers. + * libbfd.h, bfd-in2.h: Rebuilt. + +Mon Sep 6 15:28:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * elf32-i386.c (elf_howto_table): Set pcrel_offset to true for + R_386_PC32. + +Fri Sep 3 13:06:12 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in: Reorganized setting of makefile variables so + 64-bit stuff works again. + + * libbfd-in.h (_do_get*, _do_put*): Renamed via macros to clean up + namespace. + + * libelf.h (elf32_symbol_type, elf64_symbol_type): Deleted + "native_elf_sym" field, merged to make new type "elf_symbol_type". + (struct elf_obj_tdata): Field symbols is now elf_symbol_type*. + Deleted field raw_syms. + (obj_symbols): Remove cast. + (obj_raw_syms): Deleted. + * elfcode.h (elf_slurp_symbol_table): Don't set raw_syms or + native_elf_sym fields. + * elf32-hppa.c: Changed uses of elf32_symbol_type to + elf_symbol_type. + + From Pete Hoogenboom and Jeff Law: + + * elf32-hppa.c (ELF_MAXPAGESIZE): Define. + + * elf32-hppa.c (elf_hppa_tc_symbol): If the argument relocation + bits are zero (e.g., they specify no relocations), then do not + even bother adding their entries to the symextn section. + + * elf32-hppa.c (elf_hppa_tc_symbol): Any function, regardless + of scope can have an argument relocation stub. + + * elf32-hppa.c: (Elf32_hppa_Stub_description): Rename this + structure and type to elf32_hppa_stub_description. This makes + it consistent with the GNU coding conventions. + (elf32_hppa_stub_description): Added a 'next' field to allow + linking of stub description structures. + (elf32_hppa_stub_description): Added a 'stub_listP' field to + keep track of individual stubs. + (Elf32_hppa_Stub_list, Elf32_hppa_Stub_list_struct): Removed. + Combined with the elf32_hppa_stub_description structure. + (elf32_hppa_stub_name_list): New type to keep track of + individual stubs. + (add_stub): Removed. + (add_stub_by_name): New function. + (find_stub_by_name): New function. + (hppa_elf_build_arg_reloc_stub): Allow reusing stubs that + already exist. + (hppa_elf_build_long_branch_stub): Allow reusing stubs that + already exist. + + * elf32-hppa.c: (retval_mismatches): The direction of argument + relocation was reversed. + (hppa_elf_build_arg_reloc_stub): Return address was not being + restored. + (hppa_elf_arg_reloc_needed_p): Add argument containing caller + argument relocation bits so this function can be used in the check + for plabel stubs. + (hppa_elf_stub_check): Pass caller argument relocation bits into + hppa_elf_arg_reloc_needed_p(). + (hppa_look_for_stubs_in_section): Add check for plabel stubs and + pass caller argument relocation bits into + hppa_elf_arg_reloc_needed_p(). + +Thu Sep 2 00:59:55 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * libhppa.h (hppa_field_adjust): Remove unused `init_value' variable. + + * hosts/delta88v4.h: New for SVR4. + * configure.hosts: Use it. + +Wed Sep 1 14:23:32 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * libaout.h, netbsd386.c: Change M_I386 to M_386_NETBSD. M_I386 + is an SCO pre-define. + +Tue Aug 31 12:50:19 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlmcode.h (nlm_object_p): Set HAS_SYMS if there are external + references. + (nlm_swap_auxiliary_headers_{in,out}): The copyright length is + only one byte. + (nlm_get_symtab_upper_bound): Include debugging symbols in symbol + count. + (nlm_slurp_symbol_table): Make symlength unsigned. Read debugging + symbols as BFD local symbols. + (nlm_write_object_contents): Don't bother writing out exported + symbols more than once; they now appear in the symbol table more + than once (with and without a prefix) if necessary. Set offset + values to be non-zero as NLMLINK does. + +Tue Aug 31 12:07:43 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * libhppa.h: Restore #undefs of e_fsel and other e_* symbols. + +Fri Aug 27 16:43:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * section.c (struct sec): Move position of user_set_vma, and + document it. + (SEC_BALIGN): Disable for now. I don't think it's currently used. + + * elf32-hppa.c (elf_hppa_howto_table): Now static. + (symext_rootP, symext_lastP, global_value, GOT_value, + global_symbol, global_sym_defined, symextn_contents, + symextn_contents_real_size, elf_hppa_stub_rootP, + elf32_hppa_symextn_map, elf32_hppa_symextn_map_size): Rely on + default initialization. + (hppa_elf_gen_reloc_type): Macro "UNDEFINED" doesn't need a + trailing semicolon. + (hppa_look_for_stubs_in_section): Introduce temporaries to make + code more readable in 80 columns. + + * libhppa.h (all functions): Now inline under GNU C. + + More patches from Jeff Law: + + * elf32-hppa.c (AR_WARN): Give argument which caused the + invalid argument relocation. + (AR_UNIMP): Delete unused macro. + (hppa_elf_set_section_contents): Always return a value. + (elf32_hppa_backend_table_processing): Likewise. + (elf32_hppa_backend_section_processing: Likewise. + + * som.c: New file containing SOM specific code extracted + from hppa.c + + * som.h: New file containing SOM specific code extracted + from libhppa.h + + * hppa.c: Deleted. + + * libhppa.h: Delete SOM specific code. Add generic PA + code which can be shared by both SOM and ELF backends. + + * Makefile.in: Replace hppa.c with som.c. elf32-hppa.o + depends on libhppa.h now. + + * configure.in (hppa_vec): Needs som.o module instead of + hppa.o. + + * elf32-hppa.c: Include libhppa.h. Do not define + BYTES_IN_WORD. + + * elf32-hppa.h (hppa_reloc_field_selector_type): Delete + now lives in libhppa.h. + (hppa_reloc_field_selector_type_alt): Likewise. + + * hosts/hppabsd.h: Include <stdlib.h> and <unistd.h>. Do not + define malloc or free. + + * config/hppa-elf.mt (SELECT_ARCHITECTURES): Don't define + SELECT_VECS. + + * elf32-hppa.c (hppa_elf_relocate_unwind_table): Delete unused + variables. + (elf_hppa_reloc_type_lookup): Likewise. + (elf_hppa_tc_make_sections): Likewise. + (hppa_elf_arg_reloc_needed_p): Likewise. + (hppa_elf_build_long_branch_stub): Likewise. + (elf_reloc_map): Delete, no longer used. + (elf_hppa_reloc_map): Likewise. + (elf32_hppa_symextn_map_max_size): Likewise. + (elf32_hppa_get_sym_extn): Abort if type is bogus. + + * elf32-hppa.c (elf32_hppa_backend_fake_sections): Add processing + of the .hppa_unwind section. + +Wed Aug 25 16:13:49 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config.bfd: recognize m88110. + +Tue Aug 24 16:32:35 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + Merged changes from Jeff Law and Pete Hoogenboom at Utah: + + * elfcode.h (elf_section_from_bfd_section): Add detection of + SHT_NOTE sections. + + * elf32-hppa.c: + (hppa_elf_build_long_branch_stub,hppa_elf_long_branch_needed_p): + New functions for support of long branch stubs. + (hppa_elf_stub_check,hppa_look_for_stubs_in_section): Add + check for long branch stubs. + (hppa_look_for_stubs): Unused function. Removed. + (hppa_elf_set_section_contents): Implement a PA/ELF-specific + version of bfd_set_section_contents. + (hppa_elf_long_branch_needed_p): Only output debugging diagnostics + when BFD is configured for debugging. + + * elf32-hppa.c: (elf32_hppa_get_symextn_chain): New function + to return a list of symbols that have non-zero argument + relocation bits. + (hppa_elf_stub_finish): Make sure stub generation is done only + once. + + * elf32-hppa.c: (hppa_elf_stub_reloc): New function for + generation relocation entries within a stub. + (hppa_elf_build_arg_reloc_stub): Corrections to argument + relocation stubs. + + * elf32-hppa.c: New #define's for argument relocation types. + (mismatches, retval_mismatches): Updated to reflect new + argument relocation types. + (CURRENT_STUB_OFFSET): New macro. + + * elfcode.h (map_program_segments): Set the PF_X bit for data + segments. + + * elf32-hppa.c: (elf_hppa_howto_table): Add + R_HPPA_STUB_CALL_17 for support of linker stub generation. + (hppa_elf_reloc): Add support of R_HPPA_STUB_CALL_17 + relocation type. + + * elf32-hppa.h: (elf32_hppa_reloc_type): Add + R_HPPA_STUB_CALL_17 for support of linker stub generation. + + * hppa_stubs.h: Add new instructions that are used in linker + stub generation. + + * elf32-hppa.c (hppa_elf_relocate_unwind_table): The offsets in an + unwind descriptor were incorrect. + + * libelf.h (bfd_elf_find_section): Declare. + + * elf32-hppa.c: (elf32_hppa_backend_symbol_processing): New + function in place of global_sym field in elf_backend_data + structure. + (elf32_hppa_backend_symbol_table_processing, + elf32_hppa_backend_section_processing, + elf32_hppa_backend_fake_sections, + elf32_hppa_backend_section_from_shdr, + elf32_hppa_backend_section_from_bfd_section): New functions to + provide support of symbol extension sections and argument + relocation stubs. + (elf_info_to_howto): Remove call to abort(). + + * elf32-target.h: Support for special processing by the backend. + (struct elf_backend_data): Added elf_backend_symbol_processing, + elf_backend_symbol_table_processing, + elf_backend_section_processing, elf_backend_section_from_shdr, + elf_backend_fake_sections, and + elf_backend_section_from_bfd_section fields. + * elfcode.h: (bfd_section_from_shdr): Add a check for + processor-specific section types. + (elf_fake_sections): Add a check for processor-specific + section types. + (bfd_elf32_write_object_contents): Add a check to see if + there is any final section processing to be done by the + backend. + (elf_section_from_bfd_section): Add a check for + processor-specific section types. + (elf_slurp_symbol_table): Remove reference to global_sym in the + elf_backend_data structure. Replace it with a call to + elf_backend_symbol_processing. + * libelf.h: Remove global_sym field in the elf_backend_data + structure. Replace it with a series of backend-specific + functions. + + * elf32-hppa.c (hppa_elf_stub_branch_reloc): The formal argument + stub_sym should be called target_sym. + (hppa_elf_build_arg_reloc_stub): Refer to the stub bfd (abfd) + rather than the output bfd (output_bfd). + (hppa_elf_reloc): Get rid of references to the global_sym field in + the elf_backend_data structure. + + * elfcode.h (elf_fake_sections): Check the correct condition for + .bss. Also, detect the existence of a .note section. + + * elf32-hppa.c (hppa_elf_relocate_insn): r_format argument should + have been r_field. + + * hosts/hppabsd.h (HOST_MACHINE_ARCH): Reference to bfd_arch_m68k + should be a reference to bfd_arch_hppa. + + * hppa.c (hppa_vec): Replace bfd_false with _bfd_dummy_target in + the bfd_check_format structure to avoid a type mismatch. + +Mon Aug 23 1993 Sean Fagan (sef@cygnus.com) + and Jim Kingdon (kingdon@cygnus.com) + + Add NetBSD support: + * netbsd386.c: New file. + * aoutx.h: Make sym_is_debugger_info true for N_FN. + * Makefile.in, aout-target.h, config.bfd, configure.host, configure.in, + libaout.h, targets.c: Other changes. + +Fri Aug 20 17:04:59 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/m88k-elf.mt: New file. + * config.bfd: Use it for m88*-*-sysv4*. + +Fri Aug 20 15:16:58 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfcode.h (elf_build_phdrs): Unused function deleted. + (bfd_shdr_from_section): Ditto. + (write_relocs): Don't change section contents for addend. + (elf_locate_sh): Return type is now always elf_internal_shdr, + since the other types were really aliases for this type anyways. + Don't compile this function, since it is static and doesn't appear + to be used in this file. + (sym_is_global): Return non-zero for weak symbols. Abort if + section pointer is null. + (swap_out_syms): Reorder tests so function symbols can be weak. + (elf_slurp_symbol_table): Don't use BSF_EXPORT. + (elf_slurp_reloca_table): Make RELOC_PROCESSING section smaller by + extracting out some common code. Abort if BFD section symbol has + null name. + (elf_slurp_reloc_table): Translate ELF section symbols into BFD + section symbols. Don't read section contents to fill in addend + field. + + * elf32-i386.c (elf_howto_table): All partial_inplace fields + should be "true". + + * Merged from OSF: + + Tue Jun 15 14:38:32 1993 Michael Meissner (meissner@osf.org) + + * libelf.h (struct Elf_Sym_Extra): New structure to contain ELF + specific information for a symbol. Put in elf_sym_num, which + gives the external symbol number in the elf object file, since + local symbols must come before global symbols. + (elf_sym_extra): New macro. + (elf_symtab_map): Delete, in favor of using Elf_Sym_Extra. + * elfcode.h (elf_map_symbols): Use Elf_Sym_Extra to map internal + symbol number to external number. Store the address of the + Elf_Sym_Extra field for the symbol in the udata field. + (elf_write_object_contents): Use Elf_Sym_Extra to map out symbols. + + Sun Jun 20 16:30:11 1993 Michael Meissner (meissner@osf.org) + + * elfcode.h (elf_obj_tdata): Add field to count the size of the + array of pointers to section symbols. + (elf_map_symbols): Bump the max index of the section symbols so + that we don't overwrite memory. Store the max index into the + elf_obj_tdata field. + + Sat Jun 19 10:12:27 1993 Michael Meissner (meissner@osf.org) + + * elfcode.h (elf_obj_tdata): Add pointer to an array of pointers + to the section symbols we created. Remove unused field + internal_syms. + (elf_map_symbols): Fill in array of pointers to section symbols. + Only create section symbols for sections that have SEC_ALLOC set, + and have non-zero size. + (elf_symbol_from_bfd_symbol): If udata is NULL, and this is a + section symbol, look up the section in the list of section + symbols, and set the udata pointer appropriately. Otherwise, if + udata is still NULL, fail an assertion, and use 0, instead of + dropping core. + +Fri Aug 20 12:18:05 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config.bfd (mips-*-elfl*, mips-*-elf*): New targets, using + mipslelf and mipsbelf respectively. + * config/mipslelf.mt, config/mipsbelf.mt: New files. + * elf32-mips.c: Added some reloc information. + * configure.in: Fixed error message. + + * ecoff.c (ECOFF_LONG_SIZE): Removed. Just use constants. + +Thu Aug 19 09:45:51 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * Makefile.in (BFD_LIBS, ALL_MACHINES, BFD32_BACKENDS, BFD64_BACKENDS, + OPTIONAL_BACKENDS): Alphabetize entries and add a few missing ones. + * archures.c: Alphabetize decls. + + * configure.in, targets.c: Add missing vectors to the tables. + * targets.c (target_vector) [!SELECT_VECS]: Add DEFAULT_VECTOR. + Remove hp300bsd_vec due to clash with sunos_big_vec. + +Tue Aug 17 18:12:32 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/i386{mach3,osf1mk}.h: New files, for Mach hosting. + * hosts/i386mach.h: removed, replaced by i386osf1mk.h. + * config/i386mach3.mt, i386mach3.c: New files, for Mach a.out format. + * Makefile.in, configure.host, config.bfd: Corresponding changes. + * hosts/decstation.h: Include <sys/param.h> not <machine/param.h>. + +Tue Aug 17 15:19:41 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coffgen.c (coff_section_symbol): If section's output_section is + not yet set, point to itself. This is needed because this is + called on the output file, not the input file. + + * coff-rs6000.c (dummy_reloc, RTYPE2HOWTO): Set howto field to a + dummy value, rather than leaving it NULL. + + * archures.c (bfd_default_set_arch_mach): Set bfd_error on + failure. + * aoutx.h (NAME(aout,set_arch_mach)): Check return value of + bfd_default_set_arch_mach. + +Tue Aug 17 09:42:16 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * config.bfd (cpu): Extract from canonical name with sed. + * configure.in: Don't pass it. + +Sun Aug 15 20:45:45 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * bfd-in.h: Remove {BYTE,WORD,LONG}_SIZE; they are pointless and + BYTE_SIZE conflicts with a Mach header. + * ecoff.c: Change LONG_SIZE to ECOFF_LONG_SIZE and define it. + + * configure.host: Make sure all OS fields end in *. + +Fri Aug 13 16:33:33 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_slurp_reloc_table): Use bfd_abs_section for + RELOC_SECTION_NONE and RELOC_SECTION_ABS. If a reloc section + doesn't exist, don't try to create it. + + * nlmcode.h (nlm_write_object_contents): procedure offsets are + from start of code segment, not start of file. + * config/i386-nlm.mt (DEFAULT_VECTOR): It's nlm32_i386_vec, not + bfd_nlm32_i386_vec. + * configure.in (SELECT_VECS switch): Likewise. + +Thu Aug 12 10:32:47 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * format.c (bfd_check_format): If the target matches the default + target, set match_count to 1, to ignore any previous matches. + + * Makefile.in (BFD32_BACKENDS): Remove srec.o, add reloc16.o. + + * configure.in: Add reloc16.o when we add + coff-h8300.o, coff-h8500.o, coff-sh.o, coff-z8k.o. + Makefile.in (BFD_LIBS): Remove reloc16.o. + + * config/u68k-coff.mt: Fix typo, DEFAULT_TARGET for + DEFAULT_VECTOR. + + * config/h8300-coff.mt, h8500-coff.mt, sh-coff.mt, st2000.mt, + z8k-coff.mt (DEFAULT_VECTOR): Define. Don't explicitly add + S-records via SELECT_VECS. + + * targets.c (target_vector), Makefile.in (BFD_LIBS): Always + support S-records, for convenience. + +Thu Aug 12 08:30:05 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-alpha.c (alpha_howto_table, alpha_finish_reloc, + alpha_ecoff_swap_reloc_{in,out}, alpha_bfd_reloc_type_lookup): + Read and write Alpha relocs. Can't process them yet. + * ecoff.c (ecoff_slurp_reloc_table): Recognize new reloc sections. + If the section does not already exist, create it. + + * ecoffswap.h (ecoff_swap_pdr_{in,out}): Handle new fields defined + on the Alpha. + + * libecoff.h (ecoff_backend_data): Added constructor_reloc and + finish_reloc fields. + * ecoff.c: Move MIPS reloc support from here... + * coff-mips.c: to here. + * ecoff.c (ecoff_set_symbol_info): Get constructor reloc howto + from backend. + (ecoff_slurp_reloc_table): Removed MIPS specific stuff. Call + finish_reloc backend function. + (ecoff_write_object_contents): Removed MIPS specific assertions. + * coff-mips.c (mips_finish_reloc): New function. + (mips_ecoff_backend_data): Fill in new fields. + * coff-alpha.c (alpha_ecoff_backend_data): Use NULL for new + fields. + * targets.c: Added extern for ecoffalpha_little_vec. + + * bfd.c (_bfd_host_big_endian): Removed. + * bfd-in.h (HOST_BYTE_ORDER_BIG_P, bfd_header_twiddle_required): + Removed. + * bfd-in2.h: Regenerated. + +Wed Aug 11 12:11:23 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * config.bfd: New file, broken out of configure.in. + * configure.in: Use it, and use standard target names for + --with-targets, replacing --with-bfd-targets. + + * archures.c (archures_init_table): Add bfd_sh_arch. + + * configure.in: Include coff-m68k.o for m68kcoffun_vec. + Include nlm32.o and nlm.o for bfd_nlm32_i386_vec. + Fix error in error message. + + * oasys.c: Make bfd_error_vector extern. + + * configure.in: Include stab-syms.o for a.out/b.out targets + and hp300{bsd,hpux}. + +Wed Aug 11 06:40:51 1993 Ian Lance Taylor (ian@cygnus.com) + + * nlmcode.h (nlm_compute_section_file_positions): Add the .bss + section before setting output_has_begun. + (nlm_set_section_contents): Remove argument names from + mangle_relocs_func prototype. + (nlm_write_object_contents): Remove shadowing local variable. + Don't write out debugging symbols if debugInfoOffset is -1. Add + the codeImageOffset to the start, exit, and check procedure + offsets. + * nlm32-i386.c (nlm_i386_write_reloc, nlm_i386_mangle_relocs): + Don't check partial_inplace field; its value is irrelevant. + + * Base use of sco-core on host, not target. + * configure.host (i[34]86-*-sco*): Use i386sco rather than i386v. + * config/i386-sco.mt (TDEFINES): Removed. + * config/i386sco.mh: New file to use sco-core. + * hosts/i386sco.h: New file; just includes hosts/i386v.h. + + * ecoffswap.h (ecoff_swap_{hdr,ext}_{in,out}): Use signed + conversions for some fields. + +Tue Aug 10 13:32:23 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_gprel_reloc): If _gp is not defined, give an + error rather than aborting. + + * libnlm.h (struct nlm_backend_data): Added mach field. + (nlm_machine): New accessor macro. + * nlm.c (nlm_mkobject): Set architecture and machine from backend + information. + * nlm32-i386.c (nlm32_i386_backend): Initialize new mach field. + +Tue Aug 10 09:31:18 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * configure.in: Replace calls to sort with shell code + to uniq the lists. + +Tue Aug 10 06:23:16 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in: Include aout32.o for any a.out/b.out formats. + +Mon Aug 9 09:37:18 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * config/i386-linux.mt (SELECT_VECS): Support bfd_elf32_i386_vec. + * config/m68k-elf.mt (SELECT_VECS): Support m68kcoff_vec. + * config/i386-elf.mt (SELECT_VECS): Support i386coff_vec. + * config/hppa-elf.mt (SELECT_VECS): Support hppa_vec. + * config/sparc-elf.mt (SELECT_VECS): Support sunos_big_vec. + * config/i386-sco.mt (SELECT_VECS): Don't define; Ian says it was + just a hack. + +Mon Aug 9 13:15:00 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * config/m88k-coff.mt (DEFAULT_VEC -> DEFAULT_VECTOR): renamed. + +Mon Aug 9 14:26:45 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * syms.c (BSF_EXPORT): Now same as BSF_GLOBAL. + + * bfd.c (bfd_scan_vma): New function. + +Mon Aug 9 11:29:53 1993 Ian Lance Taylor (ian@cygnus.com) + + * bfd-in.h (bfd_get_architecture, bfd_get_machine): Removed + obsolete macros. + * bfd-in2.h: Updated. + + * ecoff.c (ecoff_slurp_armap): Correct bug in initialization of + stringbase. + +Sun Aug 8 12:21:13 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * configure.in: Remove unneeded test. + +Sun Aug 8 12:41:22 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in ({dist,real}clean): Use $(MAKE), not make. + +Sat Aug 7 09:14:21 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * config/st2000.mt (TDEFINES): Don't define MRI; not used. + + * PORTING, TODO, config/README: Update to reflect below changes. + + * configure.in: Replace MINIMIZE and --with-minimal-bfd with + --with-bfd-targets="target1,target2,..." and the special target + "all" to get the previous default behavior. + Figure out which architecture and backend .o files are needed from + DEFAULT_VECTOR, SELECT_VECS, and SELECT_ARCHITECTURES as set in + the .mt files. Define TDEFAULTS based on them, also. + + * Makefile.in: Remove references to MINIMIZE. + * archures.c, targets.c: Ditto. + + * config/*.mt: Define DEFAULT_VECTOR, SELECT_VECS, and + SELECT_ARCHITECTURES as variables rather than as -D arguments to + TDEFAULTS. + + * config/a29k-coff.mt,alphaosf.mt, i386-sco.mt, i960-bout.mt, + i960-coff.mt (TDEFAULTS): Don't put the default vector in + SELECT_VECS manually; it's automatic now. + + * config/i386-sco.mt (TDEFAULTS): Don't put &sco_core_vec in + SELECT_VECS manually; -DSCO_CORE does it automatically now. + + * config/h8300-coff.mt,h8500-coff.mt,sh-coff.mt,st2000.mt,z8k-coff.mt + (TDEFAULTS): Don't define BFD; not used. + + * config/hppaosf.mh (HDEFINES): Don't define SELECT_ARCHITECTURES; + this is a host, not a target. + +Sat Aug 7 05:28:03 1993 Fred Fish (fnf@deneb.cygnus.com) + + * elfcode.h (elf_object_p): Add comment about what this function + does and to watch out for side effects. Add FIXME for memory leaks. + Fix comment about checking for matching byte order. Preserve + pointer to old tdata (if any), and restore it if we don't match + file with target vector. If we are going to use goto's, use them + consistently and maintainably. + * nlmcode.h (nlm_object_p): Expand comments about leaked memory + to note that the problem is even more serious than just leaked + memory. Replace goto with more traditional return. + +Fri Aug 6 12:00:03 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + Fix incorrect or useless makefile variable definitions: + * config/news.mt, config/u68k-coff.mt (TDEFAULTS): Use this to + define DEFAULT_VECTOR, instead of TDEFINES. + * config/i386aix.mh (MINIMIZE): Don't define. + * config/hppaosf.mh (MINIMIZE): Don't conditionalize. + * config/rs6000.mh (ALLOCA), + * config/i386v.mh (ALLOCA), + * config/i386linux.mh (ALLOCA), + * config/i386isc.mh (ALLOCA), + * config/go32.mh (EXTRALIBS): Don't define; not used. + * config/solaris2.mh (HDEFINES): Renamed from H_DEFINES. + * config/alphaosf.mt (TDEFINES): Set it, not HDEFINES. + * config/z8k-coff.mt (CC): Don't define. It's a target, not a host. + + * config/README: New file, explaining the variables. + + * targets.c (target_vector): Add hp300_bsd_vec. + * Makefile.in (BFD32_BACKENDS, CFILES): Add hp300bsd. + (hp300bsd.o): New rule. + +Fri Aug 6 15:13:22 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * libelf.h (NAME): Provide a default definition, that's neither + for 32 bits nor for 64. + + Tue Jun 15 14:38:32 1993 Michael Meissner (meissner@osf.org) + + * libelf.h (elf_hash): Change declaration to bfd_elf_hash, since + that is what is in elf.c. + +Fri Aug 6 12:28:38 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * ecoff.c (ecoff_set_symbol_info): Removed special handling for + scBss and scSBss symbols, since it was wrong. + + * Makefile.in (coff-mips.o, coff-alpha.o): Don't depend on + coffcode.h. + + * coffcode.h (sec_to_styp_flags): Inspired by mb@tti.COM (Michael + Bloom): Only set STYP_BSS for SEC_ALLOC sections. + + * ecoff.c (ecoff_slurp_armap): From Arne Henrik Juul + <arnej@kari.fm.unit.no>: Handle a COFF style armap. + +Fri Aug 6 09:59:45 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hpux-core.c: Cast return value from bfd_zalloc. + +Thu Aug 5 13:22:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * aoutx.h (log2): Delete i387-specific code. + + * Makefile.in (BFD_LIBS): Always include elf.o. + (BFD32_BACKENDS): Don't include elf.o here. + (ofiles): Delete references to ofiles2 and ofiles3. + (do_clean): Delete ofiles. + (BFDIN_H): Changed references to $(srcdir)/bfd-in2.h. + (stmp-bfd.h): Use bfd.h-new as temporary name, not bfd.h2. + (headers): Use bfd-in2.h-new as temporary name, not bfd.h-new. + + * bfd-in.h: Reworded comment to make it clear that bfd-in2.h is a + generated file. + + * reloc.c (enum bfd_reloc_code_real): Added i386-elf reloc types + (from Meissner's additions to bfd-in2.h). + + * elf32-i386.c (ELF_MAXPAGESIZE): Define. + + Merged: + + Wed Jun 23 06:05:58 1993 Michael Meissner (meissner@osf.org) + + * elfcode.h (elf_write_object_contents): Don't drop core if + elf_symbol_from returns a NULL pointer when processing a non-elf + symbol, use a 0 size instead. + + Tue Jun 15 14:38:32 1993 Michael Meissner (meissner@osf.org) + + * elfcode.h (elf_hash): Delete macro mapping elf_hash to + bfd_elf32_hash, since the hash table is independent of the 32/64 + bit system. + + * libelf.h (elf_hash): Change declaration to bfd_elf_hash, since + that is what is in elf.c. + + Sat Jun 19 10:12:27 1993 Michael Meissner (meissner@osf.org) + + * elf32-i386.h (reloc_type): Reformat spacing. + (elf_howto_table): Add the rest of the 386/ELF relocations. + (elf_i386_reloc_type_lookup): Ditto. + (elf_i386_info_to_howto): Ditto. + (elf_i386_info_to_howto_rel): Ditto. + +Thu Aug 5 10:07:43 1993 Fred Fish (fnf@cygnus.com) + + * nlmcode.h (nlm_get_reloc_upper_bound): Test return value + of nlm_slurp_symbol_table as boolean, not pointer. + * nlmcode.h (nlm_canonicalize_reloc): Test return value + of nlm_slurp_reloc_fixups as boolean, not pointer. + +Wed Aug 4 16:22:55 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * config/go32.mh: remove HDEFINES; since __MSDOS__ and __GO32__ + are now predefined by GCC + +Wed Aug 4 16:06:29 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * coffgen.c (coff_print_symbol): Add the section offset to the + line number address, so it's printed the same way as the function + address. Only showed up for line numbers that aren't in the first + section (.text). + +Wed Aug 4 08:33:55 1993 Ian Lance Taylor (ian@cygnus.com) + + * libnlm.h (nlm_backend_data): Added nlm_mangle_relocs. + (nlm_mangle_relocs_func): New macro. + * nlm32-i386.c (nlm_i386_write_reloc): Rewrote correctly. + (nlm_i386_mangle_relocs): New function. + * nlmcode.h (nlm_compute_section_file_positions): Move all common + symbols into the .bss section. + (nlm_set_section_contents): Call the mangle_relocs function. + (nlm_write_object_contents): Treat a reloc against any defined + symbol as an internal reloc. Fix bug in external reloc counting. + Get the offset and debugging type right for .bss symbols. Only + output debugging symbols for defined symbols. + + * coff-h8500.c (rtype2howto): Do an fprintf to stderr rather than + using printf. + * coff-z8k.c (rtype2howto): Likewise. + * coffcode.h (dummy_reloc16_extra_cases): Likewise. + * elf32-i386.c (TRACE): Likewise. + * hp300hpux.c (convert_sym_type, swap_std_reloc_in): Likewise. + * rs6000-core.c (rs6000coff_get_section_contents): Likewise. + * coffgen.c (coff_print_symbol): Do an fprintf to the file + argument rather than using printf. + +Tue Aug 3 18:17:25 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffswap.h: Added macros used when accessing several fields; + default is the same as before. + (coff_swap_aouthdr_{in,out}): Handle the Alpha ECOFF fields. + * coff-alpha.c: Defined macros to use the right sizes in + coffswap.h. + * libecoff.h: Backend information is now in target vector, not + BFD. Start of backend information is COFF backend information. + * coff-alpha.c, coff-mips.c: Changed accordingly. + * ecoff.c (ecoff_mkobject): New function. + (ARMAP_START): Changed into backend information, since Alpha uses + a different name. + (ecoff_slurp_armap): Don't overlay archive header. + * bfd.c: Include libcoff.h. + +Tue Aug 3 16:33:11 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * Makefile.in (install): Fix sh syntax error. + + * aoutf1.h: Make bfd_error_trap extern; it's defined in bfd.c. + +Tue Aug 3 15:19:09 1993 Fred Fish (fnf@deneb.cygnus.com) + + * nlm_slurp_symbol_table: Don't use '&' on arrays. + +Tue Aug 3 11:06:28 1993 Ian Lance Taylor (ian@cygnus.com) + + * ecoff.c: New file for generic ECOFF functions. + * ecoffswap.h: New file for ECOFF swapping functions which differ + only slightly for different targets. + * libecoff.h: Added prototypes for ecoff.c functions. + (ecoff_backend_data): New structure. + (ecoff_tdata): Added backend_data field. Changed external data + pointers to be PTR rather than to a particular struct. + (ecoff_symbol_struct): Moved in from coff-mips.c. + * coff-alpha.c, coff-mips.c: Moved common functions into ecoff.c. + Added ECOFF backend structures. Include ecoffswap.h. + * coff-msym.c: Removed; superseded by ecoffswap.h. + * bfd.c: Include coff/internal.h. + * Makefile.in (BFD_LIBS): Removed coff-mips.o and coff-msym.o. + Added ecoff.o. + (BFD64_BACKENDS): Added coff-alpha.o. + (CFILES): Removed coff-msym.c. Added ecoff.c. + (bfd.o): Added dependency on $(INCDIR)/coff/sym.h. + (coff-mips.o): Added dependency on ecoffswap.h and coff/ecoff.h. + (ecoff.o, coff-alpha.o): New targets. + (coff-msym.o): Removed target. + +Mon Aug 2 23:33:38 1993 John Gilmore (gnu@cygnus.com) + + * elf32-hppa.h, hosts/*: Remove (one more time) all occurrances + of EXFUN in the BFD sources. Heave ho! + +Mon Aug 2 16:45:57 1993 Stu Grossman (grossman at cygnus.com) + + * coffcode.h (coff_set_arch_mach_hook): Add check for I386LYNXMAGIC. + +Mon Aug 2 12:18:03 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * hosts/sun3.h: remove some more conflicting decls + +Mon Aug 2 11:48:23 1993 Stu Grossman (grossman at cygnus.com) + + * i386lynx.c: Remove unnecessary def of N_HEADER_IN_TEXT, + redefine TEXT_START_ADDR to be 0. + +Sun Aug 1 22:54:08 1993 Stu Grossman (grossman at cygnus.com) + + * configure.host, configure.in, hosts/i386lynx.h: Lynx/386 + host and target info. + +Fri Jul 30 18:08:27 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * nlm32-i386.c: New file. First cut at i386 NLM code. + * libnlm.h: Added some more prototypes. + (struct nlm_relent): New structure. + (nlmNAME(symbol_type)): Added rcnt and relocs fields. + (struct nlm_obj_tdata): Added new fields: nlm_symbols, + nlm_text_low, nlm_data_low, nlm_reloc_fixups, + nlm_reloc_fixup_secs. + (struct nlm_backend_data): New structure, with accessor macros. + * nlmcode.h: Use NLM_HIBIT rather than MSB. + (nlm_object_p): Set SEC_RELOC for .text and .data. Don't set + SEC_DATA for .bss. Set HAS_RELOC and HAS_SYMS for abfd. Set the + architecture. + (nlm_swap_fixed_header_out, nlm_swap_variable_header_out, + find_nonzero, nlm_swap_auxiliary_headers_out): New outbound + swapping functions. + (nlm_get_symtab_upper_bound, nlm_slurp_symbol_table): Include + external references in symbol table as undefined symbols. + (nlm_get_symtab, nlm_slurp_symbol_table): Fill in alocation + argument in get_symtab rather than in slurp_symbol_table. + (nlm_slurp_symbol_table): Save symbol information in tdata. + (nlm_print_symbol): New function. + (nlm_slurp_reloc_fixups, nlm_get_reloc_upper_bound, + nlm_canonicalize_reloc): New functions to read relocs. + (nlm_compute_section_file_positions, nlm_set_section_contents, + nlm_external_reloc_compare, nlm_write_object_contents): New + functions to create NLM files. + * nlm-target.h: Define all the nlm functions here either as + default values or in terms of nlmNAME. Use JUMP_TABLE(nlm). Set + the backend_data field to TARGET_BACKEND_DATA. + * nlm32-gen.c, nlm64-gen.c: Don't define function macros here; + they are now in nlm-target.h. + (TARGET_BACKEND_DATA): Define as NULL. + * nlm.c (nlm_mkobject): Do allocate the tdata field. + (nlm_set_arch_mach): New function. + * targets.c: Added nlm32_i386_vec. + * Makefile.in (BFD32_BACKENDS): Added nlm32-i386.o. + (CFILES): Added nlm32-i386.c. + (nlm32-gen.o, nlm64-gen.o): Depend on nlm-target.h. + (nlm32-i386.o): New target. + +Thu Jul 29 20:20:39 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * hosts/sun3.h: remove some function decls that conflict w/ ANSI + C, and aren't needed anyway (return int) + +Wed Jul 28 15:46:38 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfcode.h: Use casts with bfd_alloc and alloca. + +Tue Jul 27 12:51:43 1993 Fred Fish (fnf@deneb.cygnus.com) + + * nlm{32,64}-gen.c (JUMP_TABLE_PREFIX): Delete. + * nlm{32,64}-gen.c (JUMP_TABLE_INIT): New macro that works with + older cpp's, that don't do additional replacement on the JUMP_TABLE + macro's argument. + * nlm-target.h (JUMP_TABLE_INIT): Use new macro in place of + JUMP_TABLE macro. + +Mon Jul 26 17:39:01 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + Yet another trad-core variant: + * config/esix.mh, hosts/esix.h: New files. + * configure.hosts: Use them. + +Mon Jul 26 13:22:15 1993 Ian Lance Taylor (ian@cygnus.com) + + * reloc.c (bfd_perform_relocation): Handle the case of + complain_overflow_bitfield, rightshift > bitpos, and a negative + number. + +Mon Jul 26 14:40:10 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfcode.h: Reimplement segment writing. + (elf_write_phdrs): Use precomputed e_phoff rather than making + assumptions. + (elf_build_phdrs): Disabled, for now. + (assign_file_position_for_section): Don't change file offset for + SHT_NOBITS. + (assign_file_positions_for_symtab_and_strtabs): New function. + (struct seg_info): New type. + (map_program_segments): New function. + (assign_file_positions_except_relocs): For executables, leave + section headers &c for last, and properly align all sections with + flag SHF_ALLOC set. + (prep_headers): No longer abort when EXEC_P is set. + (write_shdrs_and_ehdr): Deleted all code relating to program + segments. + + * elfcode.h (various): Deleted some unused code, and debugging + "malloc(0)" calls. + (write_relocs): Cache value of last symbol looked up, to save + time if the symbol is referred to repeatedly. + (elf_fake_sections): Check only SEC_RELOC flag, not number of + relocs. + (assign_section_numbers): Likewise. + + * Makefile.in (ofiles): Stars in wildcards belong outside quotes. + + * libelf.h (struct elf_backend_data): New field, maxpagesize. + (struct elf_obj_tdata): New field, phdr. + * elf32-target.h (elf32_bed): Initialize maxpagesize from + ELF_MAXPAGESIZE. + (ELF_MAXPAGESIZE): Default to 1. + * elf64-target.h (elf64_bed, ELF_MAXPAGESIZE): Likewise. + * elf32-sparc.c (ELF_MAXPAGESIZE): Define. + (elf_sparc_howto_table): All relocs should have pcrel_offset=true. + Most should have length field of `2'. + + * reloc.c (bfd_perform_relocation): Handle 64-bit relocs. + + * config/sparc-aout.mt (TARGET_BACKENDS): Define. + +Mon Jul 26 08:56:16 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in: Don't look in ${srcdir} for ${target_makefile_frag}; + the top level script has already adjusted for it. + +Mon Jul 26 08:09:19 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * srec.c (srec_write_symbols): Get CR LF in the right order. + +Mon Jul 26 02:08:41 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/vaxbsd.h: Include std-host.h. Don't include <machine/param.h>. + +Sat Jul 24 16:13:01 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * reloc.c (bfd_perform_relocation): Handle case of rightshift != + bitpos when overflow checking. + +Fri Jul 23 10:20:27 1993 Doug Evans (dje@canuck.cygnus.com) + + * bfd.c (bfd_nonrepresentable_section, bfd_undefined_symbol, + bfd_reloc_value_truncated, bfd_reloc_is_dangerous, bfd_assert): + Send error messages to stderr. + +Thu Jul 22 15:57:29 1993 Fred Fish (fnf@deneb.cygnus.com) + + * nlm{32,64}-target.h: Remove. + * nlm-target.h: New file, merged from nlm{32,64}-target.h + * libnlm.h (NLM_ARCH_SIZE): Define to ARCH_SIZE. + * nlm.c (ARCH_SIZE): Remove define to zero. + * nlm32-gen.c (ARCH_SIZE): Define to 32. + * nlm32-gen.c (JUMP_TABLE_PREFIX): Define to nlm32. + * nlm{32,64}-gen.c (nlm-target.h): Include. + * targets.c, libnlm.h, nlm.c, nlm{32,64}-gen.c, nlm{32,64}.c, + nlmcode.h: Convert prefixes from bfd_nlm<size> to just + nlm<size>, and use macros select size. + +Thu Jul 22 15:40:14 1993 K. Richard Pixley (rich@sendai.cygnus.com) + + * Makefile.in (Makefile): add configure.in, drop redundant + $(srcdir), drop redundant ./ + +Thu Jul 22 13:34:57 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * hpux-core.c: New file; backend for HP/UX style core files. + * bfd.c (struct _bfd): Renamed hppa_core_data field to + hpux_core_data. + * bfd-in2.h: Updated. + * hppa.c (make_bfd_asection, hppa_core_file_p, + hppa_core_file_failing_command, hppa_core_file_failing_signal, + hppa_core_file_matches_executable_p): Moved into hpux-core.c. + Removed from target vector. + * libhppa.h (struct hppa_core_struct and accessor macros): Moved + into hpux-core.c. + * targets.c: If HPUX_CORE is defined, add hpux_core_vec to + target list. + * config/hp300.mh (HDEFINES): Set to -DHPUX_CORE. + (HDEPFILES): Set to hpux-core.o. + * config/hppabsd.mh, config/hppahpux.mh: Likewise. + * hosts/hp300.h (HOST_HP300HPUX): Define. + * Makefile.in (OPTIONAL_BACKENDS): Added sco-core.o, + aix386-core.o, hpux-core.o. + (sco-core.o, aix386-core.o, hpux-core.o): New dependencies. + + * reloc.c (enum complain_overflow): New enumeration with the + various flavours of overflow checking. + (srtuct reloc_howto_struct): Changed complain_on_overflow field + from boolean to emum complain_overflow. Removed obsolete absolute + field. + (HOWTO): Removed absolute argument. + (bfd_perform_relocation): Do overflow checking on all types of + fields. + * bfd-in2.h: Updated accordingly. + * all targets: Updated initialization of reloc howto tables. + +Wed Jul 21 20:34:34 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * opncls.c (bfd_create): Don't use C++ keyword "template" as a C + variable name. + +Tue Jul 20 15:02:23 1993 Fred Fish (fnf@deneb.cygnus.com) + + * coff-m68k.c (m68k_howto2rtype): Make arg CONST to match callers. + + * elfcode.h: Fix several illegal pointer combination warnings for + usages of bfd_alloc and alloca. + + * libnlm.h (nlm_obj_tdata): Rename hidden struct members to avoid + apparent Sun C preprocessor recursion. Fix access macros. + * nlmcode.h: Remove spurious '&' before several array references. + +Tue Jul 20 14:36:27 1993 Jim Kingdon (kingdon@deneb.cygnus.com) + + * Rename for DOS uniqueness: coff-m68k-un.c -> coff-u68k.c + config/m68k-coffun.mt -> u68k-coff.mt. + * Makefile.in, configure.in: Corresponding changes. + +Tue Jul 20 16:21:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf32-sparc.c (elf_sparc_howto_table): Don't use "&" before + function name; it's valid without, and some compilers give + warnings with it there. + +Tue Jul 20 08:21:15 1993 Fred Fish (fnf@deneb.cygnus.com) + + * bfd-in.h: Apply some of the changes that were made to bfd-in2.h. + * bfd.c (union tdata): Add nlm_obj_data; + * targets.c (enum target_flavour): Add bfd_target_nlm_flavour. + +Mon Jul 19 20:46:18 1993 Fred Fish (fnf@deneb.cygnus.com) + + * configure.in (*-*-netware, i[34]86-*-netware): New configs. + * Makefile.in (BFD32_BACKENDS): Add nlm.o, nlm32.o, nlm32-gen.o. + * Makefile.in (BFD64_BACKENDS): Add nlm64.o, nlm64-gen.o. + * Makefile.in (CFILES): Add nlm{32,64}.c, nlm{32,64}-gen.c. + * Makefile.in (nlm.o, nlm{32,64}.o, nlm{32,64}-gen.o: New targets. + * bfd-in2.h (INLINE): Defines moved here. + * {aoutx.h, elf.c, elfcode.h}: Move INLINE defines to bfd-in2.h. + * libelf.h (CAT4): Move define to bfd-in2.h. + * bfd-in2.h (CAT4): Merge CAT4 macro with other CAT macros. + * bfd-in2.h (union tdata): Add nlm_obj_data. + * bfd-in2.h (enum target_flavour): Add bfd_target_nlm_flavour. + * targets.c (bfd_nlm{32,64}_{big,little}_vec): Add prototypes. + * targets.c (target_vector): Add bfd_nlm{32,64}_{big,little}_vec. + * (libnlm.h, nlm.c, nlmcode.h, nlm{32,64}-gen.c, + nlm{32,64}-target.h, nlm{32,64}.c, config/i386-nlm.mt): New files + for NLM support. + +Mon Jul 19 15:09:01 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) + + * configure.{hosts,in}: add i[34]86-*-lynxos* support + +Mon Jul 19 14:53:30 1993 Ken Raeburn (raeburn@rtl.cygnus.com) + + * elf.c, elfcode.h, libelf.h: Serious reorganization. + Deleted `thunk' structure, merged into tdata, duplicate data + eliminated. + Rearranged functions, grouping by functionality. + Broke up many functions in elfcode.h, re-ordered many parts of + file writing to handle unpredictable state of section relocation + table as provided by various applications. + Still needs cleanup: Merge functions back together, split out + data structure with only data that is used only when writing out + object file. + + * elf.c (bfd_elf_generic_reloc): New function, taken from + coff-mips.c. + * elf32-sparc.c (elf_sparc_howto_table): Use it, to work around + bfd_perform_relocation lossage. + + * Makefile.in (BFD_LIBS): Include coff-mips.o and coff-msym.o, so + that gdb will link. + (ofiles): Don't use sort or uniq; do it with sh constructs. + +Sun Jul 18 19:42:14 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * coffcode.h: Recognize I386PTXMAGIC. + * aoutf1.h, libaout.h: Add M_386_DYNIX. + * trad-core.c (TRAD_CORE_USER_OFFSET, TRAD_CORE_STACK_FILEPOS): + New macros; use it if defined. + * config/symmetry.mh, hosts/symmetry.h: New files. + +Fri Jul 16 14:56:31 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * Rename elf{32,64}-generic.c to *-gen.c for 14 char filenames. + * Makefile.in: Change accordingly. + (CFILES): Add elf64-gen.c. + +Fri Jul 16 09:53:23 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c: Use MIPS_AOUT_{OZ}MAGIC rather than {OZ}MAGIC. + +Thu Jul 15 16:02:07 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-m88k.c (howto_table): Corrected bitsize for R_PCR26L from + 16 to 26. + +Wed Jul 14 15:29:56 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hppa.c [HOST_HPPABSD]: Use hpux-style core files. + * libhppa.h [HOST_HPPABSD]: Include hpux version of core.h + +Wed Jul 14 09:30:48 1993 Doug Evans (dje@canuck.cygnus.com) + + * configure.in: Recognize h8300h-*-*. + +Tue Jul 13 12:03:00 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * coff-h8500.c (reloc_processing, rtype2howto): New relocation + type R_H8500_HIGH_16. + * coff-sh.c (r_imm32): Get the width of the reloc right. + +Tue Jul 13 16:48:56 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) + + * configure.in: Add new target m68k-coffun to the dpx/2. + * config/m68k-coffun.mt: New file, renamed from config/dpx2.mt. + +Mon Jul 12 10:42:49 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * reloc.c (enum bfd_reloc_code_real): Move SPARC_BASE13 reloc into + sparc-aout-specific list. + + * libelf.h (struct elf_obj_tdata): Add field `thunk'. + + * config/sparc-elf.mt (TARGET_BACKENDS): New make variable. + +Thu Jul 1 14:52:47 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) + and Jim Kingdon (kingdon@cygnus.com) + + * elfcode.h: Use memset not bzero. + * trad-core.c: Don't include <sys/file.h>. + * i386linux.h: Include <sys/file.h>. + * coff-m68k-un.c: new file to handle names with underscores on + svr3 machines. + * coff-m68k.c (m68k_rtype2howto): added #ifdef ONLY_DECLARE_RELOCS + to not duplicate the function in the executable. + (TARGET_SYM, TARGET_NAME, NAMES_HAVE_UNDERSCORE): new macros needed + by coff-m68k-un.c. + * coffcode.h (MC68KBCSMAGIC): case added. + * targets.c: Add m68kcoffun_vec. + * configure.host: added support for Bull dpx/2. + * config/dpx2.mh, hosts/dpx2.h: new files. + * Makefile.in: added target coff-m68k-un. + +Fri Jul 9 00:43:06 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * aoutf1.h: Add definition of MACHTYPE_OK. + +Thu Jul 8 14:37:44 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * reloc.c (bfd_perform_relocation): Don't subtract the addend + again for coff. + + * syms.c, bfd-in2.h: Doc fix. + + * coffcode.h (CALC_ADDEND): Check for common section using the + section flag as well as the symbol flag. + +Thu Jul 8 13:43:52 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/i386bsd.h: Conditionalize HOST_STACK_END_ADDR on __bsdi__. + i386bsd.c: Remove defines of N_TXT*; the versions in aout64.h should + be sufficient. Define TEXT_START_ADDR. + +Wed Jul 7 10:56:21 1993 Ian Lance Taylor (ian@cygnus.com) + + * aoutx.h (translate_from_native_sym_flags): Removed statep + argument. Just let an indirect symbol point to the next symbol + without forcing the next symbol to be undefined. Changed all + callers. + * hp300hpux.c (slurp_symbol_table): Changed call to + translate_from_native_sym_flags. + * targets.c: Added hp300hpux_vec. + * Makefile.in (hp300hpux.o): Added dependencies. + +Tue Jul 6 13:24:55 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * reloc.c (enum bfd_reloc_code_real): Put simple power-of-two + relocs together, and add 64-bit versions. + (bfd_generic_get_relocated_section_contents): Argument to alloca + is size_t. + + * libbfd.c (bfd_xmalloc_by_size_t): New function. + * opncls.c (bfd_cache_init, bfd_open_file): Add prototypes to + declarations. + (obstack_chunk_alloc): Use bfd_xmalloc_by_size_t. + (new_bfd): Prototype-style definition, using DEFUN. + (bfd_alloc_grow, bfd_alloc, bfd_zalloc, bfd_realloc): Size + argument is type size_t, not bfd_size_type. + * ieee.c (obstack_chunk_alloc): Use bfd_xmalloc_by_size_t. + * bfd.c (bfd_default_error_trap, bfd_error_trap, + bfd_error_nonrepresentabltrap): Prototypes. + * libbfd-in.h (bfd_alloc, bfd_zalloc, bfd_realloc, + bfd_alloc_grow): Adjusted prototypes for arg type change. + * archive.c (get_elt_at_filepos, do_slurp_bsd_armap, normalize, + do_slurp_coff_armap, bfd_construct_extended_name_table): + Prototypes. + * elfcode.h (elf_string_from_elf_strtab): Prototypes. + * libelf.h (elf_string_from_elf_section, elf_get_str_section): + Prototypes. + + * Makefile.in (ALL_MACHINES): Renamed from BFD_MACHINES. + (ofiles): New target. Build a list of unique file names, in case + any got duplicated. + (TARGETLIB): Use list of files from ofiles. + * configure.in: Set BFD_MACHINES and BFD_BACKENDS depending on + minimal-bfd flag and target makefile frag contents. + + * elfcode.h (elf_read): Delete static declaration, since function + has moved. + (elf_map_symbols): Write out section symbols for all sections, for + now. + (elf_symbol_from_bfd_symbol): Allow match if both symbols are + section symbols for the same section. + (elf_find_nearest_line): Don't print message, just return false. + + * libelf.h (bfd_elf_locate_sh): Declaration deleted. + +Mon Jul 5 16:48:11 1993 Doug Evans (dje@canuck.cygnus.com) + + * cpu-h8300.c (h8300_scan): Fix parsing of architecture string. + +Fri Jul 2 18:27:00 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * Makefile.in (clean): Remove bfd.h and stmp-bfd.h. + (realclean): Remove generated headers. + +Fri Jul 2 14:51:51 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * section.c (bfd_set_section_content): Deny if file is not opened with + the proper mode, set output_has_begun if file is openened for update. + * aoutx.h (aout_*_set_section_content): Remove checks that are now + done in bfd_set_section_content. + +Fri Jul 2 09:25:20 1993 Ian Lance Taylor (ian@cygnus.com) + + * hosts/std-host.h: Removed declarations of printf, fprintf, + fcntl, fread and fwrite. They are all error prone for one reason + or another. Changed declaration of memchr from char * to PTR. + + * configure.in (mips-*-riscos*): New target; use riscos. + * configure.host (mips-*-riscos*): New host; use riscos. + * config/riscos.mh (HDEFINES): Add -G 4. + + * libaout.h (GET_SWORD): Use the bfd_h_get_signed entry points + rather than casting the result of bfd_h_get. + +Fri Jul 2 10:13:48 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in, hosts/delta68.h, config/delta68.mh: Add stuff for + Motorola Delta 68. + +Wed Jun 30 06:02:43 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * targets.c (bfd_elf64_{big,little}_generic_vec): Declare, and + include in search list if BFD64 is defined. + + * libelf.h (CAT4): Added a version for Saber-C, ANSI mode. + (bfd_elf64_*): Declarations for 64-bit versions of many routines. + +Tue Jun 29 22:50:59 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf64-target.h, elf64-generic.c: New files. + * Makefile.in (BFD64_BACKENDS): Include elf64-generic.o. + (elf64-generic.o): List dependencies. + + * Makefile.in: List target `all' explicitly before host/target + makefile fragments are included, in case they define any new + targets. + + * elfcode.h (ELF_R_INFO, ELF_R_SYM): Define as 32- or 64-bit + versions as appropriate. Uses updated. + (elf_debug_section): Declare before use. + (elf_debug_file): New function. + (bfd_section_from_shdr, bfd_shdr_from_section, elf_fake_sections): + Alignment value in section header is n_bytes, not log2. + (new_section_hook): Do nothing for now. + (bfd_section_from_shdr): Use Elf_External_Rel[a], not 32-bit + version explicitly. + (elf_core_file_p): Simplify check for correct class (word size). + (elf_make_sections, elf_fake_sections, elf_write_object_contents): + Initialize all fields when creating data structures. + (elf_locate_sh): Renamed from bfd_elfXX_locate_sh, made static. + (elf_compute_section_file_positions): Set correct class in output + file. + (elf_write_object_contents): Section symbols have empty names in + output file. + + * libbfd.c (bfd_xmalloc, zalloc): Be sure to cast malloc, memset + args to size_t before call. + (bfd_add_to_string_table): Cast zalloc arg to bfd_size_type. + +Tue Jun 29 10:49:42 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_find_nearest_line): If procedure has no line + number information, return 0 for line number. + +Mon Jun 28 10:45:02 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * aoutx.h (some_aout_object_p): If *oldrawptr is non-NULL, copy it + into *rawptr. + +Sun Jun 27 09:05:19 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/riscos.h: Define NBPG and UPAGES. + +Sun Jun 27 16:28:26 1993 Ken Raeburn (raeburn@cygnus.com) + + * elfcode.h (elf_slurp_symbol_table): Don't use obj_raw_syms as + lvalue; it contains a cast. + +Fri Jun 25 17:09:55 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (hash, compare, struct stringtab_entry, add_to_stringtab): + Use unsigned hash values for better hashing. + (hash): Hash in the string length for long strings. + +Thu Jun 24 15:47:51 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (compare): Replace 3 if's with a subtraction. + (translate_to_native_sym_flags, add_to_stringtab): Reorder tests + in decreasing order of success, as an optimization. + (hash): Take a length arg; ignore chars after #25, for speed. + (add_to_stringtab): Pass length to hash. + +Thu Jun 24 17:25:51 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * elf32-sparc.c (sparc_reloc_map): Add SPARC_WDISP22 reloc. + + * elfcode.h (elf_new_section_hook): Do nothing for now. + (elf_write_object_contents): Output common symbols the way ELF + wants them. + +Wed Jun 23 16:20:07 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * libelf.h (struct elf_obj_tdata and associated macros): Moved + here from elfcode.h. A couple of size-specific structure pointers + were changed to PTR; uses fixed appropriately. + (elf32_symbol_type, elf64_symbol_type): Separated definitions. + (bfd_elf_mkobject): Renamed from bfd_elf32_mkobject. + (bfd_elf32_mkobject, bfd_elf64_mkobject, elf_mkobject): New + temporary macros to ease name change. + * elf.c (elf_read, elf_mkobject, elf_get_str_section, + elf_string_from_elf_section, bfd_elf_find_section): Moved here + from elfcode.h. + * doc/Makefile.in (libbfd.h): Process elf.c too. + * Makefile.in (elf.o): Note new dependencies. + + * elfcode.h: Lots of stuff moved elsewhere. Deleted some unused + code, tweaked some debug hooks. + (elf_slurp_reloca_table): Translate ELF section symbols into BFD + section symbols. + +Wed Jun 23 11:34:21 1993 Jim Kingdon (kingdon@cygnus.com) + + * hosts/riscos.h: New file. + +Tue Jun 22 14:35:20 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * elfcode.h (bfd_section_from_shdr, case SHT_PROGBITS): Even if + section already exists, use its pointer to fill in rawdata slot. + +Tue Jun 22 16:36:51 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * hosts/std-host.h: Return value of puts and fputs is int not void. + +Tue Jun 22 14:25:58 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * aoutx.h (howto_table_ext): Comment the field names. + * reloc.c (bfd_perform_relocation): Fix max and min values. + +Mon Jun 21 18:19:14 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * elf32-target.h, elf32-hppa.c, elfcode.h: Use new + size-independent elf internal data structures. + * elfcode.h (put_word, get_word): Define as appropriate for + architecture word size. Structure swapping functions changed to + use them as appropriate. + + * configure.in: If compiling 64-bit back ends, do them before + 32-bit ones. + + * libelf.h: Use new size-independent versions of elf internal data + structures. + (symbol_type): Reordered to put any fields dependent on target + size at the end. + (elf_backend_data): Renamed from elf##_backend_data and made + size-independent. + (elf_sect_thunk): Now size-independent. + + * libbfd.c (bfd_log2): Now returns unsigned int. + +Mon Jun 21 12:30:47 1993 Jim Kingdon (kingdon@cygnus.com) + + * Rename config/m88k-aout.mt to config/noop.mt. + configure.in: Use it for mips-*-bsd*. + +Sun Jun 20 20:32:19 1993 Ken Raeburn (raeburn@poseidon.cygnus.com) + + * cpu-m68k.c (arch_info_struct): Eliminate "partially bracketed + initializer" warning from gcc. + * cpu-h8500.c (arch_info_struct): Likewise. + * cpu-sh.c (arch_info_struct): Likewise. + + * cpu-h8300.c (local_bfd_reloc_type_lookup, howto*_callback, + howto_*): Unused functions and variables commented out. + * cpu-z8k.c (local_bfd_reloc_type_lookup, howto*_callback, + howto_*): Likewise. + * cpu-h8500.c (compatible): Likewise. + * cpu-sh.c (compatible): Likewise. + + * hp300hpux.c (swap_std_reloc_in): Delete unused variables. + Always set a valid length value, even for invalid input. + + * srec.c (srec_write_symbols): Use sprintf_vma. + + * bfd-in.h (uint64_typeLOW, uint64_typeHIGH, int64_type, + uint64_type): Provide default definitions. + * hosts/std-host.h (int64 stuff): Remove them from here. + + * bfd-in.h (sprintf_vma): Define parallel to fprintf_vma. + + * elf32-i386.c (elf_i386_reloc_type_lookup): Delete unused + variable. Added default case to switch. + + * aoutx.h (translate_from_native_sym_flags): Before casting + pointers to integers, make sure the integer type is wide enough. + * coff-mips.c (ecoff_set_symbol_info): Ditto. + + * section.c (bfd_get_section_contents): Since `count' is unsigned, + don't bother comparing for less-than-zero. + (bfd_set_section_contents): Ditto. + + * elfcode.h (bfd_add_to_strtab): Now static. + (sym_is_global): New function. + (elf_map_symbols): Call it. Now returns void. Removed unused + local variable. + (bfd_section_from_shdr): Mark string tables other than for section + and symbol names as normal sections having contents. + (fix_up_strtabs): New function; fixes up ELF header fields for + stab sections with string tables associated. + (elf_write_object_contents): Map fix_up_strtabs over all BFD + sections. Reordered condition tests for symbol flags; default to + local-object value instead of global-object. + (elf_symbol_from_bfd_symbol): Hid conditionally-used variable + inside condition test. + (elf_print_symbol): Use fprintf_vma. + (elf_idx_of_sym, bfd_shdr_from_section): Unused functions + commented out. + + * bfd-in.h (int64_type, uint64_type): Define these if we fall + back to "long long" for HOST_64_BIT. + + * libelf.h (elfNAME, ElfNAME): New versions to get desired results + without using invalid ANSI C preprocessing tokens. + + * elf32-target.h (bfd_elf32_new_section_hook): Delete macro. + * libelf.h (bfd_elf32_new_section_hook): Declare. + * elfcode.h (new_section_hook): Define here. + + * hosts/sparc.h, hosts/std-host.h, hosts/i386bsd.h: Protect + against multiple inclusions. + + * hosts/news.h: Include hosts/std-host.h, not plain std-host.h. + + * Makefile.in (bfd.h): Generate into current directory by grabbing + 64-bit definition (if any) from sysdep.h. + * bfd-in.h: Put in marker for sysdep.h inclusion. + +Fri Jun 18 19:57:23 1993 David J. Mackenzie (djm@thepub.cygnus.com) + + * reloc.c (bfd_perform_relocation): Check for overflow on + pc-relative relocations if the howto asked for it. + +Fri Jun 18 16:00:20 1993 Jim Kingdon (kingdon@cygnus.com) + + * Makefile.in (stmp-bfd.h): Ignore nonzero exit status from grep. + +Fri Jun 18 16:54:29 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/riscos.m{h,t}: New files. + * configure.{host,in}: Use them. + +Fri Jun 18 12:55:10 1993 K. Richard Pixley (rich@cygnus.com) + + * elf32-mips.c: comment change. This is a mips file, not 88k. + +Mon Jun 14 14:02:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * cache.c (bfd_cache_init): Increment open_files and call close_one + if necessary. + (bfd_open_file): Don't increment open_files here. + +Fri Jun 18 10:00:14 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/delta88.mh: Don't set CC. + + * Makefile.in: Add elf32-{mips,m88k,generic}. + elf32-{mips,m88k,generic}.c: New files. + targets.c (target_vector): Include bfd_elf32_{mips,m88k,generic}_vec. + elfcode.h (elf_object_p): Match elf32-generic for all machines which + don't match a different target. + +Fri Jun 18 03:12:12 1993 John Gilmore (gnu@cygnus.com) + + Eliminate "int8_type", "int16_type", "int32_type", and their + variants from the BFD universe. Leave the 64-bit types for now, + since they are in flux. + + * aoutx.h, hp300hpux.c: Eliminate needless (int32_type) casts. + * libaout.h (GET_SWORD): Convert (int32_type) to (int). + * ieee.c: Convert uint8e_type => unsigned char. + * oasys.c: Extensive changes to eliminate obsolete types. + These depend on changes in ../include/oasys.h as well. + * hosts/*.h: Remove declarations of all these types. + +Mon Jun 14 14:02:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * hosts/delta88.h: #if 0 out some declarations which conflict with + system headers. + +Mon Jun 14 17:08:18 1993 david d `zoo' zuhn (zoo at rtl.cygnus.com) + + * Makefile.in (install): remove parentdir cruft + +Mon Jun 14 19:04:09 1993 Stu Grossman (grossman@cygnus.com) + + * hppa.c (hppa_get_symbol_info): Remove redundant copy. + * Expurgate random DEFUNs that have crept in. + +Mon Jun 14 10:23:53 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): Constructor sections should + only be aligned to a 4 byte boundary. + +Sat Jun 12 16:13:17 1993 Jim Kingdon (kingdon@cygnus.com) + + * hosts/std-host.h (struct int64e_struct): Remove needless typedef + keyword. + +Fri Jun 11 14:25:34 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * aoutf1.h (sunos4_write_object_contents): set flags to 1, breaking + 1927 but fixing some other important things. + +Thu Jun 10 20:36:22 1993 Doug Evans (dje@canuck.cygnus.com) + + * hosts/std-host.h (int64e_type): Fix definition. + +Thu Jun 10 11:48:28 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_sec_to_styp_flags): Use STYP_MIPS_INIT for + section named _INIT. Don't set STYP_TEXT unless SEC_CODE is set. + (ecoff_styp_to_sec_flags): Treat a STYP_MIPS_INIT section like + a STYP_TEXT section. + +Wed Jun 9 16:48:13 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in (install, headers): don't put comments after a tab + in the actions section of a rule + +Wed Jun 9 15:00:01 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_mkobject_hook): Mark ZMAGIC files as D_PAGED. + (ecoff_write_object_contents): If not D_PAGED, don't add the + section headers to text_size. If not D_PAGED, set the magic + number to OMAGIC rather than ZMAGIC. If creating a D_PAGED + executable, the executable must fully occupy an even number of + pages. + (ecoff_set_symbol_info, make_bfd_asection, ecoff_little_vec, + ecoff_big_vec): Consistently set section alignment power to 4, + since ECOFF sections should be multiples of 16 bytes. + (ecoff_little_vec, ecoff_big_vec): Added D_PAGED to object_flags. + Made ar_pad_char and ar_max_namelen agree for both. + +Tue Jun 8 20:28:02 1993 Mark Eichin (eichin at tweedledumber) + + * elfcode.h (elf_slurp_symbol_table): subtract section vma from + symbol value, since bfd symbols are section relative, but ELF + symbols aren't. + +Tue Jun 8 12:08:27 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * cpu-i960.c, cpu-h8300.c (compatible): Make static. + +Tue Jun 8 14:27:56 1993 Jim Kingdon (kingdon@rtl.cygnus.com) + + * hosts/news.h, config/news.mh: New files. + +Tue Jun 8 12:08:27 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * bfd-in2.h, archures.c (bfd_mach_h8300[h]): new defines. + * coff-h8300.c: More addressing modes. + * coffcode.h (coff_set_arch_mach_hook): Cope with H8300 magic + number. + * cpu-h8300.c: Removed disassemble stuff. (h8300_scan): Recognise + H8/300H name. (compatible): New function. + * reloc16.c (bfd_coff_reloc16_get_relocated_sec): Cope with more + addressing modes. + +Tue Jun 8 10:30:13 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_compute_section_file_positions, + ecoff_write_object_contents): Only round to page boundaries if + D_PAGED flag is set for the output BFD. + +Fri Jun 4 15:47:52 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * coffcode.h (get_index, coff_slurp_symbol_table): Fix pointer + casts to work on machine where sizeof(long) != sizeof(int) != + sizeof(char *). + * coffgen.c (coff_get_normalized_symtab): Ditto. + * cpu-h8300.c coff-h8300.c: Support for H8/300-H. + +Fri Jun 4 15:24:27 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * coffgen.c (coff_write_symbols): For empty string table, write + out 4 in correct byte order. (from minyard@bnr.ca) + + * elf32-hppa.c: Don't include libhppa.h for now; define + BYTES_IN_WORD instead, until Utah sends a better fix. + (hppa_elf_build_arg_reloc_stub): Use xmalloc and xrealloc instead + of malloc and realloc. + +Fri Jun 4 07:49:01 1993 Ian Lance Taylor (ian@cygnus.com) + + * configure.in (mips-*-ecoffl*): New target; use decstation. + (mips-*-ecoff*): Added trailing '*'. + + * coff-mips.c (ecoff_get_debug): Get the offset from the first PDR + for the FDR, not from the first PDR in the file. + +Thu Jun 3 16:41:10 1993 Stu Grossman (grossman@cygnus.com) + + * hppa.c (hppa_get_symbol_info): New func needed for JUMP_TABLE. + +Thu Jun 3 15:33:57 1993 David J. Mackenzie (djm@rtl.cygnus.com) + + * hppa.c (hppa_get_symbol_info): New function. + +Thu Jun 3 13:07:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elfcode.h (elf_map_symbols): Don't crash if no symbols have been + allocated yet. + + From Peter Hoogenboom (hoogen@schafer.cs.utah.edu): + * libhppa.h (MAXCOMLEN): Define unconditionally. + (_PA_RISC_ID): Only define if not already defined. + * elf32-hppa.c: Include libhppa.h. + + From Ralph Campbell: + * hosts/mipsbsd.h (HOST_DATA_START_ADDR): Delete definition. + + * elf32-hppa.h (symext_rootP, symext_lastP): Delete decls. + +Thu Jun 3 00:23:53 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/go32.mh: define EXTRALIBES to -lm (for binutils), also + remove defines of __MSDOS__ and __GO32__ (these are in the + compiler now). + +Wed Jun 2 17:57:13 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + From Utah: + * hosts/hppabsd.h: Eliminate use of obsolete EXFUN. + * config/hppabsd.mh: Don't use ranlib. + +Tue Jun 1 04:15:57 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * elf.c: New file, for word-size independent code. + * elfcode.h (elf_hash): Moved to there, renamed bfd_elf_hash. + * Makefile.in: Include elf.o in standard objects. + + * bfd-in.h (CAT3): Define here. + * libaout.h, libelf.h: Not here. + + * libelf.h (struct strtab): Define here. + (bfd_elf_locate_sh): Declare here. + * elfcode.h (struct strtab): Definition deleted. + + * reloc.c (enum bfd_reloc_code_real): Added HPPA_PCREL_CALL_12. + + * Makefile.in: Make "all", not "bfd.h", be the default target. + (stmp-bfd.h): New target; prevents rebuilding world if bfd.h + hasn't really changed. + + Tue May 25 12:15:15 1993 Michael Meissner (meissner@osf.org) + + * elfcode.h (elf_hash): Provide elf standard hash function. + (various): Key off of the machines use_rela_p field to determine + whether to use REL or RELA relocations. + (elf_swap_reloc_out, elf_swap_reloc_in): New functions. + (elf_make_sections): Allocate a pointer to hold all data for a + given section, and copy each fragment into the data region. + Update the section's pointer with the REL implicit addends if the + machine uses REL relocation. + + * elf32-i386.c (elf_bfd_reloc_type_lookup): Rename to + elf_i386_bfd_reloc_type_lookup, and use cpp to map the name back + into was elf32-target.h expects. + (elf_info_to_howto): Rename to elf_i386_info_to_howto. + (elf_i386_bfd_reloc_type_lookup): Add relocation support. + (elf_i386_info_to_howto): Add minimal relocation support. + + * libelf.h (elf_backend_data): Add use_rela_p, elf_64_p, + elf_info_to_howto_rel fields. + + * elf32-target.h (elf_bed): Add support for new fields in + elf_backend_data. + + Sun May 30 16:38:24 1993 Peter Hoogenboom (hoogen@fast.cs.utah.edu) + + * elf32-hppa.c: Add symbol extension section support, fix + relocation howto table, add stub generation support. + + * elf32-hppa.h: Add symbol extension section support, fix + relocation howto table, add stub generation support. + + * elfcode.h (bfd_elf_locate_sh): New function to locate ELF + section header. + + * elfcode.h (bfd_add_to_strtab): Made non-static due to a call + from elf32-hppa.c. + + * elfcode.h (elf_idx_of_sym): Return STN_UNDEF instead of 0 when + the symbol is not found. + + * elfcode.h (elf_compute_section_file_positions): Not all section + file positions were computed. + + * elfcode.h (elf_get_sect_thunk): New function. + + * hppa.c (sign_ext): Reimplement. + + * hppa.c (round_down,round,round_up,L,R,LS,RS,LD,RD,LR,RR): Make + these functions static. + +Tue Jun 1 14:40:41 1993 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in (bfd.h): Move closer to headers - and after 'all'! + + * aoutx.h (translate_from_native_sym_flags): Don't set + BSF_DEBUGGING for constructor symbols, only BSF_CONSTRUCTOR. + * aoutx.h (translate_to_native_sym_flags): Translate + constructor symbols properly. + +Thu May 27 16:09:04 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) + + * archures.c (bfd_default_arch_struct): use 4 byte alignment as a + minimum. + * aout-target.h (minimum_alignment): 8 byte alignment is right. + (fix ld/2680) + +Thu May 27 13:38:47 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in, Makefile.in: Build bfd-in2.h in source directory, + from bfd-in.h and .c files. Build bfd.h in build directory, + substituting in requested target word size. Insert word size into + makefile, and maybe enable 64-bit targets. + + * bfd-in.h, libbfd.c, demo64.c, targets.c: Define BFD64 if 64 bits + are available. Conditionalize on this. Assume HOST_64_BIT + will be defined if needed, so 64-bit targets are conditionalized + only in the Makefile. + +Tue May 25 14:03:56 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * libbfd.c (COERCE64): Rewrite to avoid out-of-range values. + + * coff-sh.c (rtype2howto): Put error message on stderr. + (extra_case): Delete unused variable. + + * coff-mips.c (ecoff_print_symbol): Cast bfd_vma values to long + before calling printf. + + * elfcode.h: New file, almost completely derived from old elf32.c. + * elf32.c: Now just define ARCH_SIZE and include elfcode.h. + * Makefile.in (elf64.o): List dependencies, don't build by + default. + (elf64.c): Add to list of sources. + (elf32.o): Update dependencies. + * elf32-*.c: Updated type/macro/structure names. Cleaned up + namespace pollution; rename vectors. + * targets.c, config/*-elf.mt: Updated. + * All uses of 32-bit versions of structures, routines, and macros + renamed. + + * Makefile.in (archures.o, targets.o): Depend on Makefile. + +Mon May 24 15:53:13 1993 Ken Raeburn (raeburn@cygnus.com) + + * elf32-i386.c (enum reloc_type): No comma after last enumerator. + + * elf32.c (elf_string_from_elf_section): Handle index of zero + specially. + (bfd_section_from_shdr, elf_slurp_symbol_table): Don't need to do + so here. + (elf_write_object_contents): Deleted one unused variable and + initialized another to avoid gcc warnings. + (elf_set_section_contents): Delete unused variable. + +Fri May 21 19:04:21 1993 Stu Grossman (grossman@cygnus.com) + + * i386lynx.c: New module for Lynx variant of a.out. + * Makefile.in (BFD_BACKENDS CFILES depends): Add i386lynx.c. + * gen-aout.c: Get rid of defunct endian stuff, print out true + pagesize. + * targets.c (target_vector): Add i386lynx_vec. + +Fri May 21 17:02:22 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * configure.in: Use i386-sco.mt for i[36]86-*-isc*. + +Fri May 21 13:44:18 1993 David J. Mackenzie (djm@rtl.cygnus.com) + + * aix386-core.c, aout-target.h, aoutx.h, coff-alpha.c, + coff-mips.c, coffgen.c, elf32.c, ieee.c, libaout.h, libcoff-in.h, + libelf.h, mipsbsd.c, oasys.c, sco-core.c, srec.c, tekhex.c, + trad-core.c: Define a TARGET_get_symbol_info function or macro. + Remove the bfd_print_symbol_nm case from TARGET_print_symbol. + + * bfd-in.h: Don't define bfd_print_symbol_nm. + Define symbol_info type. + (JUMP_TABLE): Set _get_symbol_info element. + + * syms.c (coff_section_type, bfd_symbol_info): New functions. + (bfd_decode_symclass): Use coff_section_type. + + * targets.c: Add bfd_get_symbol_info call. + +Wed May 19 15:30:52 1993 Stu Grossman (grossman@cygnus.com) + + * coff-i386.c (coff_i386_reloc): Use unsigned char to avoid + complaints from ancient gcc's. + +Wed May 19 15:51:19 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * trad-core.c: Check macro TRAD_CORE_EXTRA_SIZE_ALLOWED. + hosts/i386linux.h: Define it. + +Mon May 17 15:00:33 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * VERSION, bfd-in.h: Bump version number to 2.2. + + * hppa.c (assemble_3, dis_assemble_3, assemble_12, + dis_assemble_12, assemble_17, dis_assemble_17, assemble_21, + dis_assemble_21, sign_ext, ones, sign_unext, low_sign_ext, + low_sign_unext, round_down, round, round_up, L, R, LS, RS, LD, RD, + LR, RR, hppa_field_adjust): New functions. + +Mon May 17 10:04:16 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): Added support for indirect + stabs symbols, including new indirect_ptr_ptr argument. + (ecoff_slurp_symbol_table): Pass new argument in calls to + ecoff_set_symbol_info. + +Fri May 14 00:05:06 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in: For m68k sysv systems, use m68k-coff. + + * config/hppa-elf.mt (TDEFINES): Don't define DEFAULT_VECTOR here. + (TDEFAULTS): Define it here. Use the new name. + + * elf32-hppa.c (elf_hppa_backend_data): Delete; rely on default + values instead. + + * reloc.c (bfd_reloc_code_real_type): Add some HPPA reloc types. + + * aix386-core.c (NO_GETS): Fix PROTO invocation to have correct + number of arguments. + (aix386_core_file_p): Initialize core_size to correct value. + +Wed May 12 14:39:59 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (CC_FOR_BUILD): New variable, set to $(CC). + (FLAGS_TO_PASS): Pass down CC_FOR_BUILD. + + * bout.c (aout32_slurp_extended_name_table): Define to be + _bfd_slurp_extended_name_table rather than bfd_true. + + * coff-mips.c: Include libaout.h and aout/aout64.h to get + definitions for N_SET[ATDB]. + (ecoff_howto_table): Moved near top of file. + (ecoff_set_symbol_info): If a STABS symbol of type N_SET[ATDB] is + seen, cook up a constructor section of the same name and put in a + reloc pointing to the symbol. This lets the GNU linker build + global constructors and destructors without using collect. + +Tue May 11 00:33:31 1993 John Gilmore (gnu@cygnus.com) + + * coff-m88k.c (m88kbcs_vec): Symbols have underbars. + +Mon May 10 05:55:45 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * hosts/miniframe.h: New file. + * configure.host: Use it. + +Sun May 9 16:36:59 1993 Fred Fish (fnf@cygnus.com) + + * configure.in (hppa*-*-bsd): Change to hppa*-*-bsd* + * configure.in (hppa*-*-hpux): Change to hppa*-*-hpux* + * configure.in (m68*-hp-bsd): Change to m68*-hp-bsd* + * configure.in (m68*-*-hpux): Change to m68*-*-hpux* + * configure.in (*-*-bsd): Change to *-*-bsd* + +Wed May 5 16:08:32 1993 Per Bothner (bothner@cygnus.com) + + * elf32-hppa.c (elf_hppa_reloc_type_lookup): Cast enums to + int, for the sake of the old Portable C Compiler. + +Mon May 3 14:37:01 1993 Stu Grossman (grossman@cygnus.com) + + * Makefile.in (CFILES): Add cpu-sh.c and coff-sh.c. + +Mon May 3 14:03:21 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * configure.in: Get target name right for m68*-*-hpux. + +Sun May 2 11:39:44 1993 Fred Fish (fnf@cygnus.com) + + * trad-core.c (NO_SIGNED_GET): New macro. + * trad-core.c (trad_core_vec): Use new NO_SIGNED_GET instead of + signed NO_GET, where appropriate. + + * configure.in (i[34]86-*-linux*): Add; bfd_target = i386-linux. + * configure.in (*-*-linux*): Remove until linux port for a + non-i386/i486 system is actually available. + +Fri Apr 30 20:04:10 1993 Stu Grossman (grossman@cygnus.com) + + * libhppa.h: #undef e_* symbols which come from <machine/som.h> + when compiling under HPUX. + +Fri Apr 30 17:25:23 1993 Stu Grossman (grossman@cygnus.com) + + * The following patches are from Jeffrey Law <law@cs.utah.edu>. + * hppa.c (hppa_core_file_p): Provide a temporary dummy routine + for HOST_HPPABSD. + * bfd/hosts/hppabsd.h: Fix declarations of malloc and free. + * bfd/libhppa.h: Include sysdep here. Conditionalize + includes based on HOST_HPPAHPUX or HOST_HPPABSD. + Provide definitions for MAXCOMLEN and _PA_RISC_ID suitable + for BSD. + +Fri Apr 30 17:34:11 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf32-hppa.c: Don't include a.out.h. Apparently not even the + GNU version is needed. + +Fri Apr 30 09:38:59 1993 Jim Kingdon (kingdon@cygnus.com) + + * coffcode.h: use dummy_reloc16_extra_cases rather than casting abort. + +Thu Apr 29 11:30:32 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * Makefile.in: Build elf32-hppa.o. + + * syms.c (BSF_FUNCTION): New symbol flag. + + * elf32-hppa.c: Fixed to work with elf32-target.h. + + * hp300hpux.c (NAME, NAME_swap_exec_header_in): Fix for + traditional C. + * libaout.h (NAME): Don't define if already defined. + + * libelf.h: Protect against multiple inclusions. + (elf_symbol_type): Moved here, added new fields. + (struct elf_backend_data): New field `global_sym'; I suspect this + may be misplaced. + * elf32.c (elf_symbol_type): Deleted from here. + (struct elf_obj_tdata): New fields raw_syms and internal_syms, to + point to backend versions of symbols. + (obj_symbols, obj_raw_syms, obj_internal_syms): New macros. + (elf_swap_phdr_out, elf_build_phdrs, elf_write_phdrs): New + functions. + (elf_write_object_contents): Write program headers if appropriate. + (bfd_section_from_shdr): Unnamed sections get empty string for + name, not "unnamed". Handle SHT_NOBITS separately from + SHT_PROGBITS, and set some different flags. + (elf_file_p): New routine. + (elf_object_p, elf_core_file_p): Call it. + (elf_object_p): Handle EM_HPPA. + (elf_symbol_from, elf_idx_of_sym): New functions. + (elf_make_sections): Get symbol number right for relocations. Set + SHF_ALLOC, SHF_WRITE, SHF_EXECINSTR when appropriate. + (elf_fake_sections): BSS section should be SHT_NOBITS, not + SHT_PROGBITS. Always generate symtab and strtab, not only if + relocations are needed. Set SHF_* flags as appropriate. + (elf_compute_section_file_positions): Handle bfd_arch_hppa. + (elf_write_object_contents): Fix off-by-one error in symbol count. + Store a correct value for the symbol; write the size field + properly; make some guesses about the type field. Set section + type correctly for string tables. + (section_from_elf_index): Check for absolute and common sections + first. + (elf_section_from_bfd_section): Ditto. + (elf_slurp_symbol_table): Use elf_symbol_type instead of asymbol. + Use empty string instead of "unnamed" for nameless symbols. + Handle STTY_FUNC type, and weirdness with "$global$" symbol for + HPPA (only?). Don't free raw symbols; keep the pointer around for + later. + (elf_set_arch_mach): Handle bfd_arch_hppa. + (elf_find_nearest_line): Just return false. + (elf_write_object_contents, elf_set_section_contents): Set + output_has_begun field after computing file positions. + (elf_set_section_contents): Write section contents immediately, + rather than caching the whole file and writing it at close time. + + * libhppa.h (enum hppa_reloc_field_selector_type, enum + hppa_reloc_field_selector_typ_alt, enum hppa_reloc_expr_type, enum + hppa_reloc_expr_type_alt): New enumerator types. + + * config/hppa-elf.mt,. config/hppaosf.mh: HP PA/OSF support. + * configure.in, configure.host: Use them. + +Wed Apr 28 23:21:01 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf32-target.h: Allow overrides of armap defaults. + + * elf32-hppa.c, elf32-hppa.h: New files. + + * config/hp300hpux.mt: New file. + +Tue Apr 27 05:39:40 1993 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * aix386-core.c (NO_GETS): New macro; NO_GET for signed values. + (aix386_core_vec): Update for new fields. + + * archive.c (bfd_generic_archive_p): Call target-specific + slurp_armap code, instead of bfd_slurp_armap. + (bfd_slurp_bsd_armap_f2): New function. + * libbfd-in.h (bfd_slurp_bsd_armap_f2): Declare it. + * aout-target.h (AR_PAD_CHAR): Define it if not already defined. + (vec): Use it. + * libaout.h (struct aoutdata): New field for subformat, for + differentiating between highly similar a.out formats. + * aoutx.h (NAME_swap_exec_header_in): New macro, defaults to local + version of function. + (swap_exec_header_in): Don't define if NAME_swap_exec_header_in is + already defined. + * hp300hpux.c: New file. + * Makefile.in: Include it. + +Mon Apr 26 13:24:43 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * Makefile.in, archures.c, coffcode.h, targets.c: Support for + Hitachi SH. + +Mon Apr 26 13:55:42 1993 Jim Kingdon (kingdon@cygnus.com) + + * trad-core.c (trad_unix_core_file_p): Check the file size. + +Mon Apr 26 13:24:43 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-alpha.c: Remove duplicate function and add warnings. + +Mon Apr 26 11:25:58 1993 Ian Lance Taylor (ian@cygnus.com) + + * sco-core.c (sco_core_vec): Add initializers for new target + fields. + +Sat Apr 24 21:33:45 1993 Jim Kingdon (kingdon@cygnus.com) + + * coffcode.h [_LIT]: Recognize .lit section. + +Fri Apr 23 19:00:36 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-alpha.c, cpu-alpha.c, config/alphaosf.mt, + config/alphaosf.mt, hosts/alphaosf.h: New files. + +Fri Apr 23 16:48:46 1993 Stu Grossman (grossman@cygnus.com) + + * Merge in HPPA/BSD changes from Utah. + * hppa.c: Use this for both HPUX & BSD. + * targets.c: Enable hppa_vec for both HPUX & BSD. + * config/hppabsd.mt: TDEFINES => TDEFAULTS. + * hosts/hppabsd.h: #define HOST_HPPABSD. + +Wed Apr 21 01:50:10 1993 John Gilmore (gnu@cygnus.com) + + * libbfd.c: Whitespace changes around byteswap macros. + * libbfd-in.h: Whitespace changes around byteswap declarations. + +Tue Apr 20 15:59:07 1993 Stu Grossman (grossman@cygnus.com) + + * aoutf1.h (sunos4_core_file_p): Don't default bfd_error to + system_error anymore. It confuses bfd_check_format(). + +Mon Apr 19 23:03:08 1993 Stu Grossman (grossman@cygnus.com) + + * bfd.c: Add sgi_core_data to tdata union. + * coff-mips.c: Add Irix 4.x core file support. + * hosts/irix4.h: #define HOST_IRIX4. + +Mon Apr 19 18:52:52 1993 Ken Raeburn (raeburn@deneb.cygnus.com) + + * aoutx.h (translate_from_native_sym_flags): Check that the + symbol's section does get set. + (slurp_symbol_table): Zero index means null-string name. + + * aoutx.h (struct stringtab_entry, struct stringtab_data): New + data structures. + (hash, stringtab_init, add_to_stringtab, emit_strtab, compare): + New functions. + (write_syms): Use them, to reduce string table size. + +Mon Apr 19 16:45:12 1993 Fred Fish (fnf@cygnus.com) + + * trad-core.c (trad_core_vec): Add 6 new initializers to match + new signed get/put fields. Minor reformatting to label + some fields. + +Mon Apr 19 06:09:41 1993 Jim Kingdon (kingdon@cygnus.com) + + * bfd-in.h: Insert comment about SVR3 compiler warnings. + + * hosts/{hp300,i386isc,i386v}.h: Remove unused #defines of {r,}index + (bfd uses strchr and the broken SVR3.2 cpp loses with the defines). + + * libbfd.c: bfd_put*: Remove casts to bfd_vma. + +Fri Apr 16 17:49:27 1993 Jim Kingdon (kingdon@cygnus.com) + + * aoutf1.h (internal_sunos_core): Make c_stacktop a bfd_vma. + (swapcore_sparc): Make sp a bfd_vma. + +Thu Apr 15 09:09:18 1993 Jim Kingdon (kingdon@cygnus.com) + + * libbfd.c: Add signed versions of bfd_{h_,}{get,put}_signed_<size>. + libbfd.c, libbfd-in.h: Add _do*signed*. + targets.c, all targets: Add bfd*signed*. + bfd-in.h: Add bfd_signed_vma. Add comments. + + * bfd-in.h (bfd_error), bfd.c (bfd_errmsgs): Add file_truncated. + + * format.c (bfd_check_error): Check error return from + _bfd_check_format routines. + +Wed Apr 14 23:48:25 1993 Jim Kingdon (kingdon@cygnus.com) + + * rs6000-core.c (rs6000coff_core_p): Improve error checking and + recognize .data section if present. + +Thu Apr 15 01:00:29 1993 John Gilmore (gnu@cygnus.com) + + * aoutx.h (aout_*_adjust_sizes_and_vmas): Avoid `sanity' + check for the case where the user sets the address of the BSS + section (and the file header can't specify this). Let the user + set it wherever they want, regardless of what goes in the header. + + * ieee.c (ieee_slurp_sections): Pass all ieee section names + straight through into BFD sections. Add comments. + +Wed Apr 14 20:34:54 1993 John Gilmore (gnu@cygnus.com) + + Cleanup in preparation for better 64-bit host support. + + * bfd-in.h (bfd_64_type): Remove. + * libbfd.c (_do_getb64, _do_putb64): Use bfd_vma, not bfd_64_type. + + * bfd-in.h (bfd_size): Remove. + + * bfd-in.h (bfd_offset): Remove, after fixing ld/ldlang.[ch]. + + * bfd-in.h (bfd_word): Remove. + * reloc.c (reloc_howto_type): Replace bfd_word with bfd_vma. + + * bfd-in.h (rawdata_offset): Remove. + * reloc.c (arelent): Replace rawdata_offset with bfd_size_type. + (bfd_perform_relocation): Lint. + (enum bfd_reloc_status): Comment cleanup. + + * aout-adobe.c, cpu-h8300.c, mipsbsd.c, srec.c: lint -Wall. + +Tue Apr 13 11:19:52 1993 Jim Kingdon (kingdon@cygnus.com) + + * aoutf1.h (swapcore_sparc): Guess the right value of USRSTACK. + +Mon Apr 12 14:18:00 1993 John Gilmore (gnu@cygnus.com) + + * elf32.c: Clean up old comments. + +Fri Apr 9 10:43:20 1993 Ian Lance Taylor (ian@cygnus.com) + + * config/sun3.h: String argument to fprintf is const. + + * coff-mips.c: Renamed PAGE_SIZE to ROUND_SIZE, to avoid confusion + on systems which define PAGE_SIZE in <limits.h>. + +Thu Apr 8 10:28:00 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + + * trad-core.c (trad_unix_core_file_failing_signal): Use new macro + TRAD_UNIX_CORE_FILE_FAILING_SIGNAL to allow host files to specify + the core file failing signal. + * hosts/decstation.h (TRAD_UNIX_CORE_FILE_FAILING_SIGNAL): Define + to supply the core file failing signal. + +Thu Apr 8 09:17:35 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (styp_to_sec_flags): Only set SEC_SHARED_LIBRARY for + a STYP_NOLOAD | STYP_BSS section if BSS_NOLOAD_IS_SHARED_LIBRARY + is defined. On many COFF targets STYP_BSS is always STYP_NOLOAD. + * coff-i386.h (BSS_NOLOAD_IS_SHARED_LIBRARY): Define. + +Wed Apr 7 11:33:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (PAGESIZE): Correct value. + +Tue Apr 6 12:05:44 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_find_nearest_line): Address of first PDR is + an offset (patch from Jean-Daniel Fekete <jdf@lri.lri.fr>). + +Mon Apr 5 12:07:12 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (styp_to_sec_flags): Set SEC_SHARED_LIBRARY for a + STYP_NOLOAD | STYP_BSS section. Don't set SEC_NEVER_LOAD for a + STYP_INFO section. + (coff_compute_section_file_positions): Force vma and lma of _LIB + section to be zero. + (coff_set_section_contents): Count number of entries in new lma + field, not in vma. + * coffgen.c (make_a_section_from_file): Force lineno_count of + SEC_SHARED_LIBRARY section to be zero, since it is non-zero on the + SCO 3.2v4 shared library. + * seclet.c (rel): Copy over any section with contents, not just + loadable sections. + + * coff-mips.c (ecoff_make_empty_symbol): Zero out newly allocated + symbol. + + * coff-i386.c (coff_i386_reloc): New function, to generate + relocateable output correctly. + (howto_table): Use coff_i386_reloc for all reloc types. + (CALC_ADDEND): Use a more efficient hack to get the correct addend + for a common symbol. + (i386comm_value): Removed; no longer needed. + +Sun Apr 4 15:08:48 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * coffcode.h (coff_set_section_contents): Don't write out + sections without a filepos. + +Fri Apr 2 14:35:05 1993 Ian Lance Taylor (ian@cygnus.com) + + * seclet.c (seclet_dump_seclet): Correct SEC_HAS_CONTENTS test. + +Wed Mar 31 17:41:05 1993 Ian Lance Taylor (ian@cygnus.com) + + * reloc.c (bfd_reloc_code_real_type): Added BFD_RELOC_MIPS_GPREL. + * libecoff.h (ecoff_data_type): Added gp_size field. + * coff-mips.c (ecoff_mkobject_hook): Initialize gp_size to 8. + (ecoff_set_symbol_info): Compare against gp_size, not hardcoded 8. + Set flags to 0 for large common symbols. + (ecoff_gprel_reloc): Handle non-zero addend for external symbols, + which can occur for gas-generated relocs. + (ecoff_bfd_reloc_type_lookup): Added BFD_RELOC_MIPS_GPREL case. + * bfd.c (bfd_get_gp_size, bfd_set_gp_size): New functions. + * Makefile.in (bfd.o): Now depends on coff/sym.h and libecoff.h. + +Tue Mar 30 09:33:16 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * srec.c (srec_set_section_contents): Use lma field for load + address. + * section.c: Add declaration of lma field to section structure. + * coffcode.h (coff_write_object_contents): Use lma field for load + address. + * bfd-in.h (bfd_set_section_vma): Set lma along with vma. + + * aoutx.h (translate_from_native_sym_flags): Now handles indirect + symbols in a better way. (translate_to_native_sym_flag): Set the + N_INDR bit when necessary. (aout<>slurp_symbol_table): Maintain + indirect state. + * section.c: Added BFD_IND_SECTION_NAME and bfd_ind_section. + (bfd_make_section): Cope with new builtin section. + * syms.c (bfd_decode_symclass): Can now print indirect section + info. + +Wed Mar 24 13:36:33 1993 Per Bothner (bothner@rtl.cygnus.com) + + * aout-target.h (MY(object_p)): Fail if MACHTYPE_OK is + defined, and yields false. + * aout-mipsbsd.c, i386bsd.c: Define MACHTYPE_OK appropriately. + + * archive.c (snarf_ar_hdr): Add support for reading (only, + so far) BSD-4.4-style extended headers. + * archive.c: Some more comments. + +Wed Mar 24 02:05:10 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com) + + * Makefile.in: fix rule for dvi and info, so that the recursive + makes does the right thing, instead of always info + +Wed Mar 24 02:56:44 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * libbfd.c (bfd_seek): Disable optimized handling for archives and + archive members; they need more special reatment. For now, verify + that computed and actual file positions correspond. + +Tue Mar 23 08:45:33 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * mipsbsd.c: Renamed from aout-mipsbsd.c. + (set_arch_mach): Delete non-MIPS code. + (reloc_howto_type_lookup): Ditto. + * Makefile.in: Adjusted. + + * libbfd.c (bfd_tell): Update `where' field. + (bfd_seek): Don't do anything if we're not changing the file + position. If FILE_OFFSET_IS_CHAR_INDEX is defined, check `where' + field against a SEEK_SET request. Call bfd_tell to re-update + `where' field when done. + (bfd_read, bfd_write) [FILE_OFFSET_IS_CHAR_INDEX]: Maintain + `where' field. + * hosts/sparc.h: Define FILE_OFFSET_IS_CHAR_INDEX. + +Mon Mar 22 23:18:10 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: added installcheck target + +Mon Mar 22 14:57:18 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): Relocate encapsulated stabs + if the type is not stNil. + +Tue Mar 16 10:35:27 1993 Ken Raeburn (raeburn@cygnus.com) + + * elf32.c (elf_little_vec, elf_big_vec): Delete now-invalid + forward declarations. + + * elf32-sparc.c (elf_sparc_howto_table): Don't use CONST here, + it's implied by the type. + +Fri Mar 12 18:58:08 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.host: recognize sparc-sun-solaris2* instead of sparc-sun-solaris* + +Tue Mar 9 09:23:12 1993 Jim Kingdon (kingdon@cygnus.com) + + * rs6000-core.c: Add .ldinfo section. + +Fri Mar 12 11:57:52 1993 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in (MAKEOVERRIDES): Define to be empty. + +Fri Mar 12 08:32:11 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * section.c (bfd_set_section_contents): whitespace + * seclet.c (seclet_dump_seclet): Don't try and fill sections with + no contents. + +Thu Mar 11 19:26:15 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * hosts/go32.h: don't define POSIX_UTIME + +Tue Mar 9 10:52:01 1993 Fred Fish (fnf@cygnus.com) + + * elf32.c (elf_object_p): Use ELF_ARCH stored in xvec to match + against machine architecture stored in the ELF header, to resolve + ambiguities. + * elf32.c (bfd_section_from_shdr): Bfd_make_section can return + NULL, so only use results when non-NULL. + * targets.c (elf32_m68k_vec, elf32_i860_vec): Add extern decls + and add to vector of targets. + +Mon Mar 8 15:13:44 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): Encapsulated STABS symbols + are always just debugging symbols. + + * coff-mips.c (ecoff_[gs]et_sym_index): Moved macros from here... + libecoff.h (ecoff_[gs]et_sym_index): ...to here. + +Mon Mar 8 14:55:13 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * hppa.c (_PA_RISC_ID): Defined if not already defined (e.g., for + hpux 7). Patch from friedman@gnu.ai.mit.edu. + (hppa_object_p): Only check for DL_MAGIC and SHL_MAGIC if they're + defined, which they aren't in hpux 7.0. + + * aix386-core.c: Include uinfo.h and coredump.h. Patch from Minh + Tran-Le, tranle@intellicorp.com. + +Fri Mar 5 14:54:21 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_generic_reloc): If the addend is non-zero, go + ahead and do the relocation. + (ecoff_refhi_reloc): Don't to the relocation here, just remember + what needs to be done. + (ecoff_reflo_reloc): Do the REFHI relocation here. + +Thu Mar 4 14:44:01 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_bfd_reloc_type_lookup): New function. + (ecoff_write_object_contents): Added BFD_ASSERT calls to ensure + relocs are reasonable. + * coff-msym.c: Eliminated uses of DEFUN. + (ecoff_swap_tir_out): New function. + +Tue Mar 2 17:52:58 1993 Fred Fish (fnf@cygnus.com) + + (Ultrix 2.2 support from Michael Rendell <michael@mercury.cs.mun.ca>) + * configure.host (vax-*-ultrix2*): Add triplet. + * hosts/vaxult2.h: New file. + * config/vaxult2.mh: New file. + + * aoutx.h (string.h): Include for strchr and friends. + * archive.c (string.h): Include for memchr and friends. + * elf32.c (string.h): Include for strrchr and friends. + +Sat Feb 27 00:44:24 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * aoutf1.c (sunos4_reloc_type_lookup): Unused; deleted. + (MY_set_sizes): Use sunos4_set_sizes. + + * elf32.c: Renamed from elf.c. Several CPU-specific functions + deleted, as well as elf-big and elf-little targets. + * libelf.h: New file. + * elf32-sparc.c, elf32-i386.c, elf32-i860.c, elf32-m68k.c: New + files, new targets. + * Makefile.in, config/*-elf.mt, targets.c: Adjusted. + + * i386linux.c (TARGETNAME): Use hyphens instead of parentheses. + + * coffcode.h (coff_compute_section_file_positions): Don't need + variable "old_sofar" if compiling for i960. + + * reloc.c (bfd_default_reloc_type_lookup): First argument is now a + bfd pointer. + * libbfd.h: Updated. + + * ieee.c (exten, envi): "static" belongs first in declaration. + +Fri Feb 26 17:37:34 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * srec.c: add support for symbolsrec, srecords with symbols in + them. + +Thu Feb 25 11:43:30 1993 John Gilmore (gnu@cacophony.cygnus.com) + + * ieee.c: cast all arguments of ieee_write_byte to bfd_byte + to avoid lint complaints. + +Thu Feb 25 02:15:52 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf.c (elf_write_object_contents): Section ".shstrtab" should be + type SHT_STRTAB. Don't alter file offset for section 0. + (reloc_type_names): Now an array instead of a macro. Still inside + "#if 0", since it's used only in debugging code also in "#if 0". + (struct elf_reloc_map_elt, struct elf_reloc_map): New types. + (sort_reloc_map): New function. + (sparc_reloc_map): New variable. + (elf_bfd_reloc_type_lookup): New function. + +Tue Feb 23 12:17:16 1993 Ian Lance Taylor (ian@cygnus.com) + + * bfd-in.h (JUMP_TABLE): Added bfd_reloc_type_lookup and + bfd_make_debug_symbol; they were already in the target structure. + * Adjusted all uses of JUMP_TABLE. + * coffgen.c, libcoff-in.h (coff_bfd_make_debug_symbol): Renamed + from coff_make_debug_symbol. + * libcoff.h: Updated accordingly. + + * Minor cleanups provoked by gcc warnings: + * aoutx.h (NAME(aout, reloc_type_lookup)), + cpu-h8300.c (local_bfd_reloc_type_lookup), + cpu-z8k.c (local_bfd_reloc_type_lookup): Added default case to + switches. + * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap), + ieee.c (ieee_slurp_section_data), + elf.c (elf_make_sections, elf_fake_sections, + elf_compute_section_file_positions, elf_write_object_contents): + Removed unused variables. + * archures.c: Removed /* from within comment. + * bout.c (b_out_squirt_out_relocs): Initialize r_extern. + * oasys.c (oasys_write_data): Initialize i. + +Mon Feb 22 18:40:06 1993 Per Bothner (bothner@rtl.cygnus.com) + + * libcoff.h (obj_raw_syment_coun): New macro. + * coffgen.c (coff_get_normalized_symtab): Initialize + raw_syment_count. + * coffgen.c (coff_find_nearest_line): Numerous little fixes. + +Mon Feb 22 15:03:07 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c (ecoff_set_symbol_info): stBlock symbols are always + debugging symbols. + (ecoff_get_debug): Offset the fdr adr by the adr of the first pdr, + for compatibility with tools from MIPS. + + * config/bigmips.mt: New file; default vector is ecoff_big_vec. + * config/irix3.mt, config/irix4.mt: Removed. + * configure.in (mips-*-ecoff): New target; uses bigmips.mt. + (mips-sgi-*, mips-big-*): Use bigmips rather than irix3. + +Wed Feb 17 23:40:41 1993 John Gilmore (gnu@cygnus.com) + + * hosts/hp300bsd.h: Add gross hack to determine whether we + are running on BSD 4.3 or BSD 4.4, and use appropriate include + files (and set other parameters) to match. + +Wed Feb 17 12:28:13 1993 K. Richard Pixley (rich@cygnus.com) + + * trad-core.c (trad_unix_make_empty_symbol): wrap PARAMS around an + ansi definition which otherwise confuses non-ansi compilers. + + * aout-adobe.c (aout_adobe_object_p): eliminate a warning from vax + ultrix cc by forward declaring getenv as is done in + bfd_find_target. + +Tue Feb 16 17:56:58 1993 K. Richard Pixley (rich@cygnus.com) + + * elf.c (elf_info_to_howto): cast an enum into unsigned char + avoiding a fatal error in vax ultrix 4.2 cc. + +Tue Feb 16 00:44:54 1993 John Gilmore (gnu@cygnus.com) + + * bfd-in.h, VERSION: Roll to version 2.1. + +Mon Feb 15 20:43:51 1993 John Gilmore (gnu@cygnus.com) + + * oasys.c (oasys_write_object_contents): Lint. + * srec.c: Whitespace cleanup. + +Fri Feb 12 14:23:07 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffgen.c (coff_print_symbol): Print correct tagndx value; + cleaned up output formatting a bit. + +Fri Feb 12 08:28:56 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * coffcode.h (coff_set_arch_mach_hook): *FIXME* the H8/300 is always + relaxable. Should be moved somewhere else. + +Thu Feb 11 14:09:42 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * aout-mipsbsd.c: Eliminated uses of DEFUN. + (aout_mips_*_vec): Added seclet_link element. + + * Makefile.in (BFD_BACKENDS, CFILES, aout-mipsbsd.o): Added + support for aout-mipsbsd target. + + * bout.c (get_value): Don't truncate 32-bit addend to 16 bits. + +Fri Feb 5 08:08:43 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * cpu-h8500.c (scan_mach): return false if it's not an H8/500 + +Thu Feb 4 12:52:40 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + Add support for the H8/500 + + * coff-h8500.c, cpu-h8500.c, archures.c, coffcode.h, targets.c + +Thu Feb 4 12:35:02 1993 Ian Lance Taylor (ian@cygnus.com) + + * libecoff.h: New file. Defines ECOFF backend data for gdb. + * coff-mips.c: Now includes libecoff.h. + (ecoff_data_type): Moved to libecoff.h. + (ecoff_slurp_symbolic_info): Made globally visible so that gdb can + call it. If there is ever another ECOFF target, this and the + swapping functions should be accessed via an ECOFF specific target + vector. + * Makefile.in (coff-mips.o): Depends on libecoff.h. + +Wed Feb 3 09:14:36 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h: Removed MIPS specific information, since coff-mips.c + no longer includes this file. + + * coff-msym.c (ecoff_swap_fdr_in, ecoff_swap_ext_in): Set reserved + bits to 0 to make comparison test useful. + + * config/irix3.mh, config/irix4.mh (HDEFINES): Set to -G 4 to + avoid overflowing GP accessible sections in binutils/objdump. + +Tue Feb 2 15:36:55 1993 Per Bothner (bothner@cygnus.com) + + * aoutx.h (NAME(aout,slurp_symbol_table)): Made symbol + reading more robust: Fail if string index is out of string + table range. + +Tue Feb 2 11:43:25 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * bout.c (b_out_get_relocated_section_contents, cases PCREL24 and + PCREL13): Don't take dst_address into account; the input file has + already taken care of that. + +Tue Feb 2 11:41:06 1993 Ian Lance Taylor (ian@cygnus.com) + + * coff-mips.c: Completed support for linker and binutils. + +Mon Feb 1 14:45:38 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * bout.c (b_out_get_relocated_section_contents, case ABS32): Keep + original addend from section contents. + +Thu Jan 28 21:01:37 1993 John Gilmore (gnu@cygnus.com) + + Fix minor bugs reported by Carl Greco, <cgreco@parrot.creighton.edu>: + * hosts/delta88.h (strtol): Fix prototype. + * config/m88k-coff.mt (SELECT_ARCHITECTURES): Fix name. + +Wed Jan 27 17:16:51 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf.c: Get rid of "#ifdef sparc". + (RELOC_TYPE_NAMES): Never used (currently), so don't include it. + (elf_sparc_howto_table): Renamed from elf_howto_table, and always + used. + (elf_info_to_howto): Use runtime conditionals on CPU type, not + compile type conditionals on host CPU. + (elf_little_vec, elf_big_vec): Use bfd_default_reloc_type_lookup, + not null pointer. + (reloc_type, RELOC_TYPE_NAMES): Include i386 values. + +Tue Jan 26 11:43:14 1993 Ian Lance Taylor (ian@cygnus.com) + + * section.c (SEC_IS_COMMON): New section flag, needed for MIPS + ECOFF which has two common sections. + (bfd_com_section): Set SEC_IS_COMMON flag. + * bfd-in.h (bfd_is_com_section): New macro to test SEC_IS_COMMON. + * aoutx.h, archive.c, bout.c, coff-a29k.c, coff-m88k.c, + coff-mips.c, coffgen.c, ieee.c, oasys.c, reloc.c, syms.: Use + bfd_is_com_section macro rather than checking for equality to + bfd_com_section. + +Mon Jan 25 15:27:36 1993 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (_bfd_coff_mkobject_hook): Pass aouthdr argument. + (coff_mkobject_hook): Accept aouthdr argument. + * coffgen.c (coff_real_object_p): Pass aouthdr to mkobject_hook. + Handle NULL aouthdr argument. + (coff_object_p): If there is no aouthdr, pass it as NULL to + coff_real_object_p. + * libcoff.h: Rebuilt for mkobject_hook changes. + + * coffswap.h (coff_swap_aouthdr_in, coff_swap_aouthdr_in): Swap + additional MIPS ECOFF fields. + +Sat Jan 23 18:36:20 PST 1993 Ralph Campbell (ralphc@pyramid.com) + + * configure.host: added mips-dec-bsd* + * configure.in: added mips-dec-bsd* + * aout-mipsbsd.c: new file for mips-dec-bsd* + * aout-target.h: don't define '' if 'MY_BFD_TARGET' is defined. + * aoutx.h: added mips support. + * archures.c: added mips support to bfd_default_scan(). + * cpu-mips.c: added support for R4000 (untested). + * libaout.h: added MIPS1 & MIPS2 magic numbers. + * reloc.c: fix typo's in comments. Added BFD_RELOC entries which I + hope will make it into include/bfd.h. + * targets.c: added aout_mips_*_vec. + +Wed Jan 20 17:15:52 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/decstation.mt: Set DEFAULT_VECTOR to ecoff_little_vec. + +Tue Jan 19 09:06:14 1993 Ian Lance Taylor (ian@cygnus.com) + + * bfd-in.h (bfd_asymbol_value): Add needed parentheses. + + * libcoff-in.h: Update prototype for coff_count_linenumbers. + +Fri Jan 15 18:13:17 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * coff-msym.c (ecoff_swap_hdr_out, ecoff_swap_fdr_out, + ecoff_swap_pdr_out, ecoff_swap_sym_out, ecoff_swap_ext_out, + ecoff_swap_rndx_out, ecoff_swap_rfd_out, ecoff_swap_opt_in, + ecoff_swap_opt_out, ecoff_swap_dnr_in, ecoff_swap_dnr_out): New + functions. + * coffswap.h: If NO_COFF_RELOCS is defined, don't define + bfd_swap_reloc_in or coff_swap_reloc_out. + * coff-mips.c: Added code to link and write out symbolic debugging + information, and to swap relocs in and out. + +Thu Jan 14 15:51:58 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * libcoff.h, coffgen.c (coff_count_linenumbers), coffcode.h + (coff_write_object_contents): coff_count_linenumbers returns the + number of line number records it found. + + * coffgen.c (coff_write_linenumbers): only write out line numbers + in the section they belong to. + +Mon Jan 11 18:32:22 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * targets.c (bfd_target): Added relocateable argument to + _bfd_get_relocated_section_contents. Added _bfd_seclet_link + target vector for linker use. + * bfd.c (bfd_seclet_link): New macro. + * bfd-in.h (JUMP_TABLE): Added _bfd_seclet_link. + * seclet.c (rel, seclet_dump_seclet): Added relocateable argument + and boolean return value. Made static. + (bfd_generic_seclet_link): Renamed from seclet_dump. Added + relocateable argument. + * reloc.c (bfd_generic_get_relocated_section_contents): Added + relocateable argument (if relocateable, saves relocs). + * bout.c (b_out_get_relocated_section_contents), + reloc16.c (bfd_coff_reloc16_get_relocated_section_contents): Added + relocateable argument (if relocateable, just calls + bfd_generic_get_relocated_section_contents). + * libcoff-in.h (bfd_coff_reloc16_get_value): Added relocateable + argument to prototype. + * All targets: Set new _bfd_seclet_link vector to + bfd_generic_seclet_link. + +Sat Jan 9 21:29:32 1993 Stu Grossman (grossman at cygnus.com) + + * coffgen.c: #include seclet.h. + +Sat Jan 9 19:48:14 1993 Stu Grossman (grossman at cygnus.com) + + * hppa.c (hppa_object_setup): Get rid of all knowledge of stabs + debug info. Setup info about linker symbols only, and use + standard bfd fields to hold the info. + * (hppa_object_p): Remove unneeded decls. + * (hppa_new_section_hook): Get rid of most of this. + * libhppa.h (struct hppadata): Remove ten pounds of useless ugly + fat. Remove all knowledge of stabs, remove redundant knowledge of + linker symbols. + * Remove macros for accessing fields which are now gone. + +Fri Jan 8 15:20:00 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * coffcode.h (sec_to_styp_flags): allow SEC_NEVER_LOAD to turn on + STYP_NOLOAD bit. + * coff-z8k.c: delete unused reloc functions + +Fri Jan 8 15:47:53 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * bfd.c (struct _bfd): Added ecoff_tdata to tdata union. + * targets.c (enum target_flavour): Added bfd_target_ecoff_flavour. + * coff-msym.c: Use DEFUN for function definitons. + * coff-mips.c: Added code to read and print symbols, and to find + line numbers. + + * coffcode.h: Moved many generic functions into coffgen.c. Moved + swapping functions into coffswap.h for ECOFF use. Moved + relocation functions, only used by h8300 and z8k, into reloc16.c. + Added hooks for coffgen.c functions to backend data structure, and + added hook functions. Still more could be done. + * coffswap.h: New file to hold COFF swapping routines. + * coffgen.c: New file to hold generic COFF functions. + * reloc16.c: New file to hold h8300 and z8k specific relocation + functions. + * libcoff-in.h: Added declarations for functions in coffgen.c. + * libcoff.h: Rebuilt to incorporate changes. + * coff-h8300.c: Function name changes. + * coff-z8k.c: Function name changes. Use coff_reloc16_extra_cases + hook rather than defining EXTRA_CASES. + * Makefile.in: Build new files coffgen and reloc16. Added + dependencies of coff-*.o on coffswap.h and seclet.h. + +Thu Jan 7 16:16:26 1993 Per Bothner (bothner@cygnus.com) + + * ieee.c (ieee_slurp_sections): Add cast to avoid warning + about discarding const. + +Wed Jan 6 00:16:49 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * archive.c, seclet.c, elf.c use bfd_xmalloc instead of malloc + +Tue Jan 5 09:35:57 1993 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * configure.in (post-target): If --with-minimal-bfd is specified, + set MINIMIZE=1. + +Mon Jan 4 07:20:01 1993 Steve Chamberlain (sac@thepub.cygnus.com) + + * srec.c (srec_write_records): one of my boards wants a CR between + records. + +Wed Dec 30 12:46:30 1992 Ian Lance Taylor (ian@cygnus.com) + + * archive.c (do_slurp_coff_armap): set symdef_count correctly + (it broke a couple of weeks ago). + +Tue Dec 29 21:41:05 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * elf.c (bfd_elf_find_section): Switch back to "struct ..." for + return type, so libbfd.h doesn't reference undefined typedefnames. + +Tue Dec 29 13:54:35 1992 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (coff_real_object_p): use name I386AIXMAGIC rather + than I386SVMAGIC. + (coff_pointerize_aux): don't pointerize a negative tagndx + (sometimes generated by SCO 3.2v4 cc). + + * bout.c (calljx_callback, callj_callback, + b_out_get_relocated_section_contents): warn if relocating against + an undefined symbol. + +Mon Dec 28 14:30:55 1992 Stu Grossman (grossman at cygnus.com) + + * hppa.c: Get rid of DEFUN, use more conventional prolog stuff. + Make a bunch more routines be static. + * hppa.c (fill_spaces): Get rid of this, replace with much better + written setup_sections(). + * (setup_sections): New routine to create BFD sections for each + space and subspace in SOM files. + * (hppa_object_setup): Use BFD sections created by + setup_sections() to locate GDB symbol table info. + * (make_unique_section): New routine to create a BFD section. It + ensures that the given name is unique, and will generate a unique + one if necessary. + * (hppa_object_p): Become much more paranoid about file header. + * (make_bfd_asection): Call bfd_make_section to do the dirty + work. Simplify code somewhat. + * (hppa_core_file_p): Use proper name for stack section. + * libhppa.h: Remove millicode_start, millicode_end decls. + +Mon Dec 28 11:03:22 1992 Ken Raeburn (raeburn@cygnus.com) + + * Makefile.in (coff-we32k.o, coff-z8k.o): Note dependencies. + + * reloc.c (bfd_perform_relocation): For normal 2- or 4-byte + relocs, don't bother doing the adjustment if the value to add is + zero. + +Sun Dec 27 17:45:05 1992 Fred Fish (fnf@cygnus.com) + + * bfd.c (bfd_get_size): New function that gets an upper bound + on the possible size of any object in a bfd. + * elf.c (bfd_elf_find_section, elf_get_str_section, + elf_get_symtab_upper_bound): Rewrite to avoid NULL pointer + dereferences. + * elf.c (elf_big_vec, elf_little_vec): Document last three + members initialized to NULL. + +Thu Dec 24 17:49:09 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * hppa.c: change a 'const' to 'CONST', or else HP C compiler dies + +Mon Dec 21 16:33:34 1992 Per Bothner (bothner@rtl.cygnus.com) + + * hosts/std-host.h: New file. Attempt at a generic/default + set of definitions, to discourage porting to new hosts by copying. + * hosts/news.h: Removed. + * hosts/sparc.h: Use std-host.h. + * bfd-in.h: New macros bfd_asymbol_bfd and bfd_asymbol_flavour; + perhaps we can later remove the the_bfd field from each symbol. + * syms.c (struct symbol_cache_entry): Remove unused field + app_data. Add comment noting that the_bfd is almost redundant, + but not quite. + * aoutx.h, coff-a29k.c, coff-i386.c, coff-i960.c, coffcode.h: + Use new macros bfd_asymbol_bfd and bfd_asymbol_flavour. + * hppa.c (fill_spaces): Make slightly more rebust. + * configure.in: Allow std-host as the "default" host. + +Mon Dec 21 17:24:13 1992 Stu Grossman (grossman at cygnus.com) + + * bfd.c: Add struct hppa_core_data to tdata union. + * hppa.c: Conditionalize on HOST_HPPAHPUX instead of hp9000s800. + Get rid of HPPA/BSD specific code. That will go somewhere else + someday. + * (fill_spaces): Don't spin forever and die if you don't find + $MILLICODE$ subspace. + * (hppa_object_p): Make sure that we have a real honest-to-cthulu + exec file! + * (hppa_core_file_failing_signal, hppa_core_file_failing_command): + Make these work for HPUX. + * (make_bfd_asection): New routine to make section creation a + little easier. + * (hppa_core_file_p): Completely rewrite, leave out bugs. + * libhppa.h: #include the right system files. Redefine all of + the structs/macros for hacking core files to use more sensible + HPUX core file structures. + * targets.c (target_vector): Conditionalize hppa_vec on + HOST_HPPAHPUX, not hp9000s800. + * hosts/hppahpux.h: #include stdlib.h to get correct decls for + malloc and realloc. #define HOST_HPPAHPUX. + +Mon Dec 21 12:40:10 1992 Ian Lance Taylor (ian@cygnus.com) + + * Patches from Minh Tran-le <mtranle@paris.intellicorp.com>. + * configure.in (i386-*-isc*, i386-*-aix*): New targets. + * configure.host (i386-*-isc*, i386-*-aix*): New hosts. + * hosts/i386isc.h, config/i386isc.mh: New files for Interactive + Unix. + * hosts/i386aix.h, config/i386aix.mh: New files for AIX on PS/2. + * aix386-core.c: New file for handling core files on AIX on PS/2. + * targets.c: if AIX386_CORE, use aix386_core_vec. + * coffcode.h (coff_real_object_p): check for I386SVMAGIC as well + as I386MAGIC. + +Fri Dec 18 10:20:27 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * aoutf1.h (sunos4_write_object_contents): set flags to 0, fixing + 1927. + +Thu Dec 17 19:35:32 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: added dvi target + +Thu Dec 17 00:36:24 1992 John Gilmore (gnu@cygnus.com) + + * bfd.c: Use right name for tekhex tdata struct. + * tekhex.c: Insert leading_char (0) into bfd_target struct. Style. + * libcoff.h: Updated to get spacing change from coffcode.h. + * trad-core.c: leading_char is 0 (no symbols!), not '_'. + +Tue Dec 15 15:40:30 1992 Per Bothner (bothner@cygnus.com) + + * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap): New + functions, with the "guts" of the old bfd_slurp_bsd_armap + and bfd_slurp_coff_armap, but assuming we've already checked + if the armap is present or not. + Also, rewrite a bit to avoid keeping around obstack data + that we don't need. + * archive.c (snarf_ar_header, _bfd_slurp_extended_name_table): + Various fixes to correctly handle COFF_style archives names. + (Note that because these have a trailing '/', the names can + have embedded spaces.) + * archive.c (bfd_slurp_armap): New function, replaces old + bfd_slurp_bsd_armap and bfd_slurp_coff_armap. Recognizes + _either_ format, and calls do_slurp_bsd_armap or + do_slurp_coff_armap if either form of map is seen. + * libbfd-in.h: Changed bfd_slurp_bsd_armap and + bfd_slurp_coff_armap into macro synonyms for bfd_slurp_armap. + * elf.c (elf_slurp_armap, elf_write_armap): Fix. + * Makefile.in (AR_FLAGS): Use rc instead of non-standard qc. + +Mon Dec 14 17:08:08 1992 Stu Grossman (grossman at cygnus.com) + + * hppa.c: #include "sysdep.h", not <sysdep.h>. + * libhppa.h: Make millicode_start and millicode_end be unsigned + int to be same type as CORE_ADDR in GDB. Why are these here? + +Sat Dec 12 15:54:36 1992 Ian Lance Taylor (ian@cygnus.com) + + * coff-i386.c (CALC_ADDEND): if reloc is PC relative, add the + vaddr of the section to the addend. + * targets.c: if MINIMIZE is 1, and SCO_CORE is defined, add + SCO_CORE to SELECT_VECS. + (target_vector): add sco_core_vec. + * sco-core.c (sco_core_vec): add leading underscore initializer. + * configure.in (i[34]86-*-sco*): use target i386-sco. + * config/i386-sco.mt: new file; define SCO_CORE. + +Thu Dec 10 02:13:15 1992 John Gilmore (gnu@cygnus.com) + + * aout-adobe.c (aout_adobe_object_p): Fix !strcmp thinko. + +Fri Dec 4 14:02:49 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * coffcode.h (bfd_coff_std_swap_table): Now static and const. + +Thu Dec 3 16:54:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * hosts/i386linux.h: Include unistd.h. + + * aoutx.h (print_symbol): aout_stab_name returns a constant + string. + * libaout.h (aout_stab_name): Fix prototype. + * stab-syms.c (aout_stab_names): Array is now const. + (aout_stab_name): Return value is now pointer to const. + + * aoutx.h, archive.c, archures.c, coffcode.h, ctor.c, reloc.c, + syms.c: Doc fixes. + + * syms.c (asymbol): Added new field "app_data", for data + particular to the application. Some of the linker flags ought to + get moved to this field someday. + + * archures.c (bfd_default_scan): Recognize a few more numbers: + 80486, 80960, and 960. + + * bfd-in.h (COFF_SWAP_TABLE): New is just address of + bfd_coff_std_swap_table, cast to PTR. + * bfd.c (bfd_coff_swap_*): Deleted macros. + * targets.c (struct bfd_target): Deleted COFF-specific swapping + routine pointers. + * coffcode.h (type bfd_coff_backend_data): New structure type, + contains pointers to the COFF-specific swapping routines. + (bfd_coff_std_swap_table): New data structure, to be used when + NO_COFF_SYMBOLS and NO_COFF_LINENOS are not defined. + (bfd_coff_swap_*): New macros. + * coff-mips.c (mips_coff_swap_table): New data structure. + (ecoff_big_vec): Use it. + * All COFF targets: Moved COFF_SWAP_TABLE to target-specific data. + * All other targets: Deleted coff-specific vector entries. + + * trad-core.c: Fixed some `PARAMS' uses that were missing + parentheses. + +Sun Nov 29 08:37:13 1992 Fred Fish (fnf@cygnus.com) + + * aoutx.h (some_aout_object_p): Protect arg prototype in + callback_to_real_object_p with PARAMS macro for non-ANSI compilers. + +Sat Nov 28 04:01:21 1992 John Gilmore (gnu@cygnus.com) + + * aout-target.h, aoutf1.h, trad-core.c, coffcode.h, libaout.h, + libbfd-in.h, bfd-in.h: Eliminate all PROTO calls, replace with + PARAMS for readability. + + * aoutx.h: Add type to callback parameter. + * coff-mips.c: Don't call trad-core.h, not needed. + * trad-core.c: Incorporate trad-core.h declarations. Fix comments. + * trad-core.h: Eliminate, unused. + +Wed Nov 18 13:16:17 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * format.c (bfd_check_format): if default target isn't found + then look through the entire list rather than return early. + +Mon Nov 16 14:33:03 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/i960-coff.mt: reorder vec to match bfd_check_format (from Per) + +Thu Nov 12 17:01:41 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: pass down prefix and exec_prefix in FLAGS_TO_PASS + +Thu Nov 12 09:46:47 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-z8k.c: checkpoint, more addressing modes handled + * coffcode.h (get_value): don't truncate reloc->addend field, it's + a long now. + +Wed Nov 11 23:57:55 1992 Brendan Kehoe (brendan@cygnus.com) + + * we32k.mt (TDEFAULTS): Use we32kcoff_vec, not i386coff_vec. + +Tue Nov 10 14:04:38 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * Makefile.in: minor tweaks to make $(CC) command lines more consistent + +Mon Nov 9 23:58:17 1992 John Gilmore (gnu@cygnus.com) + + * opncls.c (bfd_fdopenr, bfd_close): Add doc about cacheing + and about when file descriptors are closed. + +Sat Nov 7 00:42:20 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * bout.c (b_out_squirt_out_relocs): Make sure alignment relocs get + written out correctly. + +Thu Nov 5 15:34:19 1992 Ian Lance Taylor (ian@cygnus.com) + + * section.c: New section bit SEC_SHARED_LIBRARY. + coffcode.h (styp_to_sec_flags): if STYP_NOLOAD && (STYP_TEXT || + STYP_DATA), set SEC_SHARED_LIBRARY. This seems to be correct for + i386-sysv. + +Thu Nov 5 04:43:09 1992 John Gilmore (gnu@cygnus.com) + + * target.c (struct bfd_target): Eliminate the SDEF and SDEF_FMT + macros; use PARAMS to declare the function pointers involved. + + * bfd-in.h, bfd.c, libbfd.h, reloc.c, seclet.h, section.c, + targets.c: Rename struct bfd_seclet_struct to struct bfd_seclet. + +Thu Nov 5 02:59:09 1992 John Gilmore (gnu@cygnus.com) + + Cleanup: Replace all uses of EXFUN in the BFD sources, with PARAMS. + + * archures.c, reloc.c, section.c, tekhex.c: Use PARAMS in + declaring pointers to functions. + * cache.c, elf.c: Move static function decls to top, use PARAMS. + * seclet.h: Declare external function with PARAMS. + + * doc/chew.c (exfunstuff): Eliminate. + (paramstuff): Replace exfunstuff with function to generate PARAMS. + * doc/proto.str: Use paramstuff rather than exfunstuff. + + * libbfd.h: Update, based on changes in source code and chew. + +Wed Nov 4 22:47:29 1992 John Gilmore (gnu@cygnus.com) + + * libieee.h: Add FIXME about removing limit on number of sections. + * bfd-in.h: Improve comments to make it clear that bfd.h is + the wrong place to edit this file. + * Makefile.in (install): Install ansidecl.h and obstack.h in the + same places where we install bfd.h. + +Wed Nov 4 13:40:23 1992 Sean Eric Fagan (sef@cygnus.com) + + * coffcode.h (coff_swap_aux_out, coff_swap_aux_in): check for + symbol type before blindly modifying the auxent. Specifically, + only modify the endndx fields for types that need it, and don't + set the array information for non-arrays. + +Wed Nov 4 09:30:50 1992 Ken Raeburn (raeburn@cygnus.com) + + * aoutx.h (some_aout_object_p): Section list should be set up + correctly anyways; don't have to set up "next" pointers manually. + +Mon Nov 2 12:36:14 1992 Ian Lance Taylor (ian@cygnus.com) + + * config/delta88.mh, config/hp300.mh, config/hppahpux.mh, + config/i386v.mh: removed -DUSG from HDEFINES. + hosts/delta88.h, hosts/hp300.h, hosts/hppahpux.h, hosts/i386v.h: + defined USE_UTIME. + hosts/i386v.h: don't define POSIX_UTIME. + +Fri Oct 30 16:13:52 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ieee.c (ieee_slurp_sections): make a private copy of the + section's name before truncating it. + +Thu Oct 29 08:30:50 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * hppa.c: add symbol_leading_char entry in transfer vec + +,Wed Oct 28 16:11:57 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ieee.c (get_symbol): can now cope when two symbols of a + different class, but the same index number occur consecutively. + (get_section_entry): nicer name for sections being forward + referenced. (ieee_archive_p): don't free the filename string, + since it was never malloced. + +Wed Oct 28 13:42:09 1992 John Gilmore (gnu@cygnus.com) + + * coffcode.h (coff_write_object_contents): Zero timestamp field. + +Tue Oct 27 12:24:34 1992 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (coff_swap_aux_out): set the fcnary info before + optionally setting the dimen info, since they are in the same + memory locations. Also zero out external auxent. + (coff_write_symbol): don't zero external auxent; now done in + coff_swap_aux_out. + +Fri Oct 23 13:55:35 1992 Ian Lance Taylor (ian@cygnus.com) + + * Check fclose return value for errors. + libbfd.h: bfd_cache_close now returns a boolean. + cache.c (bfd_cache_delete): return fclose success value. + (bfd_cache_close): return bfd_cache_delete return value. + opncls.c (bfd_close, bfd_close_all_done): return result of + bfd_cache_close. + +Fri Oct 23 10:32:36 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * seclet.c (rel): don't load sections without the SEC_LOAD bit. + +Thu Oct 15 10:16:35 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-m68k.c (m68k_howto2type, SELECT_RELOC): new function to + work out a coff relocation type from a howto's attributes rather + than using the input r_type field. This fixes PR1677 and allows + conversion of a.out relocs to coff relocs. + + * coffcode.h (coff_write_relocs): if supplied a relocation + relative to an absolute symbol, use the right symbol index. + + * reloc.c (bfd_perform_relocation): do a partial link for coff + relocs right. + +Fri Oct 23 08:15:56 1992 Ian Lance Taylor (ian@cygnus.com) + + * changes to support i386-sysv with shared libraries: + * coffcode.h (sec_to_styp_flags): if TWO_DATA_SECS is defined, + check for .data2; if _LIB is defined, check for it; map + SEC_NEVER_LOAD to STYP_NOLOAD. + (styp_to_sec_flags): map STYP_NOLOAD to SEC_NEVER_LOAD. + (make_a_section_from_file): if TWO_DATA_SECS, accept .data2. + (coff_write_object_contents): force vaddr of .lib to 0; set scnptr + if section has contents, not just if it is loadable; if + TWO_DATA_SECS, check for .data2 + (coff_set_section_contents): set vma of .lib section to number of + .lib sections. + * coff-i386.c: define TWO_DATA_SECS; use a special CALC_ADDEND; + don't define coff_write_armap to bsd_write_armap. + * hosts/i386v.h: don't include <utime.h>, since it is not provided + by SVR3.2. + +Thu Oct 22 22:40:20 1992 Brendan Kehoe (brendan@lisa.cygnus.com) + + * solaris2.h: Get the definition of alloca from alloca.h if we + aren't using gcc. + +Thu Oct 22 03:07:28 1992 John Gilmore (gnu@cygnus.com) + + * configure.in (i960-*-{aout,bout}): Support these. + +Wed Oct 21 03:46:34 1992 John Gilmore (gnu@cygnus.com) + + * config/a29k-aout.mt (DEFAULT_TARGET): Set to one that exists. + +Thu Oct 15 15:05:39 1992 Per Bothner (bothner@cygnus.com) + + * apollo68.h, apollov68.h, hp300.h, i386v.h, irix3.h: Remove + no-longer-used definitions of L_SET and L_INCR. + * i386linux.h: Tweaks to smooth Linux build. + +Thu Oct 15 01:32:22 1992 John Gilmore (gnu@cygnus.com) + + * seclet.h: Add enum tag to bfd_seclet_enum_type. + + * bfd-in.h (file_ptr): Update comments, make FIXME re off_t. + + * aout-adobe.c, aoutf1.h, archive.c, bout.c, coff-rs6000.c, + coffcode.h, elf.c, ieee.c, libaout.h, libbfd.c, oasys.c, + sco-core.c: Lint: Second argument of bfd_seek is always file_ptr. + Third argument is SEEK_SET or SEEK_CUR. Result is always 0 or -1. + + * aout-adobe.c, aoutf1.h, aoutx.h, bout.c coff-m68k.c, coff-z8k.c, + coffcode.h, elf.c, libaout.h, libbfd-in.h, srec.c: Lint. + +Fri Oct 9 03:46:37 1992 John Gilmore (gnu@cygnus.com) + + * configure.host: New file, contains mapping of host configs + to host support file names for bfd, binutils, opcodes. + * configure.in: Use it. + * i386aout.c: Cleanup, dump TARGET_IS_LITTLE_ENDIAN_P. + * i386bsd.c: Cleanup, reformat. + * config/i386-bsd.mt: Comment changes. + * config/i386bsd.mh: New file for core file support. + * hosts/i386bsd.h: Merge changes from Peter Schauer. + * bout.c (ALIGN): Rename to ALIGNER, since system header files + on BSD 4.4 define ALIGN (sigh!). + +Thu Oct 8 22:18:10 1992 Mark Eichin (eichin at tweedledumber.cygnus.com) + + * libaout.h (aout_backend_data): added exec_header_not_counted + field. For ZMAGIC files only, when text_includes_header is set, by + default the length of the exec header is counted in the text + section size. For go32, exec header is mapped in but does *not* + contribute to the size of section. + * aoutx.h (aout_adjust_sizes_and_vmas): if exec_header_not_counted + is not set, but ztih is, add the size of the exec header to the + recorded size of the text section. + * aoutf1.h (sunos4_aout_backend): clear exec_header_not_counted. + * i386aout.c (i386aout_backend_data): set exec_header_not_counted. + Also set text_includes_header. + * aout-target.h (*_backend_data): cleare exec_header_not_counted + by default in MY(backend_data). + +Thu Oct 8 18:12:49 1992 Ken Raeburn (raeburn@cygnus.com) + + * aout-target.h (callback): Don't define this function if it won't be + used. + + * aoutx.h (some_aout_object_p): Restore old aout_data value if this + type doesn't match. Don't lose if file sections have already been + created. + (set_arch_mach): Set reloc_entry_size. + (slurp_symbol_table): Use bfd_h_get_{16,8} for reaeding symbol data. + + * hosts/i386bsd.h: New file. + * configure.in: Recognize i[34]86-*-bsd host. + + * aout-target.h (callback, write_object_contents): Delete unused + variables. + + * aoutx.h (reloc_type_lookup): New function. + * aout-target.h (MY_reloc_howto_type_lookup): Use it as default. + * aoutf1.h (sunos4_reloc_type_lookup): Deleted. + (MY_reloc_howto_type_lookup): Don't define it. + + * aoutx.h (adjust_sizes_and_vmas): Don't bother with padding for + OMAGIC files. + (slurp_symbol_table): Use header byte order, not target byte + order, for reading symbol data. + +Thu Oct 8 17:33:39 1992 John Gilmore (gnu@cygnus.com) + + * configure.in: Undo some brain damage in the host section. + * configure.in: Reformat the target section, test many configs. + * Makefile.in (make): Remove obsolete `make make'. + * aoutx.h (some_aout_object_p): Make defines line up. + +Thu Oct 8 08:52:48 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + Now a bfd knows whether underscores are normally prepended + to symbols in its file format. + + * aout-adobe.c, aout-target.h, bout.c, coff-a29k.c, coff-h8300.c, + coff-z8k.c: targets set so they have leading underscore + * coff-i386.c, coff-i960.c, coff-m68k.c, coff-mips.c, coff-m88k.c, + coff-rs6000.c, coff-we32k.c, elf.c, ieee.c, srec.c: targets set + without leading underscore flag + * targets.c: add symbol leading char to xvec description + * bfd-in.h (bfd_get_symbol_leading_char): new macro. + +Mon Oct 5 14:32:55 1992 Per Bothner (bothner@cygnus.com) + + * archive.c: Make errno global. + * archive.c (_bfd_write_archive_contents): If read fails (and + errno!=0) set bfd_error to malformed_archive (since this probably + indicates a truncated archive), rather than system_call_error. + +Mon Oct 5 03:33:39 1992 Mark Eichin (eichin at tweedledumber.cygnus.com) + + * Makefile.in: added rules for i386bsd.c + * i386bsd.c: new file, supporting 386bsd. + * configure.in: recognize i386-*-bsd target. + * config/i386-bsd.mt: new file - 386bsd target configuration. + +Thu Oct 1 17:51:07 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: re-arrange host section to use *-*-* notation, + clean up some of the target section as well + + * seclet.c: cast result of bfd_get_relocated_section_contents to + avoid compiler warnings + +Tue Sep 29 13:24:09 1992 Ken Raeburn (raeburn@cygnus.com) + + * coffcode.h (coff_section_symbol): Create section if it doesn't + already exist. + + * bout.c: Removed some unused variables. + +Tue Sep 29 08:30:21 1992 Ian Lance Taylor (ian@cygnus.com) + + * Portability fixes from p3: + coffcode.h (coff_write_relocs): removed sanity check until it + works on all targets (per advice from sac). + config/hp9000.mh: new file to define USG. + hppa.c: #undef hppa before the JUMP_TABLE. + hosts/hppahpux.h: #define NATIVE_HPPAHPUX_COMPILER if not + __STDC__. + targets.c (bfd_target_list): if NATIVE_HPPAHPUX_COMPILER, make + local variable target volatile to avoid mysterious bug in + HP9000/700 cc. + +Sat Sep 26 03:58:49 1992 John Gilmore (gnu@cygnus.com) + + * config/hppabsd.mh, config.hppahpux.mh: Remove various bogosity. + * hosts/hppahpux.h: Remove bcopy and index circumventions. + +Fri Sep 25 22:36:52 1992 John Gilmore (gnu@cygnus.com) + + * coff-z8k.c (func_da, func_jr): Lint. + * coffcode.h: Use memset rather than bzero. + * elf.c: Use memcpy rather than bcopy. + * tekhex.c: Use memset rather than bzero. + +Fri Sep 25 19:14:48 1992 John Gilmore (gnu@cygnus.com) + + Add Adobe a.out support. + + * aout-adobe.c: New file. So far, only reads a.out.adobe. FIXME. + * config/adobe.mt: Add. + * configure.in (*-adobe-* target): Add. + * targets.c (a_out_adobe_vec): Add. + * Makefile.in: add aout-adobe.c. + + * configure.in: Put two dashes in all entries to be matched. + Add comments to remind people to do this. + Reorder all entries that match manufacturer names, to occur + last, so they will only be matched if no more specific match + occurs. Remove manufacturers `aout', `bout', `coff', and `elf'. + +Fri Sep 25 15:03:22 1992 Brendan Kehoe (brendan@rtl.cygnus.com) + + * elf.c (section_from_elf_index): Return bfd_abs_section, not 0, + since we should never have a NULL section. + (elf_slurp_symbol_table): If st_shndx doesn't match any of our + tests, set the section to bfd_abs_section. + +Fri Sep 25 11:11:57 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-z8k.c: getting closer + * coffcode.h (coff_get_relocated_section_contents): allow + EXTRA_CASES hooks for different arches to provide different reloc + types. + * seclet.h: #ifndef around it to allow multiple inclusion + * srec.c: minor doc fix + +Mon Sep 21 14:33:58 1992 Ian Lance Taylor (ian@cygnus.com) + + * hosts/hp9000.h, hosts/irix3.h: changes from WRS. + +Sun Sep 20 08:48:25 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Use i386-elf for all i386/i486 sysv4 hosts, not + just ncr. + +Thu Sep 17 06:40:46 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * bout.c (b_out_slurp_reloc_table): Clear howto field before + filling in reloc, in case immediately following code doesn't set + it. + +Fri Sep 11 15:37:06 1992 Ian Lance Taylor (ian@cygnus.com) + + * coffcode.h (coff_renumber_symbols): set the last renumbered + symbol pointer to NULL, as expected by coff_write_linenumbers. + (coff_write_relocs): apparently a non-zero addend is OK for reloc + type R_IHCONST used on the 29k. + +Thu Sep 10 13:28:24 1992 John Gilmore (gnu@cygnus.com) + + * opncls.c (bfd_fdopenr): Determine whether to fdopen for + update, based on how the underlying file was opened. Obsoletes + FASCIST_FDOPEN. + * hosts/rs6000.h, hosts/tahoe.h, hosts/vaxbsd.h: Remove + all FASCIST_FDOPEN config defines. + +Tue Sep 8 21:37:58 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * sparc-opc.c: Moved to opcodes library, now that we have one. + * Makefile: Don't compile it. + +Tue Sep 8 10:10:34 1992 Ian Lance Taylor (ian@cygnus.com) + + * aoutx.h: adjust_sizes_and_vmas did not return anything. + +Thu Sep 3 19:29:04 1992 Per Bothner (bothner@rtl.cygnus.com) + + * section.c (bfd_set_section_flags): Remove a sanity check. + It is unfortunately broken, and prevents strip from working. + +Thu Sep 3 16:14:40 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * sparc-opc.c (condr): Remove extraneous, but harmless, backlash + created by last change. + +Thu Sep 3 13:52:38 1992 Per Bothner (bothner@rtl.cygnus.com) + + * reloc.c (reloc_howto_struct): Make size field be unsigned. + * bfd-in.h: Bump to version 2.0. + +Thu Sep 3 09:05:37 1992 Stu Grossman (grossman at cygnus.com) + + * bout.c, cpu-z8k.c: Use enums when initializing structs to keep + braindamaged HP/Apollo compiler happy. + +Wed Sep 2 02:53:29 1992 John Gilmore (gnu@cygnus.com) + + * format.c: Fix description of search for matching target. + * aoutx.h (some_aout_object_p): Set SEC_CODE and SEC_DATA. + * targets.c: Update description of search for matching target. + * Makefile.in (do_clean, clean): Fix infant mortality typo. + (docdir): Set to ./doc, not ${srcdir}/doc, which has no makefile. + (z8k and we32k files): `*.o: *.c': avoid Sun Make bug. + +Wed Sep 2 00:26:32 1992 Per Bothner (bothner@rtl.cygnus.com) + + * Makefile.in: Added mostlyclean/clean/distclean rules. + +Tue Sep 1 13:38:40 1992 Per Bothner (bothner@cygnus.com) + + * targets.c (target_vector): Take out oasys (unless that is + the default): Because there is no magic number in archives, + there can be annoying target mis-matches. + +Mon Aug 31 10:11:37 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * sparc-opc.c: Rigorously updated to match architecture manual. + +Mon Aug 31 08:07:58 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * aoutx.h (aout<n>swap_ext_reloc_out), bout.c + (b_out_squirt_out_relocs): fix bug 1506 where abs symbols attached + to the built-in abs_section were not written out correctly. + +Fri Aug 28 16:29:15 1992 Ian Lance Taylor (ian@cygnus.com) + + * archive.c (bfd_slurp_bsd_armap): if the symdef_count is too + large, assume we're using a swapped byte order and fail with + wrong_format rather than dumping core. + +Fri Aug 28 15:38:03 1992 Ken Raeburn (raeburn@cygnus.com) + + * Renamed opc-sparc.c to sparc-opc.c for systems with short + filename constraints. + * Makefile.in: Updated to reflect change. + +Thu Aug 27 13:05:28 1992 Brendan Kehoe (brendan@cygnus.com) + + Add preliminary support for the we32k: + + * Makefile.in, archures.c, coffocode.h, configure.in, targets.c: + Minor edits. + * coff-we32k.c, cpu-we32k.c, config/we32k.mt, hosts/we32k.h: New files. + +Wed Aug 26 14:20:16 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bout.c: added support for relaxable alignment relocs. + + * seclet.c (rel, seclet_dump_seclet, seclet_dump): get the app to + pass down pointer to play area rather than use alloca + + * cpu-z8k.c (compatible): made static to reduce name space + polution. + +Tue Aug 25 08:39:10 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + Add basic support for the z8k: + + * Makefile.in, archures.c, coffcode.h, configure.in, reloc.c, + section.c, targets.c, + + * syms.c: move mis-inserted patch. + +Fri Aug 14 15:39:29 PDT 1992 Howard Chu (hyc@hanauma.jpl.nasa.gov) + + Documentation fixes: + * ctors.c, format.c, section.c, reloc.c: append " -" to item tags. + * reloc.c, section.c, syms.c, targets.c: add DOCDD before @node + comments. + * reloc.c: break out addend item from surrounding text. + + * doc.str (DOCDD): Defined. Adds text to output. + (bodytext): Put bulletize before kill_bogus_lines. + * chew.c (bulletize): End itemization after a blank line, to + prevent following text from being swallowed up in an item. + +Mon Aug 24 20:50:22 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: Add sparclite as a target. + +Mon Aug 24 12:06:31 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * ieee.c (ieee_get_symtab): always null terminate the symbol list, + lint. + + * coffcode.h (coff_add_missing_symbols): if symbols don't come + from a coff file (csym is null), dont deref them + + * ieee.c (parse_expression): get the answer right when adding an + abs+(sec+off), (ieee_generic_stat_arch_elt): call ieee_object_p + on elts so that filename is filled in. + +Thu Aug 20 19:05:48 1992 Ken Raeburn (raeburn@cygnus.com) + + * bout.c (howto_align_table): New set of relocs, with enough + data for "objdump -r" to work. + (b_out_reloc_type_lookup): Recognize alignment relocs. + +Tue Aug 18 12:57:45 1992 Ian Lance Taylor (ian@cygnus.com) + + * Makefile.in: added FLAGS_TO_PASS, and used it for all recursive + invocations of make. Also, always create installation + directories. + + * config/apollov68.mh: removed -g from CC definition. + +Mon Aug 17 13:40:08 1992 Ken Raeburn (raeburn@cygnus.com) + + * config/decstation.mh (HDEFINES): Specify "-G 4" to avoid + overflowing gp-offset range. + +Mon Aug 17 11:44:28 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * srec.c (srec_set_section_contents): don't write out sections + without the LOAD and ALLOC attributes + +Mon Aug 17 11:55:07 1992 Ken Raeburn (raeburn@cambridge.cygnus.com) + + * archures.c, cpu-m68k.c, cpu-sparc.c: Undo 16 June changes. + * libaout.h (struct aout_backend_data): New callback "set_sizes". + * aout-target.h (callback): Don't set page/seg sizes. + (mkobject): Ditto. + (set_sizes): New routine. + (backend_data): Point to it. + * aoutf1.h (sunos4_set_sizes): Heed architecture when setting sizes. + (sunos4_aout_backend): Point to it. + * aoutx.h (set_arch_mach): Call set_sizes callback. + +Fri Aug 14 19:22:18 1992 Per Bothner (bothner@cygnus.com) + + * aout-target.h: Make _bfd_slurp_extended_name_table be + the default. Given that we *write* the suckers (for long + archive member names), we really ought to be able to read them! + * trad-core.c: Don't include <machine/reg.h>. It doesn't + seem to be needed, and many machines don't have it. + +Thu Aug 13 09:53:39 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-m68k.c (vector): read and write archives in coff format. + +Tue Aug 11 12:19:42 1992 Ken Raeburn (raeburn@cygnus.com) + + * opc-sparc.c: New file. + +Sat Aug 8 23:15:35 1992 Fred Fish (fnf@cygnus.com) + + * bout.c (bfd_reloc_status_type, callj_callback): Cast void* + pointers to bfd_byte* before performing arithmetic on them. Such + use with bare void* pointers is a gcc extension. + * cache.c (bfd_cache_delete): Forward decl with prototype form. + * archive (normalize): Add to CONST to match actual usages with + CONST. + +Mon Aug 3 00:35:29 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Recognize i486 host cpu, and use i386-elf + for i486-ncr-sysv4. + +Sat Aug 1 13:49:59 1992 Fred Fish (fnf@cygnus.com) + + * config/stratus.mt (CC): Remove definition. + * elf.c (bfd_section_from_shdr): Test for the possibility that + section_from_elf_index returns NULL and don't dereference it. + +Mon Jul 20 02:46:09 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * add hppa_data to bfd tdata (indirectly via sef). + + * config/hppahpux.mh: hpux is -DUSG (patch by sef) + +Sat Jul 18 15:50:11 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: error messages to stderr, not stdout + +Fri Jul 17 18:32:46 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * bfd.c, cache.c, coff-a29k.c, coff-i386.c, coff-i960.c, + coff-m68k.c, coff-m88k.c, demo64.c, libaout.h, libbfd.c, + oasys.c, opncls.c, sunos.c, targets.c: removed rcsid's. + +Fri Jul 17 17:06:56 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * configure.in: recognize hppa* instead of hppa + +Thu Jul 16 16:39:25 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-m68k.c: added R_RELLONG_NEG reloc type, and changed + RTYPE2HOWTO to cope with same. + * reloc.c (bfd_perform_relocation): added support for size of -2 + (subtract a word reloc type). Updated doc. + +Thu Jul 16 16:28:09 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: merged changes from progressive, removed rcsid. + + * archures.c, archive.c, Makefile.dos: removed rcsid. + +Thu Jul 16 08:08:25 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd-in.h : add BFD_IS_RELAXABLE flag + * bout.c (bout_swap_exec_header_[in_out]): new field in exec + header e_relaxable, major hackery in callbacks + * libaout.h : add space for a_relaxable. + * seclet.c (rel): don't relax empty sections + + +Wed Jul 15 07:57:46 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * section.c (STD_SECTION): add some casts to the initializers for + dumb compilers + +Tue Jul 14 14:06:28 1992 Stu Grossman (grossman at cygnus.com) + + * rs6000-core.c (rs6000coff_core_p): Greatly simplify expression, + and add appropriate casts to keep (picayune) aix-cc happy. + +Mon Jul 13 05:06:51 1992 John Gilmore (gnu at cygnus.com) + + * elf.c (elf_slurp_symbol_table): Now 2nd arg is where to write + symbol pointers. Punt expensive & useless bfd_realloc. Use + malloc for raw symbols, and free it before returning. + (bfd_section_from_shdr): Do not slurp symbol table until politely + asked. Do not even slurp string tables. + (elf_get_symtab_upper_bound): Count 'em without reading them. + (elf_get_symtab): This is how to politely ask. Schlurp! + This should probably just *become* elf_slurp_symbol_table, FIXME. + +Wed Jul 8 16:24:33 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * archive.c (bsd_write_armap): write the timestamp of the + archive header to be just a little bit later than the timestamp of + the file, otherwise the linker will complain that the index is + out of date. + +Tue Jul 7 00:23:23 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Add m68k-ericsson-*. + +Sat Jul 4 03:29:41 1992 John Gilmore (gnu at cygnus.com) + + * syms.h: Define BSF_FILE, update BSF_SECTION_SYM desc. + * elf.c: Remove unconditional debug printf's. + (elf_write_object_contents, elf_slurp_symbol_table): Handle + BSF_SECTION_SYM <=> STT_SECTION, BSF_FILE <=> STT_FILE. + (elf_slurp_symbol_table): Hand out symbols in forward, not + reverse order. Simplify duplicate code. + +Fri Jul 3 20:23:34 1992 Fred Fish (fnf@cygnus.com) + + * elf.c: Remove "(void)" casts from function calls where the + return value is ignored, in accordance with GNU coding standards. + +Tue Jun 30 16:49:12 1992 Fred Fish (fnf@cygnus.com) + + * hppa.c: Apply John's standard fix to avoid "empty translation + unit" warnings from some ANSI-C compilers. + +Thu Jun 25 04:39:25 1992 John Gilmore (gnu at cygnus.com) + + * hosts/solaris2.h: Configure same as sysv4. + +Tue Jun 23 21:54:44 1992 Fred Fish (fnf@cygnus.com) + + * libbfd.h, libbfd-in.h (bfd_seek): Make prototype match definition. + * reloc.c (bfd_default_reloc_type_lookup): Make cast on return + type match actual return type. + * elf_print_symbol (section_name): Make CONST. + +Mon Jun 22 17:35:24 1992 Per Bothner (bothner@cygnus.com) + + * i386linux.c, hosts/i386linux.h, config/i386-linux.mt: + New files, for Linux (a free Unix clone for 386 machines). + * Makefile.in, configure.in, targets.c: Update accordingly. + +Fri Jun 19 20:23:21 1992 Steve Chamberlain (sac@thepub.cygnus.com) + Lints for bfd_reloc_code_type->bfd_reloc_code_real_type, and + correct calling of howto special functions and fixes from Raeburn + for gas<>bfdness + * archures.c: nuke bfd_reloc_code_type + * bout.c, cpu-h8300.c, coff-i960.c, coff-m88k.c: special function lint + * coffcode.h (styp_to_sec_flags): STYP_INFO is marked as + SEC_NEVER_LOAD, various other bfdgas newness + * reloc.c->libbfd.h: change protype of bfd_default_reloc_type_lookup + * targets.c: change jump table vector to above + + +Fri Jun 19 19:00:45 1992 John Gilmore (gnu at cygnus.com) + + * elf.c (bfd_elf_find_section): Mark as INTERNAL_FUNCTION so + its prototype will be included in libbfd.h. Change result type + to struct * (rather than equivalent typedef) so it can be used in + the prototype, where they typedef won't be known. + * libbfd.h: Updated version. + +Fri Jun 19 15:21:56 1992 Stu Grossman (grossman at cygnus.com) + + * Makefile.in, archures.c, configure.in, cpu-hppa.c, hppa.c, libhppa.h, + targets.c: HPPA merge. + +Fri Jun 19 12:21:38 1992 John Gilmore (gnu at cygnus.com) + + * configure.in: Separate Solaris2 from SYSV4 on SPARC. + * config/solaris2.mh: Kludge around Sun compiler bug. + +Wed Jun 17 14:02:46 1992 Stu Grossman (grossman at cygnus.com) + + * libaout.h (aout_backend_data): Change defs of two bitfields to + be unsigned chars instead to get around rs6000 compiler problem. + +Wed Jun 17 13:55:31 1992 Fred Fish (fnf@cygnus.com) + + * elf.c (bfd_section_from_shdr, elf_slurp_symbol_table): + Correct misconception that there can be only one symbol table. + Only call elf_slurp_symbol_table on the full symbol table, not + the dynamic one which is only a subset of the full one. + +Wed Jun 17 15:54:57 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * coffcode.h (coff_compute_section_file_positions): For I960, + don't align sections in file. + +Tue Jun 16 06:28:21 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * targets.c (struct bfd_target): Added field for target-specific + (but not file-specific) data, for distinguishing minor + characteristics between (e.g.) a.out formats. + + * section.c (struct sec): New field user_set_vma indicates vma + field should be heeded, not assumed to be unset. + (STD_SECTION): Initialize that field of standard sections to zero. + * bfd-in.h (bfd_set_section_vma): Set user_set_vma to true. + + * coffcode.h (coff_write_relocs): Write out swapped reloc, not + pre-swapped version. + + * archures.c (struct bfd_arch_info): Fixed order of comment and + field decl. New fields indicate size of page and segment for + architecture. + * cpu-m68k.c (N): Fill in values. + * cpu-sparc.c (arch_info_struct): Ditto. + + * libaout.h (struct aout_backend_data): Various bits of data (not + all used currently) with characteristics of a.out implementation. + Important field for now is text_includes_header, indicating that + the text section starts immediately after the file header, which + gets mapped in with it. + (struct aout_data): New fields indicate whether vma has been + adjusted yet (not yet used), and what magic number will be used in + the output file (should go away in favor of vma_adjusted). + (WRITE_HEADERS): Code for dealing with section sizes and related + header fields replaced with call to adjust_sizes_and_vmas. + * aoutx.h (some_aout_object_p): Fill in magic number field. + Set WP_TEXT flag for ZMAGIC as well as NMAGIC files. + (set_arch_mach): Set page size and segment size once CPU + type is known. + (adjust_sizes_and_vmas): New function; has much code moved + from set_section_contents and WRITE_HEADERS. Sets or adjusts vma + and size parameters, as well as many header fields, after deciding + on magic number for output file. Checks to ensure that this + adjustment has only been done once. + (set_section_contents): Call adjust_sizes_and_vmas instead of + doing much of the work here. + + * aout-target.h (MY_make_debug_symbol, MY_backend_data): Provide + default (null) values of these fields. + * aoutf1.h (sunos4_write_object_contents): Don't override a_text + value in exec header. + (sunos4_aout_backend, MY_backend_data): Define backend data + indicating file header is included in text section. + + * aoutf1.h (MY_reloc_howto_type_lookup): Fix typo. + + * hosts/sparc.h (abort, exit): Hide these names if compiling with + gcc version 2, to avoid warnings. + +Mon Jun 15 12:26:56 1992 Fred Fish (fnf@cygnus.com) + + * config/ncr3000.mh (INSTALL, RANLIB): Don't use /usr/ucb/install, + it's broken on ncr 3000's. Use simple "true" for RANLIB. + +Sat Jun 13 09:16:43 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * configure.in (m680[01234]0-wrs-*): Fix typo in match pattern. + +Fri Jun 12 19:48:34 1992 John Gilmore (gnu at cygnus.com) + + * section.c (STD_SECTION): Remove extra semicolon in declarations. + * configure.in: Rewrite target parsing to use simple format. + Handle sparc-sun-solaris2 configuration. + * aout64.h: Avoid ANSI C brain death warning. + * elf.c: Avoid trigraph (???) or /* in comments. + +Fri Jun 12 14:51:14 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) + + * config/sysv4.mh: new file, RANLIB=echo + + * configure.in: handle Solaris2 as -sysv4 or -solaris2 + +Thu Jun 11 00:52:03 1992 John Gilmore (gnu at cygnus.com) + + * elf.c (elf_obj_tdata): Merge elf_obj_tdata_struct and + elf_core_tdata_struct into a single common struct. Core files + wouldn't have worked at all without this. + (bfd_elf_find_section): New function for GDB's undercover use + to find string sections that BFD hides from it. + (elf_get_str_section): Avoid multiple alloc&reads for same data; + lint. + (elf_object_p, elf_core_file_p): Allocate internal file header + storage dynamically. + * bfd.c (union {...} tdata): Remove elf_core_tdata_struct. + * demo64.c: Prevent "empty translation unit" warnings from idiots. + +Tue Jun 9 17:15:26 1992 Fred Fish (fnf at cygnus.com) + + * config/{i386v4.mh, ncr3000.mh}: Update RANLIB, add INSTALL. + +Sat Jun 6 17:02:51 1992 John Gilmore (gnu at cygnus.com) + + * configure.in: Handle Solaris2 as *-sun-sysv4 or as *-sun-sunos5. + +Sun May 31 05:45:00 1992 david d `zoo' zuhn (zoo@cygnus.com) + + * configure.in: handle m680[01234]0 as aliases for m68k + +Tue May 26 16:50:59 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-a29k.c: do byte relocs correctly + * coffcode.h (styp_to_sec_flags): never load INFO sections + * seclet.c (rel): don't relocate INFO sections + +Wed May 20 08:18:18 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * section.c (bfd_*_symbol, bfd_*_section): Initialize statically. + Make the symbols unmodifiable. + (bfd_section_init): Deleted. + * init.c (bfd_init): Don't call bfd_section_init. + + * section.c (bfd_set_section_contents): Ensure that range to be + written is within section boundaries. + (bfd_get_section_contents): Likewise. Don't bother dispatching if + size is zero. + + * libbfd.c (bfd_xmalloc): Text of error message should be const. + + * coff-i960.c (howto_table): Deleted. + (howto_rellong, howto_iprmed, howto_optcall): New vars; + interesting entries from old howto_table. + (RTYPE2HOWTO): Adjusted to use switch. + (coff_i960_reloc_type_lookup): New function. + + * coffcode.h (coff_new_section_hook): Allocate storage for aux + records for section symbol. + (make_abs_section): Unused; deleted. + (renumber_symbols): Re-order symbols so undefined symbols come + last, as COFF format desires. + (coff_write_symbol): Put C_FILE symbols in debug section always. + (coff_section_symbol): New function; creates a symbol with the + same name as a section, and sets up aux records for it. + (coff_add_missing_symbols): New function; adds section symbols to + symbol table if they aren't there already. Should someday also + add a dummy C_FILE symbol if none is present. + (coff_write_object_contents): Add missing symbols before preparing + symbol table to be written. + (coff_slurp_reloc_table): Verify that symbol indices read in are + in a reasonable range. + * libcoff-in.h (struct coff_tdata): New field conv_table_size. + (obj_conv_table_size): Accessor macro. + + * bout.c (b_out_reloc_type_lookup): New function. Handles three + reloc types on i960. + + * bfd-in.h (bfd_get_section_name): New macro. Like + bfd_section_name, but returns rvalue, not lvalue. + (bfd_get_section_vma, bfd_get_section_alignment): Similar. + (bfd_get_section_flags): Now returns rvalue. + + * reloc.c (enum bfd_reloc_code_real): Add several new values, some + general, some specific to sparc or i960. + + * aoutx.h (set_section_contents): Set VMA for each section based + on previous section. If text section VMA doesn't appear to have + been set, make a best guess from the type of file. + + * aout-target.h (MY_reloc_howto_type_lookup): Define as zero if + not defined. + (MY(vec)): Initialize reloc_type_lookup field. + + * aoutx.h (howto_table_*): Export as aout_#_*_howto_table. + (bfd_error_trap, bfd_error_vector): Extern, not common. + + * aoutf1.h (sunos4_reloc_type_lookup): New function. Handles a + few types of relocs for sparc; will need enhancement. + + * bout.c (callj_callback): Use DEFUN macro in definition. + * coff-i960.c (optcall_callback): Likewise. + + * targets.c (bfd_target): Added fields reloc_type_lookup and + _bfd_make_debug_symbol. Also minor comment changes. + * syms.c (bfd_make_debug_symbol): New dispatching macro. + * reloc.c (bfd_reloc_type_lookup): Take a BFD ptr as arg rather + than arch info, and dispatch with BFD_SEND. Callers changed. + * archures.c (struct bfd_arch_info): Deleted field + reloc_type_lookup. + * cpu-*.c: Don't initialize that field. + + * bfd-in.h (enum bfd_error): Add new value "bad_value". + * bfd.c (bfd_errmsgs): Now const; added entry for bad_value. + (bfd_errmsg): Now returns ptr to const. + * bfd-in.h (bfd_errmsg): Fix prototype. + + * cache.c (BFD_CACHE_MAX_OPEN): Fix typo in doc. + * reloc.c (bfd_generic_relax_section): Ditto. + + * section.c (Section Output doc): Improve description of use of + output_section and output_offset. + +Tue May 19 23:42:10 1992 D. V. Henkel-Wallace (gumby@cygnus.com) + + * sco-core.c: new file from net. + * aoutx.h (translate_to_native_sym_flags): bugfix from net: + Now we have the hairy linker, it's possible to move symbols from + one section into another. Actually make that work! + +Sat May 16 17:57:59 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * hosts/sun3.h: fix declaration of free. + +Tue May 12 14:08:59 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-a29k.c (perform_reloc): fix bug in jmp/call evaluation + * coff-h8300.c (reloc_processing): all relocs are relative to + section start. + * opncls.c: don't use fdopen on DOS systems + + short patches from Glenn Kasten (glenn@ready.com) + * target.c: enabled oasys support + * oasys.c: Insert . when UNDERSCORE_HACK is enabled, + fix problem where a relocation which crossed a modification byte + boundary did not work. Fix problem where a relocation near the end + of a data record did not work. + + +Tue May 5 18:11:25 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * archive.c (bfd_slurp_coff_armap): old versions of BFD wrote + archvie header string counts the endian way, this heuristic sees + how big an archive string to read by trying it one way and if the + string table is unreasonably big, trying it the other. *FIXME*. + * opncls.c (bfd_fdopenr): can't do fdopens on VMS + +Tue May 5 14:18:24 1992 Per Bothner (bothner@rtl.cygnus.com) + + * bfd-in.h: Increase version number to 1.97, for consistency + with ../binutils. + * Makefile.in: docdir is ./doc, not ${srcdir}/doc. + +Mon May 4 11:49:15 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd-in.h: bump version to 1.96 + Major change; changed calling convention for + bfd_get_relocated_section_contents so that caller allocates + memory for section data. + * coffcode.h (bfd_coff_get_relocated_section_contents), reloc.c, + seclet.c, targets.c, bfd.c: reflect new convention. + * coffcode.h (styp_to_sec_flags): if styp_flags is not a special + case, then use reasonable default values for SEC_* flags. + +Fri May 1 12:58:34 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coffcode.h (coff_write_object_contents): use RELSZ to work out + size of output reloc struct. + * targets.c, Makefile.in: comment out tekhex for the moment. + * ieee.c: if some places where null pointers were used instead of &bfd_abs_section. + * configure.in: tandem target is st2000 + * coff-m68k.c: rename static howto_table to global + m68kcoff_howto_table. + * bout.c: remove unnecessary abort + * coff-a29k.c: various changes to the way relocations work to cope + with the "new order" and latent bugs. + * coffcode.h: lint + +Wed Apr 29 12:37:07 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * aoutx.h (aout_swap_ext_reloc_out, aout_swap_std_reloc_out) + bout.c (b_out_squirt_out_relocs): treat abs sumbols the right way. + * reloc.c (bfd_perform-relocation): don't relocate refs to + absolute symbols if doing a partial link. + +Fri Apr 24 07:35:26 1992 Stu Grossman (grossman at cygnus.com) + + * configure.in: Add a29k-amd-udi. + +Thu Apr 23 18:37:55 1992 Fred Fish (fnf@cygnus.com) + + * aoutx.h (aout_<bits>_swap_exec_header_in): Zero out the + internal_exec structure before initializing the fields that + are used, so that the unused fields are in a known state. + +Wed Apr 22 09:36:08 1992 Fred Fish (fnf@cygnus.com) + + * tekhex.c (struct data_struct): Convert from typedef that + typedefs nothing to a normal structure declaration. + * tekhex.c (pass_over): Prototype args for function that + second arg points to. + +Mon Apr 20 22:22:51 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: remove old style staging. Do not print recursion + lines. + + * Makefile.in: rework CFLAGS so that CFLAGS can be passed from the + Makefile command line. Remove MINUS_G. Default CFLAGS to -g. + Pass CFLAGS. + +Fri Apr 17 09:15:31 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * bfd.c, Makefile.in: added tekhex + * aoutx.h (set_section_contents): pages should be padded to the + size of a page, not the size of a segment. + * configure.in: added go32 host and i386-aout target. + * i386aout.c, libaout.h: now works for go32 target + * ieee.c: fix bit rot. + * seclet.c: support for padding seclet type. + +Wed Apr 15 18:11:58 1992 K. Richard Pixley (rich@rtl.cygnus.com) + + * Makefile.in: added .NOEXPORT: + +Tue Apr 14 14:34:42 1992 Fred Fish (fnf@cygnus.com) + + * elf.c (bfd_add_strtab, bfd_add_2_to_strtab): CONST spreads + like ooze. + * elf.c (elf_compute_section_file_positions, + elf_write_object_contents): Return boolean, not NULL (which + can be void *). + * elf.c (bfd_section_from_shdr): Ifdef-out debugging code. + Also ifdef-out code that aborts on unhandled section types. + +Fri Apr 10 22:29:18 1992 Fred Fish (fnf@cygnus.com) + + * configure.in: Recognize ncr3000 config + * Makefile.in (MINUS_G): Pass on to recursive makes. + * hosts/ncr3000.h, config/ncr3000.mh: Add host config files. + +Thu Apr 2 17:42:45 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Now that we have sym.h and symconst.h, compile + coff-msym.c on all systems. + * config/{decstation.mh, irix3.mh, irix4.mh}: Remove coff-msym.o dep. + * coff-msym.c: Update include files and comments; add weakext bit. + +Wed Apr 1 23:16:38 1992 John Gilmore (gnu at cygnus.com) + + * archive.c, bfd.c, bout.c, coffcode.h, init.c, reloc.c, + section.c, srec.c, syms.c, coff-h8300.c: Lint. + +Sun Mar 29 09:37:59 1992 John Gilmore (gnu at cygnus.com) + + * bout.c, coff-a29k.c, coff-i960.c: Lint. + * configure.in: Add new host and target configs. + * elf.c (bfd_prstatus, bfd_fpregset): Avoid typename of register + structs, which vary; just use member name. + (elf_object_p, elf_core_file_p): Lint, fix comments. + * config/sparc-elf.mt, hosts/sysv4.h: New config files. + +Sat Mar 28 13:07:02 1992 Fred Fish (fnf@cygnus.com) + + * elf.c (elf_object_p, elf_core_file_p): Fix to use only a single + local, disposable, copy of the external form of section header + table and program header table entries. + +Thu Mar 26 16:59:58 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Set MINIMIZE back to 0 for a real release. + +Tue Mar 24 15:57:03 1992 K. Richard Pixley (rich@cygnus.com) + + * configure.in: config/irix4.m[ht], hosts/irix4.h: add support for + irix4. + +Mon Mar 23 22:37:34 1992 Stu Grossman (grossman at cygnus.com) + + * coff-msym.c (ecoff_swap_rfd_in): remove & for array ref. + +Tue Mar 17 14:12:25 1992 Per Bothner (bothner@rtl.cygnus.com) + + * bout.c (b_out_slurp_reloc_table): Use BFD_ASSERT macro, + not internal bfd_assert function (twice). + +Tue Mar 17 10:45:12 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * aout-target.h: change ar_max_namelen to 15 (the right value) + * coff-a29k, coffcode.h: more hangovers from the bfd_abs_section + change + +Mon Mar 16 14:57:22 1992 Steve Chamberlain (sac@rtl.cygnus.com) + + * archive.c (bfd_generic_archive_p): check for bout archives too. + * bout.c: make it work again. + +Sat Mar 14 17:30:40 1992 Fred Fish (fnf@cygnus.com) + + * elf.c (elf_corefile_note): Call bfd_xmalloc() instead of bare + malloc(). + * reloc.c (bfd_generic_get_relocated_section_contents): Call + bfd_xmalloc() instead of bare malloc(). + +Fri Mar 13 15:44:37 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: pass down MAKEINFO on info. + +Fri Mar 13 07:41:13 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * config/mt-<foo> now <foo>.mt, config/mh-<foo> now <foo>.mh. + host/h-<foo> now just <foo>. + * configure.in: reflect changes + +Thu Mar 12 11:15:02 1992 Per Bothner (bothner@cygnus.com) + + * libbfd-in.h (set_tdata): Make change of Feb 27 in the + actual source file, not just the generated libbfd.h. + +Sat Mar 7 10:33:41 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-i960.c (icoff_little_vec): add COFF_SWAP_TABLE so we can run + gdb on little-endian 960 code. + * archive.c (compute_and_write_armap): indirect symbols should go + into the archive header too. + +Fri Mar 6 21:55:16 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: added check target. + +Thu Mar 5 23:51:42 1992 John Gilmore (gnu at cygnus.com) + + * coff-msym.c: Move this file from gdb/ecoff.c. It + handles byte-swapping for ECOFF (MIPS symbol) files. + * config/mh-decstation, config/mh-irix3: Add coff-msym.o + to the files built on MIPS-based hosts. + * Makefile.in: Add rule for coff-msym. + +Thu Mar 5 21:36:05 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in: added clean-info target. MINIMIZE=1. + +Sun Mar 1 22:32:58 1992 Per Bothner (bothner@cygnus.com) + + * coff-rs6000.c: Move core file functions into separate + new file rs6000-core.c. This is needed because reading + core files depends on native include files that conflict + with ../include/coff/rs6000.h. + * config/mh-rs6000: Add rs6000-core.o to HDEPFILES. + +Thu Feb 27 22:19:55 1992 Per Bothner (bothner@cygnus.com) + + * aoutx.h (NAME(aout,print_symbol)): Don't print + symbol addresss for undefined symbols. + * coff-rs6000.c: Various updates (due to target- + independent changes). + * libbfd.h: Ditto (tdata field is now a union). + * hosts/h-sparc.h: Removed prototype for bogus function + 'emset' (presumably should have been 'memset' - which is there). + +Thu Feb 27 11:46:33 1992 John Gilmore (gnu at cygnus.com) + + * configure.in (mips-big-* target): Same is Iris. + +Thu Feb 27 09:24:56 1992 Steve Chamberlain (sac at thepub.cygnus.com) + + * aoutx.h (translate_from_native_sym_flags): when creating an + alias symbol, fill in the section as undefined, rather than + leaving it blank. If an output section can't be found for a + symbol, then don't core dump. + +Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com) + + * Makefile.in, configure.in: removed traces of namesubdir, + -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced + copyrights to '92, changed some from Cygnus to FSF. + +Wed Feb 26 19:40:59 1992 Steve Chamberlain (sac at thepub.cygnus.com) + + * bfd.c: lint + * coff-h8300.c: fix stupid reloc subtraction bug + * coffcode.h (coff_swap_aux_out): only swap a tvndx by 2 bytes, + since that's how wide it is. (coff_slurp_symbol_table): always zero out + the symbol.flags and done_lineno fields. + +Tue Feb 25 14:29:24 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffcode.h (coff_write_symbol): write out the correct number of + auxents. + * cpu-h8300.c: fix disassembly bug + +Fri Feb 21 21:39:56 1992 John Gilmore (gnu at cygnus.com) + + * bfd-in.h (bfd_errmsg), coffcode.h (coff_swap_aux_in, + section_from_bfd_index), cpu-h8300.c (howto*_callback), + reloc.c, section.c (bfd_map_over_sections), targets.c + (bfd_target_list): Protolint. + * libbfd.h: Update to match a libbfd-in.h from a month ago. + +Fri Feb 21 10:57:54 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffcode.h (coff_swap_aux_in): lint, (coff_print_symbol): prints + out tagndx too. + * aoutx.h (swap_std_reloc_out, swap_ext_reloc_out): use the output + section of a symbol rather than the section of a reffed symbol to + determine the r_index of an emmitted reloc. + +Thu Feb 20 18:10:34 1992 Per Bothner (bothner at cygnus.com) + + * PORTING: New (preliminary) porting guide. + +Wed Feb 19 21:39:37 1992 John Gilmore (gnu at cygnus.com) + + * bout.c (callj_callback), coff-a29k.c (a29k_reloc), coff-m88k.c + (howto_hvrt16): lint. + +Mon Feb 17 12:02:17 1992 Per Bothner (bothner at cygnus.com) + + * hp300bsd.c (new), config/mt-hp300bsd: Make hp300bsd + a full configuration (with possible cross-development), + instead of using host-aout.c. + +Sun Feb 16 13:01:49 1992 Per Bothner (bothner at cygnus.com) + + * aout-target.h (MY(write_object_contents): + Set obj_reloc_entry_size (abfd). + * gen-aout.c: Change to emit a .c files, not a .h file. + +Thu Feb 13 20:11:47 1992 Fred Fish (fnf at cygnus.com) + + * elf.c (elf_slurp_symbol_table): Remove obsolete use of + BSF_ABSOLUTE and replace with bfd_abs_section reference. + +Thu Feb 13 17:22:44 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffcode.h (get_normalized_symtab): fixed bug where symbols + with more than one auxent can cause nasty core dumps. + + * coffcode.h, libcoff.c: added new fielded to coff_symbol_struct + "done_lineno" so that a symbol which appears twice in the symbol + table only gets it's linenumbers relocated once. Modifed + (coff_write_native_symbol) and (coff_make_empty_symbol) to make + use of it. + +Tue Feb 4 15:39:55 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * aoutx.h: (translate_from_native_sym_flags): fix constructor + stuff to use the New Order. + +Fri Jan 31 01:34:45 1992 Stu Grossman (grossman at cygnus.com) + + * ieee.c: Change type of envi[] to unsigned char. + + * configure.in: fix vax ultrix configuration. + + * elf.c (bfd_section_from_shdr): Deal with null return from + bfd_make_section(). (elf_object_p): Select endianess properly. + +Fri Jan 31 01:19:55 1992 John Gilmore (gnu at cygnus.com) + + * hosts/h-tahoe.h, h-vaxbsd.h: Fix stack in core files. + +Thu Jan 30 23:51:07 1992 John Gilmore (gnu at cygnus.com) + + * Makefile.in: host-aout.c doesn't depend on aout-params.h. + * aout-target.h: Use TARGET_BIG_ENDIAN_P to set up vector. + * host-aout.c: Don't use aout-params.h; configure these systems + in their xm files, not in a randomly generated file. + * hosts/h-hp300bsd.h, h-tahoe.h, h-vaxbsd.h, h-vaxult.h: + Specify byte order. + * hosts/h-vaxbsd.h: Define the form of exec and core files. + +Thu Jan 30 13:02:41 1992 Per Bothner (bothner at cygnus.com) + + * config/mt-tahoe, config/mt-vax: Change DEFAULT_VECTOR to + host_aout_vec here as well. + +Thu Jan 30 11:41:45 1992 Stu Grossman (grossman at cygnus.com) + + * host-aout.c: Change TARGETNAME to "a.out" to be compatible with + gdb. config/mt-hp300bsd: Change DEFAULT_VECTOR to host_aout_vec + to prevent undefined symbol. + +Thu Jan 30 07:26:53 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + Various lints found on PersSony + * aoutx.h: cast an enum + * coff-a29k.c: many ints in reloc structure turned to enum + * coffcode.h: more enums + * cpu-h8300.c: more enums + * opncls.c: more enums + +Thu Jan 30 01:19:56 1992 John Gilmore (gnu at cygnus.com) + + * configure.in: Make Tahoe configuration work again. + * bfd-in.h: Remove trailing comma from enum declaration. + * ieee.c: Can't put byte values >0x7F into a signed char. + +Tue Jan 28 21:10:51 1992 Fred Fish (fnf at cygnus.com) + + * Makefile.in: Add dependencies for various coff-*.o files. + + * elf.c: Remove extraneous paren from core_prpsinfo and + core_prpstatus macros, rename core_prpstatus to core_prstatus. + Replace references to old section "size" member with new + "_raw_size" member. Implement elf_make_empty_symbol, which + is now used. + +Tue Jan 28 14:51:40 1992 Stu Grossman (grossman at cygnus.com) + + * trad-core.c, bfd.c, ../include/bfd.h: Various fixes for PMAX + core reading. + +Tue Jan 28 10:46:32 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffcode.h (bfd_coff_relax_section): now static. + (bfd_coff_get_relocated_section_contents): various type lints. + +Mon Jan 27 19:44:08 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + New entry point in the transfer vector - bfd_relax_section. + + * aout-target.h: add to vector, call generic_relax + * bfd-in.h: add to vector + * bfd.c: add #define for vector + * bout.c: add to vector, call generic_relax + * coffcode.h: add to vector, also now has coff specific relax code + for the relaxable H8/300 relocs. Also clean up abs section cruft. + * elf.c: call generic_relax + * ieee.c: call new vector, clean up some bugs due to the creation + of bfd_abs_section + * libbfd.h: add bfd_generic_relax_section EXFUN + * oasys.c: call generic_relax + * reloc.c: implement generic_relax + * seclet.c: moved much of this into coffcode.h + * srec.c: call generic_relax + * targets.c: define new transfer vector + +Fri Jan 24 14:40:17 1992 Steve Chamberlain (sac at rtl.cygnus.com) + + * everything: now modified to use smaller reloc type. Self hosts + on sun3 & sun4. + +Sat Jan 18 17:00:16 1992 Fred Fish (fnf at cygnus.com) + + * config/mh-stratus, config/mt-i860-elf, hosts/h-stratus: + New files for stratus. + + * configure.in: Add configuration fragments for stratus. + +Wed Jan 15 10:02:43 1992 Fred Fish (fnf at cygnus.com) + + * aoutx.h (NAME(aout,find_nearest_line)): Declare various filename + variables as CONST since they are set to point to a const char + string. Fixes compiler complaints. + +Fri Jan 10 17:44:53 1992 Fred Fish (fnf at cygnus.com) + + * hosts/h-amix.h hosts/h-i386v4.h: Change abort() to a function + returning void. + +Fri Jan 10 14:33:32 1992 Per Bothner (bothner at cygnus.com) + + * aoutx.h (NAME(aout,find_nearest_line)): Recognize N_SOL + symbols, so that we can emit the correct file name even + if it's an include file. + +Thu Jan 2 16:43:34 1992 John Gilmore (gnu at cygnus.com) + + * coff-i960.c: Add COFF_SWAP_TABLE to little_vec as well as big_vec. + (Reported by john@labtam.labtam.oz.au (John Carey)). + +Wed Jan 1 04:23:06 1992 Fred Fish (fnf at cygnus.com) + + * elf.c: Change all '#if HAVE_PROCFS' to '#ifdef HAVE_PROCFS'. + + * config/mh-amix, config/mh-i386v4: Remove HDEFINES that was + being used to -DHAVE_PROCFS. + + * hosts/h-amix, hosts/h-i386v4: Add '#define HAVE_PROCFS'. Move + '#include "fopen-same.h"' to end of file to match other h-* files. + +Fri Dec 20 12:06:17 1991 Fred Fish (fnf at cygnus.com) + + * configure.in: Change svr4 references to sysv4. Add case + "unknown" for target vendor and infer some targets based + on the specified operating system. + +Wed Dec 18 17:17:59 1991 Stu Grossman (grossman at cygnus.com) + + * bfd-in.h, libaout.h: ANSIfy enums. + +Wed Dec 18 16:12:25 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * archive.c (normalize): created version for VMS which removes the + VMS directory crap from the front and end of a filename, eg turn + [-.foo]bar.obj;123 into bar.obj + (bfd_construct_extended_name_table): now writes index into an + extended name table in decimal - the same base used to read an + extended name table. + +Wed Dec 18 14:40:39 1991 Per Bothner (bothner at cygnus.com) + + * aout-encap.c: Fix to use aout-target.h. + * aoutf1.h: Use standard MY_object_p and MY_callback + in aout-target.h. Remove target-specific versions. + * host-aout.c: Re-write to use aout-target.h. + * gen-aout.c: New files use with host-aout.c to generate + host-specific a.out-related parameters. + * Makefile.in: host-aout.o depends on aout-params.h, which is + generated by gen-aout. + * aout-target.h: Make a little more flexible. + * libaout.h, aout-target.h: Removed WORK_OUT_FILE_POSTIONS + macro. Instead, inline it in aout-target.h. + * newsos3.c: Define N_SHARED_LIB(x) as 0 to avoid + a gcc -Wall warning. + * archive.c: Add missing commas in DEFUN macro (2 places). + * elf.c, coffcode.h, aoutf1.h: Use ANSI functions instead of + Berkeley ones, now that libiberty has them: + bcopy->memcpy, bzero->memset, bcmp->memcmp. + * aoutx.h: Various touch-ups: Re-formatting, fix a cast, + remove unused variable. + +Tue Dec 17 19:48:59 1991 Fred Fish (fnf at cygnus.com) + + * elf.c (elf_core_file_matches_executable_p): Enclose corename + and execname inside HAVE_PROCFS ifdef since they are unused + when it is not defined. + +Mon Dec 16 12:00:10 1991 Fred Fish (fnf at cygnus.com) + + * elf.c: Flag all sections as either code or data. We can't + be sure what they are anyway, since ELF doesn't fit the + traditional model of text+data+bss very well. Add new local + function elf_read() to simplify code. Record entry point in + the bfd structure. + +Thu Dec 12 21:01:22 1991 John Gilmore (gnu at cygnus.com) + + * hosts/h-*.h: Configure fopen using ../include/fopen-*.h + rather than N copies of the same lines. + +Wed Dec 11 16:39:45 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * cpu-h8300.c: disassemble branch displacements correctly + * coff-h8300.c: put reloc offsets out in 32bits + + * makefile.dos, configdj.bat: New files from DJ + * cache.c: fopen with new macros is needed for DOS. + * ieee.c: environ renamed to envi to stop an include file + conflict. + * opncls.c, coff-rs6000.c: more fopens with macros. + +Tue Dec 10 04:07:24 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: infodir belongs in datadir. + +Sat Dec 7 16:39:23 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * Makefile.in: fix where docdir lives + + * aoutx.h, archive.c, archures.c, bfd.c, cache.c, coff-m88k.c, + coffcode.h, core.c, ctor.c, elf.c, format.c, ieee.c, init.c, + libbfd.c, libbfd.h, libcoff.h, opncls.c, reloc.c, section.c, + srec.c, syms.c, targets.c : all new documentation and lint + removal. + + +Sat Dec 7 07:22:09 1991 John Gilmore (gnu at cygnus.com) + + * coffcode.h, srec.c: Lint. + +Fri Dec 6 22:58:48 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: install using INSTALL_DATA, added standards.text + support. + + * configure.in: mark directory as target dependent. configure + nows works in objdir always so make file existence checks + against ${srcdir}. + +Thu Dec 5 22:46:19 1991 K. Richard Pixley (rich at rtl.cygnus.com) + + * Makefile.in: idestdir and ddestdir go away. Added copyrights + and shift gpl to v2. Added ChangeLog if it didn't exist. docdir + and mandir now keyed off datadir by default. + +Wed Dec 4 10:14:17 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * aoutf1.h (sunos_<size>_object_p, sunos4_callback): moved the + computation of arch and machine type so it's worked out before + some_aout_object_p is called. + * aoutx.h: (some_aout_object_p): don't set arch and mach to + unknown. + * archures.c: add extra field 'section_align_power' to hold + default section alignment in object files. + * cpu-a29k.c, cpu-h8300.c, cpu-i386.c, cpu-i960.c, cpu-m68k.c, + cpu-m88k.c, cpu-mips.c, cpu-rs6000.c, cpu-sparc.c, cpu-vax.c: + initialize the new field. + * bout.c (b_out_callback): replace the text size, since aout + fries them. + * aoutx.h: Documentation in the new style + +Wed Dec 4 02:00:30 1991 John Gilmore (gnu at cygnus.com) + + * bfd.c (bfd_get_mtime): Don't cache mtime any more; only + use the saved value if mtime_set is already set (intended + for archive files, though apparently not used yet). + +Tue Dec 3 22:54:50 1991 John Gilmore (gnu at cygnus.com) + + * targets.c: Revise comments about how to configure the target + vector, to match reality. Remove mention of obsolete methods. + Remove long lists of capitalized macros that turn into the same + thing in lowercase. Normal vector simply lists all known + lowercase xvec names; all other cases are handled by SELECT_VECS. + + * config/mt-i386-coff: Set DEFAULT_VECTOR to real identifier, + not macro name. + + * config/mt-i960-{coff,bout}: Use SELECT_VECS to make a short + list of supported targets. + +Tue Dec 3 14:06:15 1991 Per Bothner (bothner at cygnus.com) + + * archive.c (bsd_write_armap): The pad byte sometimes added to + the string table in a __.SYMDEF member is now + counted as part of the size of the string table. + This is compatible with the old ranlib, as well as Sun's. + +Tue Dec 3 10:53:30 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * srec.c: Rewrote to fix many bugs; now gets the record type + right, doesn't choke on input, sets the start address in an S9 and + fills in the filename on an S0. + +Sat Nov 30 21:19:15 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * cpu-h8300.c: Add support for MEMIND addressing mode + + * coff-a29k.c: defined RELOC_PROCESSING to take the #ifdef out of + coffcode.h + * coffcode.h: use the new macro if available + + * elf.c (elf_corefile_note): cast malloc to avoid warning. + * Makefile.in: Fixed dependencies due to file rename + + * aout-encap.c, aoutf1.h, aoutx.h, archive.c, bout.c, coff-a29k.c, + coff-h8300.c, coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c, + coff-mips.c, coff-rs6000.c, cpu-h300.c, elf.c, i386aout.c, + newos3.c, stab-syms.c, syms.c: All these files have had their + #includes altered to point to the new places. + +Fri Nov 29 20:04:49 1991 Fred Fish (fnf at cygnus.com) + + * config/mh-i386v4, config/mh-i386-elf, hosts/h-i386v4.h: New files. + + * configure.in: Add vendor "ncr" as supported per-target vendor. + Add svr4 case for i386 per-host case. + + * elf.c (elf_object_p, elf_core_file_p): Add missing "break" to + ELFDATA2LSB cases. + +Fri Nov 29 12:16:51 1991 Per Bothner (bothner at cygnus.com) + + * syms.c (bfd_decode_symclass): Return 'A' + for symbols that are both absolute and global. + * archive.c (bfd_special_undocumented_glue): Return NULL + if bfd_ar_hdr_from_filesystem returns NULL. + +Tue Nov 26 09:10:55 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in: added coff-h8300 + * configure.in: now h8 is a coff target + * cpu-h8300.c: fix various disassembly problems + * libcoff.h: took out some code which has been #0ed for a long + time. + * targets.c: added h8 coff + * coff-a29k.c, coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c + added new macro RTYPE2HOWTO to take a load of #ifdefs out of + coffcode.h + * coffcode.h: Started to change the way machine dependencies are + handled, from the nest of #ifdefs to macros defined in the + including coff-<foo>.c + +Fri Nov 22 08:11:42 1991 John Gilmore (gnu at cygnus.com) + + * aoutx.h (some_aout_object_p): Set the `executable' bit + if the entry point is contained in the text segment, even if the + text segment is at location 0. + + * coff-mips.c, coffcode.h: Peter Schauer's patch to kludge in + nonstandard MIPS sections (.rdata, .sdata, etc). + + * aoutx.h, bfd.c, coffcode.h, ieee.c, oasys.c, targets.c: CONST lint. + * libbfd-in.h, libbfd.h, aoutx.h, coffcode.h, elf.c, libaout.h: + Rename ALIGN to BFD_ALIGN to avoid conflict with BSD <sys/param.h>. + * libbfd.c: Lint. + * host-aout.c, trad-core.c: Fix write_armap prototypes. Lint. + +Thu Nov 21 19:56:40 1991 Per Bothner (bothner at cygnus.com) + + * stab-syms.c, syms.c: Moved bfd_stab_name() and bfd_stab_names[] + from syms.c to new file stab-syms.c. Also, since GNU extended + type codes such as N_SETT are no longer in ../include/stab.def, + include them manually. + * stab-syms.c, aoutx.h: Renamed bfd_stab_name() and + bfd_stab_names[] to aout_stab_name() and aout_stab_names[]. + * libaout.h: Added prototype for aout_stab_name(). + * Makefile.in: Update Makefile for new stab-syms.[co]. + +Thu Nov 21 11:50:49 1991 John Gilmore (gnu at cygnus.com) + + * libaout.h (WORK_OUT_FILE_POSITIONS): One more try at this + rather complicated seeming problem. Eliminate LOGICAL_ versions, + just make N_XXX work by excluding the header from the text segment. + * aoutx.h: Fix comments to match. + +Tue Nov 19 18:49:01 1991 Per Bothner (bothner at cygnus.com) + + * libaout.h (WORK_OUT_FILE_POSITIONS): Use new LOGICAL_TXTADDR, + LOGICAL_TXTOFF, LOGICAL_TXTSIZE macros to figure out numbers + for the "logical" text segment (i.e. never consider the exec + header to be part of the text segment). This change is + needed for consistency with various other parts of bfd and ld. + * aoutx.h (NAME(aout,soe_aout_object_p)): Fix comment, + and move calculation of obj_textsec(abfd)->size to libaout.h. + * bfd-in.h: Removed bogus ';'. + + * Makefile.in: Add MINIMIZE flag to select lean + or bloated target_vector. + * targets.c: Use new MINIMIZE macro, and add trad_core if needed. + * newsos3.c: Fixes to ../include/aout64.h remove need + for special N_TXTOFF macro, but require N_HEADER_IN_TEXT. + +Mon Nov 18 12:00:59 1991 Per Bothner (bothner at cygnus.com) + + * aout-target.h, aoutf1.h, newsos3.c: Make aout-target.h + handle both little and big-endian targets, with little + the default unless TARGET_IS_BIG_ENDIAN_P is defined. + * host-aout.c: Add FIXME note. + +Sun Nov 17 13:29:39 1991 Per Bothner (bothner at cygnus.com) + + * targets.c: Make the default target_vector contain + just &DEFAULT_VECTOR. This makes executables a lot smaller. + Old behavior can be gotten by defining ALL_TARGETS. + * aoutf1.h, demo64.c, i386aout.c, newsos3.c, sunos.c: + Factored out common code into new file aout-target.h. + Saves a lot of duplicate code for a.out variants. + +Fri Nov 15 13:00:43 1991 Per Bothner (bothner at cygnus.com) + + Get 'make headers' to work when configured with +subdirs. + * Makefile.in: Add $(subdir) to docdir path. + * doc/Makefile.in (protos): Add $(srcdir) prefix + to name of sed scripts. + +Thu Nov 14 19:49:10 1991 Per Bothner (bothner at cygnus.com) + + * aoutx.h (NAME(aout,print_symbol)): Fix thinko. + * syms.c (bfd_stab_names): Turn on new GNU_EXTRA_STABS macro + to include names of N_SETT etc. + +Thu Nov 14 19:11:13 1991 Fred Fish (fnf at cygnus.com) + + * elf.c: Add minimal support for ELF symbol tables. Generates + canonical bfd symbol tables from ELF symbol tables. Change the + name of some functions from bfd_<name> to elf_<name>. + + * syms.c: Trivial fix to comment to remove a redundant "to". + +Wed Nov 13 17:02:01 1991 John Gilmore (gnu at cygnus.com) + + * coff-{i386,m68k,m88k}.c: Change name of file format to standard + form that GDB recognizes as COFF. + +Wed Nov 13 09:09:41 1991 Steve Chamberlain (sac at cygnus.com) + + * ieee.c (ieee_object_p): cast NULL correctly. + * configure.in: added harris host + + * coff-a29k.c: Lots of changes, most from David Wood. + +Tue Nov 12 07:21:41 1991 John Gilmore (gnu at cygnus.com) + + * coff-m88k.c (coff_write_armap): Just #undef it. + +Mon Nov 11 20:30:18 1991 Steve Chamberlain (sac at cygnus.com) + + * Makefile.in: standardize on MINUS_G to disable debugging + * coff-m88k.c: create coff armaps instead of bsd ones. + * opncls.c (bfd_close_all_done), (bfd_close): Mask out random bits + when calling chmod. + +Mon Nov 11 19:07:32 1991 Fred Fish (fnf at cygnus.com) + + * elf.c: Additions to support ELF format core files. + * config/mh-amix: Add -DHAVE_PROCFS to HDEFINES, since host + has support for /proc (all the include files in particular). + +Mon Nov 11 18:36:47 1991 Per Bothner (bothner at cygnus.com) + + * aoutx.h (NAME(aout,find_nearest_line)): Handle the case + of two N_SO stabs, one for directory, and one for filename. + + * bfd-in.h (print_vma): Factor out duplicate definition. + + Exit a little more gracefully when malloc returns NULL. + * libbfd.c: New function bfd_xmalloc (malloc wrapper). + * opncls.c, syms.c, bout.c, aoutx.h: Replace malloc by bfd_xmalloc. + * libbfd.h: Rre-generated due to libbfd.c update. + +Sat Nov 9 13:45:01 1991 Fred Fish (fnf at cygnus.com) + + * config/mt-m68k-elf: Define DEFAULT_VECTOR as elf_big_vec. + + * elf.c (elf_object_p): Don't try to create a bfd section for + the first ELF section header. It is just a placeholder. + +Sat Nov 9 03:04:26 1991 John Gilmore (gnu at cygnus.com) + + * coff-rs6000.c, config/mh-rs6000: Make it work on archive and + core files, when compiling native. + * hosts/h-rs6000.h: Define FASCIST_FDOPEN for bfd_fdopenr. + + FIXME: The aoutf1.h change below needs to be reversed back + to the way it was. + +Thu Nov 7 11:03:55 1991 Steve Chamberlain (sac at rtl.cygnus.com) + + * coffcode.h: Defined new macros [PUT|GET]LINENO_LNNO for + manipulation of lnno fields in lineno structs in a coff-<f>.h + independent way. Override it in coff-<f>.h to your favourite + number if you don't have a 16bit lnno field. (coff_swap_lineno_in) + (coff_swap_lineno_out): modified to use the new macros. + +Mon Nov 4 11:38:33 1991 Steve Chamberlain (sac at cygnus.com) + + * aoutf1.h (sunos4_callback): Now defaults to 68020 rather than + unknown arch when the magic number doesn't specify the + architecture, since some OSs (eg old sun3s) don't set the number, and + 020 is probably the right answer anyway. + +Sun Nov 3 12:07:08 1991 Per Bothner (bothner at cygnus.com) + + * hosts/h-news.h, hosts/h-rtbsd.h: + Get rid of MISSING_VFPRINTF, since libiberty provides one. + * bfd-in.h (bfd_print_symbol_type_hopw enum): Add new option + bfd_print_symbol_nm, for use by nm. + * aoutx.h (NAME(aout,print_symbol)): Add code for new + bfd_print_symbol_nm option, to print in nm format. + * coffcode.h (coff_print_symbol), ieee.c (ieee_print_symbol) + oasys.c (oasys_print_symbol): Provide stub implementations + for bfd_print_symbol_nm. + * syms.c: New function bfd_decode_symclass, used by nm printer. + New function bfd_stab_name to look up string name of stab code. + +Sat Nov 2 14:26:03 1991 Steve Chamberlain (steve at cygnus.com) + + * Makefile.in: Added ctor.c + * archures.c (bfd_default_arch_struct) added + bfd_default_reloc_type_lookup. + * coffcode.h: removed a load of #if 0ed code. + (coff_compute_file_section_positions): now works out the section + alignment and size correctly in all cases. + (coff_get_symtab): looks for constructor symbols and calls the + right function when they're found. (coff_canonicalize_reloc): + knows when a section is full of constructors and does the right + thing. + * cpu-m88k.c: Added default_reloc_type lookup to the architecture + description. + * libbfd-in.h: (bfd_default_reloc_type_lookup) defun added. + * libcoff.h: removed #if 0ed code + * reloc.c: (bfd_reloc_code_real_type) added BFD_RELOC_CTOR for + arch independent constructor relocation type. + (bfd_reloc_type_lookup): removed the comment "this will go away" + since it won't. (bfd_howto_32): stolen from 88k, this is a 32bit + reloc which is used when BFD_RELOC_CTOR falls through to give a + default 32bit reloc for constructors. + (bfd_default_reloc_type_lookup): added. + * aoutf1.h: fixed SEGMENT_SIZE typo. + +Thu Oct 31 18:23:06 1991 John Gilmore (gnu at cygnus.com) + + * coff-rs6000.c: Change name to "aixcoff-rs6000", to avoid + matching prefix "coff". + * coffcode.h (coff_swap_aux_in, coff_swap_aux_out): Handle + rs/6000 csect records. + +Sun Oct 27 16:56:58 1991 Steve Chamberlain (steve at cygnus.com) + + * coff-m88k.c, targets.c: change name of m88k_bcs to m88kbcs + * configure.in: add motorola delta88 cases + * libbfd.h, libbfd-in.h, archive.c, ieee.c, elf.c, srec.c: fix + write_armap prototype + * libbfd.c: add doc on bfd_write_bigendian_4byte_int + +Fri Oct 25 02:48:19 1991 John Gilmore (gnu at cygnus.com) + + * Rename COFF-related files in `coff-ARCH.c' form. + coff-a29k.c, coff-i386.c, coff-i960.c, coff-m68k.c, coff-m88k.c, + coff-mips.c, coff-rs6000.c to be exact. + + * Makefile.in: Only supply TARGET_DEFAULTS to targets.c, reducing + make output clutter. + * config/mt-*: Ditto. + +Thu Oct 24 22:40:07 1991 John Gilmore (gnu at cygnus.com) + + RS/6000 support, by Metin G. Ozisik, Mimi Phûông-Thåo Võ, and + John Gilmore. Archive support from Damon A. Permezel. + + * Makefile.in: Add cpu-rs6000.c and rs6000coff.c. + * configure.in: Add rs6000 case. + * targets.c: Add rs6000 vector. + * archures.c: Add rs6000, fix comment on romp. + * bfd-in.h (enum bfd_error): Add no_debug_section error. + * libcoff-in.h (struct coff_tdata): Remove unused string_table. + * bfd.c (bfd_errmsgs): Add no_debug_section error message. + * section.c (bfd_make_section): Return NULL on attempt to create + a section twice. + * coffcode.h (bfd_swap_reloc_in): Handle r_type and r_size. + (bfd_swap_aouthdr_in): Handle lots more members. + (make_a_section_from_file): If section has already been seen, + just return false rather than overwriting it. + (coff_real_object_p): Understand incoming magic numbers. + (coff_set_flags): Understand outgoing magic numbers. + (coff_compute_section_file_positions): outgoing aouthdr magic #. + (build_debug_section): Add fn for reading debug string section. + (get_normalized_symtab): Handle symbol names in debug string section. + Remove unused obj_string_table. + (coff_slurp_symbol_table): Handle rs6000-specific storage classes. + * aoutx.h (translate_from_native_sym_flags, N_SET*): Check for + existing section before making one. + * cpu-rs6000.c: New file. + * rs6000coff.c: New file. + +Thu Oct 24 02:03:24 1991 Fred Fish (fnf at cygnus.com) + + * elf.c: Add partial support for ELF format corefiles. Still needs + support for extracting registers from corefiles. + + * config/t-m68k-elf: Set DEFAULT_VECTOR to elf_big_vec. + + * config/{h-amix,h-dgux,h-irix3,h-ultra3}: For systems where + RANLIB is defined as echo, send the output to /dev/null to help + reduce clutter in the output from doing a make. + +Mon Oct 21 17:48:48 1991 John Gilmore (gnu at cygnus.com) + + * hosts/h-vaxult.h: Remove malloc/free decls covered in stdlib.h. + Fix HOST_PAGE_SIZE and HOST_SEGMENT_SIZE. From David Taylor. + +Mon Oct 21 09:34:11 1991 Steve Chamberlain (steve at rtl.cygnus.com) + + * coffcode.h (coff_compute_section_file_positions): make it pad + section size out if there are alignment restrictions so that the + image will be ok on a system where section positions are worked + out by accumulating sizes rather than from the section headers. + * targets.c (proto write_armap). Changed orl_count to unsigned. + * opncls.c (bfd_close_all_done). Added so that generative + programs like gas can close a bfd without causing bfd confusion. + * libbfd.h (changed becuase of protos) + * amdcoff.c: messed with the way that jmp displacements are + calcualated. This may not yet be totally correct. + * archive.c (coff_write_armap): rewrote the way that ranlibs are + written out. + * coffcode.h (fixup_symbol_value): now doesn't core dump if a non + abs symbol has no section (like a register symbol). + (coff_write_symbol) now zeros auxent before filling it up to help + with sensitive applications. + * libbfd.c (bfd_write_bigendian_4byte_int): added. + +Wed Oct 16 22:58:45 1991 John Gilmore (gnu at cygnus.com) + + * bfd.c: Make sure we don't get a macro strerror(). + * opncls.c (bfd_fdopenr): If FASCIST_FDOPEN, use "r", not "r+". + * trad-core.c (trad_unix_core_file_failing_command): Suppress + attempt to recover command, ifdef NO_CORE_COMMAND. + * hosts/h-tahoe.h: Add FASCIST_FDOPEN and NO_CORE_COMMAND; + revamp HOST_*, etc. + * hosts/h-i386v.h: Use <utime.h>, not <sys/utime.h>, unlike POSIX. + +Wed Oct 16 12:43:49 1991 Per Bothner (bothner at cygnus.com) + + * archive.c (bsd_write_argmap): The size of the ranlib structures + should not include the size field itself. + * aoutx.h, libaout.h (NAME(aout, sizeof_headers)): Use + adata(abfd)->exec_bytes_size field instead of constant macro, + because aoutx.h compiles to a simple .o file shared by + all 32-bits a.out targets. + +Wed Oct 16 11:11:05 1991 John Gilmore (gnu at cygnus.com) + + * configure.in: Allow i386-sco-sysv. + * bout.c: Remove unused i960_align; lint dummy core file handlers. + * cpu-h8300.c: lint. + + * host-aout.c: New strategy. We use common code, include files, + and data structures to handle the file, but set a few parameters + from the host's config file (page size, text start addr, etc). + * libaout.h: Define HP BSD machine types. + * aoutf1.h: Handle reading a.outs with these types. + + * trad-core.c: Pass the u.u_ar0 value as the negative of the + virtual-memory-address of the .reg section. We can't just make a + section for "all the regs and nothing else" because only GDB knows + exactly where the regs are (scattered around the upage and stack). + Clean up memory allocation. Remove big- and little-endian + vectors, replace with single vector; this only runs on the host, + in host byte order. Replace byteswap routines with aborts in case + anyone calls them. + * targets.c: There's only one trad_core_vec now. + * aoutf1.h (sunos_core_file_p): VMA of .reg* now needs to be 0. + +Tue Oct 15 08:29:03 1991 John Gilmore (gnu at cygnus.com) + + * hosts/h-amix.h (free): Fix prototype. + + * aoutx.h: Don't use NULL as an integer, for braindead systems + that declare it as (void *)0. (From Peter Schauer.) + +Mon Oct 14 17:20:47 1991 Per Bothner (bothner at cygnus.com) + + * opncls.c (bfd_fdopenr): Add parentheses to avoid reported + problem with bad Ultrix system headers. + * aoutx.h (NAME(aout,set_section_contents)): Try to handle the + various kinds of alignments for the various kinds of + magic numbers. + +Mon Oct 14 14:23:10 1991 John Gilmore (gnu at cygnus.com) + + * doc/Makefile: Don't assume . is on the path (from James Clark). + +Fri Oct 11 22:45:14 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in: Avoid Sun Make VPATH bugs. + * targets.c: Declare trad_core vectors extern. + +Fri Oct 11 13:03:02 1991 Per Bothner (bothner at cygnus.com) + + * coffcode.h: Moved ALIGN macro to libbfd.h. Removed i960_align. + * libbfd.h: Moved ALIGN macro here. + * bout.c (b_out_callback): Replace i960_align by align_power. + + * libaout.h (struct aoutdata): Added fields page_size, + segment_size and exec_bytes_size. These help generic code + (in aoutx.h and libaout.h) to figure out where to align + the various segments in a demand paged file. + * libaout.h (WRITE_HEADER): Use new (struct aoutdata) fields + to decide if the exec header counts in a_text (text segment size). + Also, assume D_PAGED flag is set; don't set it here. + * bout.c (b_out_callback): Add initialization of + adata fields page_size, segment_size, and exec_bytes_size. + * host-aout.c (NAME(host_aout, callback) and + NAME(host_aout,mkobject): Ditto. + * i386aout.c (aout386_callback) and new aout386_mkobject): Ditto. + * newos3.c (newsos3_callback) and new newsos_mkobject): Ditto. + * aoutf1.c (sunos4_callback) and new sunos_mkobject): Ditto. + * aoutx.h (NAME(aout,some_aout_object_p)): Don't subtract + EXEC_BYTES_SIZE from the a_test size; this is only appropriate + for some systems (mainly sunos), so do it in the callback instead. + Same routine: Add stuff to the THIS_IS_ONLY_DOCUMENTATION comment. + * aoutx.h (NAME(aout,set_section_contents): Change the way + filepos and size of sections are carried out to support + older styles of demand paged executables. + + +Fri Oct 11 12:33:36 1991 Steve Chamberlain (steve at cygnus.com) + + * bfd-in.h: Added more macros to COFF_SWAP_TABLE. + * bfd.c: Added macros to enable gas to swap coff records. + * coffcode.h: Make the coff_swap_*_out routines return the number + of bytes swapped, and cleaned up their prototypes. + * configure.in: Added ebmon/coff support + * ecoff.c: Changed null definitions of coff_swap_*_out to conform + to new prototypes + * targets.c: Added new entry points for coff swapping + +Fri Oct 11 03:01:52 1991 John Gilmore (gnu at cygnus.com) + + Restructure configuration scheme for bfd, binutils, ld. + + * include/sys/h-*.h: Move to bfd/hosts/h-*.h. + * configure.in: Revise to symlink sysdep.h to hosts/h-xxx.h. + Change some config names to match other dirs. + * *.c: Include bfd.h before sysdep.h, so ansidecl and PROTO() + get defined first. + * Makefile.in: Use -I. to get sysdep.h. Remove refs to + ../include/sysdep.h. + * cpu-i960.c: Strncmp needed a length arg. + * ecoff.c: Don't ever call trad_unix_core_file_p from here. + * i386aout.c: Remove dead N_TXTOFF override. + * trad-core.c: Don't disable the whole file if SUN4_SYS. + * config/: Rename some config files to match up h-*.h names. + Remove all the HOST_SYS definitions from the config files. + * hosts/h-amix.h, h-i386v.h: Define POSIX_UTIME, not USG. + * hosts/h-hp9000.h: Remove USG comment. + * hosts/h-rs6000.h: Include <stdlib.h> for malloc. + * hosts/h-news.h, h-sparc-64.h: New config files that had + previously been kludged in the <sysdep.h> file. + +Thu Oct 10 17:54:08 1991 John Gilmore (gnu at cygnus.com) + + * config/*: trad-core support is HOST dependent, not target + dependent. Target config files only set DEFAULT_VECTOR and/or + other vector elements. Exception: when host-aout.c is in use, + in which case we're forced to assume we're native (hp, vax, + tahoe). Rename XDEPFILES to HDEPFILES. + * Makefile.in: Rename XDEPFILES. + * config/h-sun*: Don't force static linking. + * trad-core.c: Document how to use it nowadays. + * i386aout.c, newsos3.c: Clean up. + * i386coff.c: Allow 386 coff files to be used as core files too + (for reading core files from embedded systems). + +Tue Oct 8 15:30:39 1991 John Gilmore (gnu at cygnus.com) + + * Add i386aout.c for a.out support on the i386. + +Tue Oct 8 12:18:54 1991 Roland H. Pesch (pesch at cygnus.com) + + * reloc.c, section.c, syms.c, targets.c: correct info-node + structure in *doc* comments. + doc/Makefile: stop hiding complaints from makeinfo. + +Sun Oct 6 19:10:06 1991 John Gilmore (gnu at cygnus.com) + + * aoutx.h (...some_aout_object_p): Take a third parameter, + the internal_exec struct, and avoid ever looking at an + external_exec. All callers changed to read the entire + external_exec struct, swap and check its magic number, + swap in the whole structure, and pass the swapped-in version to + some_aout_object_p. + * bout.c: Bring into modern era. Use single _object_p routine + for big- aand little-endian. Provide internal and external + exec header structs. Use separate swap-in and swap-out routines. + + * libaout.h: Move struct internal_exec from ../include/aout64.h + to here. Add obj_symbol_entry_size to struct aoutdata. + * aoutx.h (...some_aout_object_p): Set obj_symbol_entry_size. + + * ../include/aout64.h: Change EXTERNAL_LIST_SIZE to + EXTERNAL_NLIST_SIZE. Callers changed. + +Fri Oct 4 18:18:46 1991 John Gilmore (gnu at cygnus.com) + + * bfd.c: Remove strerror() to libiberty. + + * elf.c: Remove elf_set_section_contents, use generic one. Lint. + * libbfd-in.h, libbfd.c: Add bfd_generic_set_section_contents. + * libbfd.c (bfd_generic_{get,set}_section_contents): Check that + last byte of transfer, not first byte, is within the section. + + * host-aout.c: Remove `BSD' archive support. Lint. + + * archures.c: Rename `struct bfd_arch_info_struct' to `struct + bfd_arch_info'. Rename `typedef bfd_arch_info_struct_type' to + `bfd_arch_info_type'. All uses changed. + * reloc.c: Rename `bfd_reloc_status_enum_type' to + `bfd_reloc_status_type'. Rename `bfd_reloc_code_enum_real_type' + to `bfd_reloc_code_real_type'. (This seems to be a misnomer, + it needs a better name.) All uses changed. + * targets.c: Rename `enum target_flavour_enum' to `enum + target_flavour', and remove the `_enum' from all of the enum + values themselves. All uses changed. + + * configure.in, config/h-i386mach: i386 mach host. + * config/t-i386-aout: Use host-aout.c. + + * trad-core.c: Give it its own xvec's to make it independent + of other file formats. + * ecoff.c, host-aout.c: Remove refs to trad-core. + * config/t-dec3100, t-hp300bsd, t-tahoe, t-vax: Define TRAD_CORE. + * targets.c: #ifdef TRAD_CORE, include it in the vector. + +Fri Oct 4 17:38:03 1991 Steve Chamberlain (steve at cygnus.com) + + * reloc.c: Extended NEWHOWTO macro + * ieee.c: Changed the way 8bit pcrel is done + * cpu-h8300.c: got the registers in the right order + +Thu Oct 3 19:39:55 1991 John Gilmore (gnu at cygnus.com) + + * bfd-in.h: enum boolean => enum bfd_boolean for SVR4. Gumby's + prediction is vindicated! + + * bfd-in.h, libbfd-in.h, doc/Makefile, doc/tolibbfd, doc/intobfd: + Remove refs to howto.c, since Steve forgot. + +Thu Oct 3 07:49:21 1991 Steve Chamberlain (steve at cygnus.com) + + * elf.c: took the abort out of set_arch_mach so that objdump -i will + still work. Now allows any architecture/machine to be set. + +Wed Oct 2 13:50:35 1991 Steve Chamberlain (steve at cygnus.com) + + * howto.c deleted and moved code to reloc.c + + * libbfd.h, libbfd-in.h removed $id stuff for real + + * cpu-h8300.c Made it match various different spellings of h8300. + + * archures.c: Took out the first char filter which made it only + look for a cpu/arch match when the first chars of supplied and + tested names were the same. + + * targets.c removed oasys stuff, pending someone to fix the bugs + in it. + + +Tue Oct 1 12:29:44 1991 John Gilmore (gnu at cygnus.com) + + * Makefile.in, configure.in, targets.c, elf.c: Add preliminary + ELF support good enough for GDB. + * configure.in, config/h-amix, config/t-m68k-elf: Handle + m68k-cbm-svr4 host and target. + * config/t-m68k-coff, t-m88k-coff, t-m88k-aout: Make files nonempty + so `diff' and `patch' can cope. + +Tue Oct 1 11:24:31 1991 Steve Chamberlain (steve at cygnus.com) + + * archures.c: removed texinfo error + + * init.c: added texinfo hooks, and removed initialization error + message. + + * libcoff-in.h, libbfd-in.h removed $id field so cvs can merge + without complaints. + +Tue Oct 1 05:02:53 1991 John Gilmore (gnu at cygnus.com) + + * cpu-i960.c: Avoid numerical count of initializers. + + Vax Ultrix changes from David Taylor <taylor@think.com>: + * host-aout.c: Make little-endian vector really little-endian. + * configure.in: Separate vax and tahoe cases, handle ultrix. + * config/t-vax: Add trad-core.o. + * config/h-vaxult: New host system. + +Mon Sep 30 15:13:46 1991 Steve Chamberlain (steve at cygnus.com) + + * bfd-in.h VERSION, change version number to 0.18, this makes a + gap, but now is the same as the linker version number. + + * cpu-a29k.c, cpu-i386.c, cpu-m68k.c, cpu-mips.c, cpu-vax.c, + cpu-h8300.c, cpu-i960.c, cpu-m88k.c, cpu-sparc.c: added. These + files will eventually contain processor specific bits for bfd, + like strange relocation information and dis/assembly. So far only + the H8 has been even partially done. This work also ties in with + the change in handling architectures. + + * amdcoff.c: (a29k_reloc) fix error message. + + * aout-f1.h: (choose_reloc_size) now calls bfd_get_arch to + discover the architecture of the bfd. (sunos4_callback) calls the + function bfd_set_arch_mach rather than stuffing stuff directly + into the bfd. (sunos4_write_object_contents), changed names of + accessor functions. + + * aoutx.h: (set_arch_mach) now calls bfd_default_set_arch_mach to + setup the environment. + + * archive.c: (bfd_slurp_coff_armap) coff archives always have the + headers in big endian format, regardless of the endianess of the + host or target. + + * archures.c: totally changed. Now an architecture is represented + with a pointer to an info structure rather than an enumerated type + and a long. The old info is available as two elements in the + structure. Future enhancements to architecure support will + involve pointers to methods being placed into the info structure. + + * bfd.c: changed the definition of the bfd structure for the new + architecture stuff. + + * bout.c: (b_out_set_arch_mach) changed to use the new + architecture mechanism. + + * coffcode.h: (coff_set_arch_mach, coff_set_flags) changed to use + the new architecture mechanism. + + * configure.in: added h8 stuff. + + * ieee.c: too many changes to note. Now ieee files written with + bfd gas and ld can be read by gld and ieee only linkers and + simulators. + + * libbfd.c, libbfd.h: changed prototype of bfd_write. + + * newsos3.c: (newos3_callback) now calls bfd_set_arch_mach rather + than fixing the structure directly. + + * oasys.c: (oasys_object_p) now calls bfd_default_set_arch_mach rather + than fixing the structure directly. + + * opncls.c: (new_bfd) makes sure that bfd_init has been called + before opening a bfd. + + * srec.c: (srec_set_arch_mach) now calls bfd_default_set_arch_mach + rather than fixing the structure directly. + + * targets.c: (target_vector) now by defining SELECT_VECS (perhaps + in the t/hmake file) a user can select which backends they want + linked with bfd without changing the source. + + * init.c: new, looks after initializing modules. + + * howto.c: for future use, will allow an application to work out + what cookie to use as a handle on a relcoatio howto. + +Mon Sep 30 13:31:15 1991 John Gilmore (gnu at cygnus.com) + + * srec.c: Better error checking, partly from Peter Schauer. + (srec_object_p): Avoid assuming any file that starts with 'S' is + an S-record file! (Check for 3 uppercase-hex digits after it.) + (ISHEX): Define new macro for checking supposedly hex characters. + (pass_over): Treat as EOF any S-record line that: + * doesn't have hex in either size character + * produces a size larger than 0x7F + * has an unrecognized type number + +Thu Sep 26 15:27:29 1991 John Gilmore (gnu at cygnus.com) + + * aoutf1.h, aoutx.h, bout.c, coffcode.h, host-aout.c, oasys.c, + opncls.c: Lint (saber actually). + +Thu Sep 26 11:24:24 1991 Per Bothner (bothner at cygnus.com) + + * libaout.h (WRITE_HEADERS): Set header's a_text field always. + * newsos3.c: Fixed two types: newos3 -> newsos3. + * reloc.c (bfd_perform_relocation): Fix pc-relative relocation + to use correct segment. + +Mon Sep 23 18:24:34 1991 Per Bothner (bothner at cygnus.com) + + * aoutx.h (print_symbol): Handle missing symbol->name. + +Fri Sep 20 12:26:01 1991 Stu Grossman (grossman at cygnus.com) + + * aoutf1.h (swapcore_sparc): Change name of USRSTACK, fix comment + at top of routine. + +Tue Sep 17 17:23:49 1991 Stu Grossman (grossman at cygnus.com) + + * oasys.c, configure.in, config/h-irix3, config/t-irix3: + add sgi/irix support. + +Thu Sep 12 14:29:09 1991 John Gilmore (gnu at cygint.cygnus.com) + + Changes for the AMD 29000 Ultracomputer port from David Wood. + (wood@nyu.edu). + + * opncls.c (bfd_fdopenr): Handle NO_FCNTL. + + * Makefile.in: Make subdirs work by using $(INCDIR) in the + crude dependencies. + + * coffcode.h (coff_real_object_p): Pass information about the + current file's coff symbol format to BFD via the coff_data struct. + (coff_find_nearest_line): obj_icof => coff_data. + (coff_swap_sym_{in,out}): Check that SYMNMLEN == E_SYMNMLEN. + (coff_swap_aux_{in,out}): Check that FILNMLEN == E_FILNMLEN + and DIMNUM == E_DIMNUM. + * configure.in: Handle a29k-*-* hosts, and targets + a29k-*-coff, a29k-*-aout, and a29k-*-sym1. + * libcoff-in.h: Add local_n_btmask, local_n_btshft, + local_n_tmask, local_n_tshift, local_symesz, local_auxesz, + local_linesz to `coff_data' (tdata) struct. + (coff_data, coff_data_type, coff_tdata): Rename struct icofdata. + * config/h-ultra3: Handle a29k-*-* hosts as Ultracomputers. + +Thu Sep 12 14:07:22 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * Makefile.in: $(MAKE) for make, $(docdir) for doc + * doc/Makefile: redundant dependencies for Sun-make VPATH bug + +Tue Sep 10 20:34:12 1991 John Gilmore (gnu at cygint.cygnus.com) + + * aoutf1.h (sunos4_core_file_p): Release the right storage in + error case. + (sunos4_core_file_matches_executable_p): Fix header comparison. + * aoutx.h: Avoid shifts of 32 bits, undefined in C. Lint. + * bout.c, icoff.c, ieee.c, libbfd.c, oasys.c: gcc -O -W lint. + +Wed Sep 4 00:44:52 1991 John Gilmore (gnu at cygint.cygnus.com) + + Allow GDB to patch object files. + + * aoutf1.h (sunos_core_file_p): Set SEC_HAS_CONTENTS on all sections. + * trad-core.h (trad_unix_core_file_p): Ditto. + * aoutx.h (aout_set_section_contents): On first output, check + abfd->direction and complain if erroneous. + + * Makefile.in: Add crude dependencies. + +Tue Sep 3 13:46:19 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * config/* aoutx.h configure* shortened all the h/tmake-xxxx + to h/t-xxxx files so that everything will work on System V. + +Fri Aug 23 13:51:06 1991 John Gilmore (gnu at cygint.cygnus.com) + + * aoutx.h: Add information on host-aout.c and how to configure + to use it, to the manual. + * configure.in: Tix typo. + * ecoff.c: If compiling for DEC3100, use trad_unix core files, + else dummy out the core file support. + * trad-core.c (trad_unix_core_file_p): If HOST_DATA_START_ADDR is + specified, use it to locate the data section. + * coffcode.h (coff_write_symbols): Declare buffer as bfd_bytes + rather than as chars (lint). + +Thu Aug 22 22:20:19 1991 Stu Grossman (grossman at cygint.cygnus.com) + + * aoutx.h, coffcode.h: saberized. + +Thu Aug 22 11:27:06 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * bfd.texinfo: some cleanup, reincorporated more intro matter from + bfd.doc + bfd.c, targets.c: minor rewording of doc segments + + +Wed Aug 21 19:13:22 1991 John Gilmore (gnu at cygint.cygnus.com) + + * trad-core.c (trad_unix_core_file_p): Use HOST_TEXT_START_ADDR, + etc, rather than TEXT_START_ADDR. + * host-aout.c: Remove #if 0 around whole thing. + Update to modern (32/64-bit) a.out naming conventions. + Include a large chunk of ../include/a.out.gnu.h to get macros that + are not defined by the system include files. + (host_aout_{32,64}_write_object_contents): Use the WRITE_HEADERS + macro used by the other a.out implementations. + * Makefile.in: Give dependencies to OPTIONAL_BACKENDS. + +Wed Aug 21 14:33:06 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * Makefile.in: use targets "bfd.dvi" and "bfd.ps" instead of + texdoc and psdoc; make these depend on generated .texi's + + * scanit, (new) unPROTO: turn PROTO macros into ANSI declarations in + doc + + * bfd.c, reloc.c, syms.c: minor spelling/wording fixes in doc + portions + + * Makefile.in, awkscan-ip, awkscan-p, intobfd, + libbfd.h, libcoff.h, tolibcoff; new bfd-in.h, libbfd-in.h, + libcoff-in.h: (a) use separate files for invariant parts of bfd.h, + libbfd.h, and libcoff.h; (b) in generated parts of same, use less + obtrusive marks indicating .c origins. + + * bfd.texinfo: generalize most references to linker + +Tue Aug 20 15:18:02 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * Makefile.in: include core.p in PROTOS (building better bfd.h) + * archures.c: remove empty foo() definition (crept in at vn1.9) + +Mon Aug 19 13:48:22 1991 Roland H. Pesch (pesch at cygint.cygnus.com) + + * bfd.texinfo: use @setchapternewpage on instead of lots of + @page's; minor rephrasing in Introduction. + + * aoutx.h, archive.c, archures.c, bfd.c, bfd.texinfo, cache.c, + coffcode.h, core.c, format.c, ieee.c, libbfd.c, libbfd.h, libcoff.h, + oasys.c, opncls.c, reloc.c, section.c, syms.c, targets.c (documentation + segments): used BFD (caps) more consistently as a name in + discourse, fixed a few other minor typos and uses of fonts + + +Thu Aug 8 16:47:43 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * coffcode.h: fixed bug where string table size wasn't being swapped. + +Thu Aug 1 16:35:28 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * section.c: added SEC_CONSTRUCTOR_TEXT|DATA|BSS flags + + * syms.c: added BSF_CONSTRUCTOR, BSF_WARNING and BSF_INDIRECT + flags. (bfd_print_symbol_vandf) now knows what to do with the + above flags. + + * aoutx.h: made translate_from_native_sym_flags and + translate_to_native_sym_flags produce the above flags. + + +Wed Jul 31 09:53:52 1991 John Gilmore (gnu at cygint.cygnus.com) + + * all files: update copyright notices for GPL version 2. + Install header comments and attribute most modules to their + authors. BFD's name is now officially "Binary File Descriptor", + so remove any conflicting pejoratives. + archures.h: Consists solely of comments; remove it. + +Fri Jul 26 18:11:34 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * Makefile.in, bfd.c: Made it compile again. + +Fri Jul 19 08:17:09 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * newsos3.c, targets.c, coffcode.h: new patches from David Wood + + +Mon Jul 15 16:27:42 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * aoutf1.h archive.c bfd.c coffcode.h core.c ecoff.c ieee.c + bfd.texinfo oasys.c opncls.c reloc.c srec.c: More documentation on + lint fixes. + + * amdcoff.c bfd.texinfo Makefile.in : Folded in changes for amd + 29k coff by David Wood (wood@lab.ultra.nyu.edu). + +Thu Jul 4 09:53:16 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * Everything: created some new files, core.c format.c, reloc.c, + section.c and syms.c to split the functionality a bit better. + Cleaned up the rest of the files a bit, and added some + documentation. + + +Mon Jul 1 13:29:47 1991 David Wood (wood at david.ultra.nya.edu) + + * opncls.c, ../include/sys/h-sun3.h ../include/sys/h-sun4.h: fcntl + really takes 3 arguments, patched code and ammended prototypes. + +Fri Jun 14 13:19:40 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * ../include/bfd.h (struct bfd_target): Added new field + "align_power_min" which contains the minimum alignment for a + section. This is used in coff_new_section_hook. The field + insertion necessitates an update of all backends.. + + * aoutf1.h jump table field inserted + + * archive.c(snarf_ar_hdr)(bfd_slurp_coff_armap) can now parse dgux style extended + filenames too. + + * bout.c(b_out_squirt_out_relocs) fix to assertion tests. Jump + table field inserted. + + * coffcode.h(just about everything) Now patches up symbol tables + using a different mechanism. The Intel major bug has been fixed, + and the linker can self host on the Aviion and be debugged with + gdb. + + * ecoff.c: new include and jump table patch, i386coff.c: new + include and jump table patch, icoff.c: new include and jump table + patch, ieee.c: can now read archives containing ieee modules., + libcoff.h: added (combined_entry_type), libieee.h: uped max + sections to 20, m68kcoff.c: new include and jump table patch, + m88kbcs.c: new include and jump table patch, oasys.c: various bugs + fixed. opncls.c: added bfd_alloc_grow and bfd_alloc_finish. + srec.c: jump table patch. trad-code.c fixed #IF typeo + +Fri Jun 7 12:35:46 1991 Sean Fagan (sef at cygint.cygnus.com) + + * coffcode.h (coff_swap_aux_in): added else case to deal with + filenames less than 9 characters. + + +Thu Jun 6 18:27:38 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * ../include/oasys.h oasys.c (oasys_archive_p): fixed so it works + + * srec.c: now allows any number of sections to be created in a + file. Outputs addresses of the right length. + +Thu May 30 15:30:10 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * bfd.c (bfd_check_format): Fixed problem where when a defaulted + target didn't match, the format got set to the attempted match, + breaking a future test. + + *../include/i386coff.h : fixed typo in type field with size + + * i386coff.c icoff.c m88k-bcs.c ecoff.c ../include/bfd.h : Added + support in the jump table for the swapping routines exported to + gdb. Now gdb works with the 386. + +Tue May 28 17:21:43 1991 John Gilmore (gnu at cygint.cygnus.com) + + * Merge in changes from gdb-3.95 release. + Makefile.in: Allow hmake and tmake files to add OFILES. + aoutf1.h: + bfd.c: support specific targets as well as searching. When + searching, take default target in preference to others. + bfd.doc: typos + ieee.c, oasys.c: Avoid using the "tdata" macros left of assignment. + liba.out.h: Don't hard-code file offsets; use N_ macros for them. + libbfd.h: Support specific targets as well as searching. + opncls.c: Support specific targets as well as searching. + targets.c: Search is short-circuited if default target matches. + liboasys.c, libieee.c: Undo bothner changes that make macros + work to the left of assignment, but which depend on the + representations of different pointer types being the same. + +Fri May 24 18:56:52 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * i386coff.c: created. + * coffcode.h: added support for 386. + * Makefile.in: added support for 386. + * ../include/i386coff.h: created + +Wed May 22 07:26:38 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * coffcode.h: removed all put_x_<sizes> + * libbfd.c: Changed #ifdef __GNUC__ to #ifdef HOST_64_BIT, Added + DEFUNS + + +Tue May 21 08:58:58 1991 Steve Chamberlain (steve at cygint.cygnus.com) + (bothner) + * opncls.c: Changed obstack_chunk_alloc use xmalloc + +Mon May 20 17:12:17 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * everything: Removed sysdep.h from bfd.h and put back into files + from which it was split out. Now 64 bit version is built with a + -DHOST_64_BIT="long long" on the compile line. + +Fri May 17 19:35:26 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + Changed all the [get|put][name] routines to use [get|put]_[size + in bytes]. + + Put in support for 64 bit work. Now two versions of bfd may be + generated, according to the state of TARGET_64_BIT, one which is + 32 bit only, and one which is 64/32 bits. + Created new back end 'demo64' to test 64 bit functionality. + + Renamed some files to work on DOS. + + * archive.c: lint * bfd.c: prototypes and lint. * ecoff.c: added + 64bit transfer * icoff.c: added 64bit transfer * ieee.c: name + chage, 64 bit transfer. * liba.out.h: Split out common code from + sunos and newsos into liba.out. Name changes and prototype mods. * + libbfd.c: lint and prototypes, extra 64bit swaps. * libbfd.h: + prototypes for new functions. * libcoff.h: lint * libieee.h: make + work on DOS * liboasys.h: make work on DOS * m88k-bcs.c: Name + change and 64bit stuff.* newsos3.c: common code removed, new jump + table. * oasys.c: Name change * opncls.c: Portability fixes * + srec.c: Name changes * sunos.c: Removed comon code. * targets.c: + Added demo * aout32, aout64.c include aoutx.h * bout.c: used to + be called b.out.c * coffcode.h: used to be called coff-code.h, now + 64bit ized. * demo64.c: 64 bit a.out back end + +Thu May 16 16:02:07 1991 Steve Chamberlain (steve at cygint.cygnus.com) + from bothner + * libieee.h: Make ieee_data and ieee_ar_data macros usable + on LHS of assignment, even when using old compilers. + * liboasys.h: Ditto for oasys_data and oasys_ar_data. + * m68kcoff.c: Add enum-to-int casts to accomodate old compilers. + * newsos3.c: Fix definitions of SEGMENT_SIZE and TEXT_START_ADDR. + * opncls.c: Define S_IXUSR, S_IXGRP, S_IXOTH if undefined. + * targets.c: Add declaration of newsos3_vec. + +Mon May 13 10:03:29 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * aout.c: fixxed some of the problems with filepos calculation. + (swap_ext_reloc): fixed problem with creation of relocs. + (aout_set_section_contents): fixed filepos problem + + * coff-code.h: (swap_filehdr_in, swap_filehdr_out) add. + (swap_filehdr) delete. Changed all the usage of bfd_h_put_x. + (swap_aouthdr_in, swap_aouthdr_out) add. (swap_aouthdr) delete. + (coff_real_object_p) cleaned up, added MIPS. (coff_object_p) + cleaned up. (coff_write_object_contents) cleaned up. + + * ecoff.c: Totally different. Now supports ecoff fully. + + * icoff.c: fixed problems in relocation callout. + + * libcoff.h: (struct icofdata) removed hdr structure from tdata. + + * m68kcoff.c: updated target vector. + + * sunos.c: (choose_reloc_size) added: (sunos4_callback) calls + choose_reloc_size. (sunos4_write_object_contents) now calls + choose_reloc_size so outputs relocs correctly, also calculates the + size of the sections correctly. + + + +Fri May 10 16:58:53 1991 John Gilmore (gnu at cygint.cygnus.com) + + Merge Per Bothner's changes to modularize BFD a.out a bit. + + * libbfd.h, libbfd.c (bfd_generic_get_section_contents): Add. + * ieee.c: Cast enums to int before comparing them, for brain- + dead compilers. + * coff-code.h: Remove coff_get_section_contents, and use the + generic one instead. + + * aout.c: Derive new module from sunos.c, containing generic + support code for all kinds of a.out files. + + * sunos.c: Remove all code that goes in aout.c. Split out + machine dependent followup in sunos4_object_p into + sunos4_callback. Use JUMP_TABLE(aout) for the transver vector, + and redefine only the names we CHANGE, not all the names. Drop + the little-endian vector, and rename the vector as sunos4 rather + than generic. + + * b.out.c: Use aout.c routines for most of the work. Slight + changes for the new regime. Remove close_and_cleanup and + get_section_contents in favor of generics. New transfer vector + regime. + + * newsos.c: New support for Sony NEWS, another a.out format. + + * ecoff.c: Remove close_and_cleanup. New tvec regime. + * icoff.c, m88k-bcs.c: Add write_contents to tvec. + * ieee.c, oasys.c: Remove close_and_cleanup, add write_contents + to tvec. + * opncls.c (bfd_close): Call format-dependent write_contents + routine, if writing, before calling target-dependent + close_and_cleanup routine (which is now always generic, I think). + * srec.c: Use bfd_alloc instead of malloc. Remove + close_and_cleanup and move code from it to + srec_write_object_contents. Add write_contents to tvec. + * targets.c: Remove a.out little vector, replace a.out big + vector with SunOS vector. FIXME: Need Vax support again now. + + * libbfd.h: Add write_contents format-dependent-vector to the + bfd_target vector. Supply a generic close_and_cleanup routine. + * liba.out.h: Handle the new aout.c split. Add prototypes for + all routines defined in aout.c. Rename "sunos" things to "aout" + things. Add a few fields where needed for various formats. + * Makefile.in: Add aout.c and newsos.c. + + * archive.c, ieee.c, oasys.c: Lint. + +Fri May 10 12:34:48 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * ../include/bfd.h + changed forward declaration struct stat; to reduce warnings. Changed + comment on bfd_h_<x>_x. + + * ../include/m68kcoff.h, ../include/intel-coff.h, + ../include/m88k-bcs.h + Now there are two incarnations of relocs, linenos and syments. One for + internal digestion, and one full of char arrays for I/O. The original + names have gone to detect errors. + + * Makefile.in, m68kcoff.c, targets.c + Test new structure code with a 68k coff implementaion + + * coff-code.h, icoff.c, coffswap.c, libcoff.h + Fixed all the places where there were problems with the size and + alignments of structures on disk and structures in memory. #ifed out + all the code in coffswap.c, since it should be done using the target + swap routines now. + +Thu May 9 11:00:45 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * ieee.c (do_one, ieee_slurp_section_data): now supports the load + multiple reloc command. + + * sunos.c (sunos4_set_section_contents): Made it so that sections + are always padded to their alignment size. + +Sat May 4 15:49:43 1991 John Gilmore (gnu at cygint.cygnus.com) + + * archive.c, bfd.c, coff-code.h, opncls.c, sunos.c, trad-core.c: + Clean up types and such (saber C problems). + * ecoff.c: Clean up types and such. Remove routines that are + not used. Fix up reading and swapping of shorts from files. + + Notes on bfd-0.5.2-patch1a, from Per Bothner: + + * a.out.vax.c: Remove two bogus "static" from prototypes. + + * ecoff.c: Got rid of lots of non-working junk (that had + been copied directly from coff-code.h). + Updated to be consistent with updates to icoff.c and coff-code.h. + + * libbfd.h: Added definitions for S_IXUSR, S_IXGRP, and S_IXOTH + if they're missing (as they are in (BDS-4.3-based) NewsOS-3). + + * sunos.c (n_txtoff): (Re-)Add support for sony. This is a kludge, + but until the target_vector is automatically generated, + it's as good as any. Note that the text offset is the only + difference between NewsOS and SunOs (including magic numbers). + (Most of the sunos_* routines should to renamed bsd_* + and move to a bsd.c file. Then (and when the target_vector + is automatically generated) it might make sense to create + a separate Sony target.) + + * sysdep.h: Don't declare fread and fwrite. Causes trouble + on some systems, and doesn't help on others. + Similarly, only define X_OK if not already defined. + + * trad-core.c: Don't include sys/stat.h - at least + on NewsOS 3, it has already been included. + +Tue Mar 5 01:47:57 1991 John Gilmore (gnu at cygint.cygnus.com) + + * coff-code.h (bfd_coff_swap_sym, bfd_coff_swap_aux, + bfd_coff_swap_lineno): Export the routines that byte-swap COFF + symbol tables if necessary when reading them in, so gdb can use + them. Add "bfd_coff_" to the names so they won't conflict with + names in calling programs. FIXME-soon: if coff-code.h is + included in two BFD modules, this will cause duplicate + definitions; the routines should be exported to a separate, + common, module (probably along with a mess of other ones). + +Sat Mar 2 12:11:26 1991 John Gilmore (gnu at cygint.cygnus.com) + + Improve modtime support. + + * bfd.h: Add boolean mtime_set, and declare bfd_get_mtime. + Remove #define for bfd_get_mtime. Remove gratuitous comment. + * bfd.c (bfd_get_mtime): New fn, caches mtime, gets if not cached. + BUG: archive members still do not get correct mod times. + + Improve floating point support for core files. + + * sunos.c (struct core): Change void *fpa_dummy to double fp_stuff. + (sunos4_core_file_p): Create a second registers section in the + core file, called ".reg2", for the float registers. + +Thu Feb 14 15:49:06 1991 Gumby Vinayak Wallace (gumby at cygint.cygnus.com) + + * many changes to improve archive handling; found a logic flaw in + bfd_check_format which only just happened to work by cooncidence. + +Thu Feb 14 07:53:16 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * bfd.c (bfd_perform_relocation): fixed to use output_offsets + correctly. + + * bfd.h: changed type of udata in asymbol to void *, like it + should be. Added bfd_reloc_dangerous enum member. + + * coff-code.h: Fixed it so that internally generated symbols get + their values relocated correctly in all cases. Removed calls to + xmalloc. + + * icoff.c: Not understanding the destination symbol of a reloc is + not a failure any more, just 'dangerous'. This allows linking of + b.out and coff images. + + * sunos.c: Cleaned up the way that ZMAGIC section sizes are + calculated. + + +Tue Feb 12 13:25:46 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * sunos.c (translate_to_native_sym_flags): fixed + sym_pointer->n_value so that symbols on the way out get their + section relative values calculated correctly. + + * coff-code.h (mangle_symbols): fixed problem where tags were not + being relocated for structs, enums, unions. Also various lints. + +Mon Feb 11 19:52:26 1991 Gumby Vinayak Wallace (gumby at cygint.cygnus.com) + + * archive.c (get_elt_at_filepos): system_call_error returned + incorrectly. + +Sun Feb 10 23:18:40 1991 Gumby Vinayak Wallace (gumby at cygint.cygnus.com) + + * Resolve the use of no_error and system_call_error. + The bfd library itself now will never set bfd_error to + no_error. + + The code still needs to be combed to make sure all the error + codes are correct. I suspect they are not always set correctly. + + * The names of all the messages have _ prepended because the sun + bundled compiler can't distinguish from a macro which takes an + argument and the same identifier in a non-macro context. + + * The reason for the above being that entry points which used to + be trampoline functions are now just macros which expand to a + direct call through the bfd's xfer vector. + + * (../include/intel-coff.h) F_AR32WR: fix this constant. Why + must gas have its own version of everything (the gas version + had the correct value) + +Tue Feb 5 11:46:53 1991 Steve Chamberlain (steve at cygint.cygnus.com) + + * b.out.c: Added patches supplied by chrisb@mipon2.intel.com to + properly support i960 architecture and output correct reloc stuff. + + * bfd.h: added prototype for bfd_printable_arch_mach, added + BFD_FAIL + + * coff-code.h: Applied patches from chrisb to support i960 + architecture, zero relocs and swap them correcly and conditionally + compiled the timestamp. + + * sunos.c: Made the default section alignment 2^3 so that doubles + are done properly. Fixed the same reloc bug that was in b.out.c + + * sysdep.h: Now compiles on a Posix box + +Wed Jan 30 21:36:26 1991 John Gilmore (gnu at cygint.cygnus.com) + + * icoff.c: Fix comment on big-endian version. + * coff-code.h: Make HAS_RELOC really work (it's backwards from + F_RELFLG). Set F_AR32WR in output files if little endian + architecture. + +Tue Jan 29 20:56:10 PST 1991 steve@cygnus.com + + * archures.c fixed =/== typo + + * sunos.c added architecture stuff for output. Fixed + bug where files where vma(data) != size(text) + were processed wrong. + + * coff-code.h added a lint cast + + * (../include/a.out.sun4.h) fixed it so zmagic + worked + +Mon Jan 28 19:15:29 PST 1991 steve@cygnus.com + + * archive.c removed loads of includes, and fixed bug where string + table didn't have a null at the end. + + * bfd.c fixed includes, added symbols argument to + canonicalize_reloc entry point. + + * libbfd.c fixed includes and added some lint patches. + + * targets.c added both sorts of intel coff. + + * b.out.c fixed included, changed was the canonical + relocs were done. + + * icoff.c added support for callj and big and little + enidian tables. + + * opncls.c added chmod+xing for files with EXEC_P set. + + * sunos.c fixed includes. Changed default section + alignement to words. Fixed relocation stuff to work with + new scheme + + * bfd.h various new types added, prototype for new + reloc calls, changed bfd->iostream to a void * + to including files don't need stdio.h. + + * libcoff.h added conversion table to tie relocs to + canonical symbols + + * sysdep.h created + + * coff-code.h fixed includes. Added code to support + big and little endian formats. Various lints. Better + processing of symbols. Changed reloc stuff to new + order + + * libbfd.h fixed includes + + +Mon Jan 21 11:53:51 PST 1991 steve@cygnus.com + + * bfd.h changed name of alignment entry in sec_struct to + alignment_power, because of conflicting uses within bfd. + Now it should be obvious that it's a 2**n alignment + specifier. Removed start_pad, end_alignment, block, minsize, + output_file_alignment, subsection_alignment and original_vma fields. + Added align_power() macro. Fixed bfd_section_alignment + acessor macros. Added bfd_symbol_same_target macro. + + * b.out.c (b_out_write_object_contents) fixed to use + new alignment member. Fixed (callj_callback) to use section + relative symbols properly. + + * sunos.c (sunos4_object_p) fixed to use new alignment_power. + Fixed (translate_from_native_sym_flags) to correctly make + symbols section relative. + + * bfd.c (bfd_errmsg) fixed various enum cast problems. + (bfd_make_section) took out initialization of obsolete members. + (bfd_print_symbol_vandf) added + + * opncls.c (bfd_create) created. + + * coff-code.h (coff_new_section_hook) took away refs + to obsolete members. (make_a_section_from_file) added + conversion between alignment types. (coff_symbol_from) + added. (coff_count_linenumbers) only counts linenumbers + if symbol is of coff-type. (coff_mangle_symbols) only + heavily mangles symbols if symbol is coff-type. + (coff_write_symbols) various lints. (coff_write_object_contents) + various lints and modification for alignment conversion. + (coff_slurp_relocs) fixed for use with new asection shape. + +Sat Jan 19 16:10:42 PST 1991 steve@cygnus.com + + * archive.c lots of lint + + * b.out.c added callj relocation support, upgrated reloc howto. + Fixed so that asymbol and reloc records are output + correctly. + + * bfd.c lots of lint, support for new bfd entry point + bfd_print_symbol. + + * bfd.h changed definition of asymbol to contain pointer to + owning bfd, removed target dependencies. + + * cache.c took out print statements, put in BFD_ASSERT calls. + + * coff-code.h various lints, corrected linenumber output + functionality. Added support for new style asymbols and + bfd_print_symbol. Fixed so that asymbol and + reloc records are handled correctly. Added timestamp. + + * icoff.c Added support for new howto shape. + + * liba.out.h Added support for new asymbol shape + + * libbfd.c various lints + + * libbfd.h various lints + + * libcoff.h added support for new asymbol shape. + + * sunos.c various lints. Added support for new asymbol shape + and bfd_print_symbol. + +Wed Jan 16 21:38:09 PST 1991 steve@cygnus.com + + * b.out.c removed prototype of sunos4_ennativate_symtab, lots of + pointer lint. Added support for callj relocation. Fixed bug where + the last 32 bytes of the text section were overwritten by data. Fixed bug + where archives of b.out didn't work due bfd_slurp_extended_name_table + returning false. + + * sunos.c added support for n_other field. Braced the howto table so + that it won't be affected by any lengthing of the howto struct typedef. + Various lints + + * bfd.h added support for n_other field, added special_function + reloc type, modified bfd_perform_relocation prototype. Added bfd_h_get_x + macros. + + * bfd.c upgraded bfd_perform_relocation, various lints. + +Wed Jan 16 01:55:53 1991 John Gilmore (gnu at rtl) + + * ChangeLog: Started ChangeLog for BFD. + * ToDo: Create file for suggestions. + + * Makefile: Support easy loading into Saber C. + Add dependencies for icoff.o and bcs88kcoff.o. + Rename coff.c to coff-code.h. Change callers. + + * bfd.c (bfd_check_format): Allow the check_format routines + to return the desired target vector, rather than just a Boolean. + bfd.h (bfd_check_format): Change function pointer return type. + archive.c (bfd_generic_archive_p): change callee. + b.out.c (b_out_little_object_p, b_out_big_object_p, + b_out_real_object_p): change callee. + libbfd.c (_bfd_dummy_target): Dummy routine replacing bfd_false + in check_format transfer vectors that need a filler. + libbfd.h (bfd_generic_archive_p, _bfd_dummy_target): Fix decls. + bcs88kcoff.c: change callee. + coff-code.h (coff_real_object_p, coff_big_object_p): change callee. + icoff.c: change callee. + sunos.c (sunos4_object_p, sunos4_core_file_p): change callee. + + * libbfd.c (zalloc): It should actually zero the storage! + This was commented out for some reason. + + * libbfd.h: Add malloc, xmalloc, memcpy, and fatal decls. + This is so callers can avoid <stdlib.h> which doesn't exist + on older systems. + + * bfd.c (map_over_sections): Add debugging code, since I + noticed the section count for sunos core files was bad, but only + GDB had detected the problem. + (bfd_set_section_lineno_size, bfd_set_section_linenos, + bfd_get_section_linenos): Remove obsolete functions. + (bfd_apply_relocations): Use longs, not ints, for the math. + + * bfd.h: Declare enum boolean and struct bfd_target as well + as typedefs for them. Remove obsolete + bfd_get_section_lineno_size. + + * cache.c: Make the "fdopen" support work. Keep better track + of how many files are open. Centralize the opening of files + and be sure bfd_open[rw] actually try to open the file. Evade + linked list initialization problems. + + * b.out.c, coff-code.h, opncls.c, sunos.c: lint. + + * coff-code.h (coff_slurp_symbol_table): Null-terminate symtab names. + + * cplus-dem.c: Delete file, since it is not part of BFD. + + * opncls.c (bfd_openr): Eliminate misplaced #if 0 code. + (bfd_openr, bfd_openw): Actually open the file, give error now. + + * sunos.c (sunos4_core_file_p): Set section count. + (sunos4_set_section_linenos, stab_names, fprint_name): Eliminiate + obsolete definitions. + (_write_symbol_table): Initialize <idx> counter. + (foop): Eliminate debugging code. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: |