start-sanitize-v850 Tue Oct 22 19:20:38 1996 Jeffrey A Law (law@cygnus.com) * elf32-v850.c: Include bfdlink.h. (bfd_elf32_v850_reloc): Return an error if we get a reloc we can't handle. (elf32_v850_bfd_final_link_relocate): New function. (v850_elf_relocation_section): Likewise. (elf_backend_relocate_section): Define. end-sanitize-v850 Tue Oct 22 17:22:43 1996 Ian Lance Taylor * binary.c (binary_set_section_contents): Ignore sections which don't have SEC_LOAD and SEC_ALLOC set. Mon Oct 21 12:13:05 1996 Jeffrey A Law (law@cygnus.com) * linker.c (_bfd_generic_final_link): Avoid losing static symbols in the .bss section. Mon Oct 21 10:54:58 1996 Ian Lance Taylor * elf32-mips.c (elf_mips_howto_table): Describe R_MIPS_64. (mips32_64bit_reloc): New static function. (mips_reloc_map): Add entry for BFD_RELOC_64. (mips_elf_relocate_section): Handle R_MIPS_64. * linker.c (default_indirect_link_order): Print an error message when attempting to do a relocateable link with different object file formats, rather than calling abort. start-sanitize-m32r Thu Oct 17 10:43:29 1996 Doug Evans * reloc.c (m32r relocs): Rename them. * bfd-in2.h, libbfd.h: Regenerated. * elf32-m32r.c: Update. (m32r_elf_10_pcrel_reloc): New function. (elf_m32r_howto_table, R_M32R_10_PCREL entry): Use it. (elf_m32r_howto_table, R_M32R_24 entry): Fix {src,dst}_masks. end-sanitize-m32r Wed Oct 16 11:24:35 1996 Jeffrey A Law (law@cygnus.com) * linker.c (_bfd_generic_final_link): Set "linker_mark" for all sections that will be included in the output file. (_bfd_generic_link_output_symbols): Discard symbols in sections which are being discarded. start-sanitize-v850 * elf32-v850.c (enum reloc_type): Add R_V850_SDA_OFFSET, R_V850_TDA_OFFSET and R_V850_ZDA_OFFSET. (elf_v850_howto_table): Corresponding changes. (elf_v850_reloc_map): Corresponding changes. * reloc.c: Add additional V850 relocations. * bfd-in2.h, libbfd.h: Rebuilt. * elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we no longer want in pc-relative relocs. Tue Oct 15 22:17:37 1996 Jeffrey A Law (law@cygnus.com) * elf32-v850.c (bfd_elf32_v850_reloc): Don't silently accept a reloc against an undefined sybmol! Tue Oct 15 16:17:28 1996 Stu Grossman (grossman@critters.cygnus.com) * elf32-v850.c: Define elf_symbol_leading_char to be '_'. end-sanitize-v850 Tue Oct 15 12:40:41 1996 Ian Lance Taylor * VERSION: Bump for new relocation. * hosts/i386bsd.h: If NBPG is not defined, define it as PAGE_SIZE, for recent versions of FreeBSD. Mon Oct 14 12:37:26 1996 Ian Lance Taylor * configure.host: Use `long long' as the 64 bit type on a Solaris host, since both gcc and the SunPRO compilers support it. Mon Oct 14 11:17:24 1996 Richard Henderson * reloc.c: Create a new BFD_RELOC_ALPHA_ELF_LITERAL. It was a mistake to have reused the ECOFF LITERAL for ELF since they have different semantics. * elf64-alpha.c (elf_reloc_map): Map from ELF_LITERAL. * bfd-in2.h, libbfd.h: Rebuild. * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got section overflow. * elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a dynamic relocation for an undefweak symbol when we are building a static executable. Thu Oct 10 11:15:06 1996 Stan Shebs * mpw-make.sed (config.bfd, targmatch.sed): Edit references to point explicitly to srcdir. (targmatch.h): Edit references to point explicitly to objdir. Thu Oct 10 14:14:23 1996 Ian Lance Taylor * config.bfd: When setting targ_cpu, don't get confused by linux-gnu. Tue Oct 8 08:51:19 1996 Stu Grossman (grossman@critters.cygnus.com) * configure.host: Add support for windows host (a build done under the Microsoft build environment). Tue Oct 8 11:40:16 1996 Ian Lance Taylor * elflink.h (elf_link_add_object_symbols): If a symbol is a weak definition in a dynamic object, add it to the dynamic symbol table if any dynamic object mentions it. Reverts part of last patch. * sunos.c (struct sunos_link_hash_table): Add got_base field. (sunos_link_hash_table_create): Initialize got_base. (bfd_sunos_size_dynamic_sections): If the .got section is more than 0x1000 bytes, set __GLOBAL_OFFSET_TABLE_ and got_base to 0x1000. (sunos_check_dynamic_reloc): Subtract got_base from a base relative relocation. * elf32-mips.c (elf_mips_isa): New static function. (_bfd_mips_elf_merge_private_bfd_data): Don't warn about linking -mips1 and -mips2 code together, or -mips3 and -mips4 code. Mon Oct 7 11:44:17 1996 Ian Lance Taylor * archive.c (do_slurp_coff_armap): Only treat archive as little endian for i960 COFF. Fri Oct 4 13:49:01 1996 Ian Lance Taylor * coffcode.h (coff_compute_section_file_positions): Adjust sofar by the change in size of the section when EXEC_P is not set. * coff-m68k.c (coff_rtype_to_howto): Define if not defined. (m68kcoff_rtype_to_howto): New static function. * cf-m68klynx.c (coff_m68k_lynx_rtype_to_howto): Add the section VMA to the addend for a PC relative reloc. * dep-in.sed: Rework backslash loop a bit to avoid bug in sed on HP/UX 10.20. * Makefile.in: Rebuild dependencies. * dep-in.sed: Remove ../bfd/sysdep.h, since it will appear when som.h is included. Fri Oct 4 11:41:39 1996 Jeffrey A Law (law@cygnus.com) * Makefile.in: Remove explicit dependencies for mn10200 and mn10300 files. (ALL_MACHINE_CFILES): Add cpu-mn10200.c and cpu-mn10300.c. (BFD32_BACKENDS_CFILES): Add elf32-mn10200.c and elf32-mn10300.c (dependencies): Rebuilt. Thu Oct 3 16:57:51 1996 Ian Lance Taylor * cofflink.c (coff_link_add_symbols): Set obj_coff_keep_syms during this function. * elflink.c (_bfd_elf_create_linker_section): Only use an existing section if the flags are compatible. * configure.in: Add havevecs, and put it in tdefaults. * mpw-config.in: Likewise. * configure: Rebuild. * targmatch.sed: New file; a sed script to build targmatch.h from config.bfd. * config.bfd: Add #if, #endif, and comments for targmatch.h. * targets.c: Include "fnmatch.h". (struct targmatch): Define. (bfd_target_match): Define by including targmatch.h. (bfd_find_target): If the target is not found by name, search for it as a configuration triplet. * Makefile.in: Rebuild dependencies. (BFD32_BACKENDS): Add aout-arm.o, aout-sparcle.o, hp300bsd.o, i386dynix.o, m68k4knetbsd.o, and riscix.o. (BFD32_BACKENDS_CFILES): Add aout-arm.c, aout-sparcle.c, hp300bsd.c, i386dynix.c, m68k4knetbsd.c, and riscix.c. (HFILES): Add targmatch.h. Also, alphabetize and reindent. (CFILES): Remove i386dynix.c and hp300bsd.c. (targmatch.h): New target. (do_clean): Remove targmatch.h. * configure.in: Add BFD_NEED_DECLARATION(getenv). * acconfig.h: Add NEED_DECLARATION_GETENV. * configure, config.in: Rebuild. * sysdep.h: If NEED_DECLARATION_GETENV, declare getenv. * aout-adobe.c (aout_adobe_object_p): Don't declare getenv. Thu Oct 3 09:29:09 1996 Jeffrey A Law (law@cygnus.com) * cpu-mn10x00.c, elf32-mn10x00: Removed. * cpu-mn10200.c, cpu-mn10300.c: New files. * elf32-mn10200.c, elf32-mn10300.c: New files. * Makefile.in: Break mn10x00 support into two separate configurations, mn10200 and mn10300. * archures.c, config.bfd, configure.in, elf.c, targets.c: Likewise. * bfd-in2.h, configure: Rebuilt. Thu Oct 3 15:38:19 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) * Makefile.in (do_clean): Move config.log to do_distclean. Wed Oct 2 21:40:55 1996 Jeffrey A Law (law@cygnus.com) * cpu-mn10x00.c, elf32-mn10x00.c: New files. * Makefile.in (ALL_MACHINES): Add cpu-mn10x00.o. (BFD32_BACKENDS): Similarly for elf32-mn10x00.o. (elf32-mn10x00.o): Add dependencies. * archures.c (enum bfd_architecture): Add bfd_arch_mn10x00. (bfd_mn10x00_arch): Declare. (bfd_archures_list): Add bfd_mn10x00_arch. * config.bfd: Add mn10x00-*-*. * configure.in: Add bfd_elf32_mn10x00_vec. * elf.c (prep_headers): Handle bfd_arch_mn10x00. * targets.c (bfd_elf32_mn10x00_vec): Declare. (bfd_target_vector): Add bfd_elf32_mn10x00_vec. * bfd-in2.h, configure: Rebuilt. Wed Oct 2 15:46:45 1996 Klaus Kaempf openVMS/Alpha: Provide filename and case_hack flags via symbol table from gas. Add case_hack code for symbol output from vax/vms. * evax-alpha.c (evax_initialize): Remove filename handling, filename is provided via symbol table. (evax_get_symtab): Use local symbol count when setting up table. * evax-egsd.c (_bfd_evax_slurp_egsd): Print correct name when debugging. (_bfd_evax_write_egsd): Skip file name symbol. * evax-emh.c (get_vms_time_string): Local function now. (_bfd_evax_write_emh): Extract source filename and case_hack flags from symbol table. * evax_write_etir (_bfd_evax_write_etir): Pass all symbol names through _bfd_evax_case_hack_symbol. * evax-misc.c (hash_string, _bfd_evax_case_hack_symbol): New functions. (_bfd_evax_basename): Removed. (_bfd_get_vms_time_string): Moved to evax-emh.c. * evax.h (evax_private_data_struct): Remove filename. (flag_hash_long_names, flag_show_after_trunc, flag_no_hash_mixed_case, vms_name_mapping): New flags for vms_case_hack. Wed Oct 2 12:02:02 1996 Ian Lance Taylor * freebsd.h (N_GET_MAGIC_NET): Don't use ntohl. (N_GETMID_NET, N_GETFLAG_NET): Likewise. (NO_SWAP_MAGIC): Don't define. (SWAP_MAGIC): Define. * cofflink.c (_bfd_coff_link_input_bfd): Don't crash if there is no hash table entry for a global symbol. Tue Oct 1 16:14:22 1996 Joel Sherrill * config.bfd (mips*-*-rtems*): New target, like mips*-*-elf*. Tue Oct 1 12:31:39 1996 Ian Lance Taylor * cofflink.c (coff_link_add_symbols): Don't override a meaningful symbol type with T_NULL. Warn if symbol type changes. Based on patch from Philippe De Muyter . * elflink.h (elf_link_add_object_symbols): Only put a symbol from a dynamic object in the dynamic symbol table if it is referenced or defined by a regular object. start-sanitize-v850 Fri Sep 27 18:41:07 1996 Stu Grossman (grossman@critters.cygnus.com) * elf32-v850.c (bfd_elf32_v850_is_local_label): New function to remove dwarf local labels. Shrinks binaries by a factor of 3! end-sanitize-v850 Mon Sep 23 13:33:00 1996 Ian Lance Taylor * elf32-ppc.c (ppc_elf_add_symbol_hook): Create the .sbss section by hand, rather than by calling bfd_make_section. start-sanitize-m32r Mon Sep 23 09:23:41 1996 Doug Evans * reloc.c: Rename m32r relocs. * bfd-in2.h, libbfd.h: Rebuilt. * elf32-m32r.c: Update. end-sanitize-m32r Fri Sep 20 11:43:43 1996 Ian Lance Taylor * aoutx.h (aout_link_input_section_ext): When doing a relocateable link, adjust the symbol index of a base relative reloc. Don't change the addend of a PC relative reloc if pcrel_offset is set. * sunos.c (bfd_sunos_size_dynamic_sections): Don't do anything for a relocateable link. * reloc.c (bfd_perform_relocation): Apply the relocation even if it is zero, in case src_mask matters. (bfd_install_relocation): Likewise. Thu Sep 19 11:03:06 1996 Ian Lance Taylor * xcofflink.c (xcoff_link_add_symbols): Always initialize keep_syms. (_bfd_xcoff_bfd_final_link): Don't set target_index to an uninitialized value. Tue Sep 17 14:18:31 1996 Ian Lance Taylor * coffcode.h (coff_slurp_line_table): Warn about illegal symbol indices, rather than crashing. (coff_slurp_reloc_table): Likewise. Check whether the howto field is NULL. * coff-sh.c (sh_relocate_section): Check for an illegal symbol index. Mon Sep 16 12:39:36 1996 Ian Lance Taylor * coff-arm.c (aoutarm_std_reloc_howto): Change dst_mask for ARM26D reloc to 0. (coff_arm_adjust_symndx): New static function. (coff_adjust_symndx): Define. * srec.c (srec_scan): Accept multiple symbols on a single line. From Pascal Martin . * README: New file. Fri Sep 13 14:32:42 1996 Doug Evans * aoutf1.h (MY_bfd_merge_private_bfd_data): Define. (sunos_merge_private_bfd_data): New function. Fri Sep 13 15:50:57 1996 Ian Lance Taylor * bfd.c (bfd_copy_private_bfd_data): Switch on output BFD rather than input BFD. (bfd_merge_private_bfd_data): Likewise. * section.c (bfd_copy_private_section_data): Likewise. * syms.c (bfd_copy_private_symbol_data): Likewise. * bfd-in2.h: Rebuild. * aout-target.h (MY_bfd_copy_private_section_data): Check that both BFD's are the right flavour. * ecoff.c (_bfd_ecoff_bfd_copy_private_bfd_data): Likewise. * elf.c (_bfd_elf_copy_private_symbol_data): Likewise. * elf32-mips.c (_bfd_mips_elf_copy_private_bfd_data): Likewise. (_bfd_mips_elf_merge_private_bfd_data): Likewise. * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Likewise. (ppc_elf_merge_private_bfd_data): Likewise. * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise. * peicode.h (pe_bfd_copy_private_section_data): Likewise. * elf32-hppa.c (elf_hppa_howto_table): Fill in some fields for R_PARISC_DIR32, so that _bfd_stab_section_find_nearest_line passes its sanity check. start-sanitize-m32r Thu Sep 12 11:45:57 1996 Doug Evans * reloc.c: Add m32r relocs. * bfd-in2.h, libbfd.h: Rebuilt. * cpu-m32r.c,elf32-m32r.c: New files. end-sanitize-m32r Thu Sep 12 11:10:05 1996 Ian Lance Taylor * ieee.c (ieee_vec): Set symbol_leading_char field to '_'. Wed Sep 11 11:57:56 1996 Ian Lance Taylor * tekhex.c (first_phase): Change type parameter from char to int. (out): Likewise. (pass_over): Change func to expect int, not char. * elf.c (assign_file_positions_for_segments): Test SEC_ALLOC rather than SEC_LOAD when aligning the file offset for the first section in a segment. Tue Sep 10 16:18:30 1996 Fred Fish * syms.c (coff_section_type): Make arg const. * irix-core.c (irix_core_core_file_p): Remove extraneous extra arg to make_bfd_asection(). * elf-bfd.h (bfd_section_from_phdr): Add prototype. * elfcode.h (bfd_section_from_phdr): Remove prototype. (_bfd_elf_stringtab_init): Remove prototype. * netbsd-core.c (swap_abort): Add prototype. * aix386-core.c (swap_abort): Ditto & make static * hpux-core.c (swap_abort): Ditto & make static. * irix-core.c (swap_abort): Ditto & make static. * ptrace-core.c (swap_abort): Ditto & make static. * trad-core.c (swap_abort): Ditto & make static. * coffswap.h (coff_swap_reloc_in): Ditto. (coff_swap_reloc_out): Ditto. (coff_swap_filehdr_in): Ditto. (coff_swap_filehdr_out): Ditto. (coff_swap_sym_in): Ditto. (coff_swap_sym_out): Ditto. (coff_swap_aux_in): Ditto. (coff_swap_aux_out): Ditto. (coff_swap_lineno_in): Ditto. (coff_swap_lineno_out): Ditto. (coff_swap_aouthdr_in): Ditto. (coff_swap_aouthdr_out): Ditto. (coff_swap_scnhdr_in): Ditto. (coff_swap_scnhdr_out): Ditto. * ihex.c (ihex_sizeof_headers): Ditto. * tekhex.c (getsym): Ditto. (find_chunk): Ditto & make static. (insert_byte): Ditto. (first_phase): Ditto. (pass_over): Ditto. (tekhex_get_symtab): Ditto & make static. (tekhex_get_symtab_upper_bound): Ditto & make static. (tekhex_mkobject): Ditto. (tekhex_object_p): Ditto. (move_section_contents): Ditto. (tekhex_get_section_contents): Ditto. (tekhex_set_arch_mach): Ditto & make static. (tekhex_set_section_contents): Ditto. (writevalue): Ditto. (writesym): Ditto. (out): Ditto. (tekhex_write_object_contents): Ditto. (tekhex_sizeof_headers): Ditto. (tekhex_make_empty_symbol): Ditto. (tekhex_get_symbol_info): Ditto. (tekhex_print_symbol): Ditto. * irix-core.c (make_bfd_asection): Ditto. (irix_core_core_file_p): Ditto. (irix_core_core_file_failing_command): Ditto. (irix_core_core_file_failing_signal): Ditto. (irix_core_core_file_matches_executable_p): Ditto. (irix_core_make_empty_symbol): Ditto. * coff-mips.c (mips_bfd_reloc_type_lookup): Ditto. * srec.c (srec_new_symbol): Ditto. (srec_get_section_contents): Ditto. (srec_set_arch_mach): Ditto. (srec_set_section_contents): Ditto. (internal_srec_write_object_contents): Ditto. (srec_write_object_contents): Ditto. (symbolsrec_write_object_contents): Ditto. (srec_sizeof_headers): Ditto. (srec_make_empty_symbol): Ditto. (srec_get_symtab_upper_bound): Ditto. (srec_get_symtab): Ditto. (srec_print_symbol): Ditto and make static. * elf.c (elf_read): Ditto (assign_section_numbers): Ditto. (elf_fake_sections): Ditto. (sym_is_global): Ditto. (elf_map_symbols): Ditto. (get_program_header_size): Ditto. * coffgen.c (make_a_section_from_file): Ditto. (coff_real_object_p): Ditto. (fixup_symbol_value): Ditto. (build_debug_section): Ditto. (copy_name): Ditto. * syms.c (coff_section_type): Ditto. start-sanitize-m32r Mon Sep 9 22:36:01 1996 Jeffrey A Law (law@cygnus.com) * bfd-in2.h: Rebuilt after m32r changes. end-sanitize-m32r Mon Sep 9 12:31:22 1996 Doug Evans start-sanitize-m32r * config.bfd,configure.in,configure: Add m32r support. * Makefile.in,archures.c,elf.c,targets.c: Likewise. end-sanitize-m32r * config.bfd: Keep target list alphabetically sorted. start-sanitize-v850 Mon Sep 9 11:48:41 1996 Jeffrey A Law (law@cygnus.com) * elf32-v850.c (bfd_elf32_v850_reloc, case R_V850_HI16): Don't forget to add in the constant part found in the instruction itself. (case R_V850_HI16_S): Likewise. end-sanitize-v850 start-sanitize-d10v Fri Sep 6 17:04:39 1996 Martin M. Hunt * elf32-d10v.c (elf_d10v_howto_table): Modify the size of R_D10V_16 and R_D10V_18 to be 1 (word). end-sanitize-d10v Thu Sep 5 15:23:08 1996 Ian Lance Taylor * stabs.c (_bfd_link_section_stabs): If the output_section field of either section is bfd_abs_section, then the linker is discarding the section and we should not optimize it. Tue Sep 3 12:16:20 1996 Doug Evans * Makefile.in (aout-sparcle.o): New target. * aoutf1.h (TARGET_IS_BIG_ENDIAN_P): Don't define if little endian. * config.bfd (sparclet-*-aout*): Add case. * configure.in (sparcle_aout_vec): Add case. * configure: Regenerated. * targets.c (sparcle_aout_vec): Declare. (bfd_target_vector): Add sparcle_aout_vec. * aout-sparcle.c: New file. start-sanitize-v850 Tue Sep 3 00:57:02 1996 Jeffrey A Law (law@cygnus.com) * elf32-v850.c (bfd_elf32_v850_reloc): Fix handling of low order sign bit propogation for R_V850_HI16_S. * elf32-v850.c (bfd_elf32_v850_reloc): New function for handling V850 specific relocs. (elf_v850_howto_table): Use the new function for some relocations. Twiddle masks & shifts for some relocs. Set partial_inplace where needed. end-sanitize-v850 Mon Sep 2 12:12:34 1996 Ian Lance Taylor * cpu-mips.c: Add an explicit mips:3000 entry, and change the default architecture to a machine number of 0. * elf32-mips.c (_bfd_mips_elf_object_p): Set the machine number for E_MIPS_ARCH_1. (_bfd_mips_elf_merge_private_bfd_data): If the machine number of the output BFD is the default, set it from the first input BFD. start-sanitize-v850 Sun Sep 1 18:38:01 1996 Jeffrey A Law (law@cygnus.com) * elf32-v850.c (elf_v850_howto_table): All the 16bit relocs insert at bitpos zero. The HI16 relocs are shifted right by 16 bits. Fix src_mask for all relocs. (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define. The V850 is little endian! (TARGET_BIG_SYM, TARGET_BIG_NAME): Remove. The V850 is little endian! end-sanitize-v850 Sun Sep 1 15:41:08 1996 Ian Lance Taylor * rs6000-core.c (rs6000coff_core_file_matches_executable_p): Rewrite to use BFD file read routines and to avoid using a fixed length for the file name. start-sanitize-v850 Sat Aug 31 10:22:25 1996 Jeffrey A Law (law@cygnus.com) * elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}. (elf_v850_howto_table): Add support for R_V850_{32,16,8}. (v850_reloc_map): Add translation from BFD_RELOC_{32,16,8} to R_V850_{32,16,8}. Fri Aug 30 18:06:04 1996 J.T. Conklin * elf32-v850.c (reloc_type): Add R_V850_HI16_S. (elf_v850_howto_table): Add info for HI16_S reloc. (v850_reloc_map): Add HI_16_S reloc. * reloc.c: Define BFD_RELOC_V850_* relocs. end-sanitize-v850 Fri Aug 30 11:49:19 1996 Ian Lance Taylor Add SH ELF support. * elf32-sh.c: New file. * elf.c (prep_headers): Handle bfd_arch_sh. * elfcode.h (write_relocs): Handle absolute symbol. * elf-bfd.h (_bfd_elf32_link_read_relocs): Declare. (_bfd_elf64_link_read_relocs): Declare. * elflink.h (NAME(_bfd_elf,link_read_relocs)): Rename from elf_link_read_relocs. Make globally visible. Change all callers. (elf_link_input_bfd): Get external symbols from cache in symtab_hdr->contents. Get contents from cache in elf_section_data. * elfxx-target.h (bfD_elfNN_bfd_relax_section): Only define if not already defined. * reloc.c: Define BFD_RELOC_SH_* relocs. * libbfd-in.h (_bfd_sh_align_load_span): Declare. * coff-sh.c (sh_insns_conflict): Fix a return value. (_bfd_sh_align_load_span): New globally visible function, broken out of sh_align_load. (sh_align_load): Call _bfd_sh_align_load_span. (sh_swap_insns): Change relocs parameter to PTR. * bfd-in2.h, libbfd.h: Rebuild. * targets.c (bfd_elf32_sh_vec): Declare. (bfd_elf32_shl_vec): Declare. * config.bfd (sh-*-elf*): New target. * configure.in (bfd_elf32_sh_vec): New target vector. (bfd_elf32_shl_vec): New target vector. * configure: Rebuild. * Makefile.in: Rebuild dependencies. (BFD32_BACKENDS): Add elf32-sh.o. (BFD32_BACKENDS_CFILES): Add elf32-sh.c. * elf.c (map_sections_to_segments): Check that LMA does not skip a page before checking D_PAGED. * ihex.c (ihex_scan): Removed unnecessary extbase variable. (ihex_write_object_contents): Remove extbase; always use segbase instead. Thu Aug 29 16:52:17 1996 Michael Meissner * configure.in (i[345]86-*-*): Recognize i686 for pentium pro. * configure.host (i[345]86-*-*): Ditto. * config.bfd (i[345]86-*-*): Ditto. * configure: Regenerate. * config.bfd (i[3456]86-*-dgux*): Recognize as a synonym for x86 elf. Tue Aug 27 09:18:18 1996 Jeffrey A Law (law@cygnus.com) * elf32-hppa.c (hppa_elf_gen_reloc_type): Add new argument. * elf32-hppa.h (hppa_elf_gen_reloc_type): Update prototype. * som.c (hppa_som_gen_reloc_type): Add new argument. If we encounter an R_DATA_ONE_SYMBOL reloc against a symbol that will have an ST_CODE type, change the symbol's type to ST_DATA. * som.c (hppa_som_gen_reloc_type): Update prototype. Tue Aug 27 00:12:22 1996 Ian Lance Taylor * elf32-mips.c (mips_elf_check_relocs): Set dynobj if needed for R_MIPS_32 and R_MIPS_REL32. Set sgot and g as soon as possible. (mips_elf_size_dynamic_sections): Don't require .got to exist. (mips_elf_finish_dynamic_sections): Likewise. Thu Aug 22 10:54:38 1996 Ian Lance Taylor * configure.host (HLDENV): New variable to set. Set it for *-*-sysv4*, since those linkers may not support -R but they always support LD_RUN_PATH. * libieee.h (NSECTIONS): Don't define. (ieee_data_struct): Change section_table to asection **. Add section_table_size. * ieee.c (get_section_entry): If the table isn't big enough, make it bigger. (ieee_slurp_sections): Remove assertion about number of sections. (ieee_object_p): Adjust initialization of ieee to match changes to the structure. * xcofflink.c (xcoff_mark): Don't copy relocs for undefined symbols merely because we are generating a shared library. (xcoff_build_ldsyms): Don't set up global linkage code for an undefined symbol merely because we are generating a shared library. start-sanitize-v850 Tue Aug 20 15:06:05 1996 J.T. Conklin * Makefile.in (ALL_MACHINES): Add cpu-v850.o. (BFD32_BACKENDS) Add elf32-v850.o. * archures.c: Add bfd_v850_arch. * bfd-in2.h: Add bfd_v850_arch. * config.bfd (v850-*-*): New target. * configure: (bfd_elf32_v850_vec) New vector. * configure.in: (bfd_elf32_v850_vec) New vector. * cpu-v850.c: New file. * elf.c (prep_headers): Added case bfd_arch_v850. * elf32-v850.c: New file. * targets.c (bfd_elf32_v850_vec): New vector. end-sanitize-v850 Fri Aug 16 16:25:35 1996 Ian Lance Taylor * xcofflink.c (xcoff_link_add_dynamic_symbols): Create and define a function code symbol for an XMC_XO symbol. Thu Aug 15 12:33:29 1996 Stan Shebs * mpw-config.in: Update editing of autoconf vars to reflect Jul 18 configure.in change. * mpw-make.sed: Update editing of include pathnames to be more general, add @DASH_C_FLAG@ to explicit compile rule edit. Thu Aug 15 10:35:13 1996 Richard Henderson * elf64-alpha.c (elf64_alpha_output_extsym): The section from which to offset to get the .plt entry address is ".plt". Thu Aug 15 16:40:30 1996 James G. Smith * reloc.c: (BFD_RELOC_ARM_THUMB_ADD, BFD_RELOC_ARM_THUMB_IMM, BFD_RELOC_ARM_THUMB_SHIFT, BFD_RELOC_ARM_THUMB_OFFSET): Added, for internal use by the ARM gas. * libbfd.h: Rebuilt * bfd-in2.h: Rebuilt Wed Aug 14 17:02:09 1996 Richard Henderson * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Correct typo in section dynidx start. Tue Aug 13 14:35:38 1996 Ian Lance Taylor * elf.c (_bfd_elf_make_section_from_shdr): Treat sections whose name begins with .gnu.linkonce as SEC_LINK_ONCE. This is an optimization for g++. Tue Aug 13 17:04:40 1996 Michael Meissner * elf32-ppc.c (ppc_elf_merge_private_bfd_data): If one module has the -mrelocatable-lib bit set and the other doesn't, clear the -mrelocatable-lib bit in the header. Sat Aug 10 22:59:17 1996 Ian Lance Taylor * elflink.h (elf_link_add_object_symbols): Do not resolve a common symbol against a STT_FUNC symbol in a shared library. Fri Aug 9 12:44:57 1996 Ian Lance Taylor * xcofflink.c (xcoff_link_add_dynamic_symbols): If a descriptor symbol is found, automatically define the corresponding function code. * cofflink.c (coff_link_add_symbols): Only set (*sym_hash)->numaux if sym.n_numaux is not zero. (_bfd_coff_link_input_bfd): Permit the symbol and the hash table entry to disagree about the number of aux entries if the symbol has zero. * elf32-mips.c (mips_elf_check_relocs): Create the .rel.dyn section if it might be needed, not just if info->shared. (mips_elf_adjust_dynamic_symbol): Make room for a null element at the start of .rel.dyn if we are going to use it. (mips_elf_finish_dynamic_sections): Only clear the first element of .rel.dyn if the size is greater than zero. Thu Aug 8 16:24:55 1996 Ian Lance Taylor * xcofflink.c (xcoff_link_input_bfd): If we already called the undefined_symbol callback for a symbol, then don't issue any more warnings about loader relocs. (_bfd_ppc_xcoff_relocate_section): Don't do any further processing after calling the undefined_symbol callback. * xcofflink.c (XCOFF_MULTIPLY_DEFINED): Define. (xcoff_link_add_symbols): Permit multiple definitions of a symbol as the AIX linker seems to do. Thu Aug 8 12:21:56 1996 Klaus Kaempf * evax-alpha.c (evax_alpha_vec): Corrected flags, cleanup. (evax_initialize): Remove evax_reloc_table. (evax_close_and_cleanup): Ditto. (reloc_nil): Ditto. (alpha_howto_table): Remove ALPHA_R_SWREL32 and ALPHA_R_SWREL64 entries. (evax_bfd_reloc_type_lookup): Ditto. * evax-egsd.c (_bfd_evax_slurp_egsd): Add a few casts; set cooked_size == raw_size. * evax-emh.c (_bfd_evax_register_filename): Remove. * evax-etir.c (etir_stc): Allow ETIR_S_C_STC_xx commands. * evax-misc.c (add_new_contents): Malloc section at full size. (_bfd_save_evax_section): Memcpy section contents directly. * evax.h (ALPHA_R_SWREL32, ALPHA_R_SWREL64): Remove. (evax_reloc_table): Remove. * hosts/alphavms.h (O_ACCMODE): Define if needed. * makefile.vms: Add better support for DEC C compilation Add evax.h dependencies * reloc.c (bfd_get_reloc_size): Add case for 16 byte reloc. (BFD_RELOC_SWREL32,BFD_RELOC_SWREL64): Remove. (BFD_RELOC_ALPHA_BASEREG): Remove. * bfd-in2.h, libbfd.h: Rebuild. Thu Aug 8 08:17:32 1996 Stu Grossman (grossman@critters.cygnus.com) * archive.c (bsd_write_armap): Ifdef around calls to getuid and getgid if _WIN32 is defined. * opncls.c (bfd_fdopenr): Remove unnecessary WINGDB ifdef. Wed Aug 7 23:19:00 1996 Stu Grossman (grossman@critters.cygnus.com) * aoutx.h bfd-in.h bfd-in2.h opncls.c riscix.c som.c targets.c: Change NO_FLAGS to BFD_NO_FLAGS to avoid conflict with an HPUX include file. * libbfd.c: Create dummy getpagesize() macro if HAVE_GETPAGESIZE isn't defined. Wed Aug 7 14:11:44 1996 Philippe De Muyter * configure.in: Call BFD_NEEDED_DECLARATION on strstr and realloc. * acconfig.h (NEED_DECLARATION_STRSTR): New macro. (NEED_DECLARATION_REALLOC): New macro. * configure, config.in: Rebuild. * sysdep.h (strstr): Declare if NEED_DECLARATION_STRSTR. (realloc): Declare if NEED_DECLARATION_REALLOC. * aclocal.m4 (BFD_NEED_DECLARATION): Include or if they exist. * ieee.c (ieee_set_section_contents): Cast bfd_alloc return. Wed Aug 7 12:12:03 1996 Ian Lance Taylor * cpu-i386.c (i8086_arch): Architecture info for the i8086. Based on patches from Eric Valette : * elf32-i386.c (enum reloc_type): Add FIRST_INVALID_RELOC, LAST_INVALID_RELOC, R_386_16, R_386_PC16, R_386_8, R_386_PC8. (elf_howto_table): Add entries for new relocs. (elf_i386_reloc_type_lookup): Handle new relocs. (elf_i386_info_to_howto): Just call abort. (elf_i386_info_to_howto_rel): Check that the reloc type is valid. (elf_i386_relocate_section): Likewise. start-sanitize-d10v Tue Aug 6 12:54:56 1996 Martin M. Hunt * elf32-d10v.c (elf_d10v_howto_table): Added R_D10V_32. end-sanitize-d10v Mon Aug 5 13:42:41 1996 Ian Lance Taylor * elf.c (_bfd_elf_make_section_from_shdr): For a loadable section, only get the LMA from the phdr if they are in the same part of the file. * elf.c (map_sections_to_segments): Rewrite tests for starting a new segment to make them more comprehensible. If the relationship between the LMA and the VMA changed, start a new segment. Don't check dynsec when deciding whether to start a new segment for a writeable section; -N will now handle this. Thu Aug 1 22:43:08 1996 Jeffrey A Law (law@cygnus.com) * libhppa.h: Remove "esel" changes. Not the right approach. * som.c: Corresponding changes. (som_bfd_derive_misc_symbol_info): Use ST_DATA for symbols which don't have a SOM symbol type associated with them. Reverses a 1994 change. Wed Jul 31 15:50:55 1996 Ian Lance Taylor Make ld -N more reasonable for ELF: * elf.c (map_sections_to_segments): If D_PAGED is not set, set phdr_in_section to false, and always use a single load segment. (elf_sort_sections): Sort sections by LMA after VMA. (assign_file_positions_for_segments): If D_PAGED is not set, don't align to maxpagesize. (assign_file_positions_except_relocs): Likewise. * elfcode.h (elf_object_p): If a section is loaded but not page aligned, clear D_PAGED. Wed Jul 31 15:00:12 1996 James G. Smith * reloc.c: (BFD_RELOC_ARM_OFFSETIMM8, BFD_RELOC_ARM_HWLITERAL): Added, for internal use by the ARM gas. * libbfd.h: Rebuilt * bfd-in2.h: Rebuilt Tue Jul 30 14:14:57 1996 Jeffrey A Law (law@cygnus.com) * libhppa.h (R_HPPA_ESEL): New field selector. (e_esel): Similarly. * som.c (hppa_som_gen_reloc_type): If we encounter an e_esel, then generate R_COMP2 (PUSH_SYM), R_DATA_EXPR fixup stream. (som_write_fixups): Handle R_DATA_EXPR just like R_CODE_EXPR. Tue Jul 30 13:31:27 1996 Ian Lance Taylor * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Do the regular archive search before looking for stripped dynamic objects. Fri Jul 26 17:51:39 1996 Ian Lance Taylor * xcofflink.c (xcoff_build_ldsyms): Make exporting an undefined symbol a warning rather than an error. Wed Jul 24 12:02:53 1996 Ian Lance Taylor * elf.c (assign_file_positions_for_segments): Track the virtual memory position separately from the file position, and use it to compute the alignment adjustment. start-sanitize-d10v Tue Jul 23 10:43:31 1996 Martin M. Hunt * elf32-d10v.c (elf_d10v_howto_table): Changed all relocs to "long" and fixed mask on R_D10V_10_PCREL_L. end-sanitize-d10v Mon Jul 22 15:30:30 1996 Ian Lance Taylor * elf64-mips.c: Include "aout/ar.h". (mips_elf64_slurp_armap): New static function. (mips_elf64_write_armap): New static function. (bfd_elf64_archive_*): Define. * elfxx-target.h (bfd_elfNN_archive_p): Define if not defined. Use instead of bfd_generic_archive_p. (bfd_elfNN_write_archive_contents): Define if not defined. Use instead of _bfd_write_archive_contents. (bfd_elfNN_mkdarchive): Define if not defined. Use instead of _bfd_generic_mkarchive. (TARGET_BIG_SYM): If bfd_elfNN_archive_functions is defined, use bfd_elfNN_archive in BFD_JUMP_TABLE_ARCHIVE rather than _bfd_archive_coff. (TARGET_LITTLE_SYM): Likewise. * archive.c (bfd_slurp_armap): Check for and reject an archive map name of /SYM64/. * Makefile.in: Rebuild dependencies. * elf32-mips.c (_bfd_mips_elf_final_write_processing): Handle SHT_MIPS_LIBLIST, SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and SHT_MIPS_EVENTS sections. (_bfd_mips_elf_section_from_shdr): Handle SHT_MIPS_IFACE, SHT_MIPS_CONTENT, SHT_MIPS_SYMBOL_LIB, and SHT_MIPS_EVENTS sections. (_bfd_mips_elf_fake_sections): Likewise. * libecoff.h (ecoff_data_type): Add rdata_in_text field. * ecoff.c (ecoff_compute_section_file_positions): Copy rdata_in_text from backend info to tdata. Clear it if any data section comes before .rdata. (_bfd_ecoff_write_object_contents): Use rdata_in_text field in tdata rather than backend info. Fri Jul 19 18:15:51 1996 Ian Lance Taylor * configure.in: Fix test for whether a compiler has a 64 bit type. From Jim Wilson . Thu Jul 18 15:39:10 1996 Ian Lance Taylor * configure.host (mips-sgi-irix6*): New host. * configure.in: Set and substitute VERSION, BFD_HOST_64BIT_LONG (replacing HOST_64BITLONG), BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, and BFD_HOST_U_64_BIT. Add bfd-in2.h:bfd-in2.h to AC_OUTPUT call. * configure: Rebuild. * bfd-in.h (BFD_ARCH_SIZE): Define as @wordsize@, not @WORDSIZE@. (BFD_HOST_64_BIT): Define conditionally. (BFD_HOST_U_64_BIT): Define when BFD_HOST_64_BIT is defined. (bfd_vma): Typedef as BFD_HOST_U_64_BIT. (symvalue, bfd_size_type): Likewise. * bfd-in2.h: Rebuild. * Makefile.in (do_clean): Remove bfd-tmp.h. (do_distclean): Remove bfd-in3.h. (stmp-bfd.h): Just do copy-if-change bfd-in3.h bfd.h. (bfd-in3.h): New target. * config.bfd (sparc-*-sysv4*): Don't build sunos_big_vec. From Andrew Gierth . * configure.host: Set INSTALL_SHLIB. * configure.in: Call AC_SUBST (INSTALL_SHLIB). * configure: Rebuild. * Makefile.in (install): Use @INSTALL_SHLIB@. * config.bfd (mips*-*-irix6*): New target. * configure.host: Handle Irix 6 shared library like Irix 5. * xcofflink.c (xcoff_link_add_symbols): Don't check an XMC_TD symbol for a magic name. (xcoff_link_input_bfd): Don't change the reloc symbol for an XMC_TD symbol. (_bfd_ppc_xcoff_relocate_section): Don't get the TOC offset for an XMC_TD symbol. Thu Jul 18 11:36:31 1996 Stan Shebs * mpw-config.in: Add ELF support to mips config, create the elf32-target.h file in the object dir. * mpw-make.sed: Edit elfXX-target.h refs at beginnings of lines. Wed Jul 17 18:02:32 1996 Kim Knuttila * coff-ppc.c: Redid debug scheme - numerous fprintf's gone. Also removed most abort calls, in favor of using bfd reporting. start-sanitize-d10v Wed Jul 17 14:51:52 1996 Martin M. Hunt * Makefile.in (ALL_MACHINES): Add cpu-d10v.o. (BFD32_BACKENDS) Add elf32-d10v.o. * archures.c: Add bfd_d10v_arch. * bfd-in2.h: Add bfd_d10v_arch. * config.bfd (d10v-*-*): New target. * configure: (bfd_elf32_d10v_vec) New vector. * configure.in: (bfd_elf32_d10v_vec) New vector. * cpu-d10v.c: New file. * elf.c (prep_headers): Added case bfd_arch_d10v. * elf32-d10v.c: New file. * libbfd.h: Rebuild. * reloc.c (BFD_RELOC_D10V_10_PCREL_R, BFD_RELOC_D10V_10_PCREL_L, BFD_RELOC_D10V_18, BFD_RELOC_D10V_18_PCREL): Define. * targets.c (bfd_elf32_d10v_vec): New vector. end-sanitize-d10v Wed Jul 17 10:58:55 1996 Kim Knuttila * coff-ppc.c (coff_ppc_relocate_section): Removed bogus fprintf Tue Jul 16 23:49:02 1996 Stu Grossman (grossman@critters.cygnus.com) * archures.c bfd-in2.h: Add bfd_mach_i386_i386 and bfd_mach_i386_i8086 machine types. Wed Jul 10 12:42:56 1996 Ian Lance Taylor * ecoff.c (_bfd_ecoff_new_section_hook): Set SEC_CODE for _INIT and _FINI sections. Wed Jul 10 11:18:21 1996 Richard Henderson * coffcode.h (coff_set_section_contents): A/UX does not require special handling of the _LIB section. Tue Jul 9 15:52:20 1996 Jeffrey A Law (law@cygnus.com) * coff-h8300.c (h8300_reloc16_extra_cases): Use the correct value for R_RELBYTE. * reloc16.c (bfd_coff_reloc16_relax_section): Only "shrinks" array if one was allocated. Tue Jul 9 12:21:54 1996 Ian Lance Taylor From Kazumoto Kojima : * elf32-mips.c (struct mips_elf_link_hash_table): Add new fields use_rld_obj_head and rld_value. (mips_elf_link_hash_table_create): Initialize new fields. (mips_elf_add_symbol_hook): Mark __rld_obj_head symbol as dynamic. (mips_elf_create_dynamic_sections): Create .rld_map section. If __rld_obj_head symbol not seen, create an __rld_map symbol. (mips_elf_size_dynamic_sections): Make space in .rld_map section. Create a DT_MIPS_RLD_MAP entry rather than a DT_DEBUG entry. (mips_elf_finish_dynamic_symbol): Save value of __rld_map or __rld_obj_head symbol. (mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP. Mon Jul 8 16:18:03 1996 Ian Lance Taylor * elf32-mips.c (mips_reloc_map): Remove BFD_RELOC_32_PCREL entry. * elf32-ppc.c (ppc_elf_howto_raw): For R_PPC_ADDR16_HA, use ppc_elf_addr16_ha_reloc. (ppc_elf_addr16_ha_reloc): New static function. * coff-mips.c (struct mips_hi): Define. (mips_refhi_list): New static variable. (mips_refhi_addr, mips_refhi_addend): Remove. (mips_refhi_reloc): Maintain a list of unmatched REFHI relocs. (mips_reflo_reloc): Process mips_refhi_list. (mips_relhi_list): New static variable. (mips_relhi_addr, mips_relhi_addend): Remove. (mips_relhi_reloc): Maintain a list of unmatched RELHI relocs. (mips_rello_reloc): Process mips_relhi_list. (mips_relocate_section): Permit an arbitrary number of REFHI or RELHI relocs before the associated REFLO or RELLO reloc. Fri Jul 5 19:27:49 1996 Ian Lance Taylor * aout-target.h (MY(callback)): Set reloc_count fields. Thu Jul 4 12:00:37 1996 Ian Lance Taylor * sunos.c (sunos_add_dynamic_symbols): Don't create dynamic sections unless this is a SunOS link. * VERSION: Set to 2.7.1. * Released binutils 2.7. Wed Jul 3 14:59:47 1996 Ian Lance Taylor * i386aout.c: Include "aout/aout64.h". (i386aout_write_object_contents): New static function. (MY_write_object_contents): Define. * netbsd.h (MY(write_object_contents)): Make sure that adjust_sizes_and_vmas is called before fiddling with the magic number. Tue Jul 2 23:30:39 1996 Ian Lance Taylor * stabs.c (_bfd_link_section_stabs): Fix casts of psinfo. Sun Jun 30 13:34:33 1996 Ian Lance Taylor * libbfd-in.h (itos, stoi): Don't define. * libbfd.h: Rebuild. * i386lynx.c (KEEPIT): Define as udata.i. (NAME(lynx,swap_std_reloc_out)): Don't use stoi. (NAME(lynx,swap_ext_reloc_out)): Likewise. * riscix.c (riscix_swap_std_reloc_out): Use udata.i rather than flags. Don't use stoi. * elf32-mips.c (ELF_MAGPAGESIZE): Change definition to 0x1000. * elf.c (map_sections_to_segments): Don't start a new segment for a writable section if it's on the same page as the previous segment. Reset the writable variable for a readonly section. Sat Jun 29 16:18:51 1996 Kim Knuttila * peicode.h (coff_swap_aouthdr_in): Missing initializations of first_thunk_address, thunk_size, and import_table_size. * peicode.h: Improved some diagnostics regarding edata sections. * coff-ppc.c (coff_ppc_relocate_section): Earlier error check on IMGLUE relocs. (coff_ppc_relocate_section): Improved diagnostic for large TOCDEFN's. (TARGET_LITTLE_SYM): Added missing D_PAGED. Fri Jun 28 13:48:45 1996 Ian Lance Taylor * xcofflink.c (xcoff_link_check_ar_symbols): An undefined symbol with XCOFF_DEF_DYNAMIC set is really defined. (xcoff_link_check_dynamic_ar_symbols): Likewise. (xcoff_link_add_symbols): Only create special sections if using an XCOFF hash table. * reloc.c (bfd_perform_relocation): Handle xcoff-powermac like aixcoff-rs6000. (bfd_install_relocation): Likewise. Fri Jun 28 11:17:00 1996 Richard Henderson * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add flags field. (ALPHA_ELF_LINK_HASH_LU_ADDR): Define. (ALPHA_ELF_LINK_HASH_LU_MEM): Define. (ALPHA_ELF_LINK_HASH_LU_FUNC): Define. (elf64_alpha_link_hash_newfunc): Initialize flags field. (elf64_alpha_check_relocs): Record types of LITUSE entries that are found for LITERAL relocs. (elf64_alpha_adjust_dynamic_symbol): If a symbol has its address taken, we cannot generate a .plt entry for the symbol. Thu Jun 27 11:24:29 1996 Ian Lance Taylor * configure.in: Add AC_ISC_POSIX, and check for setitimer and sysconf functions (for gprof). * configure, config.in: Rebuild. Wed Jun 26 16:29:02 1996 Ian Lance Taylor * ecoff.c (_bfd_ecoff_archive_p): Check the first object file in an archive if it has a map. If the object file has the wrong xvec, reject it. * coff-alpha.c (alpha_adjust_reloc_in): Set the addend for a BRADDR, SREL16, SREL32, or SREL64 reloc against an external symbol. (alpha_relocate_section): Likewise. * coffswap.h (coff_swap_reloc_out): Use RELSZ, not sizeof. (coff_swap_filehdr_out): Use FILHSZ, not sizeof. (coff_swap_sym_out): Use SYMESZ, not sizeof. (coff_swap_aux_out): Use AUXESZ, not sizeof. (coff_swap_lineno_out): Use LINESZ, not sizeof. (coff_swap_aouthdr_out): Use AOUTSZ, not sizeof. (coff_swap_scnhdr_out): Use SCNHSZ, not sizeof. * peicode.h: Corresponding changes. Tue Jun 25 15:28:34 1996 Michael Meissner * elflink.h (elf_create_pointer_linker_section): Comment out code dealing with making GOT pointers negative of the GOT symbol for now. Tue Jun 25 11:41:24 1996 Richard Henderson * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't increment the .rela.plt size until after we're done creating the .plt entry. (elf64_alpha_finish_dynamic_symbol): Change .plt entry to load the .rela.plt offset directly rather than calculating it. Mon Jun 24 17:15:10 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) * Makefile.in, (bindir, libdir, datadir, mandir, infodir, includedir): Use autoconf-set values. * doc/Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values. (docdir): Deleted. * configure.in (AC_PREREQ): autoconf v2.5 or higher. * configure: Rebuilt. Mon Jun 24 22:50:35 1996 Jeffrey A Law (law@cygnus.com) * som.c (som_write_fixups): Fix typo in R_END_TRY for exception handling code > 1k away. Mon Jun 24 18:41:06 1996 Michael Meissner * elflink.h (elf_create_pointer_linker_section): If DEBUG is defined, output whenever the symbol is updated. Mon Jun 24 17:58:12 1996 Jouke Numan * elf.c (elf_fake_sections): Don't set sh_addr of a non SEC_ALLOC section to 0 if user_set_vma is set. * elflink.h (elf_bfd_final_link): Likewise. Sun Jun 23 20:42:51 1996 Doug Evans Partially undo patch of Jun 20. * coffcode.h (coff_set_alignment_hook): Use COFF_IMAGE_WITH_PE. (coff_compute_section_file_positions): Likewise. (coff_write_object_contents): Likewise. Re-add deleted code, but use #ifdef COFF_WITH_PE, not COFF_OBJ_WITH_PE. * peicode.h (pe_bfd_copy_private_bfd_data): Re-add #ifdef. Fri Jun 21 17:38:15 1996 Joel Sherrill * config.bfd: Add support for *-*-rtems* configurations. Fri Jun 21 15:19:59 1996 Ian Lance Taylor * elf.c (prep_headers): Add bfd_arch_alpha case. Fri Jun 21 12:35:27 1996 Richard Henderson * elf64-alpha.c: New file. * config.bfd (alpha-*-linuxecoff*): New target. (alpha-*-linux*, alpha-*-elf*): New targets. * configure.in (bfd_elf64_alpha_vec): New vector. * configure: Rebuild. * targets.c (bfd_elf64_alpha_vec): Declare. (bfd_target_vector): Add bfd_elf64_alpha_vec if BFD64. * reloc.c (BFD_RELOC_ALPHA_GPDISP): Define. * bfd-in2.h, libbfd.h: Rebuild. * Makefile.in: Rebuild dependencies. (BFD64_BACKENDS): Add elf64-alpha.o. (BFD64_BACKENDS_CFILES): Add elf64-alpha.c. Thu Jun 20 18:14:25 1996 Ian Lance Taylor * ecoff.c (ecoff_armap_hash): If hlog is 0, just return 0, rather than relying on a right shift of 32. Thu Jun 20 11:00:57 1996 Doug Evans * coffcode.h (coff_set_alignment_hook): Change COFF_IMAGE_WITH_PE ifdef to COFF_WITH_PE. (coff_compute_section_file_positions): Likewise. (coff_write_object_contents): Likewise. Delete COFF_OBJ_WITH_PE. * pe-{arm,i386,ppc}.c (COFF_OBJ_WITH_PE): Delete. * peicode.h (pe_bfd_copy_private_bfd_data): Delete ifdef COFF_IMAGE_WITH_PE, always include. * peicode.h (coff_swap_scnhdr_out): ".drectve" doesn't have trailing 0. Wed Jun 19 11:37:52 1996 Ian Lance Taylor * elf.c (map_sections_to_segments): Fix up the test for -Ttext to approximate the correct answer if SIZEOF_HEADERS was not used. * binary.c (binary_set_section_contents): Set section file position based on LMA rather than VMA. Wed Jun 19 11:19:25 1996 Manfred Hollstein KS/EIC5 60/3/142 #40283 * linker.c (_bfd_generic_link_output_symbols): Don't output any symbols if info->strip == strip_all. Tue Jun 18 15:17:36 1996 Jeffrey A. Law * coff-h8300.c: Remove #if 0 code. (compatable): Don't allow mixing/matching of different architectures. * archures.c (bfd_mach_h8300s): Add. * bfd-in2.h: Rebuilt. * coff-h8300.c (funcvec_hash_newfunc): Handle H8/S too. (BADMAG): Likewise. (h8300_reloc16_estimate): Likewise. (h8300_reloc16_extra_cases): Likewise. (h8300_bfd_link_add_symbols): Likewise. * coffcode.h (coff_set_arch_mach_hook): Likewise. (coff_set_flags): Likewise. * cpu-h8300.c (h8300_scan): Likewise. Add H8/S to bfd_h8300_arch list. Tue Jun 18 14:42:58 1996 Klaus Kaempf Added support for Alpha OpenVMS: * evax.h, evax-alpha.c, evax-egsd.c, evax-emh.c: New files. * evax-etir.c, evax-misc.c, hosts/alphavms.h: New files. * config.h-vms, makefile.vms: New files. * config.bfd (alpha-*-*vms*): New target. * configure.in (evax_alpha_vec): New target vector. * configure: Rebuild. * reloc.c (BFD_RELOC_SWREL32, BFD_RELOC_SWREL64): Define. (BFD_RELOC_ALPHA_LINKAGE, BFD_RELOC_ALPHA_BASEREG): Define. * targets.c (bfd_target_evax_flavour): Define. (evax_alpha_vec): Declare. (bfd_target_vector): Add ecoffalpha_little_vec and evax_alpha_vec if BFD64 is defined. * bfd-in2.h, libbfd.h: Rebuild. * Makefile.in: Rebuild dependencies. (BFD64_BACKENDS): Add evax-alpha.o, evax-egsd.o, evax-etir.o, evax-emh.o, and evax-misc.o. (BFD64_BACKENDS_CFILES): Add evax-alpha.c, evax-egsd.c, evax-etir.c, evax-emh.c, and evax-misc.c. (HFILES): Add evax.h. Tue Jun 18 13:54:18 1996 Ian Lance Taylor * coff-h8300.c (h8300_reloc16_extra_cases): Make name a const pointer. (h8300_bfd_link_add_symbols): Likewise. Mon Jun 17 10:06:50 1996 Jeffrey A. Law * som.h (R_HPPA_BEGIN_TRY, R_HPPA_END_TRY): Define. * som.c (som_write_fixups): Handle R_BEGIN_TRY and R_END_TRY. Mon Jun 17 12:49:11 1996 Ian Lance Taylor * elf32-mips.c (mips_elf_relocate_section): Don't create a reloc for R_MIPS_REL32 and R_MIPS_32 relocs if no dynamic sections were created. (mips_elf_check_relocs): Only create .rel.dyn for R_MIPS_REL32 and R_MIPS_32 relocs if creating a shared library. Thu Jun 13 20:14:51 1996 Doug Evans * peicode.h (add_data_entry): Use pei_section_data rather than _cooked_size. Corresponds to May 13 change in coffcode.h. Thu Jun 13 10:23:40 1996 Ian Lance Taylor * cofflink.c (_bfd_coff_final_link): Handle long section names. * coffcode.h (coff_write_object_contents): If there are long section names, always set the f_symptr field, even if there are no symbols. * peicode.h (coff_swap_filehdr_in): Don't clear the f_symptr field if there are no symbols. * coffgen.c (make_a_section_from_file): Check return value of _bfd_coff_read_string_table. (coff_real_object_p): Check return value of make_a_section_from_file. (_bfd_coff_read_string_table): Check that there are some symbols before trying to read the string table size. Wed Jun 12 11:16:37 1996 Ian Lance Taylor * xcofflink.c (xcoff_link_add_symbols): When considering whether to replace a symbol in a dynamic object with a symbol from another dynamic object, do the replacement if the existing symbol is global linkage code. * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Check explicitly for _ptrgl, and treat it as global linkage code. * aoutx.h (NAME(aout,find_nearest_line)): Notice if we find a filename or N_SO symbol past the offset, and use it to indicate that there is no line number or function when appropriate. Tue Jun 11 15:24:48 1996 Ian Lance Taylor * xcofflink.c (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR for a common symbol defined by the linker. Don't export function code even if export_defineds is set. Mon Jun 10 11:57:27 1996 Jeffrey A Law (law@cygnus.com) * coff-h8300.c (howto_table): Add new entries for R_BCC_INV and R_JMP_DEL. (rtype2howto): Handle R_BCC_INV and R_JMP_DEL. (h8300_symbol_address_p): New function. (h8300_reloc16_estimate): Eliminate jumps made unnecessary by relaxing. Sun Jun 9 16:30:20 1996 Jeffrey A Law (law@cygnus.com) * coff-h8300.c (h8300_reloc16_estimate): Fix many minor spacing problems. (h8300_reloc16_estimate, cases R_JMP1, R_JMP2): Adjust "dot" correctly for the two variants. Allow relaxing if the target is 128 bytes away since after relaxation it'll be 126 bytes away. (h8300_reloc16_estimate, case R_PCRWORD): Correctly adjust "dot" and "value". Allow relaxing if the target is 128 bytes away since after relaxation it'll be 126 bytes away. * reloc16.c (bfd_coff_reloc16_relax_section): Keep relaxing the given section until nothing changes. Thu Jun 6 15:24:45 1996 Richard Henderson * ecoff.c (_bfd_ecoff_new_section_hook): Remove the _PDATA alignment hack--we can get the lnnoptr info another way without suddenly increasing the alignment requirements. Set the flags for the _PDATA section. (ecoff_compute_section_file_positions): Do so. Thu Jun 6 11:24:37 1996 Ian Lance Taylor * ieee.c (ieee_write_object_contents): Put a timestamp in the file to keep the HP emulator database happy. * config.bfd: Recognize powerpc-*-linux* and powerpcle-*-linux*. From Kevin Buettner . Wed Jun 5 15:16:04 1996 Ian Lance Taylor * aoutx.h (translate_to_native_sym_flags): Don't try to print the name of a NULL section. Tue Jun 4 18:53:58 1996 Ian Lance Taylor * linker.c (_bfd_generic_link_add_one_symbol): If notice_all is set, always call the notice callback. * VERSION: Increment for bfdlink.h change. Mon Jun 3 11:01:53 1996 Ian Lance Taylor * coff-sh.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set to 4. (sh_relax_delete_bytes): Correct handling of differently sized trailing alignment reloc. * bfd-in.h: Use #error if BFD_HOST_64_BIT can not be defined. * bfd-in2.h: Rebuild. * configure.in: Warn if there is no known 64 bit type. * configure: Rebuild. * Makefile.in: Rebuild dependencies. (BFD32_BACKENDS): Add ppcboot.o. (BFD32_BACKENDS_CFILES): Add ppcboot.c. * elf32-mips.c (mips_elf_size_dynamic_sections): Initialize c. From Per Fogelstrom . Sat Jun 1 21:49:58 1996 Ian Lance Taylor * elf64-mips.c (bfd_mips_elf64_swap_reginfo_in) (bfd_mips_elf64_swap_reginfo_out): Move from here... * elf32-mips.c (bfd_mips_elf64_swap_reginfo_in) (bfd_mips_elf64_swap_reginfo_out): ...to here. Fri May 31 13:51:28 1996 Ian Lance Taylor * elf64-mips.c: Improve reloc special_functions and handling of SHT_MIPS_OPTIONS section. * elf32-mips.c (_bfd_mips_elf_hi16_reloc): Rename from mips_elf_hi16_reloc and make globally visible. (_bfd_mips_elf_lo16_reloc): Rename from mips_elf_lo16_reloc and make globally visible. (_bfd_mips_elf_got16_reloc): Rename from mips_elf_got16_reloc and make globally visible. (_bfd_mips_elf_gprel16_reloc): Rename from mips_elf_gprel16_reloc and make globally visible. (gprel16_with_gp): Check howto->src_mask before using value in insn. (_bfd_mips_elf_gprel32_reloc): Rename from mips_elf_gprel32_reloc and make globally visible. (gprel32_with_gp): Check howto->src_mask before fetching value. (bfd_mips_elf_swap_options_in): New function. (bfd_mips_elf_swap_options_out): New function. (_bfd_mips_elf_set_private_flags): Rename from mips_elf_set_private_flags and make globally visible. (_bfd_mips_elf_copy_private_bfd_data): Rename from mips_elf_copy_private_bfd_data and make globally visible. (_bfd_mips_elf_merge_private_bfd_data): Rename from mips_elf_merge_private_bfd_data and make globally visible. (_bfd_mips_elf_section_from_shdr): Accept .MIPS.options as a name for a SHT_MIPS_OPTIONS section. (mips_elf32_section_from_shdr): Handle SHT_MIPS_OPTIONS section. (_bfd_mips_elf_fake_sections): Consider .MIPS.options to be the name of a SHT_MIPS_OPTIONS section. (_bfd_mips_elf_set_section_contents): New function. (mips_elf32_section_processing): Set the GP value in a SHT_MIPS_OPTIONS section. (_bfd_mips_elf_find_nearest_line): Rename from mips_elf_find_nearest_line and make globally visible. (bfd_elf32_set_section_contents): Define. * elf-bfd.h (_bfd_mips_elf_hi16_reloc): Declare. (_bfd_mips_elf_lo16_reloc): Declare. (_bfd_mips_elf_gprel16_reloc): Declare. (_bfd_mips_elf_got16_reloc): Declare. (_bfd_mips_elf_gprel32_reloc): Declare. (_bfd_mips_elf_set_private_flags): Declare. (_bfd_mips_elf_copy_private_bfd_data): Declare. (_bfd_mips_elf_merge_private_bfd_data): Declare. (_bfd_mips_elf_find_nearest_line): Declare. (_bfd_mips_elf_set_section_contents): Declare. * elf32-hppa.c (elf32_hppa_info_to_howto): Rename from elf_info_to_howto. (elf_info_to_howto): Define. * elf32-sparc.c (elf32_sparc_info_to_howto): Rename from elf_info_to_howto. (elf_info_to_howto): Define. * elf64-sparc.c (sparc64_elf_info_to_howto): Rename from elf_info_to_howto. (elf_info_to_howto): Define. * coff-w65.c (h8300_reloc16_estimate): Rename R_MOVB[12] to R_MOV16B[12], to match change in coff/internal.h. Thu May 30 12:38:49 1996 Ian Lance Taylor * elf64-mips.c: Extensive additions to provide better support for writing files and for gas. * elf32-mips.c (_bfd_mips_elf_object_p): New function, broken out of mips_elf_object_p. (mips_elf32_object_p): Rename from mips_elf_object_p; call _bfd_mips_elf_object_p. (_bfd_mips_elf_final_write_processing): Rename from mips_elf_final_write_processing and make globally visible. (_bfd_mips_elf_fake_sections): Rename from mips_elf_fake_sections and make globally visible. (_bfd_mips_elf_section_from_bfd_section): Rename from mips_elf_section_from_bfd_section and make globally visible. (_bfd_mips_elf_section_processing): New function, broken out of mips_elf_section_processing. (mips_elf32_section_processing): Rename from mips_elf_section_processing; call _bfd_mips_elf_section_processing. (_bfd_mips_elf_symbol_processing): Rename from mips_elf_symbol_processing and make globally visible. (_bfd_mips_elf_read_ecoff_info): Rename from mips_elf_read_ecoff_info and make globally visible. (mips_elf32_ecoff_debug_swap): Rename from mips_elf_ecoff_debug_swap. * elf.c (_bfd_elf_symbol_from_bfd_symbol): Use asymbol rather than struct symbol_cache_entry. (_bfd_elf_validate_reloc): New function, moved in from elfcode.h:validate_reloc. * elfcode.h (validate_reloc): Remove; moved into elf.c and renamed to _bfd_elf_validate_reloc. Change all callers. * elf-bfd.h (bfd_section_from_shdr): Declare. (_bfd_elf_symbol_from_bfd_symbol): Declare. (_bfd_elf_validate_reloc): Declare. (_bfd_mips_elf_object_p): Declare. (_bfd_mips_elf_fake_sections): Declare. (_bfd_mips_elf_section_from_bfd_section): Declare. (_bfd_mips_elf_section_processing): Declare. (_bfd_mips_elf_symbol_processing): Declare. (_bfd_mips_elf_read_ecoff_info): Declare. (_bfd_mips_elf_final_write_processing): Declare. * elfxx-target.h (bfd_elfNN_get_reloc_upper_bound): Don't define if already defined. * elf32-mips.c (mips_elf_object_p): Handle E_MIPS_ARCH_4. (mips_elf_final_write_processing): Likewise. Wed May 29 16:15:29 1996 Ian Lance Taylor 64-bit MIPS ELF ABI objdump support: * elf64-mips.c: New file. * Makefile.in: Rebuild dependencies. (BFD64_BACKENDS): Add elf64-mips.o. (BFD64_BACKENDS_CFILES): Add elf64-mips.c. * config.bfd (mips*el-*-elf*) Add bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to targ_selvecs. (mips*-*-elf*): Likewise. * confingure.in: Add bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to vector switch. * configure: Rebuild. * elf32-mips.c (_bfd_mips_elf_section_from_shdr): New function, broken out of mips_elf_section_from_shdr. (mips_elf32_section_from_shdr): Rename from mips_elf_section_from_shdr. Call new function. (elf_backend_section_from_shdr): Update name of renamed function. * elf-bfd.h (struct elf_size_info): Change second parameter of write_out_phdrs to be const. Likewise for second parameter of swap_symbol_out. (struct bfd_elf_section_data): Add rel_hdr2 field. (bfd_elf32_swap_symbol_in): Change second parameter to be const. (bfd_elf32_swap_symbol_out): Likewise. (bfd_elf32_swap_reloc_in): Likewise. (bfd_elf32_swap_reloc_out): Likewise. (bfd_elf32_swap_reloca_in): Likewise. (bfd_elf32_swap_reloca_out): Likewise. (bfd_elf32_swap_phdr_in): Likewise. (bfd_elf32_swap_phdr_out): Likewise. (bfd_elf32_swap_dyn_in): Likewise. (bfd_elf32_swap_dyn_out): Likewise. (bfd_elf32_slurp_symbol_table): Declare. (bfd_elf32_write_shdrs_and_ehdr): Declare. (bfd_elf32_write_out_phdrs): Declare. (bfd_elf64_swap_symbol_in): Change second parameter to be const. (bfd_elf64_swap_symbol_out): Likewise. (bfd_elf64_swap_reloc_in): Likewise. (bfd_elf64_swap_reloc_out): Likewise. (bfd_elf64_swap_reloca_in): Likewise. (bfd_elf64_swap_reloca_out): Likewise. (bfd_elf64_swap_phdr_in): Likewise. (bfd_elf64_swap_phdr_out): Likewise. (bfd_elf64_swap_dyn_in): Likewise. (bfd_elf64_swap_dyn_out): Likewise. (bfd_elf64_slurp_symbol_table): Declare. (bfd_elf64_write_shdrs_and_ehdr): Declare. (bfd_elf64_write_out_phdrs): Declare. (_bfd_mips_elf_section_from_shdr): Declare. * elf.c (bfd_section_from_shdr): Remove assertion requiring SHT_REL/SHT_RELA to match use_rela_p. If there is already a reloc section for the section, add the new one to rel_hdr2. Increment reloc_count rather than setting it. * elfcode.h (elf_slurp_symbol_table): Define name as macro. Remove static declaration. (elf_write_shdrs_and_ehdr): Define name as macro. (elf_write_out_phdrs): Likewise. (elf_swap_ehdr_in, elf_swap_ehdr_out): Declare. (elf_swap_shdr_in, elf_swap_shdr_out): Declare. (elf_swap_symbol_in): Change second parameter to be const. (elf_swap_symbol_out): Likewise. (elf_swap_ehdr_in, elf_swap_ehdr_out): Likewise. (elf_swap_shdr_in, elf_swap_shdr_out): Likewise. (elf_swap_phdr_in, elf_swap_phdr_out): Likewise. (elf_swap_reloc_in, elf_swap_reloc_out): Likewise. (elf_swap_reloca_in, elf_swap_reloca_out): Likewise. (elf_write_out_phdrs): Rename from write_out_phdrs. Change second parameter to be const. Make non-static. (elf_write_shdrs_and_ehdr): Rename from write_shdrs_and_ehdr. Make non-static. (elf_slurp_symbol_table): Make non-static. (NAME(_bfd_elf,size_info)): Update names of renamed functions. * elfxx-target.h (elf_info_to_howto): Define if not defined. (elf_backend_size_info): Likewise. (elfNN_bed): Use elf_backend_size_info. * targets.c (bfd_elf64_bigmips_vec): Declare. (bfd_elf64_littlemips_vec): Declare. (bfd_target_vector): Add bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec if BFD64 is defined. * libbfd.c (bfd_get_file_window): Add cast to fprintf argument. Tue May 28 11:42:08 1996 Ian Lance Taylor * coff-sh.c (sh_relax_delete_bytes): Insert nop instructions, not zeroes, in alignment holes. * configure: Rebuild with autoconf 2.10. * aoutx.h (NAME(aout,find_nearest_line)): Make room for the potential leading underscore in the allocated buffer. Fri May 24 14:28:38 1996 Michael Meissner * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not put small common symbols into .sbss if this is a relocatable link. Thu May 23 12:26:24 1996 Ian Lance Taylor * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Warn about undefined symbols when creating a shared library. Fri May 17 13:54:15 1996 Ian Lance Taylor * coff-sh.c: Add a bunch of new code and static const arrays to support aligning loads and stores on four byte memory boundaries. Also: (sh_coff_howtos): Add entries for R_SH_CODE, R_SH_DATA and R_SH_LABEL. (sh_relax_section): Look for R_SH_CODE relocs. If we find one, call sh_align_loads. (sh_relax_delete_bytes): Don't mark R_SH_CODE or R_SH_DATA relocs as unused. Thu May 16 16:34:13 1996 Ian Lance Taylor * cache.c (bfd_open_file): Unlink the file before opening it for write. From Marty Leisner . * opncls.c (bfd_fdopenr): Set opened_once. Tue May 14 12:35:32 1996 Ian Lance Taylor * som.c (som_slurp_reloc_table): Clear external_relocs cache after freeing it. * libbfd.c: Remove #ifdef FILE_OFFSET_IS_CHAR_INDEX, and compile the code unconditionally. Mon May 13 19:51:37 1996 Ian Lance Taylor * libcoff-in.h (struct pei_section_tdata): Define structure. (pei_section_data): Define macro. * libcoff.h: Rebuild. * coffcode.h (coff_set_alignment_hook): If COFF_IMAGE_WITH_PE, store s_paddr field in pei_section_data. (coff_compute_section_file_positions): Use pei_section_data rather than _cooked_size, and don't overwrite an existing value. (coff_write_object_contents): If COFF_OBJ_WITH_PE, set s_paddr to 0. If COFF_IMAGE_WITH_PE, set s_paddr to pei_section_data. * peicode.h (coff_bfd_copy_private_section_data): Define if COFF_IMAGE_WITH_PE. (pe_bfd_copy_private_section_data): New static function if COFF_IMAGE_WITH_PE. Wed May 8 16:10:38 1996 Ian Lance Taylor * srec.c (srec_set_arch_mach): Write as a function rather than a macro definition. * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): If an archive has no map, just check each member in turn to see whether it is required. Wed May 8 09:17:34 1996 Michael Meissner * ppcboot.c (ppcboot_object_p): Check for type 0x41 in partition table. Call BFD_ASSERT to validate header size, instead of calling fatal. (ppcboot_bfd_print_private_bfd_data): Put quotes around partition name. Tue May 7 16:10:19 1996 Michael Meissner * ppcboot.c: New target for looking at PPCbug boot records. * config{ure.in,.bfd}: Add support for ppcboot target. * targets.c: Ditto. * configure: Regenerate. Tue May 7 11:15:19 1996 Jeffrey A Law (law@cygnus.com) * coff-h8300.c (howto_table): Update names to match recent changes to include/coff/internal.h. Fix minor errors in the existing relocs. Add R_MOVL1 and R_MOVL2. (rtype2howto): Similarly. (h8300_reloc16_estimate): Rewrite to simplify, fix bugs in the existing relaxing code and peform more relaxing. (h8300_reloc16_extra_cases): Likewise. Mon May 6 18:24:09 1996 Jeffrey A Law (law@cygnus.com) * reloc16.c (bfd_coff_reloc16_get_value): Handle common symbols correctly. Sat May 4 05:08:45 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) * elfcode.h (elf_object_p): Reject generic ELF target if e_machine matches an alternate machine code in a specific backend. * netbsd-core.c (netbsd_core_vec): Remove initializer for obsolete align_power_min field. Fri May 3 13:07:35 1996 Jeffrey A Law (law@cygnus.com) * coff-h8300.c (reloc_howto_type): Add howto entry for R_PCRWORD_B. (rtype2howto): Handle R_PCRWORD_B. (h8300_reloc16_extra_cases): Handle R_PCRWORD_B. (h8300_reloc_16_estimate): Likewise. Try to turn a 16bit pc-relative branch (R_PCRWORD) into an 8bit pc-relative branch (R_PCWORD_B). Fri May 3 10:47:41 1996 Ian Lance Taylor * aoutx.h (translate_from_native_sym_flags): Set the section for BSF_CONSTRUCTOR symbols. * cofflink.c (_bfd_coff_link_input_bfd): Correct setting of last_bf_index. Wed May 1 18:39:32 1996 Doug Evans * coffcode.h (coff_write_object_contents): In comdat section lookup, stop looking when section is found. Wed May 1 14:17:57 1996 Ian Lance Taylor * coffcode.h (STRING_SIZE_SIZE): Define. (styp_to_sec_flags): Handle long symbol names when looking for the section symbol. (bfd_coff_backend_data): Add _bfd_coff_long_section_names field. (bfd_coff_long_section_names): Define. (coff_write_object_contents): Handle long section names. (bfd_coff_std_swap_table): Initialize new field. * libcoff.h: Rebuild. * coffgen.c (make_a_section_from_file): Handle long section names. (coff_write_symbols): Handle long section names. * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field. * coff-mips.c (mips_ecoff_backend_data): Likewise. * pe-arm.c (COFF_LONG_SECTION_NAMES): Define. * pei-arm.c (COFF_LONG_SECTION_NAMES): Define. * pe-i386.c (COFF_LONG_SECTION_NAMES): Define. * pei-i386.c (COFF_LONG_SECTION_NAMES): Define. * pe-ppc.c (COFF_LONG_SECTION_NAMES): Define. * pei-ppc.c (COFF_LONG_SECTION_NAMES): Define. * bout.c (b_out_callback): Set lma of sections. (b_out_bfd_get_relocated_section_contents): Rename in_abfd parameter to output_bfd. Used input_bfd instead of output_bfd in several places. Tue Apr 30 17:56:39 1996 Ian Lance Taylor * aoutx.h (translate_from_native_sym_flags): Don't create SEC_CONSTRUCTOR sections. * ecoff.c (ecoff_set_symbol_info): Likewise. * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp. From Don Bowman . Tue Apr 30 17:06:32 1996 Doug Evans * coff-arm.c (armcoff_little_vec): If COFF_WITH_PE is defined, add SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags. Mon Apr 29 13:15:17 1996 Ian Lance Taylor * elf32-mips.c (struct mips_elf_link_hash_entry): Add mips_32_relocs field. (mips_elf_link_hash_newfunc): Initialize mips_32_relocs field. (mips_elf_relocate_section): Copy R_MIPS_REL32 and R_MIPS_32 relocs against a global symbol which is not defined in a regular file. (mips_elf_check_relocs): For a R_MIPS_REL32 or R_MIPS_32 reloc against a global symbol, increment mips_32_relocs. (mips_elf_adjust_dynamic_symbol): If mips_32_relocs is set, and the symbol is not defined in a regular file, make room in the .rel.dyn section. Fri Apr 26 18:00:37 1996 Ian Lance Taylor * ecoff.c (ecoff_compute_section_file_positions): Track the real file position and the virtual file position separately. Set filepos information bsaed on the real file position. (_bfd_ecoff_set_section_contents): Handle .lib sections like the Jan 23 change to coffcode.h. * som.c (som_slurp_symbol_table): Set the symbol count to the number of BFD symbols created. Fri Apr 26 12:34:29 1996 Michael Meissner * elf32-ppc.c (ppc_elf_check_relocs): Forward relocations to the output file if linking shared objects. Loop to check all relocs, rather than returning false on first error. Thu Apr 25 13:25:12 1996 Michael Meissner * elf32-ppc.c (ppc_elf_create_linker_section): Add PLT case. (ppc_elf_additional_program_headers): If .interp section, bump # of program headers by 1. (ppc_elf_adjust_dynamic_symbol): Flesh out support. (ppc_elf_size_dynamic_sections): Add support for .plt section. (ppc_elf_check_relocs): Print out filename in debug code. Enable PLT support. (ppc_elf_finish_dynamic_symbol): Add support for PLT's, beef up debug output. (ppc_elf_relocate_section): If the output section isn't defined, don't abort, just give an error message. * elflink.c (_bfd_elf_create_dynamic_sections): If the section being created is .sdata or .sdata2, don't make the symbol dynamic. Wed Apr 24 14:04:07 1996 Ian Lance Taylor * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through the members of an archive for dynamic objects with no symbols, and pass them directly to check_archive_element. (xcoff_link_check_ar_symbols): Pass dynamic objects to xcoff_link_check_dynamic_ar_symbols. (xcoff_link_check_dynamic_ar_symbols): New static function. * coff-rs6000.c (rs6000coff_vec): Change BFD_JUMP_TABLE_DYNAMIC from _bfd_nodynamic to _bfd_xcoff. * libcoff-in.h (_bfd_xcoff_get_dynamic_symtab_upper_bound): Declare. (_bfd_xcoff_canonicalize_dynamic_symtab): Declare. (_bfd_xcoff_get_dynamic_reloc_upper_bound): Declare. (_bfd_xcoff_canonicalize_dynamic_reloc): Declare. * libcoff.h: Rebuild. * xcofflink.c (xcoff_swap_ldrel_in): New static function. (xcoff_get_section_contents): New static function. (_bfd_xcoff_get_dynamic_symtab_upper_bound): New function. (_bfd_xcoff_canonicalize_dynamic_symtab): New function. (_bfd_xcoff_get_dynamic_reloc_upper_bound): New function. (xcoff_dynamic_reloc): New static variable. (_bfd_xcoff_canonicalize_dynamic_reloc): New function. (xcoff_link_add_dynamic_symbols): Use xcoff_get_section_contents. Tue Apr 23 12:48:42 1996 Ian Lance Taylor * coff-sparc.c (bfd_coff_generic_reloc): Return bfd_reloc_ok even if reloc_entry->addend is not 0. (CALC_ADDEND): Just set the addend to reloc.r_offset. Mon Apr 22 18:29:01 1996 Doug Evans * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix spelling of R_SPARC_GLOB_JMP. * elf64-sparc.c (sparc64_elf_howto_table): Likewise. Add entries for R_SPARC_[56]. (sparc_reloc_map): Add entries for R_SPARC_[56]. Mon Apr 22 15:07:24 1996 Ian Lance Taylor Optimize linking of stabs in sections as used in ELF and COFF. * stabs.c: New file. * libbfd-in.h (_bfd_link_section_stabs): Declare. (_bfd_write_section_stabs): Declare. (_bfd_write_stab_strings): Declare. * libbfd.h: Rebuild. * libcoff-in.h (struct coff_section_tdata): Add stab_info field. (struct coff_link_hash_table): Add stab_info field. * libcoff.h: Rebuild. * cofflink.c (_bfd_coff_link_hash_table_init): Initialize stab_info field. (coff_link_add_symbols): Call _bfd_link_section_stabs if appropriate. (_bfd_coff_final_link): Write out stab strings hash table. (_bfd_coff_link_input_bfd): Handle optimized stabs sections. * coff-ppc.c (ppc_bfd_coff_final_link): Write out stab strings hash table. * elf-bfd.h (struct elf_link_hash_table): Add stab_info field. (struct bfd_elf_section_data): Add stab_info field. * elf.c (_bfd_elf_link_hash_table_init): Initialize stab_info field. * elflink.h (elf_link_add_object_symbols): If appropriate, call _bfd_link_section_stabs. (elf_bfd_final_link): Write out stab strings hash table. (elf_link_input_bfd): Handle optimized stabs sections. * reloc.c (_bfd_final_link_relocate): Check address against _raw_size rather than _cooked_size. * Makefile.in: Rebuild dependencies. (BFD_LIBS): Add stabs.o (BFD_LIBS_CFILES): Add stabs.c. * VERSION: Increment for bfdlink.h change. * coffgen.c (coff_renumber_symbols): Correct handling of BSF_NOT_AT_END common symbols. Fri Apr 19 19:21:56 1996 Ian Lance Taylor * coff-ppc.c (record_toc): Add cast to avoid warning. (ppc_allocate_toc_section): Likewise. (coff_ppc_relocate_section): Remove ANSI C string concatenation. (ppc_coff_reloc_type_lookup): Remove unreached code. * coffcode.h (coff_write_object_contents): Don't take the address of an array. * peicode.h (pe_print_idata): Add casts to avoid warning. (pe_print_edata): Likewise. (pe_print_reloc): Remove ANSI C string concatenation. Thu Apr 18 18:51:18 1996 Ian Lance Taylor * libcoff-in.h (struct coff_final_link_info): Add last_bf_index and last_bf fields. * libcoff.h: Rebuild. * coffswap.h (coff_swap_aux_in): Swap endndx field for C_FCN symbols. (coff_swap_aux_out): Likewise. * peicode.h (coff_swap_aux_in): Likewise. (coff_swap_aux_out): Likewise. * coffgen.c (coff_pointerize_aux): Check endndx field for C_FCN symbols. * cofflink.c (_bfd_coff_final_link): Initialize last_bf_index field. (_bfd_coff_link_input_bfd): Check endndx field for C_FCN symbols. Fix up .bf endndx link fields. * coff-ppc.c (ppc_bfd_coff_final_link): Initialize last_bf_index field. * xcofflink.c (xcoff_link_input_bfd): Check endndx field for C_FCN symbols. Wed Apr 17 12:08:24 1996 Michael Meissner * pe{,i}-ppc.c (PPC_PE): Define instead of PPC, so that compiling on Solaris PowerPC systems doesn't get confused. * ccffcode.h (coff_write_object_contents): Use #ifdef PPC_PE, not #ifdef PPC. * elfcore.h (bfd_prstatus, bfd_fpregset): Add thread argument. (elf_corefile_note): If HAVE_SYS_PROCFS_H is not defined, don't update did_reg and did_reg2. Wed Apr 17 13:07:37 1996 Ian Lance Taylor * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow. * linker.c (_bfd_generic_link_add_one_symbol): When calling the callback routines, pass h->root.string rather than name, in case copy is true and name is transient. Tue Apr 16 16:36:38 1996 Stu Grossman (grossman@lisa.cygnus.com) * elfcore.h: Add support for core files with multiple threads. (Primarily for Solaris.) Tue Apr 16 13:44:08 1996 Ian Lance Taylor * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if section->orelocation is NULL. * coffgen.c (bfd_coff_get_syment): New function. (bfd_coff_get_auxent): New function. * bfd-in.h (bfd_coff_get_syment): Declare. (bfd_coff_get_auxent): Declare. * bfd-in2.h: Rebuild. Mon Apr 15 19:06:59 1996 Ian Lance Taylor * elf32-mips.c (struct mips_hi16): Define. (mips_hi16_addr, mips_hi16_addend): Remove. (mips_hi16_list): New static variable. (mips_elf_hi16_reloc): Maintain a list of unmatched HI16 relocs. (mips_elf_lo16_reloc): Process mips_hi16_list. (mips_elf_relocate_section): Permit an arbitrary number of HI16 relocs before the associated LO16 reloc. Wed Apr 10 00:23:53 1996 Ian Lance Taylor * versados.c (versados_scan): Check bfd_alloc return value. (versados_object_p): Check all bfd_read return values. Require that lang field be less than 10, to avoid confusion with Intel Hex files. * libaout.h (WRITE_HEADERS): Write out the relocs even if there aren't any symbols. * aoutx.h (NAME(aout,swap_std_reloc_out)): Set r_index to N_ABS, not 0, for an absolute symbol. (NAME(aout,swap_ext_reloc_out)): Likewise. * ihex.c (ihex_scan): Accept a length of 4 for record type 5. (ihex_write_object_contents): For a large start address, output the full 32 bit address in record type 5. * ieee.c (ieee_write_byte): Change second parameter from bfd_byte to int to avoid promotion problems in prototype. Tue Apr 9 11:44:21 1996 Ian Lance Taylor * configure.host: Use ${srcdir} when looking for picfrag. * configure.host: Switch on ${libdir}, not $(libdir). From alan@spri.levels.unisa.edu.au (Alan Modra). * aoutx.h (aout_link_add_symbols): Always call add_dynamic_symbols entry point, not just for DYNAMIC objects. * sunos.c (sunos_add_dynamic_symbols): Always call sunos_create_dynamic_sections. If called with a non DYNAMIC object, don't do anything else. (sunos_add_one_symbol): Don't call sunos_create_dynamic_sections. Mon Apr 8 12:09:36 1996 Ian Lance Taylor * configure.in: Permit --enable-shared to specify a list of directories. * configure: Rebuild. * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf* host when configuring with --enable-shard. Fri Apr 5 12:24:13 1996 Ian Lance Taylor * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra . * linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE, to avoid crashing in bfd_hash_replace. * sysdep.h: Use #ifdef, not #if. Thu Apr 4 23:32:23 1996 Ian Lance Taylor * config.in: Rebuild. Thu Apr 4 18:49:09 1996 Fred Fish * configure.in (mips-sony-bsd*): Fix typo in AC_DEFINE. (AC_CHECK_HEADERS): Check for sys/time.h (AC_HEADER_TIME): Add macro. * configure: Rebuild. * sysdep.h: Use TIME_WITH_SYS_TIME and HAVE_SYS_TIME_H to control what combination of