diff options
Diffstat (limited to 'contrib/binutils/bfd/ChangeLog')
-rw-r--r-- | contrib/binutils/bfd/ChangeLog | 12862 |
1 files changed, 5001 insertions, 7861 deletions
diff --git a/contrib/binutils/bfd/ChangeLog b/contrib/binutils/bfd/ChangeLog index 557679d..b877c08 100644 --- a/contrib/binutils/bfd/ChangeLog +++ b/contrib/binutils/bfd/ChangeLog @@ -1,9241 +1,6381 @@ -Mon Apr 27 11:49:55 1998 Ian Lance Taylor <ian@cygnus.com> +2000-05-09 Alan Modra <alan@linuxcare.com.au> - * configure.in: Set version number to 2.9.1. - * configure: Rebuild. + * elf.c (bfd_section_from_shdr): Don't set use_rela_p if rela + section is empty. + (copy_private_bfd_data): Allow for space possibly taken up by elf + headers when calculating segment physical address from lma. - Based on patch from H.J. Lu <hjl@gnu.org>: - * elf.c (bfd_elf_get_bfd_needed_list): New function. - * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare. - * bfd-in2.h: Rebuild. +2000-05-08 Alan Modra <alan@linuxcare.com.au> -Fri Apr 24 12:09:18 1998 Ian Lance Taylor <ian@cygnus.com> + * versados.c (versados_scan): Init stringlen and pass_2_done. - * syms.c (struct indexentry): Change directory_name, file_name, - and function_name fields to char *. - (struct stab_find_info): Change cached_file_name field to char *. + * trad-core.c (trad_unix_core_file_p): Return + bfd_error_wrong_format rather than bfd_error_file_truncated. -Thu Apr 16 11:43:33 1998 Ian Lance Taylor <ian@cygnus.com> + * peigen.c (_bfd_pei_swap_aouthdr_out): Pass ImageBase to + add_data_entry. DataDirectory virtual address is relative. + (pe_print_idata): Account for relative DataDirectory virtual + addresses. Don't trash datasize inside POWERPC_LE_PE code. + (pe_print_edata): Similarly. - * archive.c (bfd_generic_archive_p): If a slurp subroutine returns - an error other than bfd_error_system_call, set the error to - bfd_error_wrong_format. + From Szabolcs Szakacsits <szaka@F-Secure.com> + * peigen.c (dir_names): Add Delay Import Directory. + (pe_print_idata): Always search for bfd section containing + idata address rather than looking up section name. Print this + section name rather than .idata. + (pe_print_edata): Similarly. Also print some fields as %08lx. + (_bfd_pe_print_private_bfd_data_common): Print Reserved1 field as + Win32Version. - * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add - bfd_elf32_powerpcle_vec. +2000-05-03 Mark Elbrecht <snowball3@bigfoot.com> - * elf.c (copy_private_bfd_data): If all the p_paddr fields in the - program segments are zero, don't set p_paddr_valid. + * bfd/coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add entry for + the .bss section. + * bfd/coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise. -Fri Apr 10 13:44:27 1998 Ian Lance Taylor <ian@cygnus.com> +2000-04-29 Andreas Jaeger <aj@suse.de> - * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol - before any other symbols in the same section. + * libbfd-in.h: Correctly check GCC version. + * bfd-in.h: Likewise. + * libhppa.h: Likewise. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. -Tue Apr 7 12:35:18 1998 Ian Lance Taylor <ian@cygnus.com> +2000-04-19 Michael Sokolov <msokolov@ivan.Harhan.ORG> - * archures.c (bfd_default_scan): Add m68k cases back to default - switch, reverting patch of March 25, since IEEE support depends - upon them. + K&R compiler fixes. + * dwarf2.c (concat_filename): Avoid string literal concatenation. + * ieee.c (ieee_get_symtab): Don't initialise union in struct. -Mon Apr 6 14:06:40 1998 Ian Lance Taylor <ian@cygnus.com> +2000-04-12 Alan Modra <alan@linuxcare.com.au> - * Makefile.am (diststuff): New target. - * Makefile.in: Rebuild. + * dep-in.sed: Match space before file name, not after. + * Makefile.am: Regenerate dependencies. + * Makefile.in: Regenerate. -Sun Apr 5 16:21:44 1998 Jeffrey A Law (law@cygnus.com) + * reloc.c (_bfd_relocate_contents): In complain_overflow_bitfield + case, allow address wrap-around stupidly removed 2000-03-17. Sign + extend without an if statement. - * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of - som_offset when we have an extended name table. +2000-04-04 Alan Modra <alan@linuxcare.com.au> -Sun Apr 5 16:04:39 1998 H.J. Lu <hjl@gnu.org> + * po/bfd.pot: Regenerate. - * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before - trying to copy it. - * Makefile.in: Rebuild. + * Makefile.am: Remove extraneous mkdep comment. + (MKDEP): Use gcc -MM rather than mkdep. + (DEP): Quote when passing vars to sub-make. Add warning + message to end. + (DEP1): Rewrite for "gcc -MM". + (CLEANFILES): Add DEP2. + Update dependencies. + * Makefile.in: Regenerate. -Fri Apr 3 11:09:42 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> +2000-04-03 H.J. Lu <hjl@gnu.org> - * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section - symbols when creating a shared library. - (elf_m68k_adjust_dynindx): New function, used by above code. - (elf_m68k_finish_dynamic_sections): Initialize the section - symbols. - (elf_m68k_relocate_section): Change abort to BFD_ASSERT. + * cache.c (bfd_open_file): Unlink the output file only if + it has non-zero size. -Wed Apr 1 13:36:58 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> +2000-04-01 Ken Block USG <block@zk3.dec.com> - * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix - assertion. + * elf64-alpha.c (elf64_alpha_relocate_section): Don't emit + relative relocations for non-loaded sections in shared objects. + (elf64_alpha_check_relocs): Similarly. -Tue Mar 31 16:25:45 1998 Ian Lance Taylor <ian@cygnus.com> +2000-03-31 Thomas de Lellis <tdel@wrs.com> - * Makefile.am: Rebuild dependencies. - * Makefile.in: Rebuild. + * srec.c : Set CHUNK size to 16 bytes to prevent download failures + on some targets. + * ihex.c : Ditto. -Mon Mar 30 16:12:17 1998 Ian Lance Taylor <ian@cygnus.com> +Wed Mar 30 15:28:00 2000 Donald Lindsay <dlindsay@cygnus.com> - * configure.in: Set version number to 2.9. - * configure: Rebuild. + * elf32-m32r.c (m32r_elf_generic_reloc): new function. All + HOWTO references to bfd_elf_generic_reloc, that have + partial_inplace == true, now use the new function. The function + is based on the recent rewrite of m32r_elf_lo16_reloc(), and + extends its fixes to the R_M32R_{16,24,32} relocs. + The new logic in m32r_elf_lo16_reloc() has been removed, and + it instead calls the new routine to obtain that functionality. -Mon Mar 30 12:20:50 1998 Brent Baccala <baccala@freesoft.org> +2000-03-27 Alan Modra <alan@linuxcare.com.au> - * syms.c (ENABLE_CACHING): Define. - (struct indexentry): Define. - (struct stab_cache): Remove. - (cmpindexentry): New static function. - (struct stab_find_info): Add new fields: indextable, - indextablesize, cached_indexentry, cached_offset, cached_stab, and - cached_file_name. Remove fields: file_cache, function_cache, and - line_cache. - (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted - index table and search it. + * elf32-avr.c (elf32_avr_gc_mark_hook, elf32_avr_gc_sweep_hook, + elf32_avr_check_relocs, avr_final_link_relocate, + elf32_avr_relocate_section, bfd_elf_avr_final_write_processing, + elf32_avr_object_p): Add prototypes. + (elf32_avr_gc_mark_hook): Add default for h->root.type. + (bfd_elf_avr_final_write_processing): Make static. -Mon Mar 30 10:39:34 1998 Ian Lance Taylor <ian@cygnus.com> +2000-03-27 Denis Chertykov <denisc@overta.ru> - * elf.c (_bfd_elf_copy_private_section_data): Call - copy_private_bfd_data once we've seen the last SEC_ALLOC section. + * cpu-avr.c: New file. BFD support routines for AVR architecture. + * archures.c (bfd_architecture): Add AVR architecture. + (bfd_archures_list): Add reference to AVR architecture info. + * elf.c (prep_headers): Handle bfd_arch_avr. + * reloc.c: Add various AVR relocation enums. + * targets.c (bfd_elf32_avr_vec): Declare and add to target vector + list. + * Makefile.am: Add support for AVR elf. + * configure.in: Likewise. + * config.bfd: Likewise. + * Makefile.in: Regenerate. + * configure: This too. + * bfd-in2.h: And this. + * libbfd.h: And this. - * cpu-mips.c: Remove trailing comma at end of enumeration list. +2000-03-24 H.J. Lu <hjl@gnu.org> -Sat Mar 28 16:33:02 1998 Ian Lance Taylor <ian@cygnus.com> + * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Add prototype. + (elf64_alpha_find_reloc_at_ofs): Likewise. - * coff-arm.c: Define all globally visible variables and functions - only when COFF_WITH_PE is not defined. - * configure.in (armpe_little_vec, armpe_big_vec): Add - coff-arm.lo. - * configure: Rebuild. +2000-03-17 Alan Modra <alan@linuxcare.com.au> -Fri Mar 27 16:06:02 1998 Ian Lance Taylor <ian@cygnus.com> + * reloc.c (bfd_check_overflow): In case complain_overflow_bitfield, + flag an overflow if the bitfield is outside -2**n to 2**n-1. The + allowable range used to be -2**(n-1) to 2**n-1. + * reloc.c (_bfd_relocate_contents): Same here. Also replace + "boolean overflow" with "bfd_reloc_status_type flag". - Fix some gcc -Wall warnings: - * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings. - * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise. - * archures.c (bfd_default_scan): Likewise. - * bfd.c (bfd_scan_vma): Likewise. - * binary.c (mangle_name): Likewise - * coff-arm.c (aoutarm_fix_pcrel_26): Likewise. - * coff-sh.c (sh_relocate_section): Likewise. - * coff-stgo32.c (create_go32_stub): Likewise. - * coffcode.h (coff_slurp_line_table): Likewise. - * ecoff.c (_bfd_ecoff_write_armap): Likewise. - * elf.c (_bfd_elf_make_section_from_shdr): Likewise. - (assign_file_positions_for_segments): Likewise. - * elf32-mips.c (mips_elf_relocate_section): Likewise. - * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. - * oasys.c (oasys_write_sections): Likewise. - * ppcboot.c (ppcboot_object_p): Likewise. - (mangle_name): Likewise. - * riscix.c (riscix_fix_pcrel_26): Likewise. - * srec.c (srec_scan): Likewise. - * stabs.c (_bfd_write_section_stabs): Likewise. - * sunos.c (sunos_add_dynamic_symbols): Likewise. - * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to - switch. Declare parameters for function pointers. - * archures.c (bfd_default_scan): Add braces to avoid ambiguous if - warning. - * elf.c (elf_sort_sections): Likewise. - * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation. - Add default cases to switches. - (coff_arm_relocate_section): Remove unused local variables. - Always set rstat. - (coff_arm_bfd_set_private_flags): Change flag variable to type - flagword. - * coff-mips.c (mips_relocate_section): Initialize use_lo. - * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int. - (dump_toc): Change cat to const, and initialize it. - * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff. - * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise. - (sh_elf_relocate_section): Initialize r_symndx. - * coffcode.h (coff_compute_section_file_positions): Only declare - old_sofar if ALIGN_SECTIONS_IN_FILE. - (coff_write_object_contents): Initialize csym. - * coffgen.c (coff_pointerize_aux): Make type and class unsigned. - * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to - switch. - * dwarf2.c: Include libiberty.h. - (read_2_signed_bytes, read_4_signed_bytes): Comment out. - (decode_line_info): Remove unused local variables. - * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise. - (m32r_elf_relocate_section): Likewise. - * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise. - (v850_elf_reloc): Likewise. - * elf-bfd.h (elf_linker_section_t): Make alignment unsigned. - (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned. - * elf.c (assign_file_positions_for_segments): Always set adjust. - * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr. Fully - parenthesize expression. - * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h. - (m32r_elf_object_p): Return a value. - (m32r_elf_print_private_bfd_data): Change fprintf format string. - * elf32-mips.c (mips_elf_final_link): Initialize last. - (mips_elf_finish_dynamic_sections): Initialize last and dindx. - * elf32-v850.c (v850_elf_object_p): Return a value. - (v850_elf_print_private_bfd_data): Change fprintf format string. - * elfcode.h (elf_slurp_symbol_table): Change symcount and i to - unsigned long. - * elflink.h (elf_link_add_object_symbols): Change vernum to - unsigned int, and initialize it. Change fprintf format string. - (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type - when setting or comparing to soname_indx. - (elf_create_pointer_linker_section): Change num_symbols to - unsigned int. - * libcoff-in.h (coff_data_type): Change flags to flagword. - * peicode.h (pe_print_idata): Initialize idx. Change j to - bfd_size_type. Initialize hint_member. Remove useless test to - time_stamp. - (pe_print_edata): Change num_functions and num_names in struct - EDT_type to unsigned long. Remove cast. Change fprintf format - string. - * ppcboot.c (ppcboot_object_p): Change i to size_t. - * reloc.c (bfd_get_reloc_size): Change return type to unsigned - int. - * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to - int *. Update uses. Change j to long. - * bfd-in2.h, libcoff.h: Rebuild. +2000-03-14 Doug Evans <dje@casey.transmeta.com> + + * elf32-m32r.c (m32r_elf_lo16_reloc): Rewrite. + +2000-03-14 Kazu Hirata <kazu@hxi.com> -Thu Mar 26 13:32:17 1998 Ian Lance Taylor <ian@cygnus.com> + * reloc16.c (bfd_coff_reloc16_relax_section): Count the total number + of shrinks properly, including the last reloc. + +2000-03-13 Kazu Hirata <kazu@hxi.com> - * coffcode.h (coff_new_section_hook): Set the type and storage - class in the native symbol information allocated for a new section - symbol. - -Thu Mar 26 10:13:41 1998 Nick Clifton <nickc@cygnus.com> - - * peicode.h: Chain together calls to - coff_bfd_copy_private_bfd_data and - coff_bfd_print_private_bfd_data. - - * coff-arm.c: Add prototypes for - coff_arm_bfd_print_private_bfd_data and - coff_arm_bfd_copy_private_bfd_data. - -Wed Mar 25 15:45:55 1998 Nick Clifton <nickc@cygnus.com> - - * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE - build. - - * peicode.h: Call arm-coff private data functions after handling - pe private data. - - * coff-arm.c: Turn statics into globals so that they can be shared - both pe and pei backends. - -Wed Mar 25 15:19:38 1998 Ian Lance Taylor <ian@cygnus.com> - - * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than - plain numbers. - (sunos_write_object_contents): Likewise. - * aoutx.h (NAME(aout,machine_type)): Likewise. - * coffcode.h (coff_set_arch_mach_hook): Likewise. - -Wed Mar 25 13:59:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * archures.c (bfd_mach_m68*): Add definitions for various m68k - variants. - (bfd_default_scan): Remove m68k special cases. + * coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity + check for R_MOVL2. + +2000-03-11 Alan Modra <alan@linuxcare.com.au> + + * ieee.c (ieee_archive_p): Return bfd_error_wrong_format on + a format mismatch rather than an "error" from bfd_read such as + bfd_error_file_truncated. + +2000-03-10 Geoff Keating <geoffk@cygnus.com> + + * elf32-mips.c (_bfd_mips_elf_relocate_section): Do proper + sign-extension and big-endian compensation for + R_MIPS_64 even in ld -r. + +2000-03-10 Geoffrey Keating <geoffk@cygnus.com> + + * elf32-mips.c (mips_elf_next_relocation): Rename from + mips_elf_next_lo16_relocation, and generalize to look + for any relocation type. + (elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset. + (elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16. + (elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16. + (elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2. + (elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64. + (elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32. + (bfd_elf32_bfd_reloc_type_lookup): Add new relocs. + (mips_rtype_to_howto): Likewise. + (mips_elf_calculate_relocation): Handle new relocs. + (_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs + are paired. The addend for R_MIPS_GNU_REL16_S2 + is shifted right two bits. + +2000-03-10 Alan Modra <alan@linuxcare.com.au> + + * reloc.c (bfd_perform_relocation): Undo emacs formatting of + comment, and ensure it doesn't happen again. + (bfd_install_relocation): Same here. + (_bfd_relocate_contents): Don't bother assigning unused signmask + shift result. Fix typos in comments. + Remove trailing whitespace throughout file. + +2000-03-07 Doug Evans <dje@casey.transmeta.com> + + * reloc.c (reloc_howto_struct): Fix partial_inplace comment. * bfd-in2.h: Rebuild. - * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather - than plain numbers. - * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise. - * cpu-m68k.c (arch_info_struct): Likewise. Add entry for - m68k:68000. - (bfd_m68k_arch): Set mach field to zero to signal no explicit - selection, change printable_name to just "m68k" and make that the - default instead of m68k:68020. - - * aout-tic30.c (NAME): Define this to avoid multiple definitions - from aoutx.h. - (MY_get_section_contents): Define as aout_32_get_section_contents - rather than NAME(aout,get_section_contents). - - * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast. - - * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha - and call bfd_default_set_arch_mach to do the real work. - -Wed Mar 25 10:41:35 1998 Richard Henderson <rth@cygnus.com> - - * bout.c (BALX): Include return register g14 as part of the insn. - (BALX_MASK): New. - (calljx_callback): Use it. - -Wed Mar 25 11:19:28 1998 Ian Lance Taylor <ian@cygnus.com> - * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma. - * libbfd.h: Rebuild. +2000-03-06 Nick Clifton <nickc@cygnus.com> - * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change - byte_count to unsigned int. - (mn10300_elf_relax_section): Initialize internal_relocs. Remove - unused local variables. + * peicode.h (struct pe_ILF_vars): Add sym_ptr_table and + sym_ptr_ptr fields. + (SIZEOF_ILF_SYM_PTR_TABLE): Define. + (SIZEOF_ILF_STRINGS): Redefine. + (pe_ILF_make_a_symbol-reloc): New function. Creates a symbol + relative reloc, as opposed to a section relative reloc. + (pe_ILF_make_a_symbol): Set the class of local symbols to C_STAT + not C_LABEL. + Add length of symbol's prefix to string pointer. + Store a pointer to the symbol in the symbol pointer table. + (pe_ILF_build_a_bfd): Do not build .idata$2 or .idata$7. + Initialise the symbol pointer table. + Store the hint in the Hint/Name table. + Make the jump reloc be symbol realtive, not section relative. + Create an import symbol for imported code. - * evax-alpha.c (evax_close_and_cleanup): Remove unused local - variables er and er1. +2000-03-06 Catherine Moore <clm@cygnus.com> - * cpu-v850.c: Include <ctype.h>. - (scan): Case isdigit argument to unsigned char. + * elf.c (swap_out_syms): Check for null type_ptr. - From Yan Meroth <YAN.MEROTH@st.com>: - * ihex.c (ihex_scan): Add extbase variable so that getting an - extended linear address record does not ignore any previous - extended address. - (ihex_write_object_contents): When writing out an extended linear - address record, zero out any previous extended address. +2000-03-01 Hans-Peter Nilsson <hp@axis.com> -Tue Mar 24 16:09:43 1998 Manfred Hollstein <manfred@s-direktnet.de> + * aout-target.h (MY(write_object_contents)): Remove unused + and unusable "#if CHOOSE_RELOC_SIZE". + * pc532-mach.c (MY(write_object_contents)): Ditto. + * netbsd.h (MY(write_object_contents)): Ditto. + * hp300hpux.c (MY(write_object_contents)): Ditto. + * freebsd.h (MY(write_object_contents)): Ditto. + * aout-tic30.c (tic30_aout_write_object_contents): Ditto. - * ieee.c (do_one): Check section before dereferencing it. - (ieee_canonicalize_reloc): Likewise with src->relent.sym_ptr_ptr. - (ieee_generic_stat_arch_elt): Likewise with abfd->my_archive. +2000-02-29 H.J. Lu <hjl@gnu.org> -Mon Mar 23 18:51:47 1998 Joel Sherrill <joel@OARcorp.com> + * peicode.h (jtab): Make it static. - * config.bfd: (sh*-*-rtems*): Switched from ELF to COFF. + * coff-sh.c (sh_align_load_span): Declared if COFF_WITH_PE is + defined and COFF_IMAGE_WITH_PE is not defined. + (_bfd_sh_align_load_span): Defined as sh_align_load_span if + COFF_WITH_PE is defined and COFF_IMAGE_WITH_PE is not defined. -Mon Mar 23 14:23:36 1998 Nick Clifton <nickc@cygnus.com> +2000-03-01 Nick Clifton <nickc@cygnus.com> - * coff-arm.c: Add interworking functions to pe backends. + * coff-arm.c (bfd_arm_process_before_allocation): Make + 'symndx' signed to prevent compile time warning. -Fri Mar 20 18:47:20 1998 Ian Lance Taylor <ian@cygnus.com> + * coff-mcore.c: Remove unused prototype for pe_object_p. - * configure.in: Use AM_DISABLE_SHARED. - * aclocal.m4, configure: Rebuild with libtool 1.2. - -Fri Mar 20 11:25:41 1998 Nick Clifton <nickc@cygnus.com> - - * coff-arm.c (coff_arm_relocate_section): Better error messages - when interowrking conflucts occur. Courtesy of Jonathan Walton - and Tony Thompson. PR 15357. - (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted - relocations. Patch courtesy of Jonathan Walton and Tony - Thompson. PR 15373. - -Fri Mar 20 02:26:43 1998 Richard Henderson <rth@cygnus.com> - - * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Revert - part of Feb 22 change controling when to override the existing - symbol with the .plt entry. - -Wed Mar 18 09:26:25 1998 Nick Clifton <nickc@cygnus.com> - - * config.bfd (targ_cpu): Add thumb-pe target. - - * coffcode.h (OTHER_GLOBAL_CLASS): Support thumb external - functions in PE build. - -Sun Mar 8 23:37:26 1998 Stan Cox <scox@equinox.cygnus.com> + * coff-sh.c: Add "#ifndef COFF_IMAGE_WITH_PE" around static + functions that are not used when COFF_IMAGE_WITH_PE is + defined. + (struct sh_opcode): Change type of 'flags' field to unsigned + long so that it can hold the USESAS flag. - * config.bfd (sparclite-*-elf*): Added. + * coffcode.h (styp_to_sec_flags): Initialise 'target_name'. -Mon Feb 23 19:31:19 1998 Ian Lance Taylor <ian@cygnus.com> + * elf-m10300.c (mn10300_elf_relax_section): Initialise + 'sym_sec'. - * configure.in: Add elf.lo to elf shell variable. - * Makefile.am (BFD_LIBS): Remove elf.lo. - (BFD_LIBS_CFILES): Remove elf.c. - (BFD32_BACKENDS): Add elf.lo. - (BFD32_BACKENDS_CFILES): Add elf.c. - * configure, Makefile.in: Rebuild. + * elf32-i370.c: Add ATTRIBUTE_UNUSED to unused function + parameters. + Remove unusued variables and code. + (elf_backend_add_symbol_hook): Fix prototype. -1998-02-23 15:53 Richard Henderson <rth@cygnus.com> + * elf32-m68k.c (elf_m68k_gc_sweep_hook): Initialise 'sgot' and + 'srelgot'. - * elf32-i386.c (elf_i386_relocate_section): A pc-relative - relocation against a now-local symbol should not have a dynamic - relocation. + * elf32-mcore.c (mcore_elf_relocate_section): Initialise + 'oldinst'. -Mon Feb 23 16:17:08 1998 Ian Lance Taylor <ian@cygnus.com> + * elf32-mips.c: Add ATTRIBUTE_UNUSED to unused function + parameters. + Remove unusued variables and code. + (elf_backend_add_symbol_hook): Fix prototype. - * peicode.h (coff_swap_filehdr_in): Don't set BFD flag HAS_SYMS in - COFF filehdr flags. - (pe_print_private_bfd_data): Print PE flags. From Mikey - <jeffdb@netzone.com>. + * elf32-sh.c (sh_elf_set_mach_from_flags): Use 'flags'. -Sun Feb 22 20:39:00 1998 Richard Henderson <rth@cygnus.com> + * elflink.h (elf_bfd_link_add_symbols): Add ATTRIBUTE_UNUSED + to unused function parameter. + + * pe-mips.c: Add ATTRIBUTE_UNUSED to unused function + parameters. + Use EMPTY_HOWTO to initialise empty howto slots. + Remove unused variables. - * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Don't create - a plt entry when we can determine that we authoritatively define - the symbol. + * peicode.h (pe_ILF_build_a_bfd): Initialise id6. -Sun Feb 22 20:33:05 1998 Richard Henderson <rth@cygnus.com> +2000-03-01 H.J. Lu <hjl@gnu.org> - * configure.in (COREFILE selection): Remove sparc-*-linux*. They - don't actually use trad-core, but a SunOS-style core file handled - by gdb directly. - * hosts/sparclinux.h: Remove. + * aoutx.h (aout_link_input_section_std): Pass "true" to + the undefined_symbol callback. + (aout_link_input_section_ext): Likewise. + * bout.c (get_value): Likewise. + * coff-a29k.c (coff_a29k_relocate_section): Likewise. + * coff-alpha.c (alpha_ecoff_get_relocated_section_conten): + Likewise. + (alpha_relocate_section): Likewise. + * coff-arm.c (coff_arm_relocate_section): Likewise. + * coff-i960.c (coff_i960_relocate_section): Likewise. + * coff-mcore.c (coff_mcore_relocate_section): Likewise. + * coff-mips.c (mips_relocate_section): Likewise. + * coff-ppc.c (coff_ppc_relocate_section): Likewise. + * coff-sh.c (sh_relocate_section): Likewise. + * coff-tic80.c (coff_tic80_relocate_section): Likewise. + * cofflink.c (_bfd_coff_generic_relocate_section): Likewise. + * elf-m10200.c (mn10200_elf_relocate_section): Likewise. + * elf-m10300.c (mn10300_elf_relocate_section): Likewise. + * elf32-d10v.c (elf32_d10v_relocate_section): Likewise. + * elf32-fr30.c (fr30_elf_relocate_section): Likewise. + * elf32-hppa.c (elf32_hppa_relocate_section): Likewise. + * elf32-i370.c (i370_elf_relocate_section): Likewise. + * elf32-m32r.c (m32r_elf_relocate_section): Likewise. + * elf32-mcore.c (mcore_elf_relocate_section): Likewise. + * elf32-sh.c (sh_elf_relocate_section): Likewise. + * elf32-v850.c (v850_elf_relocate_section): Likewise. + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise. + * elflink.h (elf_link_output_extsym): Likewise. + * pe-mips.c (coff_pe_mips_relocate_section): Likewise. + * reloc.c (bfd_generic_get_relocated_section_conten): Likewise. + * reloc16.c (_bfd_ppc_xcoff_relocate_section): Likewise. + + * elf-hppa.h (elf_hppa_relocate_section): Pass "false" to the + undefined_symbol callback when building shared library with + -Bsymbolic and undefined symbols are allowed. Otherwise, pass + "true". + * elf32-arm.h (elf32_arm_relocate_section): Likewise. + * elf32-i386.c (elf_i386_relocate_section): Likewise. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-mips.c (mips_elf_calculate_relocation): Likewise. + (elf32_mips_get_relocated_section_content): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. -Wed Feb 18 15:31:06 1998 Ian Lance Taylor <ian@cygnus.com> +2000-02-28 Nick Clifton <nickc@cygnus.com> - * peicode.h (pe_print_idata): If there is no .idata section, look - for the import tables in some other section. Make the initial - label line up better with the data. Print the import address - table even if there is no import name table. If the import - address table holds actual addresses, print them. + * Makefile.am: Add rules to build pe[i]-{sh|mips}.lo objects. + * Makefile.in: Regenerate. -Tue Feb 17 12:58:34 1998 Ian Lance Taylor <ian@cygnus.com> + * configure.in: Add support for mips and sh pe vectors. + * configure: regenerate. - * libbfd.c (bfd_seek): If fseek fails, save errno around call to - bfd_tell. If errno is EINVAL, set bfd_error_file_truncated, not - bfd_error_system_call. + * config.bfd: Add support for arm-wince, mips-pe and sh-pe + targets. -Fri Feb 13 13:11:33 1998 Ian Lance Taylor <ian@cygnus.com> + * targets.c: Add mips and sh pe vectors. - * Makefile.am (AUTOMAKE_OPTIONS): Define. - * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e. + * libpei.h (coff_final_link_postscript): Only define if not + already defined. - From H.J. Lu <hjl@gnu.org>: - * Makefile.am (libbfd_la_LDFLAGS): Define. + * coffcode.h: Add support for WinCE magic numbers. + + * peigen.c (pe_print_reloc): Update comment and rearrange + appending of newline character. + + * peicode.h: Add support for Image Library Format. + (pe_ILF_vars): Structure containing data used by ILF code. + (pe_ILF_make_a_section): New function. Create a section based + on ILF data. + (pe_ILF_make_a_reloc): New function. Create a reloc based on + ILF data. + (pe_ILF_make_a_symbol): New function. Create a symbol based + on ILF data. + (pe_ILF_save_relocs): New function. Store the relocs created + by pe_ILF_make_a_reloc in a section. + (pe_ILF_build_a_bfd): New function. Create a BFD describing + an ILF object. + (pe_ILF_object_p): New function. Return a bfd_target pointer + for an ILF object. + (pe_bfd_object_p): If an ILF object is detected call + pe_ILF_object_p on it. + + * coff-arm.c: Add support for WinCE relocs which are different + from normal ARM COFF relocs. + * pe-arm.c: Unset TARGET_UNDERSCORE for a WinCE target. + + * coff-sh.c: Add support for sh-pe target. + * pe-sh.c: New file. Support code for sh-pe target. + * pei-sh.c: New file. Support code for sh-pe target. + + * pe-mips.c: New file. Support code for mips-pe target. + * pei-mips.c: New file. Support code for mips-pe target. + +2000-02-27 Jakub Jelinek <jakub@redhat.com> + + * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Don't bump + architecture if the object causing the bump is dynamic. + * elf64-sparc.c (sparc64_elf_merge_private_bfd_data): Likewise, + and also don't it for memory ordering. + (sparc64_elf_write_relocs): Take src_rela out of the loop. + +2000-02-27 Ian Lance Taylor <ian@zembu.com> + + * dwarf2.c (read_abbrevs): Use _raw_size directly rather than + calling bfd_get_section_size_before_reloc. + (decode_line_info): Likewise. + (_bfd_dwarf2_find_nearest_line): Likewise. + +2000-02-27 Eli Zaretskii <eliz@is.elta.co.il> + + * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the + name of the libtool directory. * Makefile.in: Rebuild. -Thu Feb 12 17:31:11 1998 Ian Lance Taylor <ian@cygnus.com> +Fri Feb 25 18:39:26 2000 Rodney Brown (RodneyBrown@pmsc.com) - NetBSD patches from Gordon W. Ross <gwr@mc.com>: - * netbsd.h (MACHTYPE_OK): Define. - (MY(write_object_contents)): Use DEFAULT_ARCH and DEFAULT_MID when - calling N_SET_MACHTYPE, rather than having a switch. - * libaout.h (enum machine_type): Add M_PMAX_NETBSD, M_VAX_NETBSD, - and M_ALPHA_NETBSD. - * i386netbsd.c (MACHTYPE_OK): Don't define. - (DEFAULT_MID): Define. - * m68k4knetbsd.c (SEGMENT_SIZE): Don't define. - (MACHTYPE_OK): Don't define. - (DEFAULT_MID): Define. - * m68knetbsd.c: (MACHTYPE_OK): Don't define. - (DEFAULT_MID): Define. - * ns32knetbsd.c (MACHTYPE_OK): Don't define. - (DEFAULT_MID): Define. - * sparcnetbsd.c (MACHTYPE_OK): Don't define. - (DEFAULT_MID): Define. + * som.c (SOM_HOWTO): Define. + (som_hppa_howto_table): Use it. - NetBSD patches from Gordon W. Ross <gwr@mc.com>: - * vaxnetbsd.c: New file. - * netbsd-core.c: Clean up. Remove unused macros. Use netbsd - rather than netbsd_core. - * targets.c (vaxnetbsd_vec): Declare. - (bfd_target_vector): Add vaxnetbsd_vec. If NETBSD_CORE is - defined, add netbsd_core_vec. - * configure.in: Set COREFILE for alpha*-*-netbsd* and - powerpc-*-netbsd* to netbsd-core.lo. If COREFILE is - netbsd-core.lo, set COREFLAG to -DNETBSD_CORE. - * config.bfd (alpha*-*-netbsd*): New target. - * Makefile.am: Rebuild dependencies. - (BFD32_BACKENDS): Add vaxnetbsd.lo. - (BFD32_BACKENDS_CFILES): Add vaxnetbsd.c. - * configure, Makefile.in: Rebuild. +2000-02-25 Alexandre Oliva <oliva@lsd.ic.unicamp.br> - * configure.host: Remove the old shared library build stuff. We - now use libtool instead. + * config.bfd: Enable 64 bit support for GNU/Linux/sparc. -Wed Feb 11 17:13:09 1998 Richard Henderson <rth@cygnus.com> + * config.bfd: Enable 64 bit support for Solaris7+/sparc. - * tekhex.c (tekhex_write_object_contents): Call tekhex_init. +2000-02-24 Catherine Moore <clm@cygnus.com> -Tue Feb 10 19:23:28 1998 H.J. Lu <hjl@gnu.org> + * som.c (som_misc_symbol_info): Add field + secondary_def. + (som_bfd_derive_misc_symbol_info): Initialize + secondary_def. + (som_build_and_write_symbol_table): Keep track + of secondary_def field. + (som_slurp_symbol_table): Set BSF_WEAK symbol flag + if secondary_def field is set. + (som_bfd_ar_write_symbol_stuff): Initialize + secondary_def. - * configure.in: Take stab-syms.lo out of sparclinux_vec list. - * configure: Rebuild. +2000-02-23 Stephane Carrez <stcarrez@worldnet.fr> -Tue Feb 10 15:16:38 1998 Nick Clifton <nickc@cygnus.com> - * elf32-v850.c (remember_hi16s_reloc): New function. - (find_remembered_hi16s_reloc): New function. - (v850_elf_store_addend_in_insn): Use the above new functions to - match up HI6S relocs with LO16 relocs. + * dwarf2.c (read_address): Read 16-bits addresses. + (parse_comp_unit): Accept addr_size == 2. + +2000-02-23 Alan Modra <alan@spri.levels.unisa.edu.au> -Tue Feb 10 15:01:39 1998 Ian Lance Taylor <ian@cygnus.com> + * bfd-in.h: Update copyright date. - * configure.in: Change -linux* to -linux-gnu*. - * config.bfd, configure.host: Likewise. - * configure: Rebuild. - -Mon Feb 9 19:40:59 1998 Nick Clifton <nickc@cygnus.com> +2000-02-23 Linas Vepstas <linas@linas.org> - * elf32-v850.c (v850_elf_store_addend_in_insn): Fix another - LO16/HI16S bug and improve comments about what is going on. - -Sat Feb 7 15:27:03 1998 Ian Lance Taylor <ian@cygnus.com> + * cpu-i370.c: New file. + * elf32-i370.c: New file. + * archures.c (enum bfd_architecture): Add bfd_arch_i370. + (bfd_i370_arch): New. + (bfd_archures_list): Add bfd_i370_arch. + * elf.c (prep_headers): Add bfd_arch_i370. + * Makefile.am: Add support for IBM 370 elf. + * config.bfd: Likewise. + * configure.in: Likewise. + * libbfd.h (bfd_reloc_code_real_names): Likewise. + * reloc.c (bfd_reloc_code_type): Likewise. + * targets.c: Likewise. - * configure, aclocal.m4: Rebuild with new libtool. - -Fri Feb 6 11:50:22 1998 Jeffrey A Law (law@cygnus.com) - - * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): For BFD_RELOC_CTOR - get the size from bfd_arch_bits_per_address instead of directly - from the isa. - -Thu Feb 5 14:21:34 1998 Michael Meissner <meissner@cygnus.com> - - * libbfd-in.h (BFD_ALIGN): If rounding up would cause the address - to wrap, just return all 1's bits instead. - * libbfd.h: Regenerate. - -Thu Feb 5 11:51:05 1998 Ian Lance Taylor <ian@cygnus.com> - - * coff-i386.c (coff_pe_i386_relocate_section): New static function - if COFF_WITH_PE. - (coff_relocate_section): If COFF_WITH_PE, define as - coff_pe_i386_relocate_section. - * coffcode.h (coff_write_object_contents): If COFF_IMAGE_WITH_PE, - skip empty sections, to match coff_write_object_contents. - - * elf64-mips.c (mips_elf64_swap_reloca_out): Swap out r_addend, - rather than swapping out r_offset twice. From Luke Deller - <luked@cse.unsw.edu.au>. - -Wed Feb 4 19:11:28 1998 Ian Lance Taylor <ian@cygnus.com> - - * configure.in: Set libtool_enable_shared rather than - libtool_shared. Remove diversion hack. - * configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild - with new libtool. + * Makefile.in: Regenerate. + * configure: Regenerate. + * bfd-in2.h: Regenerate. -Wed Feb 4 16:10:21 1998 Brent Baccala <baccala@freesoft.org> +2000-02-22 Ian Lance Taylor <ian@zembu.com> - * syms.c (struct stab_cache): Define. - (struct stab_find_info): Remove cached_offset, cached_stab, - cached_str, and cached_stroff fields. Add file_cache, - function_cache, and line_cache fields. - (_bfd_stab_section_find_nearest_line): Use extensive caching to - speed up searches. + * elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for + invalid relocation types, and change them to R_386_NONE. -Wed Feb 4 13:34:22 1998 Ian Lance Taylor <ian@cygnus.com> +2000-02-22 H.J. Lu <hjl@gnu.org> - * peicode.h (pe_print_idata): Check for import of ordinal rather - than name. - (pe_print_edata): If there is no .edata section, look for the - export data in some other section. + * elflink.h (elf_link_add_object_symbols): If a version symbol is + not defined, don't add a second ELF_VER_CHR. -Mon Feb 2 20:05:42 1998 Jason Molenda (crash@bugshack.cygnus.com) + * elflink.h (elf_bfd_final_link): Call output_extsym for global + symbols converted to local symbols even when stripping all + symbols. + (elf_link_output_extsym): Process global symbols converted to + local symbols even if they are being stripped. + +2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au> + + * archures.c (bfd_octets_per_byte): Return unsigned int. + (bfd_arch_mach_octets_per_byte): Ditto. + * libbfd.c (bfd_read, bfd_seek): Quell signed vs. unsigned + comparison warning. + * section.c (bfd_get_section_size_before_reloc): Quell signed + vs. unsigned comparison warning. + (bfd_get_section_size_after_reloc): Same here. Fix parentheses too. + * trad-core.c (trad_unix_core_file_p): Correct 2000-01-27 + change. What was I thinking? + * bfd-in2.h: Regenerate. - * configure.in: Change version to 2.8.4. - * configure: Regenerated. + * elflink.h (elf_gc_sweep): Skip non-elf input bfds. + (elf_gc_sections): Same here. + (elf_gc_common_finalize_got_offsets): And here. -Mon Feb 2 17:39:39 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> +2000-02-21 Ian Lance Taylor <ian@zembu.com> - Add tms320c30 support: - * cpu-tic30.c: New file. - * aout-tic30.c: New file. - * coff-tic30.c: New file. - * archures.c (bfd_arch_tic30): Define. - (bfd_tic30_arch): Declare. - (bfd_archures_list): Add bfd_tic30_arch. - * targets.c (bfd_target_vector): Add tic30_aout_vec and - tic30_coff_vec. - * reloc.c (BFD_RELOC_TIC30_LDP): Define. - * coffcode.h (coff_set_arch_mach_hook): Add tic30 case. - (coff_set_flags): Likewise. - * config.bfd (tic30-*-*aout*, tic30-*-*coff*): New targets. - * configure.in (tic30_aout_vec, tic30_coff_vec): New vectors. + ELF HPPA doesn't work at present; remove it until it does. + * config.bfd: Comment out setting targ_defvec to + bfd_elf32_hppa_vec. * Makefile.am: Rebuild dependencies. - (ALL_MACHINES): Add cpu-tic30.lo. - (ALL_MACHINES_CFILES): Add cpu-tic30.c. - (BFD32_BACKENDS): Add aout-tic30.lo and coff-tic30.lo. - (BFD32_BACKENDS_CFILES): Add aout-tic30.c and coff-tic30.c. - * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild. + (BFD32_BACKENDS): Remove elf32-hppa.lo. + (BFD32_BACKENDS_CFILES): Remove elf32-hppa.c. + (SOURCE_HFILES): Remove elf32-hppa.h and hppa_stubs.h. + * Makefile.in: Rebuild. + * targets.c (bfd_target_vector): Comment out bfd_elf32_hppa_vec. -Mon Feb 2 12:25:12 1998 Nick Clifton <nickc@cygnus.com> +2000-02-18 Geoff Keating <geoffk@cygnus.com> - * elf32-v850.c (v850_elf_store_addend_in_insn): Allow HI16_S reloc - to lag behind LO16 reloc by a couple of instructions. + * coffcode.h (coff_set_arch_mach_hook): Use free(), because there + is no bfd_free(). Revert bfd_free part of previous change. -Mon Feb 2 14:09:46 1998 Ian Lance Taylor <ian@cygnus.com> +2000-02-18 Geoff Keating <geoffk@cygnus.com> - * Makefile.am ($(srcdir)/bfd-in2.h): Add dummy command to force - make to reexamine the file timestamp. - ($(srcdir)/libbfd.h, $(srcddir)/libcoff.h): Likewise. + * coffcode.h (coff_set_arch_mach_hook): Don't use variable-size + arrays. + (coff_compute_section_file_positions): Use bfd_free to pair + bfd_malloc. + (coff_write_object_contents): Likewise. - * elf64-alpha.c (ELF_MAXPAGESIZE): Change to 0x10000 from - 0x100000. + * coff-rs6000.c (xcoff_howto_table_16): New variable. + (xcoff_rtype2howto): Handle 16-bit variants of 32-bit relocs. + +2000-02-18 Ulrich Drepper <drepper@cygnus.com> + + * coff-rs6000.c (XCOFFARMAGBIG): New macro. + (xcoff_ar_file_hdr_big): New structure. + (SIZEOF_AR_FILE_HDR_BIG): New macro. + (xcoff_ar_hdr_big): New structure. + (SIZEOF_AR_HDR_BIG): New macro. + (xcoff_big_format_p): New macro. + (xcoff_ardata_big): New macro. + (arch_xhdr_big): New macro. + (xcoff_slurp_armap): Handle large archives. + (xcoff_archive_p): Detect large archives. + (xcoff_read_ar_hdr): Handle large archives. + (xcoff_openr_next_archived_file): Handle large archives. + (xcoff_generic_stat_arch_elt): Handle large archives. + (xcoff_write_armap_old): Rename from xcoff_write_armap. + (xcoff_write_armap_big): New function. + (xcoff_write_armap): New function, dispatch to _old or _big. + (xcoff_write_archive_contents_old): Rename from + xcoff_write_archive_contents. + (xcoff_write_archive_contents_big): New function. + (xcoff_write_archive_contents): New function, dispatch to _old or + _big. + +2000-02-18 Richard Henderson <rth@cygnus.com> + + * elf-bfd.h (struct elf_link_hash_table): Remove copy_indirect + and hide_symbol members. + (elf_link_hash_copy_indirect): Remove. + (elf_link_hash_hide_symbol): Remove. + (struct elf_backend_data): Add elf_backend_copy_indirect_symbol + and elf_backend_hide_symbol. + (_bfd_elf_link_hash_copy_indirect): Declare. + (_bfd_elf_link_hash_hide_symbol): Declare. + * elf.c (_bfd_elf_link_hash_copy_indirect): Remove table argument. + (_bfd_elf_link_hash_hide_symbol): Likewise. + (_bfd_elf_link_hash_table_init): Don't init killed members. + * elflink.h (elf_link_add_object_symbols): Use the bed function + pointers not elf_link_hash_{copy_indirect,hide_symbol}. + (elf_link_assign_sym_version): Likewise. + * elfxx-target.h (elf_backend_copy_indirect_symbol): Default. + (elf_backend_hide_symbol): Likewise. + (elfNN_bed): Update for new members. + +2000-02-17 Kevin Buettner <kevinb@redhat.com> + + * rs6000-core.c (CORE_DATA_SIZE_FIELD, CORE_COMM_FIELD, SAVE_FIELD, + STACK_END_ADDR): Define for new core file format. + (LOADER_OFFSET_FIELD, LOADER_REGION_SIZE, CORE_DUMP): New defines + for handling the vagaries of the various core file structures used + by AIX over the years. + (rs6000coff_core_p, rs6000coff_core_file_matches_executable, + Rs6kCorData): Use above defines to adapt code to use AIX 4.3's + core_dumpx structure. + +Thu Feb 17 00:04:48 2000 J"orn Rennecke <amylaar@cygnus.co.uk> + + * archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros. + (bfd_mach_sh3_dsp): Likewise. + (bfd_mach_sh4): Reinstate. + (bfd_default_scan): Recognize 7410, 7708, 7729 and 7750. + * bfd-in2.h: Regenerate. + * coff-sh.c (struct sh_opcode): flags is no longer short. + (USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros. + (sh_opcode41, sh_opcode42): Integrate as sh_opcode41. + (sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes. + (sh_opcode41, sh_opcode4, sh_opcode80): Likewise. + (sh_opcodes): No longer const. + (sh_dsp_opcodef0, sh_dsp_opcodef): New arrays. + (sh_insn_uses_reg): Check for USESAS and USESR8. + (sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS. + (_bfd_sh_align_load_span): Return early for SH4. + Modify sh_opcodes lookup table for sh-dsp / sh3-dsp. + Take into account that field b of a parallel processing insn + could be mistaken for a separate insn. + * cpu-sh.c (arch_info_struct): New array elements for + sh2, sh-dsp and sh3-dsp. + Reinstate element for sh4. + (SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros. + (SH4_NEXT): Reinstate. + (SH3_NEXT, SH3E_NEXT): Adjust. + * elf-bfd.h (_sh_elf_set_mach_from_flags): Declare. + * elf32-sh.c (sh_elf_set_private_flags): New function. + (sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise. + (sh_elf_merge_private_data): New function. + (elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define. + (bfd_elf32_bfd_copy_private_bfd_data): Define. + (bfd_elf32_bfd_merge_private_bfd_data): Change to + sh_elf_merge_private_data. + +2000-02-13 Richard Henderson <rth@cygnus.com> + + * elf-bfd.h (struct elf_link_hash_table): Add copy_indirect and + hide_symbol members. + (elf_link_hash_copy_indirect): New. + (elf_link_hash_hide_symbol): New. + * elflink.h (elf_link_add_object_symbols): Break out copy from + indirect new new symbol to elf.c. + (elf_link_assign_sym_version): Break out privatization of + non-exported symbol to elf.c. + * elf.c (_bfd_elf_link_hash_copy_indirect): New. + (_bfd_elf_link_hash_hide_symbol): New. + (_bfd_elf_link_hash_table_init): Init copy_indirect and hide_symbol. + +2000-02-13 Ian Lance Taylor <ian@zembu.com> + + * section.c (_bfd_strip_section_from_output): Add info parameter. + If it passed as non-NULL, use it to check whether any input BFD + has an input section which uses this output section. Change all + callers. + * bfd-in2.h: Rebuild. -Fri Jan 30 19:07:07 1998 Geoff Keating <geoffk@ozemail.com.au> + * bfd-in.h: Move declarations of bfd_get_elf_phdr_upper_bound and + bfd_get_elf_phdrs in from bfd-in2.h, correcting patch of + 1999-11-29. + * bfd-in2.h: Rebuild. - * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure - to create .dynsbss and .rela.sbss sections. - (ppc_elf_adjust_dynamic_symbol): Put space for small data to be - copied from dynamic objects into .sbss. - (ppc_elf_size_dynamic_sections): Strip .rela.sbss if we don't - use it. Correct typo of .rela.sdata2. - (ppc_elf_finish_dynamic_symbol): Generate reloc to where we - put the data, which may now be in .sbss. - (ppc_elf_relocate_section): A SDAREL16 reloc can be in dynsbss. - (elf_backend_create_dynamic_sections): Define as - ppc_elf_create_dynamic_sections. +2000-02-10 Timothy Wall <twall@cygnus.com> - * elf32-ppc.c (ppc_elf_check_relocs): Don't emit R_PPC_REL* relocs - against _GLOBAL_OFFSET_TABLE_. - (ppc_elf_relocate_section): Don't emit R_PPC_REL32 relocs in - shared libraries which refer to local symbols. Make sure that the - test for allocating space for a reloc in a shared object is the - same as the test for emitting a reloc. + * coffswap.h (coff_swap_sym_in): Add hook SWAP_SYM_IN_POST to + allow final modifications of swapped-in symbol. + (coff_swap_sym_out): Ditto with SWAP_SYM_OUT_POST. + * coffcode.h (coff_write_relocs): Use macro + SECTION_RELATIVE_ABSOLUTE_SYMBOL_P if defined to determine whether + symbol index should be set to -1. -Thu Jan 29 15:55:35 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl> +Thu Feb 10 20:07:50 GMT 2000 Toshiyasu Morita (toshi.morita@sega.com) - * config.bfd (i[3456]-*-mingw32*): New target. - * acinclude.m4 (BFD_BINARY_OPEN): Check for mingw32. - * aclocal.m4, configure: Rebuild. + * coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG, + USESF1_REG, USESF2_REG, SETSF1_REG, SETSF2_REG): New macros. + * (sh_insn_sets_reg, sh_insn_sets_freg): New prototypes. + * (sh_insn_sets_reg, sh_insn_uses_or_sets_reg, sh_insns_sets_freg, + sh_insns_uses_or_sets_freg): New functions. + * (sh_insn_uses_reg, sh_insn_uses_freg): Use new macros. + * (sh_insns_conflict): Use new functions and new macros to + detect conflicts when two instructions both set same integer registers, + both set same fp register, and both set special register. -Wed Jan 28 13:41:26 1998 Ian Lance Taylor <ian@cygnus.com> +2000-02-09 Timothy Wall <twall@cygnus.com> - * elf.c (_bfd_elf_close_and_cleanup): Only check the strtab if we - have a bfd_object. + * coffgen.c (coff_real_object_p): Set arch/mach info prior to + swapping in sections, so that the swapping routines have access to + the arch/mach info. -Tue Jan 27 21:43:55 1998 Richard Henderson <rth@cygnus.com> +2000-02-08 Mark Elbrecht <snowball3@bigfoot.com> + + * coff-go32.c: Update comment. Update copyright. + +2000-01-27 Thomas de Lellis <tdel@windriver.com> - Sparc v9 ABI compliant PLT: - * elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries. - (plt_templates, sparc64_elf_build_plt_entry): Delete. - (LARGE_PLT_THRESHOLD): New define. - (GOT_RESERVED_ENTRIES): V9 ABI only uses 1. - (sparc64_elf_build_plt): New function. - (sparc64_elf_plt_entry_offset): Likewise. - (sparc64_elf_plt_ptr_offset): Likewise. - (sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to - contain the index for convenience. Skip the initial entries - in .rela.plt. - (sparc64_elf_size_dynamic_sections): Zero the allocated contents - memory for the benefit of .rela.plt. - (sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset. - (sparc64_elf_finish_dynamic_symbol): Kill template stuff. Use - sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc. - (sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt. - Call sparc64_elf_build_plt. - (elf_backend_want_got_plt): No. - (elf_backend_plt_readonly): No. - (elf_backend_plt_alignment): 8. + * syms.c (bfd_decode_symclass) + Two new class characters were added - 'V' and 'v'. The + meaning of 'W' is now restricted to just weak non-object + symbols. This allows differentiation between, for example, + weak functions vs weak objects. nm for example now dumps: + 'W' = weak global + 'w' = weak unresolved + 'V' = weak global object + 'v' = weak unresolved object - * elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab. - * elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it. - * elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it - to be called. + (bfd_is_undefined_symclass): New function. Return true if the + given symbol class represents and undefined/unresolved symbol. + + (bfd_symbol_info): Use bfd_is_undefined_symclass to check for + unresolved symbols. -Tue Jan 27 21:45:15 1998 Jeffrey A Law (law@cygnus.com) + * bfd-in2.h: Add prototype for bfd_is_undefined_symbol(). + + * elf32-arm.h (elf32_arm_get_symbol_type): If a symbol has the + STT_ARM_16BIT flag set, but it is not attached to a data object + return STT_ARM_16BIT so that it will be treated as code by the + disassembler. - * archures.c (bfd_mach_mips*): Add definitions for various MIPS - processors. - * cpu-mips.c (arch_info_struct): Add mips variants. - * bfd-in2.h: Rebuilt. +2000-01-27 Alan Modra <alan@spri.levels.unisa.edu.au> -Tue Jan 27 15:06:04 1998 Nick Clifton <nickc@cygnus.com> + * coff-i386.c (i3coff_object_p): Remove prototype. + Update copyright. - * coff-arm.c (coff_arm_relocate_section): Fix for PR14752 by - preserving the contents of t2a3_b_insn. + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Add const + to name. Update copyright. -Tue Jan 27 12:47:27 1998 Robert Lipe <robertl@dgii.com> + * trad-core.c (trad_unix_core_file_p): Cast core_regsec + assignment to avoid warning. Update copyright. - * config.bfd (i[3456]86-sco3.2v5*): ELF now the default. - (i[3456]86sco3.2v5*coff): New target. +2000-01-24 Robert Lipe (robertl@sco.com) -Mon Jan 26 15:41:30 1998 Ian Lance Taylor <ian@cygnus.com> + * coffcode.h (coff_write_object_contents): Get buff via bfd_malloc + instead of using GNU C extension. - * bfd-in2.h: Rebuild with changes to chew--tab expansion. +2000-01-21 Nick Clifton <nickc@cygnus.com> -Thu Jan 22 21:26:48 1998 Richard Henderson <rth@cygnus.com> + * libbfd.c (bfd_read): Do not attempt to get a negativly sized + amount from a bfd_in_memory structure. + (bfd_seek): Do not allow seeks past the end of a bfd_in_memory + structure. - * bfd.c (bfd_get_error_handler): Add orthogonal function. - * bfd-in2.h: Regenerate. +2000-01-14 Nick Clifton <nickc@cygnus.com> -Thu Jan 22 21:13:39 1998 Richard Henderson <rth@cygnus.com> + * linker.c (default_indirect_link_order): oops - fix incorrectly + applied patch from Tim Wall. - * tekhex.c (tekhex_write_object_contents): Check for no symbols. +2000-01-13 Timothy Wall (twall@tiac.net> -Wed Jan 21 21:19:03 1998 Ian Lance Taylor <ian@cygnus.com> + * coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx + = scnhsz, filhsz, relsz, aoutsz, etc) - * coff-i386.c (coff_i386_rtype_to_howto): If COFF_WITH_PE, don't - adjust addend for an output common symbol (from Jimmy Blair - <jimmyb@wrs.com>). If COFF_WITH_PE, adjust addend for PC relative - defined symbol to counteract adjustment made in generic relocation - code. + * coffswap.h: Ditto. + +2000-01-13 Nick Clifton <nickc@cygnus.com> - * dwarf2.c: Include sysdep.h, not stdio.h and stdlib.h. + * elf32-arm.h (elf32_thumb_to_arm_stub): Fix offset in branch to + interwork thumb to arm stub. -Wed Jan 21 21:16:06 1998 Manfred Hollstein <manfred@s-direktnet.de> +2000-01-13 Timothy Wall (twall@tiac.net> - * coff-m88k.c (GET_SCNDHR_NRELOC): Fix typo in macro name. - (GET_SCNDHR_NLNNO): Likewise. + * archures.c (bfd_octets_per_byte): New function: Return + target byte size. + (bfd_arch_mach_octets_per_byte): New function: Return target + byte size. -Mon Jan 19 12:49:52 1998 Ian Lance Taylor <ian@cygnus.com> + * section.c: Distinguish between octets and bytes for usage of + _cooked_size, _raw_size, and output_offset. Clarify + description of bfd_set_section_contents. - * cpu-sh.c (arch_info_struct): Correct next field of sh3e. + * bfd-in2.h: Regenerate. -Wed Jan 14 17:23:27 1998 Nick Clifton <nickc@cygnus.com> + * coffgen.c: Indicate that the offset parameter is in bytes, not + octets. + + * cofflink.c (bfd_coff_link_input_bfd): Use bfd_octets_per_byte + where appropriate to get the octet offset when calling + bfd_set_section_contents. + (bfd_coff_reloc_link_order): Ditto. + + * linker.c (bfd_generic_reloc_link_order): Ditto. + (_bfd_default_link_order): Ditto. + + * reloc.c (bfd_perform_relocation): Distinguish between octets + and bytes. Use octets when indexing into octet data; use bytes + when calculating target addresses. + (bfd_install_relocation): Ditto. + + * srec.c (srec_write_section): Ditto. + +2000-01-13 Nick Clifton <nickc@cygnus.com> + + * coff-mcore.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from + 3 to 2. This allows 4 byte sized sections, which is necessary for + dlltool to build funcitoning DLLs. + +2000-01-10 Philip Blundell <pb@futuretv.com> + + * config.bfd (arm*-*-linux-gnu*): Match instead of arm*-*-linux-gnu. + (arm*-*-conix*): New target. + +2000-01-10 Egor Duda <deo@logos-m.ru> + + * config.bfd: Include elf32_i386 vector to target list for cygwin + and mingw. + + * config.in: Undefine HAVE_WIN32_PSTATUS_T. + * configure.in: Test for structure win32_pstatus_t in + <sys/procfs.h> + * configure: Regenerate. + + * elf.c (elfcore_grok_win32pstatus): New function: process + win32_pstatus_t notes in elf core file. + (elfcore_grok_note): Detect win32_pstatus notes. - * elf32-m32r.c: Add macros to handle NOP insertion. +2000-01-03 Martin v. Loewis <loewis@informatik.hu-berlin.de> -Wed Jan 14 16:15:22 1998 Richard Henderson <rth@cygnus.com> + * elflink.c (_bfd_elf_link_record_dynamic_symbol): Process symbol + visibility. + * elflink.h (elf_link_add_object_symbols): Combine visibilities. + * elf.c (bfd_elf_print_symbol): Interpret st_other as visibility. - * xcofflink.c (xcoff_mark_symbol): Don't mark the absolute section. - (xcoff_mark): Likewise. - (xcoff_build_ldsyms): Mark absolute symbols. +1999-12-29 Richard Henderson <rth@cygnus.com> -Wed Jan 14 16:03:11 1998 Richard Henderson <rth@cygnus.com> + * elflink.h (bfd_elf,size_dynamic_sections): Don't export all + if no dynamic sections created. - * bout.c (b_out_write_object_contents): Sort symbols before output - to keep {CALL,BAL}NAME symbols adjacent. - (b_out_symbol_cmp): New function. +1999-12-27 Nick Clifton <nickc@cygnus.com> -Tue Dec 30 12:45:18 1997 Ian Lance Taylor <ian@cygnus.com> + * peicode.h (pe_bfd_object_p): Only define for PE format + targets. - * elf32-sparc.c (elf32_sparc_check_relocs): If -Bsymbolic, don't - allocate space for a PC relative reloc against a symbol which is - defined in a regular file. - (elf32_sparc_relocate_section): If -Bsymbolic, don't copy a PC - relative reloc against a symbol which is defined in a regular - file. +1999-12-17 Nick Clifton <nickc@cygnus.com> -Mon Dec 29 18:02:28 1997 Ian Lance Taylor <ian@cygnus.com> + * coff-i386.c (i3coff_object_p): Delete. + (i386coff_vec): Replace reference to i3coff_object_p with a + reference to coff_object_p. - From Jonathan Stone <jonathan@DSG.Stanford.EDU>: - * config.bfd (mips-dec-netbsd*): Add ECOFF vectors to - targ_selvecs. - (mips*el-*-netbsd*): Like mips-dec-netbsd*. - (mips*-*-netbsd*): New target. + * coff-mcore.c (pe_object_p): Delete. -Mon Dec 29 17:13:28 1997 H.J. Lu (hjl@gnu.org) + * peicode.h (pe_bfd_object_p): New function: Detect the + presence of a PE format COFF object file. Also detect and + warn about the presence of LINK6 format Image Library Format + object files. + +1999-12-16 Nick Clifton <nickc@cygnus.com> - * elflink.h (elf_link_assign_sym_version): Change error message - from "undefined version name" to "undefined versioned symbol - name". + * coff-arm.c (NUM_ELEM): New macro. + (NUM_RELOCS): New macro: The number of known ARM relocs. + (RTYPE2HOWTO): Return NULL if the reloc type is out of range. + (coff_arm_rtype_to_howto): Return NULL if the reloc type is out + of range. + (bfd_arm_process_before_allocation): Produce a warning message if + an out of range symbol index is encountered. -Mon Dec 29 11:41:16 1997 Nick Clifton <nickc@cygnus.com> +1999-12-14 Nick Clifton <nickc@cygnus.com> - * coff-arm.c (coff_arm_relocate_section): Fix typo from previous - delta. + * elflink.h (is_global_symbol_definition): New Function: Return + true iff the symbol is being given a global definition in this + bfd. + (elf_link_is_defined_archive_symbol): Do not bother processing + symbols for an archive element that has already been included + in the link. + Use is_global_symbol_definition(). + +1999-12-09 Andrew Cagney <cagney@cygnus.com> + + * config.bfd: Add support for sparc-*-netbsdelf* and + sparc-*-netbsdaout*. + +1999-12-13 Nick Clifton <nickc@cygnus.com> + + * elflink.h (elf_link_is_defined_archive_symbol): Check to see + if the symbol is in the common section. + +1999-12-10 Nick Clifton <nickc@cygnus.com> + + * elflink.h (elf_link_is_defined_archive_symbol): New + function: Decide if a symbol, in an archive map is there + because it is defined in the archive element, or because it is + just another common declaration of it. + (elf_link_add_archive_symbols): Use + elf_link_is_defined_archive_symbol to decide if an archive + element contain a reference to a common symbol should be + linked in or not. + +1999-12-10 Nick Clifton <nickc@cygnus.com> + + * elflink.h: Revert previous patch. + * targets.c: Revert previous patch. + * libbfd-in2.h: Revert previous patch. + * libbfd.h: Revert previous patch. + * elfxx-target.h: Revert previous patch. + * archive.c: Revert previous patch. + * aout-target.h: Revert previous patch. + * aout-tic30.h: Revert previous patch. + * bfd.c: Revert previous patch. + * coff-alpha.c: Revert previous patch. + * coff-rs6000.c: Revert previous patch. + * elf64-mips.c: Revert previous patch. + * ieee.c: Revert previous patch. + * libecoff.h: Revert previous patch. + * oasys.c: Revert previous patch. + * som.c: Revert previous patch. + * vms.c: Revert previous patch. + +1999-12-09 Nick Clifton <nickc@cygnus.com> + + * elflink.h (elf_link_add_archive_symbols): Add an archive + element even if contains a symbol which is currently only + considered to be a common. + + * targets.c (struct bfd_target): Add new field + _bfd_allow_commons_in_armap. + * bfd-in2.h:Regenerate. + + * libbfd-in2.h (_bfd_noarchive_allow_commons_in_armap): + Define. + (_bfd_archive_bsd_allow_commons_in_armap): Define. + * libbfd.h: Regenerate. -Tue Dec 23 17:01:10 1997 Ian Lance Taylor <ian@cygnus.com> + * elfxx-target.h: If using COFF archive map, override + definition of allow_commons_in_armap and replace with + bfd_false. - * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Declare. - * libbfd.h: Rebuild. + * archive.c (bfd_compute_and_write_armap): Do not place common + symbols into the archive map unless _bfd_allow_commons_in_armap + returns true. - * peicode.h (coff_swap_scnhdr_out): Set .reloc section to be - shared. Set stab* sections to be shared and read. Set .rsrc - section to be read and shared. + * aout-target.h (MY_allow_commons_in_armap): Define. + * aout-tic30.h (MY_allow_commons_in_armap): Define. + * bfd.c (bfd_allow_commons_in_armap): Define. + * coff-alpha.h (alpha_ecoff_allow_commons_in_armap): Define. + * coff-rs6000.h (xcoff_allow_commons_in_armap): Define. + * elf64-mips.c (bfd_elf64_allow_commons_in_armap): Define. + * ieee.c (ieee_ecoff_allow_commons_in_armap): Define. + * libecoff.h (_bfd_ecoff_allow_commons_in_armap): Define. + * oasys.c (oasys_allow_commons_in_armap): Define. + * som.c (som_allow_commons_in_armap): Define. + * vms.c (vms_allow_commons_in_armap): Define. -Mon Dec 22 13:20:57 1997 Ian Lance Taylor <ian@cygnus.com> +1999-12-07 Jim Blandy <jimb@cygnus.com> - * Makefile.am: Rebuild dependencies. - (ALL_MACHINES_CFILES): Add dwarf2.lo. - (ALL_MACHINES_CFILES): Add dwarf2.c. - * Makefile.in: Rebuild. + Add support for SSE registers in ELF core files. + * elf.c (elfcore_make_note_pseudosection): New function. + (elfcore_grok_prfpreg): Use it. + (elfcore_grok_prxfpreg): New function. + (elfcore_grok_note): Recognize Linux NT_PRXFPREG notes. - * coff-arm.c: Don't include obstack.h. +1999-12-03 Ian Lance Taylor <ian@zembu.com> -Mon Dec 22 13:04:33 1997 Joel Sherrill <joel@oarcorp.com> + * elf32-mips.c (mips_elf_calculate_relocation): Divide R_MIPS_PC16 + value by 4 before storing it back in the field. From + Koundinya. K <kk@ddeorg.soft.net>. - * config.bfd (i[3456]86*-go32-rtems*): Fix to be the same as - i[3456]86-go32. +Tue Nov 30 22:41:14 1999 Jeffrey A Law (law@cygnus.com) -Thu Dec 18 16:01:25 1997 Doug Evans <devans@canuck.cygnus.com> + * archures.c (bfd_mach_am33): Define. + * bfd-in2.h: Rebuilt. + * cpu-m10300.c (bfd_am33_arch): Add to the mn103 architecture list + * elf-m10300.c (mn10300_elf_relax_section): Handle am33 instructions. + (compute_function_info): Handle additional registers saved by + movm on the am33. + (elf_mn10300_mach): Handle E_MN10300_MACH_AM33. + (_bfd_mn10300_elf_final_write_processing): Handle bfd_mach_am33. - * configure: Regenerate to get @SHELL@ substituted. +1999-11-29 Jim Blandy <jimb@cygnus.com> -Wed Dec 17 09:45:09 1997 Nick Clifton <nickc@cygnus.com> + * elf.c (bfd_get_elf_phdrs, bfd_get_elf_phdr_upper_bound): New + functions. + * bfd-in2.h (bfd_get_elf_phdrs, bfd_get_elf_phdr_upper_bound): New + declarations. - * coff-arm.c (coff_arm_relocate_section): Only look at section - owner if there is one. +1999-11-27 Michael Meissner <meissner@cygnus.com> - * elf.c (assign_file_positions_for_segments): Fail if there is not - enough room for the program headers. (PR14186) + * reloc.c (BFD_RELOC_ALPHA_USER_LITERAL): New relocation for + internal use within gas for alpha explicit relocations. + (BFD_RELOC_ALPHA_USER_LITUSE_BASE): Ditto. + (BFD_RELOC_ALPHA_USER_LITUSE_BYTOFF): Ditto. + (BFD_RELOC_ALPHA_USER_LITUSE_JSR): Ditto. + (BFD_RELOC_ALPHA_USER_GPDISP): Ditto. + (BFD_RELOC_ALPHA_USER_GPRELHIGH): Ditto. + (BFD_RELOC_ALPHA_USER_GPRELLOW): Ditto. -Tue Dec 16 08:09:56 1997 Gavin Koch <gavin@cygnus.com> + * elf64-alpha.c (elf64_alpha_reloc_map): Add mappings for + BFD_RELOC_ALPHA_USER_*. - * elf.c (_bfd_elf_find_nearest_line): Call - _bfd_dwarf2_find_nearest_line first. - * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Same. - * dwarf2.c: New file; implement _bfd_dwarf2_find_nearest_line. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. -Mon Dec 15 16:08:52 1997 Nick Clifton <nickc@cygnus.com> +1999-11-26 Fred Fish <fnf@cygnus.com> - * archures.c: Add bfd_mach_m32r. + * elf.c (elfcore_read_notes): Add prototype for static function. + (_bfd_elf_make_section_from_phdr): Renamed from bfd_section_from_phdr. + (bfd_section_from_phdr): Replacement function that calls + _bfd_elf_make_section_from_phdr for generic segment types and + backend fucntion pointed to by elf_backend_section_from_phdr for + backend specific segment types. + (_bfd_elfcore_section_from_phdr): Remove call to elfcore_read_notes, + now called by _bfd_elf_make_section_from_phdr. Note that this func + is now just a stub between the caller and bfd_section_from_phdr. + + * elf-bfd.h (struct elf_backend_data): Add new function pointer + elf_backend_section_from_phdr. + (elf_backend_section_from_phdr): Add prototype. + + * elfxx-target.h (elf_backend_section_from_phdr): Define default. + (elfNN_bed): Add elf_backend_section_from_phdr. -Mon Dec 15 16:11:22 1997 Fred Fish <fnf@cygnus.com> +1999-11-25 Nick Clifton <nickc@cygnus.com> - * coffcode.h (ALIGN_SECTIONS_IN_FILE): Define if I960 not defined. - (coff_compute_section_file_positions): Use ALIGN_SECTIONS_IN_FILE - to decide when to align the file sections for paging. + * coff-arm.c (bfd_arm_get_bfd_for_interworking): Add + SEC_CODE and SEC_READONLY flags to glue sections. -Mon Dec 15 15:01:15 1997 Nick Clifton <nickc@cygnus.com> + * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Add + SEC_CODE and SEC_READONLY flags to glue sections. - * elf32-m32r.c (m32r_elf_object_p): New Function. - (m32r_elf_final_write_processing): New Function. - (m32r_elf_set_private_flags): New Function. - (m32r_elf_copy_private_bfd_data): New Function. - (m32r_elf_merge_private_bfd_data): New Function. - (m32r_elf_print_private_bfd_data): New Function. - (elf_backend_object_p): Point to m32r_object_p. - (elf_backend_final_write_processing): Point to - m32r_elf_final_write_processing. - (bfd_elf32_bfd_copy_private_bfd_data): Point to - m32r_elf_copy_private_bfd_data. - (bfd_elf32_bfd_merge_private_bfd_data): Point to - m32r_elf_merge_private_bfd_data. - (bfd_elf32_bfd_set_private_flags): Point to - m32r_elf_set_private_bfd_data. - (bfd_elf32_bfd_print_private_bfd_data): Point to - m32r_elf_print_private_bfd_data. +1999-11-20 Nick Clifton <nickc@cygnus.com> + * coff-mcore.c (coff_mcore_relocate_section): Fix typo in previous + delta. - * bfd-in2.h (bfd_mach_m32r): Add identifier for M32R architecture - machines. +1999-11-19 Catherine Moore <clm@cygnus.com> -Fri Dec 12 11:30:28 1997 Brendan Kehoe <brendan@canuck.cygnus.com> + * elf32-m68k.c (elf_cpu32_plt0_entry): Fix encoding. + (elf_cpu32_plt_entry): Likewise. - * configure: Only build libbfd shared if --enable-shared's value - was `yes', or was set to `*bfd*'. - * aclocal.m4: Likewise. - * NOTE: this really needs to be fixed in libtool/libtool.m4, the - original source of this bit of code. It's not clear what the best fix - would be, though. +1999-11-18 Nick Clifton <nickc@cygnus.com> -Thu Dec 11 17:48:11 1997 Richard Henderson <rth@cygnus.com> + * coff-mcore.c (coff_mcore_rtype_to_howto): Special case handling + for RVA relocs. + (coff_mcore_relocate_section): Initialise addend to 0. + Special case processing of RVA reloc. - * linker.c (generic_link_add_symbol_list): Always init udata.p so - that the generic relaxation code can function when input and output - file formats are mismatched. +1999-11-17 Richard Henderson <rth@cygnus.com> -Thu Dec 11 01:02:18 1997 Ian Lance Taylor <ian@cygnus.com> + * elf-bfd.h (struct elf_backend_data): Reorder collect and + type_change_ok; add sign_extend_vma. + * elf32-mips.c (elf_backend_sign_extend_vma): Define. + * elfcode.h (elf_swap_symbol_in): Mind be->sign_extend_vma. + (elf_swap_shdr_in, elf_swap_phdr_in): Likewise. + * elfxx-target.h (elf_backend_sign_extend_vma): Default. + (elfNN_bed): Follow struture changes. - * coff-sh.c (bfd_coff_small_swap_table): Initialize new fields. +1999-11-09 Ian Lance Taylor <ian@zembu.com> - * elf.c (assign_file_positions_for_segments): For a loadable - section, make sure that the load address is correct relative to - the load address of the segment plus the size of the segment so - far. + * libbfd.c (bfd_read): Check result of read against desired result + using !=, not <. + (_bfd_generic_get_section_contents): Set bfd_error if the seek is + invalid compared to the section size. - * coffcode.h (_coff_link_output_has_begun): Make static. - (_coff_final_link_postscript): Likewise. + * ieee.c (ieee_slurp_debug): Get the length of the debug + information right if there is no data part. -Wed Dec 10 23:37:11 1997 Ian Lance Taylor <ian@cygnus.com> +Tue Nov 2 01:44:41 1999 Jeffrey A Law (law@cygnus.com) - * elflink.h (elf_link_input_bfd): Handle a relocateable link in - which a relocation refers to an indirect or warning symbol. + * som.c (som_fixup_formats): Improve handling of R_AUX_UNWIND, + R_LINETAB, R_LINETAB_ESC, and R_COMMENT. -Wed Dec 10 11:15:55 1997 Nick Clifton <nickc@cygnus.com> +1999-10-28 Ian Lance Taylor <ian@zembu.com> - * coff-arm.c (bfd_arm_coff_final_link): Function deleted. - (coff_arm_final_link_postscript): New function. - (coff_arm_link_output_has_begun): New function. + * elflink.h (elf_bfd_final_link): Make last_local signed. - * libcoff.h (struct bfd_coff_backend_data): Add new fields: - _bfd_coff_link_output_has_begun and - _bfd_coff_final_link_postscript. Add new macros: - bfd_coff_link_output_has_begun() and - bfd_coff_final_link_postscript(). +1999-10-27 Ian Lance Taylor <ian@zembu.com> - * cofflink.c (_bfd_coff_final_link): Insert calls to - bfd_coff_link_output_has_begun() and - bfd_coff_final_link_postscript(). + * stabs.c (_bfd_link_section_stabs): Make sure .stabstr section + starts with a zero. - * coffcode.h: Add two new fields to bfd_coff_backend_data - structure: _bfd_coff_link_output_has_begun and - _bfd_coff_final_link_postscript. Add default initialisers for - these fields. Add overridable aliases for the coff swap functions - in the backend data structure. +Sat Oct 23 17:36:12 1999 Andrew Cagney <cagney@b1.cygnus.com> - * elf32-v850.c: Update with patches from the branch to fix - HI16_S/LO16 reloc pairs. + * archures.c: Add definitions bfd_mach_d10v, bfd_mach_d10v_ts2 and + bfd_mach_d10v_ts3. + * cpu-d10v.c (d10v_ts3_info, d10v_ts2_info): Add. + * bfd-in2.h: Regenerate. + +1999-10-15 Andrew Haley <aph@cygnus.com> -Tue Dec 9 11:37:53 1997 Andrew Cagney <cagney@b1.cygnus.com> + * dwarf1.c (parse_die): Fail to parse a die if its length is zero. - * archures.c (bfd_mach_mips*): Define. - (bfd_default_scan): For 3000 and 4000 replace magic constant with - macro. +Sun Oct 17 17:19:00 1999 Jeffrey A Law (law@cygnus.com) - * cpu-mips.c (N): Define. - (bfd_mips_arch, arch_info_struct): Re-write using macro N, replace - numbers with bfd_mach_mips* macros. + * libhppa.h (bfd_hppa_insn2fmt): Change to return an int. -Fri Dec 5 11:13:46 1997 Nick Clifton <nickc@cygnus.com> +1999-10-08 Ian Lance Taylor <ian@zembu.com> - * elf32-v850.c (v850_elf_reloc, v850_elf_store_addend_in_insn, - v850_elf_relocate_section): Fix PR2 14180 and 14181 - (v850_elf_section_from_bfd_section, v850_elf_symbol_processing, - v850_elf_add_symbol_hook, v850_elf_link_output_symbol_hook, - v850_elf_section_from_shdr, v850_elf_fake_sections): New functions - (for PR14180) to create and handle special common sections. - (v850_elf_final_link_relocate): Fix HI16 and HI16_S relocations - which have data stored in the instructions. PR14258. + * elflink.h (elf_merge_symbol): When overriding a weak symbol with + a defined symbol in a shared library, clear the DEF_DYNAMIC flag + too. -Tue Dec 2 10:26:16 1997 Nick Clifton <nickc@cygnus.com> +Fri Oct 8 13:03:45 1999 Geoffrey Keating <geoffk@cygnus.com> - * coff-arm.c (TARGET_UNDERSCORE): Revert back to '_' - (USER_LABEL_PREFIX): Revert back to '_' + * elf32-mips.c (mips_elf_calculate_relocation): R_MIPS_LITERAL + relocs also need the GP value. + (_bfd_mips_elf_relocate_section): Handle unpaired LO16 relocs + properly. Handle sign-extension for R_MIPS_64 correctly. Correct + the GP value for R_MIPS_LITERAL relocs too. Handle + R_MIPS_64 relocs properly on big-endian MIPS. + (mips_elf_sign_extend): Behave properly with 'long long'. + (mips_elf_highest): Correct typo. - * config.bfd (targ_cpu): Add support for Thumb target. +Mon Oct 4 17:49:45 1999 Nick Clifton <nickc@cygnus.com> -Mon Dec 1 20:24:18 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + * cpu-m32r.c (arch_info_struct): New static global. + (bfd_m32r_arch): Refer to it. + * elf32-m32r.c (m32r_elf_object_p): Recognize E_M32RX_ARCH. + (m32r_elf_print_private_bfd_data): Ditto. + (m32r_elf_final_write_processing): Handle bfd_mach_m32rx. + * archures.c (bfd_mach_m32rx): Define it. + * bfd-in2.h: Rebuild. - * coff-sh.c (sh_coff_howtos): Add R_SH_SWITCH8 entry. - (get_symbol_value): Handle R_SH_SWITCH8. - (sh_relax_delete_bytes): Likewise. +1999-09-28 Fred Fish <fnf@cygnus.com> + + * targets.c (cisco_core_vec): Replaced with two new vecs ... + (cisco_core_big_vec): Add new bigendian vec. + (cisco_core_little_vec): Add new little endian vec. + + * cisco-core.c (CRASH_INFO): Fixed offset replaced with ... + (crash_info_locs): Add array of possible offsets. + (MASK_ADDR): Mask to apply to crash info offset. + (crashinfo_external): Add textbase, database, bssbase and + turn into a typedef. + (cisco_core_file_validate): Renamed from cisco_core_file_p. + Many small changes to account for additional hardware versions. + Pick a reasonable size for ".reg" section. Add a ".crash" + section to allow access to crashinfo_external struct. + (cisco_core_file_p): New version of this function that + iterates over crash_info_locs, calling cisco_core_file_validate. + (cisco_core_vec): Old big endian only vec replaced with ... + (cisco_core_big_vec): Add big endian version. + (cisco_core_little_vec): Add little endian version. + + * configure.in (cisco_core_vec): Split to two new vectors ... + (cisco_core_big_vec): New target vector. + (cisco_core_little_vec): New target vector. + * configure: Regenerate. + * config.bfd (targ): For m68*-*-aout* targ, change cisco_core_vec + to cisco_core_big_vec in targ_selvecs. -Wed Nov 26 14:13:34 1997 Nick Clifton <nickc@cygnus.com> +1999-09-28 Geoffrey Keating <geoffk@cygnus.com> - * coff-arm.c (TARGET_UNDERSCORE): Changed to match definition in - gcc/config/arm/semi.h + * elf32-mips.c (mips_elf_relocate_hi16): Unused, delete. + (mips_elf_relocate_got_local): Unused, delete. + (mips_elf_relocate_global_got): Unused, delete. - * coffcode.h (coff_slurp_symbol_table): Add ARM and Thumb symbol - classes. +1999-09-24 Fred Fish <fnf@cygnus.com> -Sun Nov 23 16:02:58 1997 Andrew Cagney <cagney@b1.cygnus.com> + * elf.c (bfd_section_from_phdr): Add typename variable. Use p_type + to initialize it to something meaningful. Then use it to generate + more useful segment names. - * freebsd.h (SWAP_MAGIC): Read magic number little and not big - endian. +Sun Sep 19 12:16:47 1999 Jeffrey A Law (law@cygnus.com) -Wed Nov 26 09:30:37 1997 Nick Clifton <nickc@cygnus.com> + * som.c (NO_PCREL_MODES): Define if the system does not define + R_SHORT_PCREL_MODE. + (hppa_som_gen_reloc_type): Handle both short and long pcrel branches. + (som_write_fixups): Eliminate redundant pcrel mode relocs. Handle + R_LONG_PCREL_MODE and R_SHORT_PCREL_MODE + * libhppa.h (dis_assemble_22): New function. + (bfd_hppa_insn2fmt): Handle long branch. - * coffcode.h (coff_mkobject_hook): Only set private flags for non - PE ARM ports. + * libhppa.h (bfd_hppa_insn2fmt): Decode and handle formats found + in PA2.0. -Tue Nov 25 15:33:23 1997 Richard Henderson <rth@cygnus.com> +1999-09-17 Alan Modra <alan@spri.levels.unisa.edu.au> - * binary.c (binary_set_section_contents): Also ignore NEVER_LOAD - sections. + * coff-i386.c (coff_i386_reloc_type_lookup): Support BFD_RELOC_16, + BFD_RELOC_16_PCREL, BFD_RELOC_8, BFD_RELOC_8_PCREL relocs. + (reloc_howto_type howto_table): Tidy comments and whitespace. -Tue Nov 25 10:55:36 1997 Nick Clifton <nickc@cygnus.com> +1999-09-17 Nick Clifton <nickc@cygnus.com> - * coff-arm.c (coff_arm_bfd_merge_private_bfd_data): Do not - complain if inout and output formats differ. + * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Undo + previous delta. Set sec->gc_mark instead. -Tue Nov 25 11:26:27 1997 Ian Lance Taylor <ian@cygnus.com> +Thu Sep 16 11:21:13 1999 Catherine Moore <clm@cygnus.com> - * Makefile.am (BFD32_BACKENDS): Remove tekhex.lo. - (BFD32_BACKENDS_CFILES): Remove tekhex.c. - * Makefile.in: Rebuild. - * aclocal.m4, configure, src/Makefile.in: Rebuild with current - automake and autoconf. + * elf32-m68k.c (elf_cpu32_plt0_entry): Use a1 instead of a0. + (elf_cpu32_plt_entry): Likewise. - * coff-arm.c (arm_allocate_interworking_sections): Fix typo - (COFF_WITH_PR to COFF_WITH_PE). +Thu Sep 16 10:48:17 1999 Jeffrey A Law (law@cygnus.com) -Mon Nov 24 15:47:49 1997 Nick Clifton <nickc@cygnus.com> + * elf-hppa.h (elf_hppa_final_write_processing): Turn on TRAPNIL. - * coff-arm.c: Make variables and some functions static, so that - this file can be included in multiple object files. - (coff_arm_bfd_final_link): Fix minor bug. + * elf-hppa.h (elf_hppa_final_link): If unable to find __gp in the + symbol table, then just compute a suitable value (but do not + create a __gp symbol). -Sat Nov 22 15:16:00 1997 Nick Clifton <nickc@cygnus.com> + * elf-hppa.h (elf_hppa_relocate_section): Allow undefined + symbols when building shared libraries. + (elf_hppa_final_link_relocate): Correct handling of PCREL + relocations against undefined symbols. - * coff-arm.c: Add support for PIC and APCS-FLOAT type binaries. +1999-09-16 Nick Clifton <nickc@cygnus.com> - * coffcode.h: Add support for PIC and APCS-FLOAT type binaries. + * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Mark + interworking sections as linker created so that they will not + be removed by garbage collection. -Sat Nov 22 16:06:56 1997 Klaus Kaempf <kkaempf@progis.de> +Wed Sep 15 02:31:57 1999 Jeffrey A Law (law@cygnus.com) - * evax-emh.c (_bfd_evax_write_emh): Use alloca instead of strdup. + * elf-hppa.h (elf_hppa_final_link): Revamp __gp handling. + (elf_hppa_final_link_relocate): Consistently create an absolute + address, then subtract out the value of __gp. -Sat Nov 22 12:29:30 1997 Ian Lance Taylor <ian@cygnus.com> +1999-09-14 Michael Meissner <meissner@cygnus.com> - * sunos.c (sunos_add_one_symbol): When overriding a defined - symbol, set it to undefined, not new. + * configure.in (Canonicalization of target names): Remove adding + ${CONFIG_SHELL} in front of $ac_config_sub, since autoconfig 2.14 + generates $ac_config_sub with a ${CONFIG_SHELL} already. + * configure: Regenerate. - * elf32-sh.c (sh_elf_relax_delete_bytes): Don't kill LABEL - relocs. +1999-09-14 Nick Clifton <nickc@cygnus.com> -Fri Nov 21 14:14:22 1997 Richard Henderson <rth@cygnus.com> + * elf32-m32r.c (ELF_MAXPAGESIZE): Change to 0x1 (at request of + Mitsubishi). - * coff-sh.c (sh_relax_section): Force sign extention of USES r_offset. - (sh_relax_delete_bytes): Don't kill LABEL relocs. +Mon Sep 13 20:01:47 1999 Jeffrey A Law (law@cygnus.com) -Mon Nov 17 15:08:38 1997 Jeffrey A Law (law@cygnus.com) + * elf-hppa.h (elf_hppa_record_segment_addrs): New function. + (elf_hppa_final_link): Initialize text_segment_base and + data_segment_base. + (elf_hppa_final_link_relocate): Handle SEGREL relocations. - * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Fix typo. - (mn10300_elf_relax_section): Likewise. + * elf-hppa.h (elf_hppa_final_link): Remove unused variables. + (elf_hppa_final_link_relocate): Likewise. + (elf_hppa_relocate_insn): Likewise. + (elf_hppa_relocate_section): Initialize HOWTO. -Sat Nov 15 15:36:07 1997 Fred Fish <fnf@cygnus.com> +1999-09-13 Donn Terry <donn@interix.com> - * peicode.h (coff_swap_aouthdr_in): Cast second arg of - bfd_h_get_* calls to "bfd_byte *". + * coffcode.h (styp_to_sec_flags): Further refinement of COMDAT + handling to support both GNU and MS objects. -Tue Nov 11 10:37:23 1997 Jeffrey A Law (law@cygnus.com) + * coffcode.h (coff_write_object_contents): Don't check reloc_count + when determining whether to set F_RELFLG. - * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field - "movm_stack_size". - (mn10300_elf_relax_section): Include stack space for register saves - in the imm8 field of a "call" instruction. - (compute_function_info): Determine how much stack is allocated by - the movm instruction. Fix typo. - (elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size. +1999-09-13 Philip Blundell <pb@nexus.co.uk> -Mon Nov 10 14:32:40 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't crash if - a version dependency could not be found. - -Tue Nov 4 12:05:56 1997 Klaus K"ampf <kkaempf@progis.de> - - * configure.com: Get version info from configure.in - -Fri Oct 24 11:15:58 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz> - - * elf64-sparc.c (sparc64_elf_merge_private_bfd_data): - New function. Avoid mixing US1 and HAL R1 code. - Set resulting memory ordering to the strongest one used. - (sparc64_elf_object_p): Set bfd_mach correctly. - -Thu Oct 23 14:09:33 1997 Richard Henderson <rth@cygnus.com> - - * elf64-sparc.c (sparc64_elf_howto_table): Add UA64 & UA16. - (sparc64_elf_check_relocs): Handle them. - (sparc64_elf_relocate_section): Likewise. Before emitting a dyn reloc, - check alignment and transmute R_SPARC_x<->R_SPARC_UAx. - -Thu Oct 23 00:53:14 1997 Richard Henderson <rth@dot.cygnus.com> - - * configure.in (sparc*-*-linux*): Use trad-core and ... - * hosts/sparclinux.h: New file. - -Thu Oct 23 00:25:29 1997 Richard Henderson <rth@dot.cygnus.com> - - * config.bfd (sparc64-*-linux*): New target. - - * elf-bfd.h (struct elf_backend_data): Add plt_alignment member. - * elflink.c (_bfd_elf_create_got_section): Set .got alignment based - on arch_size. - (_bfd_elf_create_dynamic_sections): Likewise for .rel* sections. - Set .plt alignment from new plt_alignment. - * elflink.h (elf_link_create_dynamic_sections): Set version section - alignment to LOG_FILE_ALIGN. - * elfxx-target.h (elf_backend_plt_alignment): Provide default. - (elfXX_bed): Init plt_alignment. - - * elf64-sparc.c (sparc64_elf_check_relocs, - sparc64_elf_adjust_dynamic_symbol, sparc64_elf_size_dynamic_sections, - sparc64_elf_adjust_dynindx, sparc64_elf_finish_dynamic_symbol, - sparc64_elf_finish_dynamic_sections): New functions. - (sparc64_elf_howto_table): Fix a few name strings. - (ELF_DYNAMIC_INTERPRETER): New definition. - (sparc64_elf_relocate_section): Handle shared libraries. - - * elf64-sparc.c (struct plt_template, plt_*_header, plt_*_entry, - sparc64_elf_build_plt_entry, sparc64_elf_finish_dynamic_symbol): - PLT definitions sparc64-linux originally choose. These will go - away soon in favour of the official abi definitions. - -Wed Oct 22 16:08:45 1997 Ian Lance Taylor <ian@cygnus.com> - - * coff-sh.c (coff_small_object_p): New static function. - (coff_small_new_section_hook): New static function. - (bfd_coff_small_swap_table): New static const structure. - (coff_small_close_and_cleanup): Define. - (coff_small_bfd_free_cached_info): Define. - (coff_small_get_section_contents): Define. - (coff_small_get_section_contents_in_window): Define. - (shcoff_small_vec): New static structure. - (shlcoff_small_vec): New static structure. - * targets.c (bfd_target_vector): Add shcoff_small_vec and - shlcoff_small_vec. - * config.bfd (sh-*-elf*): Add shcoff_small_vec and - shlcoff_small_vec to targ_selvecs. - (sh-*-*): Likewise. - * configure.in: Add shcoff_small_vec and shlcoff_small_vec cases. - * configure: Rebuild. + * elf32-arm.h (elf32_arm_final_link_relocate): Don't range-check + PC24 relocs if the target is an undefined weak symbol. + (arm_add_to_rel): Fix compiler warning. + (elf32_arm_plt0_entry): Correct comments. + +1999-09-13 Alan Modra <alan@spri.levels.unisa.edu.au> -Mon Oct 20 15:01:27 1997 Klaus K"ampf <kkaempf@progis.de> + * elfcode.h (write_relocs): Check for the_bfd NULL when handling + an absolute symbol in REL relocs. - * evax-egsd.c: Weak symbols are global. +Sun Sep 12 23:47:58 1999 Jeffrey A Law (law@cygnus.com) - * evax-emh.c: Use proper casts. + * elf-hppa.h (elf_hppa_final_link_relocate): Handle SECREL32. + Stub SEGREL32. Return an error for any relocation not handled. - * evax-egsd.c (_bfd_evax_write_egsd): Remove unneeded uname. +1999-09-12 Ian Lance Taylor <ian@zembu.com> - * evax-egsd.c: Section names and symbols have different - length restrictions. Add length parameter to - _bfd_evax_length_hash_symbol. - * evax-etir.c: Likewise. - * evax-misc.c (_bfd_evax_length_hash_symbol): Add length - parameter. - * evax.h (EOBJ_S_C_SECSIZ): Define. + * cofflink.c (coff_link_add_symbols): Look for special MSVC string + constant symbols, and avoid multiple definition errors on them. - * evax-alpha.c: Remove duplicate test. +1999-09-12 Donn Terry <donn@interix.com> - * evax-emh.c: SYS$ functions are upper-case. + * libbfd.c (bfd_log2): Rewrite to avoid infinite loop if most + significant bit is set. - * evax-egsd.c: Create separate sections for common symbols. - * evax-etir.c: Don't output common section. - * evax.h: Bump up section count. +1999-09-11 Ian Lance Taylor <ian@zembu.com> - * configure.com: Use 64bit integers with DEC C. + * coff-ppc.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define. - * evax-egsd.c: Make section flags dec c compatible. + * elfcode.h (write_relocs): Handle an absolute symbol in REL + relocs as we do for RELA relocs. -Mon Oct 20 09:38:31 1997 Jeffrey A Law (law@cygnus.com) +1999-09-11 Donn Terry <donn@interix.com> - * som.c (normalize): Delete function. - (som_bfd_ar_write_symbol_stuff): New parameter elength. All callers - changed. Use passed in elength to determine size of the extended - name table instead of computing it again. + * libpei.h (_bfd_pei_final_link_postscript): Declare. + (coff_final_link_postscript): Define. + * peigen.c (_bfd_pei_swap_aouthdr_out): Don't set value for data + directory entries here. + (_bfd_pei_final_link_postscript): New function. -Sun Oct 19 23:36:21 1997 Jim Wilson <wilson@cygnus.com> + * peigen.c (_bfd_pei_swap_scnhdr_out): Remove code which sets + section flags based on the section name. - * peicode.h (coff_swap_scnhdr_out): Use |= not = to set - IMAGE_SCN_MEM_READ for an unrecognized section. + * peicode.h (coff_swap_scnhdr_in): If COFF_IMAGE_WITH_PE, the + get the overflow of the s_nlnno field from the s_nreloc field. + * peigen.c (_bfd_pei_swap_scnhdr_out): If doing a final link, swap + the s_nlnno overflow of the .text section into the s_nreloc + field. -Sun Oct 19 21:04:56 1997 Jeffrey A Law (law@cygnus.com) + * peigen.c (add_data_entry): Declare. + (pei_swap_aouthdr_out): Get image size right. Set linker version + more intuitively. + (pei_swap_scnhdr_out): Test for UNINIT section, not .bss. + (pe_print_idata): Code cleanup, print more info, get rid of (now) + extraneous ImageBase. + (pe_print_edata): Likewise. + (pe_print_pdata): Likewise. Print exception entries. + (pe_print_reloc): Likewise. Print MIPS_JMPADDR. + (tbl): Make const, add "UNKNOWN". + (_bfd_pe_print_private_bfd_data_common): Print timestamp. + (_bfd_pe_bfd_copy_private_bfd_data_common): Don't copy deleted + section data directory. + (_bfd_pe_bfd_copy_private_section_data): Copy pe_flags. + + * libpei.h (_bfd_pe_bfd_get_symbol_info): Declare. + * peigen.c (_bfd_pe_bfd_get_symbol_info): New function. + * peicode.h (coff_get_symbol_info): Define. + + * config.bfd (i[3456]86-*-interix*): Set targ_cflags to + -DSTRICT_PE_FORMAT. + * coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather + than __INTERIX. + (coff_classify_symbol): Re-revert 1999-08-08 patch if + STRICT_PE_FORMAT. + + * libpei.h: New file, broken out of peicode.h. + * peigen.c: New file, broken out of peicode.h. + * peicode.h: A bunch of code moved out to libpei.h and peigen.c. + * configure.in: Add peigen.lo to list of files required for each + PE target. + * Makefile.am: Rebuild dependencies. + (BFD32_BACKENDS): Add peigen.lo. + (BFD32_BACKENDS_CFILES): Add peigen.c. + (SOURCE_HFILES): Add libpei.h. + * configure, Makefile.in: Rebuild. - * som.c (som_bfd_ar_write_symbol_stuff): Account for trailing - '/' in the extended name table. + * peicode.h (coff_swap_scnhdr_in): Don't check for a special + section name of _BSS; check IMAGE_SCN_CNT_UNINITIALIZED_DATA + instead. Don't clear the s_paddr field for an uninitialized data + section. -Fri Oct 17 00:04:13 1997 Richard Henderson <rth@cygnus.com> + * coffcode.h (coff_mkobject_hook): Set timestamp field in + coff_data_type to f_timdat. + * peicode.h (pe_mkobject_hook): Likewise. + + * peicode.h (coff_swap_filehdr_in): Check the NT executable magic + number if COFF_IMAGE_WITH_PE. + + * coffcode.h (coff_mkobject_hook): If COFF_WITH_PE, set HAS_DEBUG + to the reverse of IMAGE_FILE_DEBUG_STRIPPED. + (coff_write_object_contents): Set IMAGE_FILE_DEBUG_STRIPPED if + there is no SEC_DEBUGGING section. + * peicode.h (pe_mkobject_hook): Set HAS_DEBUG to the reverse of + IMAGE_FILE_DEBUG_STRIPPED. + + * pe-i386.c (COFF_LONG_FILENAMES): Define. + (COFF_SECTION_ALIGNMENT_ENTRIES): Define. + * pei-i386.c (COFF_LONG_FILENAMES): Define. + (COFF_SECTION_ALIGNMENT_ENTRIES): Define. + + * coffswap.h (IMAGE_BASE): Don't define. + * pei-arm.c (IMAGE_BASE): Don't define. + * pei-i386.c (IMAGE_BASE): Don't define. + * pei-mcore.c (IMAGE_BASE): Don't define. + * pei-ppc.c (IMAGE_BASE): Don't define. + + * cofflink.c (_bfd_coff_link_input_bfd): When writing out a + symbol, switch on the class when determining whether to modify the + value. For PE, don't modify the value of a C_FCN symbol not named + .bf. + + * libbfd-in.h (_bfd_abort): Declare. + (abort): Define. + * bfd.c (_bfd_abort): New function. + * libbfd.h: Rebuild. - * elflink.h (elf_link_assign_sym_version): For explicitly versioned - symbols, check globals list before matching on locals. + * coffcode.h (coff_set_alignment_hook): Delete POWERPC_LE_PE + special handling. -Thu Oct 16 08:17:06 1997 Michael Meissner <meissner@cygnus.com> + * cofflink.c (_bfd_coff_link_input_bfd): If a symbol is stripped, + don't write out the associated line numbers. - * peicode.h (coff_swap_scnhdr_out,pe_print_idata): Fix mangled - patch. + * cofflink.c (_bfd_coff_write_global_sym): Handle section symbol + aux entries. -Wed Oct 15 13:45:10 1997 Ian Lance Taylor <ian@cygnus.com> + * cofflink.c (coff_link_add_symbols): Don't warn about symbol type + changes when the base type is unknown. - * peicode.h (pe_mkobject_hook): Set DLL flag. - (pe_bfd_copy_private_bfd_data): Copy DLL flag. + * coffgen.c (coff_print_symbol): Fix printing of aux record for + function symbols. - * peicode.h (coff_swap_scnhdr_out): Set IMAGE_SCN_MEM_DISCARDABLE - for .stab* sections. Replace strlen of constant strings with - number. + * syms.c (BSF_DEBUGGING_RELOC): Define. + * coffcode.h (coff_slurp_symbol_table): If PE, set BSF_DEBUGGING + for C_FCN/C_EFCN symbols, and set BSF_DEBUGGING_RELOC for such + symbols named .bf. + * coffgen.c (fixup_symbol_value): Relocate a symbol which has + BSF_DEBUGGING_RELOC set. + * bfd-in2.h: Rebuild. -Tue Oct 14 15:42:45 1997 Richard Henderson <rth@cygnus.com> +1999-09-10 Ian Lance Taylor <ian@zembu.com> - * elf64-alpha.c (elf64_alpha_merge_ind_symbols): New function to - merge got and reloc entries from ind syms to their target. - (elf64_alpha_always_size_sections): Call it. - (elf64_alpha_check_relocs): Operate on the target of indirect symbols. - (elf64_alpha_can_merge_gots): Likewise. - (elf64_alpha_merge_gots): Likewise. + * ecoff.c (bfd_debug_section): Update initialization for new + comdat_info field. + (_bfd_ecoff_styp_to_sec_flags): Add section parameter. + * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Update declaration. - * elf64-alpha.c (elf64_alpha_relocate_section): Back out HJ's change, - as it is insufficient to handle the relocation changes as well. +1999-09-10 H.J. Lu <hjl@gnu.org> -Mon Oct 13 23:10:08 1997 Richard Henderson <rth@cygnus.com> + * coff-alpha.c (alpha_ecoff_backend_data): Initialize the new + _bfd_filnmlen field. + * coff-mips.c (mips_ecoff_backend_data): Likewise. - * elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Allow for RELATIVE - relocs for symbols in shlibs that have been forced local. - (elf64_alpha_relocate_section): Output RELATIVEs in .got for same. +Fri Sep 10 00:35:14 1999 Jeffrey A Law (law@cygnus.com) -Mon Oct 13 21:24:04 1997 Richard Henderson <rth@cygnus.com> + * elf-hppa.h (elf_hppa_final_link_relocate): Create .opd entries + for FPTR relocs involving local symbols. - * elf64-alpha.c (elf64_alpha_relocate_section): Use the - got_enties of the default symbol for the default versioned - symbol. Patch from hjl@gnu.ai.mit.edu, modified not to use - alloca in the loop. + * elf-hppa.h (elf_hppa_final_link_relocate): Get the right + value for the stub address in a call through a stub. + Install the value for a local symbol directly into the DLT + instead of generating a reloc. Correctly handle FPTR64 relocs. -Mon Oct 13 17:37:37 1997 Nick Clifton <nickc@cygnus.com> + * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): New function. + (elf_hppa_remark_useless_dynamic_symbols): Similarly. + (elf_hppa_final_link): Call them. - * elf32-v850.c (v850_elf_final_link_relocate): Only use the bottom - 24 bits of the PC when computing a PC relative relocation. +1999-09-10 Ian Lance Taylor <ian@zembu.com> -Fri Oct 10 16:01:30 1997 Nick Clifton <nickc@cygnus.com> + * elflink.h (elf_fix_symbol_flags): Move weakdef handling here... + (elf_adjust_dynamic_symbol): ...from here. - * elf32-v850.c (v850_elf_reloc, v850_elf_final_link_relocate): - Correct value for maximum positive 22 bit PC relative relocation. - (v850_elf_final_link_relocate): Prevent overflow from HI16_S and - HI_16 relocations. Correct bit adjustment in TDA offsets. +Wed Sep 8 17:56:11 1999 Jeffrey A Law (law@cygnus.com) -Thu Oct 9 16:43:39 1997 Doug Evans <dje@canuck.cygnus.com> + * elf-hppa.h (elf_hppa_howto_table); There is no DIR64WR, DIR64DR + relocation, remove them. SECREL64->LTOFF16WF. + (elf_hppa_final_link_relocate): Handle LTOFF* relocations. Handle + DIR* relocations. + (elf_hppa_relocate_insn): Similarly. - * elf64-sparc.c (sparc_elf_{hix22,lox10}_reloc): New functions. - (sparc64_elf_howto_table): Use them for HIX22,LOX10 relocs. + * elf-hppa.h (elf_hppa_final_link_relocate): Handle PLTOFF* relocs. + (elf_hppa_relocate_insn): Similarly. -Wed Oct 8 11:38:45 1997 Richard Henderson <rth@cygnus.com> + * elf-hppa.h (elf_hppa_final_link_relocate): Handle DPREL* and + GPREL* relocations. + (elf_hppa_relocate_insn): Similarly. - * elfcore.h (bfd_prstatus): Pedanticly, alignment_power should - be LOG_FILE_ALIGN. + * elf-hppa.h (elf_hppa_link_final_relocate): Fix typos. + Handle LTOFF_TP* relocs. + (elf_hppa_relocate_insn): Similarly. -Wed Oct 8 11:36:00 1997 Richard Henderson <rth@cygnus.com> + * elf-hppa.h (elf_hppa_final_link_relocate): Handle PCREL* relocs. + Consistently deal with addends. Handle DLTIND14F and DLTREL14F. + (elf_hppa_relocate_insn): Handle PCREL* relocs. - * config.bfd: Missed one alpha* change. + * elf-hppa.h (elf_hppa_final_link_relocate): Handle LT_OFF_FPTR*, + DIR32, DIR64 and FPTR64 relocations. + (elf_hppa_relocate_insn): Similarly. -Tue Oct 7 13:00:17 1997 Doug Evans <dje@canuck.cygnus.com> + * elf-hppa.h (elf_hppa_final_link): Set the value of __gp to the + address of the .PARISC.global section. + (elf_hppa_relocate_section): Lookup and pass the PA64 hash + table entry elf_hppa_final_link_relocate. Do not give a warning + for a reloc against an external symbol if it has a PA64 hash + table entry. + (elf_hppa_final_link_relocate): Significantly rework. Handle + DLTIND relocations. Compute the final value of the relocation + before passing the value of elf_hppa_relocate_insn. + (elf_hppa_relocate_insn): Revamp to handle just bit tiwiddling + relocation support. Handle DLTIND relocation requests just like + DLTREL relocation requests. Simplify branch handling. - * elf32-sparc.c (_bfd_sparc_elf_howto_table): Remove BFD64 support. - * elf64-sparc.c (SPARC64_OLD_RELOCS): Undef. - (MINUS_ONE): New macro. - (sparc_elf_notsup_reloc): New function. - (sparc64_elf_howto_table): Add entries for DISP64,PLT64,HIX22,LOX10, - H44,M44,L44,REGISTER. - (sparc_reloc_map): Likewise. Map BFD_RELOC_CTOR to R_SPARC_64. - (init_insn_reloc): New function. - (sparc_elf_wdisp16_reloc): Use it. - (sparc64_elf_relocate_section): Add entries for OLO10,HIX22,LOX10. - -Tue Oct 7 11:40:37 1997 Ian Lance Taylor <ian@cygnus.com> - - * som.c (som_construct_extended_name_table): Remove static - function, and define as macro instead. - -Fri Oct 3 14:02:17 1997 Richard Henderson <rth@cygnus.com> - - * config.bfd: Change alpha-*-* to alpha*-*-*; config.guess now - recognizes alphaev5 etc. - * configure.host: Likewise. - -Fri Oct 3 11:23:47 1997 Ian Lance Taylor <ian@cygnus.com> - - Make ld -s work on AIX: - * xcofflink.c (xcoff_link_add_symbols): Don't create the .debug - section if we are stripping. - (bfd_xcoff_size_dynamic_sections): Don't set the .debug section - size if we are stripping. - (_bfd_xcoff_bfd_final_link): Don't set SEC_RELOC or rel_filepos, - and don't write out relocs, if we are stripping. - (xcoff_link_input_bfd): Don't set up reloc if we are stripping. - (xcoff_write_global_symbol): Don't write out symbol or reloc if we - are stripping. - - * configure.in: Don't include elf.lo again for ELF targets; it's - always in the library anyhow. - * configure: Rebuild. +1999-09-08 Ulrich Drepper <drepper@cygnus.com> - * bfd-in2.h: Rebuild. + * elf-hppa.h (elf_hppa_relocate_section): Catch problems with + non-allocated section as done in i386 version. + (elf_hppa_final_link_relocate): Uncomment R_PARISC_14F in switch + statement since this is no know relocation. - * elf32-sparc.c (sparc_elf_wdisp16_reloc): Cast to bfd_byte *, not - char *, when calling bfd_get_32 and bfd_put_32. - * sunos.c (sunos_scan_dynamic_symbol): Cast contents to char * - when calling strcpy. +Tue Sep 7 17:25:12 1999 Jeffrey A Law (law@cygnus.com) -Thu Oct 2 16:15:50 1997 Doug Evans <dje@canuck.cygnus.com> + * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14F + relocs. + (elf_hppa_relocate_insn): Similarly. - * reloc.c (bfd_check_overflow): New function. - (bfd_perform_relocation, bfd_install_relocation): Use it. - (BFD_RELOC_SPARC_{DISP64,PLT64}): New relocs. - (BFD_RELOC_SPARC_{HIX22,LOX10,H44,M44,L44,REGISTER}): New relocs. - * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. + * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14WR and + DLTREL14WD relocs. + (elf_hppa_relocate_insn): Similarly. -Thu Oct 2 13:17:18 1997 Ian Lance Taylor <ian@cygnus.com> + * elf-hppa.h (elf_hppa_final_link_relocate): Handle DLTREL14R and + DLTREL21L relocs. Pass the output bfd to elf_hppa_relocate_insn. + Pass the relocate type rather than the insn format to + elf_hppa_relocate_insn. + (elf_hppa_relocate_insn): Make switch dependent on relocation type + rather than the opcode. Handle DLTREL21L and DLTREL14R relocs. - * peicode.h (coff_swap_scnhdr_out): Set IMAGE_SCN_MEM_READ for an - unrecognized section. From Jon Thackray <jont@harlequin.co.uk>. +1999-09-07 Ian Lance Taylor <ian@zembu.com> -Wed Oct 1 14:03:44 1997 Ian Lance Taylor <ian@cygnus.com> + * coffcode.h (bfd_coff_backend_data): Add _bfd_filnmlen field. + (bfd_coff_filnmlen): Define. + (bfd_coff_std_swap_table): Initialize new field. + * coffgen.c (coff_fix_symbol_name): Use bfd_coff_filnmlen rather + than FILNMLEN. + (coff_write_symbols): Likewise. + (coff_get_normalized_symtab): Likewise. + * coff-sh.c (bfd_coff_small_swap_table): Initialize new field. + * libcoff.h: Rebuild. - * Makefile.am ($(BFD_H)): Change stmp-bfd.h to stmp-bfd-h. - (stmp-bfd-h): Rename from stmp-bfd.h. - (BFD_H_FILES, LIBBFD_H_FILES, LIBCOFF_H_FILES): New variables. - ($(srcdir)/bfd-in2.h): Just depend upon stmp-bin2-h. - (stmp-bin2-h): New target. - ($(srcdir)/libbfd.h): Just depend upon stmp-lbfd-h. - (stmp-lbfd-h): New target. - ($(srcdir)/libcoff.h): Just depend upon stmp-lcoff-h. - (stmp-lcoff-h): New target. - (CLEANFILES): Change stmp-bfd.h to stmp-bfd-h. Add stmp-bin2.h, - stmp-lbfd-h, and stmp-lcoff-h. - * Makefile.in: Rebuild. +1999-09-06 Donn Terry <donn@interix.com> - * configure.in: Use a diversion to set enable_shared before the - arguments are parsed. - * configure: Rebuild. + * coffcode.h (sort_by_secaddr): New static function if + COFF_IMAGE_WITH_PE. + (coff_compute_section_file_positions): If COFF_IMAGE_WITH_PE, sort + sections by VMA when assigning target_index values. Always set + virt_size. -Tue Sep 30 14:18:32 1997 Doug Evans <dje@canuck.cygnus.com> + * libcoff-in.h (struct pei_section_tdata): Add pe_flags field. + * coffcode.h (coff_set_alignment_hook) [COFF_WITH_PE version]: Set + pe_flags field. + * libcoff.h: Rebuild. - * elf32-sparc.c (_bfd_sparc_elf_howto_table): R_SPARC_GLOB_JMP - renamed to R_SPARC_UNUSED_42. - (sparc_reloc_map): Delete R_SPARC_GLOB_JMP entry. - * elf64-sparc.c (_bfd_sparc_elf_howto_table): R_SPARC_GLOB_JMP - renamed to R_SPARC_UNUSED_42. - (sparc_reloc_map): Delete R_SPARC_GLOB_JMP entry. - * reloc.c (BFD_RELOC_SPARC_GLOB_JMP): Delete. - * bfd-in2.h: Regenerated. - * libbfd.h: Regenerated. + * coffcode.h (coff_set_custom_section_alignment): Add const to + declaration to match definition. + (coff_write_object_contents): Don't set F_AR32W(R)? if + COFF_WITH_PE. -Thu Sep 25 12:15:02 1997 Ian Lance Taylor <ian@cygnus.com> + * coff-i386.c (in_reloc_p): Add declaration. + (i386coff_vec): Simplify initialization of + application_section_flags. - * elflink.h (elf_merge_symbol): Don't check the hash creator until - after we have set *sym_hash. + * coffcode.h (sec_to_styp_flags): Write separate COFF_WITH_PE + version. Move COFF_WITH_PE specific code to new version. + (stype_to_sec_flags): Likewise. Add section parameter. + * coffgen.c (make_a_section_from_file): Set target_index before + calling styp_to_sec_flags. Pass section to styp_to_sec_flags. + * libcoff.h: Rebuild. -Wed Sep 24 16:52:28 1997 Joel Sherrill <joel@oarcorp.com> + * syms.c (stt): Add some PE/PEI section names. + (bfd_decode_symclass): Return 'w', not 'U', for a weak undefined + symbol. + (bfd_symbol_info): Check for 'w'. - * config.bfd (sh*-*-rtems*): New target, like sh-*-*elf*. + * section.c (struct bfd_comdat_info): Define. + (asection): Add comdat field. + (STD_SECTION): Initialize comdat field. + (bfd_make_section_anyway): Likewise. + * bfd-in2.h: Rebuild. -Wed Sep 24 11:27:23 1997 Ian Lance Taylor <ian@cygnus.com> +1999-09-06 Andreas Schwab <schwab@suse.de> - * Makefile.am (libbfd_a_SOURCES): Define. - * Makefile.in: Rebuild. + * elflink.h (elf_link_add_object_symbols): Copy NON_GOT_REF flag + to version symbols. - * configure.in: Call AC_CHECK_TOOL before AM_PROG_LIBTOOL. - * aclocal.m4: Rebuild with new libtool. - * configure: Rebuild. +1999-09-06 Nick Clifton <nickc@cygnus.com> -Tue Sep 23 19:03:13 1997 Ian Lance Taylor <ian@cygnus.com> + * elflink.h (elf_gc_record_vtentry): Use bfd_zmalloc and + bfd_realloc instead of calloc and realloc. - * elf.c (map_sections_to_segments): Even if we are not demand - paged, don't put a loadable section after a nonloadable section. - (assign_file_positions_for_segments): Increment the file offset - for a section with contents, even if it is not loadable. +1999-09-04 Steve Chamberlain <sac@pobox.com> -Thu Sep 18 15:04:57 1997 Nick Clifton <nickc@cygnus.com> + * cpu-pj.c: New file. + * elf32-pj.c: New file. + * config.bfd (pj*): New cpu. + (pj-*-*, pjl-*-*): New targets. + * configure.in (bfd_elf32_pj_vec): New target vector. + (bfd_elf32_pjl_vec): New target vector. + * archures.c (bfd_arch_pj): Define. + * elf.c (prep_headers): Handle bfd_arch_pj. + * reloc.c: Define BFD_RELOC_PJ_* relocations. + * targets.c (bfd_elf32_pj_vec, bfd_elf32_pjl_vec): Declare and add + to target vector list. + * Makefile.am: Rebuild dependencies. + (ALL_MACHINES): Add cpu-pj.lo. + (ALL_MACHINES_CFILES): Add cpu-pj.c. + (BFD32_BACKENDS): Add elf32-pj.lo. + (BFD32_BACKENDS_CFILES): Add elf32-pj.c. + * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild. - * elf32-v850.c (v850_elf_check_relocs): Improve error message. +1999-09-04 Ian Lance Taylor <ian@zembu.com> -Wed Sep 17 09:54:51 1997 Nick Clifton <nickc@cygnus.com> + * elf-bfd.h (ELF_LINK_NON_GOT_REF): Define. + * elflink.h (elf_adjust_dynamic_symbol): Copy REF_REGULAR_NONWEAK + and NON_GOT_REF from weak defined symbol to real symbol. + * elf32-i386.c (elf_i386_check_relocs): Set NON_GOT_REF. + (elf_i386_adjust_dynamic_symbol): If NON_GOT_REF is not set, don't + create a COPY reloc. + * elf32-sparc.c (elf32_sparc_check_relocs): Set NON_GOT_REF. + (elf32_sparc_adjust_dynamic_symbol): If NON_GOT_REF is not set, + don't create a COPY reloc. - * elf32-v850.c (v850_elf_final_link_relocate): Add checks to catch - relocations against non-existant symbols. +1999-09-03 Ian Lance Taylor <ian@zembu.com> -Tue Sep 16 14:20:27 1997 Nick Clifton <nickc@cygnus.com> + * elflink.h (elf_bfd_final_link): When counting relocations, don't + count those in sections we are not including in the link. - * reloc.c: Add BFR_RELOC_V850_TDA_16_16_OFFSET. +Thu Sep 2 17:41:20 1999 Jeffrey A Law (law@cygnus.com) - * elf32-v850.c (v850_elf_reloc, v850_elf_final_link_relocate, - v850_elf_howto_table, v850_elf_reloc_map): Add support for a 16 - bit reloc in the tiny data area. + * elflink.h (elf_link_add_object_symbols): Work around bogus SH_LINK + field in hpux11 shared libraries. -Wed Sep 10 15:17:25 1997 Nick Clifton <nickc@cygnus.com> +1999-09-02 Nick Clifton <nickc@cygnus.com> - * elf32-v850.c (v850_elf_reloc): Remove spurious error message. + * elflink.h (elf_gc_record_vtentry): Fix memory leak. -Wed Sep 10 11:17:50 1997 Andrew Cagney <cagney@b1.cygnus.com> +Wed Sep 1 13:34:29 1999 Jeffrey A Law (law@cygnus.com) - * archures.c (bfd_default_scan): Use strcasecmp. - (bfd_default_scan): Test for match with arch_name + ":" + - printable_name. - (bfd_default_scan): Test for match with printable_name - ":". - (bfd_default_scan): Delete w65, h8300, h8500, z8k, i960 special - cases. Each implements their own scan function. - (bfd_default_scan): Delete 386, 2900, 860, mips 2000, mips 4400 - special cases. Since info->mach == 0. The test mach == number - fails. - (bfd_arch_list): New function, return name of all the supported - architectures. + * elf-hppa.h (elf_hppa_add_symbol_hook): New function. + (elf_hppa_final_link, elf_hppa_relocate_section): Likewise. + (elf_hppa_final_link_relocate, elf_hppa_relocate_insn): Likewise. -Tue Sep 9 10:21:56 1997 Nick Clifton <nickc@cygnus.com> +1999-08-31 Alexandre Petit-Bianco <apbianco@cygnus.com> - * elf32-v850.c (v850_elf_print_private_bfd_data): Break after - decoding architecture. - (v850_elf_reloc): Do not complain if a R_V850_LO16 reloc has bit - 15 set. + * elflink.h (record_link_assignment): When possible, keep the + original type of the symbol. -Sun Sep 7 12:25:22 1997 H.J. Lu (hjl@gnu.ai.mit.edu) +Mon Aug 30 15:26:48 1999 Jeffrey A Law (law@cygnus.com) - * bfd/elf64-alpha.c (reloc_howto_type): Fix the howto table. + * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Allow both + R_PARISC_DIR32 and R_PARISC_DIR64 regardless of how the + tools were configured. + * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type): Declare. -Thu Sep 4 09:44:10 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-26 Mark Mitchell <mark@codesourcery.com> - * Makefile.am: Rebuild dependencies. - (ALL_MACHINES_CFILES): Add cpu-v850.c. - (ALL_MACHINES_CFILES): Add elf32-v850.c. - * Makefile.in: Rebuild. + * elf32-mips.c (_bfd_mips_elf_check_relocs): Don't allocate local + GOT entries for GOT16 relocations; they're not required. - * reloc.c: Remove extraneous commas from relocation entries. - Remove BFD_RELOC_V850_16_PCREL. - * bfd-in2.h: Rebuild. +1999-08-24 Nick Clifton <nickc@cygnus.com> - * xcofflink.c (xcoff_link_add_symbols): Put XTY_CM/XMC_TD symbols - in sections named .tocbss rather than .bss. + From a patch submitted by Roland McGrath <roland@baalperazim.frob.com> -Wed Sep 3 11:23:23 1997 Nick Clifton <nickc@cygnus.com> + * config.bfd (arm-*-netbsd*): New target. + * configure.in (armnetbsd_vec): New target vector. + * configure: Regenerate + * targets.c (bfd_target_vector): Add &armnetbsd_vec. - * libbfd.h, bfd-in2.h, elf32-v850.c: Removed - BFD_RELOC_V850_16_PCREL. + * Makefile.am (BFD32_BACKENDS): Add armnetbsd.lo. + (ALL_MACHINES_CFILES): Add armnetbsd.c. + (armnetbsd.lo): New rule with deps. + * Makefile.in: Regenerate. + + * armnetbsd.c: New file: Definitions specific to arm-netbsd + target. -Tue Sep 2 20:44:10 1997 Fred Fish <fnf@cygnus.com> +Tue Aug 24 00:25:58 1999 Jeffrey A Law (law@cygnus.com) - * cofflink.c (coff_link_check_ar_symbols): Handle C_SYSTEM syms - the same as C_EXT syms. - (coff_link_add_symbols): Ditto. - (_bfd_coff_link_input_bfd): Ditto. - (_bfd_coff_write_task_globals): Add save_global_to_static. Use - it to preserve and restore state of global_to_static flag. + * som.c (som_slurp_symbol_table): Fix typo in comment. -Tue Sep 2 17:45:22 1997 Nick Clifton <nickc@cygnus.com> +Fri Aug 20 17:01:23 1999 Jeffrey A Law (law@cygnus.com) - * elf32-v850.c (v850_elf_object_p): Set machine number based on - bits in e_flags field rather than magic numbers. - (v850_elf_final_write_processing, v850_elf_set_private_flags, - v850_elf_copy_private_bfd_data, v850_elf_merge_private_bfd_data, - v850_elf_print_private_bfd_data): New functions. + * elf-hppa.h (elf_hppa_fake_sections): Compute section indices + here instead of using elf_section_data... +1999-08-19 Nick Clifton <nickc@cygnus.com> -Tue Sep 2 17:35:05 1997 Doug Evans <dje@canuck.cygnus.com> + * coff-mcore.c (mcore_emit_base_file_entry): New function: Emit + relocations into the base file. + (coff_mcore_relocate_section): Call mcore_emit_base_file_entry if + we are building a base file. - * cpu-arc.c (arc_get_mach): Properly scan defined mach entries. +1999-08-19 Nick Clifton <nickc@cygnus.com> -Tue Sep 2 18:29:37 1997 Jeffrey A Law (law@cygnus.com) + * elf32-arm.h (arm_add_to_rel): New function. Add a value to + a REL style reloc. + (elf32_arm_relocate_section): Use arm_add_to_rel to increment + REL relocs when performing a partial relocation. - * elf-m10200.c (mn10200_elf_final_link_relocate): PC relative - instructions are relative to the next instruction, not the - current instruction. - (mn10200_elf_relax_section): Similarly. +1999-08-18 Donn Terry <donn@interix.com> -Tue Sep 2 15:45:45 1997 Nick Clifton <nickc@cygnus.com> + * cofflink.c: Move definitions of N_TMASK, et. al., out of + _bfd_coff_link_input_bfd into top level. - * cpu-v850.c: Use a macro to construct bfd_arch_info_type - entries. + * coff-i386.c (coff_i386_reloc): Handle R_IMAGEBASE. + (RTYPE2HOWTO): Return NULL if reloc type is out of range. + (coff_i386_rtype_to_howto): Likewise. + * coffcode.h (coff_slurp_symbol_table): Change a -2 to N_DEBUG. + Completely ignore symbols which are all zero. + (dummy_reloc16_estimate): Add return 0. + * cofflink.c (_bfd_coff_link_input_bfd): Rename inner scope + variable copy to name_copy to avoid shadowing outer scope + variable. + * libcoff-in.h (coff_data_type): Change raw_syment_count field + from unsigned int to unsigned long. Add timestamp field. + * libcoff.h: Rebuild. - * reloc.c, libbfd.h, bfd-in2.h, elf32-v850.c: Replace - BFD_RELOC_V850_{SDA/TDA/ZDA}_OFFSET relocs with new bit pattern - specific versions: BFD_RELOC_V850_{area}_{bits}_OFFSET. +1999-08-17 H.J. Lu <hjl@gnu.org> -Thu Aug 28 17:01:09 1997 Andrew Cagney <cagney@b1.cygnus.com> + * elf32-hppa.c (bfd_elf32_bfd_is_local_label_name): Fix typo in + macro definition. - * cpu-v850.c: Remove "plain" from v850 printable name. - (scan): Use strcasecmp. +1999-08-17 Ian Lance Taylor <ian@zembu.com> - * archures.c (bfd_mach_v850): Define. + * elf32-mips.c (_bfd_mips_elf_add_symbol_hook): Set BSF_DYNAMIC + for special section symbols. + * elflink.h (elf_merge_symbol): If we have no old BFD, check + BSF_DYNAMIC on the section symbol to see whether the old BFD is + dynamic. - * cpu-sh.c (scan_mach): Compare with table instead of hardwired to - just sh/SH, use strcasecmp. - (arch_info_struct): Add entries for sh3 et.al. +1999-08-15 Mark Mitchell <mark@codesourcery.com> - * archures.c (bfd_mach_sh, ...): Define. + * elf32-mips.c (mips_elf_calculate_relocation): Fix unfortunate + coincidence of variable names between old and new code. -Wed Aug 27 17:33:07 1997 Andrew Cagney <cagney@b1.cygnus.com> +1999-08-12 Nick Clifton <nickc@cygnus.com> - * archures.c (bfd_archures_list): Always NULL terminate the list. + * elf32-arm.h (elf32_arm_to_thumb_stub): Make 'offset' parameter + into a bfd_vma and 'addend' parameter a 'bfd_signed_vma'. + (elf32_thumb_to_arm_stub): Make 'offset' parameter into a bfd_vma + and 'addend' parameter a 'bfd_signed_vma'. + (elf32_arm_final_link_relocate): Do not involve stubs in + R_ARM_THM_PC22 relocs relative to section symbols, they are long + jumps, not function calls. -Tue Aug 26 17:26:51 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-11 Robin Farine <advanc@dial.eunet.ch> - * Makefile.am: Rebuild dependencies. - (ALL_MACHINES_CFILES): Add cpu-arc.c. - (ALL_MACHINES_CFILES): Add elf32-arc.c. - (elf32-arc.lo): Remove explicit dependency. - * Makefile.in: Rebuild. + * elf32-arm.h (elf32_arm_final_link_relocate): Check for overflow + in R_ARM_PC24 relocs. - * acinclude.m4 (BFD_CC_FOR_BUILD): Set EXEEXT_FOR_BUILD. - * doc/Makefile.am (MKDOC): Use EXEEXT_FOR_BUILD, not EXEEXT. - * aclocal.m4, configure, Makefile.in, doc/Makefile.in: Rebuild. +Tue Aug 10 12:48:09 1999 Jeffrey A Law (law@cygnus.com) -Mon Aug 25 16:14:34 1997 Christopher Provenzano <proven@cygnus.com> + * elf-hppa.h (elf_hppa_fake_sections): New function. + * elf32-hppa.c (elf_backend_fake_sections): Define. - * configure: Rebuild with latest devo autoconf for NT support + * elf-hppa.h (elf_hppa_final_write_processing): Update for + recent changes to the arch_info structure. -Mon Aug 25 16:11:04 1997 Nick Clifton <nickc@cygnus.com> + * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle + R_HPPA_SEGBASE and R_HPPA_SEGREL32. + * cpu-hppa.c (bfd_hppa20w_arch): New entry in architecture info + list. - * cpu-arm.c (compatible): If B is a default type, return A. +Tue Aug 10 00:34:29 1999 Mark P. Mitchell <mark@codesourcery.com> + Ralf Baechle <ralf@uni-koblenz.de> -Mon Aug 25 15:35:46 1997 Nick Clifton <nickc@cygnus.com> + * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Always + output DT_MIPS_GOTSYM. + (_bfd_mips_elf_finish_dynamic_sections): Use the same value as + DT_MIPS_SYMTABNO if there are no global GOT symbols. - * cpu-v850.c (scan): New function. - (arch_info_struct): New structure. - (bfd_v850_arch): Add link into arch_info_structure. +Tue Aug 10 00:21:08 1999 Mark P. Mitchell <mark@codesourcery.com> - * config.bfd (targ_cpu): All v850 variants use the bfd_arch_v850 - architecture. + * elf32-mips.c (mips_elf_create_dynamic_relocation): Change + prototype. Handle local symbols. Add commentary. + (mips_elf_calculate_relocation): Adjust accordingly. + (_bfd_mips_elf_check_relocs): Handle local symbols in R_MIPS_32 + relocations. + + * elflink.h (elf_bfd_final_link): Tweak last change. - * elf32-v850.c (v850_elf_object_p): New function. +1999-08-09 Mark Mitchell <mark@codesourcery.com> + * elflink.h (elf_link_size_reloc_section): Use the counts in the + elf-section data to allocate just the right amount of relocation + space. Don't allocate the hash space twice. + (elf_bfd_final_link): Calculate the amount of space to allocate in + each relocation section. -Mon Aug 25 14:07:33 1997 Ian Lance Taylor <ian@cygnus.com> +Mon Aug 9 17:37:30 1999 Jeffrey A Law (law@cygnus.com) - * syms.c (_bfd_stab_section_find_nearest_line): Clear the - cached_stab field if the offset prevents us from using the cache. + * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case 32): When in + 64bit mode, generate a section relative relocation for a 32bit + wide relocation. + (elf_hppa_is_local_label_name): New function. + * elf32-hppa.c (elf_hppa_is_local_label_name): Deleted. To be + shared between 32bit and 64bit port. -Mon Aug 25 12:08:13 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-09 Mark Mitchell <mark@codesourcery.com> - * aout-target.h (MY(vec)): Add SEC_CODE and SEC_DATA to section - flags. - * aout-arm.c (aout_arm_little_vec): Likewise. - (aout_arm_big_vec): Likewise. - * bout.c (b_out_vec_big_host): Likewise. - (b_out_vec_little_host): Likewise. - * mipsbsd.c (aout_mips_little_vec): Likewise. - (aout_mips_big_vec): Likewise. + * elf32-mips.c (elf_mips_howto_table): Fix src_mask for + R_MIPS_GOT16 and R_MIPS_CALL16. + (mips_elf_got16_entry): Use mips_elf_high to calculate the value + to use when looking for a preexisting GOT entry. -Tue Aug 19 08:47:17 1997 Fred Fish <fnf@cygnus.com> +1999-08-09 Jakub Jelinek <jj@ultra.linux.cz> - * coff-i960.c (COFF_ALIGN_IN_SECTION_HEADER): Define to 1. - (GET_SCNHDR_ALIGN, PUT_SCNHDR_ALIGN): Define. - * coff-m88k.c (GET_SCNHDR_NRELOC, GET_SCNHDR_NLNNO): Define. - * coffcode.h (coff_set_alignment_hook): Conditionally compile in if - COFF_ALIGN_IN_SECTION_HEADER is defined. Convert alignment to power - of two for I960 only. - * coffswap.h (GET_SCNHDR_NRELOC, PUT_SCNHDR_NRELOC, GET_SCNDHR_NLNNO, - PUT_SCNHDR_NLNNO, GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Provide - default definitions. - (coff_swap_scnhdr_in): Use GET_SCNHDR_FLAGS, GET_SCNHDR_NRELOC, - GET_SCNHDR_NLNNO, and GET_SCNHDR_ALIGN. - (coff_swap_scnhdr_out): Use PUT_SCNHDR_FLAGS, PUT_SCNHDR_ALIGN. + * elf64-sparc.c (sparc64_elf_relocate_section): Back out part of + the Sep. 4th, 1998 change. glibc 2.0.x dynamic linker had bug, + not binutils. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. -Mon Aug 18 11:36:19 1997 Nick Clifton <nickc@cygnus.com> +1999-08-09 Geoff Keating <geoffk@cygnus.com> - * elf32-v850.c (v850_elf_howto_table, v850_elf_reloc_map, - v850_elf_check_relocs, v850_elf_reloc, - v850_elf_final_link_relocate): Add support for - BFD_RELOC_V850_16_PCREL relocation. + * elflink.h (elf_link_output_extsym): Don't output a weak + reference to an undefined symbol just because it was defined weak + in a shared object. - * reloc.c (COMMENT): Add suuport for BFD_RELOC_V850_16_PCREL - relocation. +1999-08-09 Eli Zaretskii <eliz@is.elta.co.il> - * libbfd.h: Add support for BFD_RELOC_V850_16_PCREL relocation. + * coffgen.c (coff_find_nearest_line): When looking for file, use + last best match rather than first. If address is beyond last line + number record, don't return the last line as the correct value. - * bfd-in2.h: Add support for BFD_RELOC_V850_16_PCREL relocation. +1999-08-08 Ian Lance Taylor <ian@zembu.com> + * section.c (SEC_SMALL_DATA): Rename from SEC_SHORT. + * bfd-in2.h: Rebuild. -Fri Aug 15 12:01:28 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-08 Mark Elbrecht <snowball3@bigfoot.com> - * coffgen.c (coff_find_nearest_line): Correctly handle the offset - argument as section relative, rather than an absolute address. - From Jan Hoogenraad <hoogenrd@natlab.research.philips.com>. + * libcoff-in.h (struct coff_section_alignment_entry): Define. + * coffcode.h (coff_set_custom_section_alignment): New static + function. + (coff_section_alignment_table): New static array. + (coff_new_section_hook): Use coff_set_customer_section_alignment. + * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define. + * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Define. + * libcoff.h: Rebuild. -Fri Aug 15 04:58:02 1997 Doug Evans <dje@canuck.cygnus.com> +1999-08-08 Ian Lance Taylor <ian@zembu.com> - * config.bfd (arc-*-elf*): Add. - * configure.in (bfd_elf32_{little,big}arc_vec): Add. - * configure: Rebuild. - * Makefile.am (ALL_MACHINES): Add cpu-arc.lo. - (BFD32_BACKENDS): Add elf32-arc.lo. - (cpu-arc.lo,elf32-arc.lo): Add rules for. + * Makefile.am: Rename .dep* files to DEP*. Change DEP variable to + MKDEP. * Makefile.in: Rebuild. - * archures.c (architecture list): Add bfd_arch_arc. - (bfd_archures_list): Add bfd_arc_arch. - (bfd_mach_arc_base): Define. - * reloc.c (BFD_RELOC_ARC_B22_PCREL,BFD_RELOC_ARC_B26): Add. - * targets.c (bfd_elf32_{little,big}arc_vec): Declare. - (bfd_target_vect): Add them. - * bfd-in2.h, libbfd.h: Rebuild. - * cpu-arc.c, elf32-arc.c: New files. - * elf.c (pre_headers): Recognize bfd_arch_arc. -Tue Aug 12 11:45:18 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-08 Mumit Khan <khan@xraylith.wisc.edu> - * aoutx.h (NAME(aout,final_link)): If no symbols, make sure the - data section is correctly rounded to a page in the file. - -Mon Aug 11 12:45:43 1997 Ian Lance Taylor <ian@cygnus.com> - - * aoutx.h (NAME(aout,final_link)): Don't emit the string table if - there are no symbols. + * section.c (SEC_SHARED): Define. + * coffcode.h (sec_to_styp_flags): Handle SEC_SHARED. + (styp_to_sec_flags): Likewise. + * peicode.h (coff_swap_scnhdr_out): Likewise. + * bfd-in2.h: Rebuild. -Sun Aug 10 14:45:56 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-08 Ian Lance Taylor <ian@zembu.com> - * coff-stgo32.c: Rename from coff-stubgo32.c to avoid old System V - file system 14 character limit. - * Makefile.am, configure.in: Corresponding changes. - * Makefile.in, configure: Rebuild. + * coffcode.h (coff_classify_symbol): Comment out part of + 1999-08-05 change which breaks cygwin DLLs. -Fri Aug 8 18:34:36 1997 Ian Lance Taylor <ian@cygnus.com> + * acinclude.m4 (BFD_BINARY_FOPEN): Change -windows to -windows*. + * aclocal.m4, configure: Rebuild. - * Makefile.am: (ALL_MACHINES_CFILES): Add elf32-d10v.c. - Rebuild dependencies. - * Makefile.in: Rebuild. +1999-08-06 Ian Lance Taylor <ian@zembu.com> + + * section.c (global_syms): Only initialize union field if + __STDC__. + +1999-08-04 Mark Mitchell <mark@codesourcery.com> + + * elf32-mips.c (mips_elf_got16_entry): Don't multiply GOT index by + the size of a GOT entry here. + (mips_elf_calculate_relocation): Don't create a local GOT entry + for the symbol in a GOT16 relocation; just for it's high-order bit + (_bfd_mips_elf_relocate_section): Fix thinko. + +1999-08-05 Ian Lance Taylor <ian@zembu.com> + + Based on patches from Donn Terry <donn@interix.com>: + * coffcode.h (enum coff_symbol_classification): Define. + (bfd_coff_backend_data): Rename _bfd_coff_sym_is_global to + _bfd_coff_classify_symbol. Change return type. + (bfd_coff_classify_symbol): Rename from bfd_coff_sym_is_global. + (coff_slurp_symbol_table): Use coff_classify_symbol. + (coff_classify_symbol): New static function. + (coff_sym_is_global): Never define. + (bfd_coff_std_swap_table): Initialize with coff_classify_symbol. + * cofflink.c (coff_link_check_ar_symbols): Use + bfd_coff_classify_symbol rather than bfd_coff_sym_is_global. + (coff_link_add_symbols): Likewise. + (_bfd_coff_link_input_bfd): Likewise. + * coff-sh.c (bfd_coff_small_swap_table): Initialize with + coff_classify_symbol. + * libcoff.h: Rebuild. -Wed Aug 6 18:56:51 1997 Ian Lance Taylor <ian@cygnus.com> +Wed Aug 4 18:08:07 1999 Jeffrey A Law (law@cygnus.com) - * Makefile.am (docdir): Define. - * Makefile.in: Rebuild. + * libhppa.h (R_HPPA_LTPSEL, R_HPPA_RTPSEL): New field selectors + (e_ltpsel, e_rtpsel): Similarly. -Tue Aug 5 23:05:03 1997 Ian Lance Taylor <ian@cygnus.com> + * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle 21bit e_ltpsel + and 14bit ertpsel. Handle 64bit psel. - * configure: Rebuild with autoconf 2.12.1. +1999-08-04 Mark Mitchell <mark@codesourcery.com> -Mon Aug 4 12:00:35 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-mips.c (_bfd_mips_elf_relocate_section): Tweak HI16/LO16 + handling for REL relocations. And only left-shift R_MIPS26 + relocation addends where necessary. - * aclocal.m4, configure: Rebuild with new automake patches. +1999-08-03 Mark Mitchell <mark@codesourcery.com> -Sun Aug 3 08:15:12 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + * elf32-mips.c (mips_elf_next_lo16_addend): Rename to ... + (mips_elf_next_lo16_relocation): Don't compute the addend here. + Just return the relocation found. + (mips_elf_relocate_section): Pull the LO16 addend out of the + section itself when using REL relocations. + + * elf32-mips.c (mips_elf_calculate_relocation): Restore + _DYNAMIC_LINK handling and handling of undefined symbols in shared + libraries. - * rs6000-core.c (make_bfd_asection): New function to add a section - to the core file bfd. - (rs6000coff_core_p): Use make_bfd_asection to add the core file - sections. - Use BFD routines to seek, read and stat the core file. - Handle .data sections from loaded objects and anonymously mmapped - regions, these are available in AIX 4 core files. +1999-08-03 Ian Lance Taylor <ian@zembu.com> -Fri Aug 1 12:58:32 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-ppc.c (ppc_elf_relocate_section): Don't use the relocation + value of a symbol in a SEC_DEBUGGING section. Warn when doing a + relocation against a symbol in an input section with no output + section. From Daniel Jacobowitz <drow@false.org>. - * configure.in: Set enable_shared before AM_PROG_LIBTOOL. - * acinclude.m4: Move acmacros.m4 in here. Remove AM_PROG_LIBTOOL - copy; use a patches libtool instead. - * acmacros.m4: Remove. - * Makefile.in, aclocal.m4, configure: Rebuild. + * coff-stgo32.c (go32_stubbed_coff_object_p): Remove; not used. -Thu Jul 31 19:55:36 1997 Ian Lance Taylor <ian@cygnus.com> - - * Makefile.am: New file, based on old Makefile.in. - * acmacros.m4: New file, copied from old aclocal.m4. - * acinclude.m4: New file. - * configure.in: Call AM_PROG_LIBTOOL. Remove shared library - handling; now handled by libtool. Replace AC_CONFIG_HEADER with - AM_CONFIG_HEADER. Replace AC_PROG_INSTALL with AM_PROG_INSTALL. - Call AM_MAINTAINER_MODE, AM_CYGWIN32, and AM_EXEEXT. Change all - .o files to .lo. Remove stamp-h handling in AC_OUTPUT. - * acconfig.h: Mention PACKAGE and VERSION. - * stamp-h.in: New file. - * dep-in.sed: Change .o to .lo. - * Makefile.in: Now built with automake. - * aclocal.m4: Now built with aclocal. - * config.in, configure: Rebuild. - * VERSION: Remove. - -Thu Jul 31 12:09:20 1997 Geoff Keating <geoffk@ozemail.com.au> - - * elf32-ppc.c (ppc_elf_size_dynamic_sections): Don't set TEXTREL - if there is only a relocation to a read-only but not allocatable - section (like .stab). - * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise. - * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise. - * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise. - * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise. - * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise. - - * elf32-ppc.c (ppc_elf_howto_raw): Correct various comments. - (ppc_elf_create_linker_section): These sections are not - created by the linker (that is, they are created by the user - putting data in them). In particular, they can be the source - and target of relocations. - (ppc_elf_adjust_dynamic_symbol): Check postcondition of - bfd_elf32_link_record_dynamic_symbol. Align 16-byte common - objects (for instance, 'long double') to 16-byte boundaries. - (ppc_elf_size_dynamic_sections): Make the code that generates - section symbols exactly the same as for sparc, reducing the - number of section symbols output. - (ppc_elf_check_relocs): Check postcondition of - bfd_elf32_link_record_dynamic_symbol. Make default case the - same as corresponding code for sparc, fixing bug involving - .rela.stabs. - (ppc_elf_finish_dynamic_symbol): Fix case involving GOT symbols - forced to be local because of versioning (by replicating - corresponding change in sparc). Treat R_PPC_RELATIVE RELA relocs - as usual in ELF, not as pseudo-REL relocs (as the sparc linker - does). - (ppc_elf_relocate_section): Add handy debugging code for when - assertion fails. Add some more 'symbol made local because of - versioning' cases. - - * elf32-ppc.c (ppc_elf_relocate_section): Cope with addend when - processing a GOT relocation as required by ABI. - -Wed Jul 30 21:30:35 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * elflink.h (NAME(bfd_elf,record_link_assignment)): Remove any - version info if this symbol came from a dynamic object. - (elf_link_add_object_symbols): Set the version info of a symbol - only if the object actually contains version definitions and - defines this symbol. - -Mon Jul 28 18:07:43 1997 Rob Savoye <rob@chinadoll.cygnus.com> - - * aclocal.m4: Add CYGWIN and EXEEXT autoconf macros. - * configure.in: Use CYGWIN and EXEEXT autoconf macro to look for - win32 dependencies. - * configure: Regenerated with autoconf 2.12. - * doc/Makefile.in: Add $(EXEEXT) to chew executable. - -Mon Jul 28 02:50:29 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * rs6000-core.c (rs6000coff_core_p): If CORE_TRUNC is set, print - a warning rather than returning an error. - -Sun Jul 27 19:54:14 1997 Felix Lee <flee@cygnus.com> - - * coffswap.h (coff_swap_aux_in): add semicolon to make MSVC happy. - -Fri Jul 25 14:50:08 1997 Felix Lee <flee@cygnus.com> - - * cisco-core.c: define signals for wingdb. - -Fri Jul 25 16:27:07 1997 Ian Lance Taylor <ian@cygnus.com> - - * ecofflink.c (bfd_ecoff_debug_accumulate): Only merge files with - the same number of aux entries. - -Fri Jul 25 08:22:15 1997 Jeffrey A Law (law@cygnus.com) - - * som.c (hppa_som_gen_reloc_type): Use R_DATA_EXPR for the - difference of two symbols if the relocation size is 32 bits. - (som_write_fixups): Handle R_DATA_EXPR. - -Wed Jul 23 16:08:02 1997 Ian Lance Taylor <ian@cygnus.com> - - * coff-i386.c (coff_i386_reloc): Don't offset a common symbol by - its value if COFF_WITH_PE is defined. - -Tue Jul 22 17:19:45 1997 Robert Hoehne <robert.hoehne@Mathematik.TU-Chemnitz.DE> - - * coff-stubgo32.c: New file. - * go32stub.h: New file. - * coff-i386.c: If COFF_GO32_EXE, include coff/go32exe.h. - * coffswap.h (coff_swap_filehdr_in): Invoke - COFF_ADJUST_FILEHDR_IN_PRE and COFF_ADJUST_FILEHDR_IN_POST if they - are defined. - (coff_swap_filehdr_out): Invoke COFF_ADJUST_FILEHDR_OUT_PRE and - COFF_ADJUST_FILEHDR_OUT_POST if they are defined. - (coff_swap_aux_in): Invoke COFF_ADJUST_AUX_IN_PRE and - COFF_ADJUST_AUX_IN_POST if they are defined. - (coff_swap_aux_out): Invoke COFF_ADJUST_AUX_OUT_PRE and - COFF_ADJUST_AUX_OUT_POST if they are defined. - (coff_swap_scnhdr_in): Invoke COFF_ADJUST_SCNHDR_IN_PRE and - COFF_ADJUST_SCNHDR_IN_POST if they are defined. - (coff_swap_scnhdr_out): Invoke COFF_ADJUST_SCNHDR_OUT_PRE and - COFF_ADJUST_SCNHDR_OUT_POST if they are defined. - * targets.c (go32stubbedcoff_vec): Declare. - (bfd_target_vector): Add go32stubbedcoff_vec. - * configure.in (go32coff_vec): New target vector. - (go32stubbedcoff_vec): Likewise. - * config.bfd (i[3456]86-*-msdosdjgpp*): New target. - (i[3456]86-*-go32*): Change to be like new msdosdjgpp*. - * Makefile.in: Rebuild dependencies. - (BFD32_BACKENDS): Add coff-stubgo32.o. - (BFD32_BACKENDS_CFILES): Add coff-stubgo32.c. - (HFILES): Add go32stub.h. - -Tue Jul 22 15:09:12 1997 Ian Lance Taylor <ian@cygnus.com> - - * configure.in: Check for fdopen. - * configure, config.in: Rebuild. - * opncls.c (bfd_fdopenr): Check HAVE_FDOPEN rather than VMS or - __GO32__. Reindent a bit. + * acinclude.m4 (BFD_CC_FOR_BUILD): Change to use conftest, and to + look for generated file correctly. + * aclocal.m4, configure: Rebuild. -Sun Jul 20 20:05:20 1997 Ian Lance Taylor <ian@cygnus.com> +1999-08-02 Mark Mitchell <mark@codesourcery.com> + + * elf32-mips.c (_bfd_mips_elf_relocate_section): Handle R_MIPS_26 + and R_MIPS16_26 relocations correctly when relocating. + (_bfd_mips_elf_check_relocs): Don't assume that R_MIPS_CALL_HI16 + and R_MIPS_CALL_LO16 are for global symbols. + +1999-08-02 Jakub Jelinek <jj@ultra.linux.cz> + + * elflink.h (elf_bfd_final_link): Copy the whole isym, not just + some fields. + * elf64-sparc.c (sparc64_elf_output_arch_syms): Declare used + variables and initialize them. + +1999-08-01 Mark Mitchell <mark@codesourcery.com> + + * elf32-mips.c (_bfd_mips_elf_final_link): Handle the case where + there are no global symbols requiring GOT entries. + (_bfd_mips_elf_size_dynamic_sections): Likewise. + (_bfd_mips_elf_finish_dynamic_symbol): Likewise. + (_bfd_mips_elf_finish_dynamic_sections): Likewise. + + * elf32-mips.c (mips_elf_calculate_relocation): Undefined weak + symbols are considered to have the value zero. + (_bfd_mips_elf_relocate_section): Don't try to perform a + relocation for an undefined symbol. + (_bfd_mips_elf_check_relocs): Allocate locate GOT space for local + GOT16 relocations. + +1999-07-30 Jakub Jelinek <jj@ultra.linux.cz> + + * elf64-sparc.c (sparc64_elf_build_plt): Cosmetic change - ABI + wants ba,a,pt %xcc instead of %icc. + Emit correct .PLT0-(.PLTN+4) initial value into the pointer slots + of large PLT entries. + (sparc64_elf_plt_ptr_offset): Fix calculation. + (sparc64_elf_finish_dynamic_symbol): Negative value of R_SPARC_JMP_SLOT + addend should be relative to load address, not .plt section start. + (sparc64_elf_size_info): Sparc64 uses 32bit .hash entries. + +1999-07-30 Jakub Jelinek <jj@ultra.linux.cz> + + * elf-bfd.h (struct elf_backend_data): Add + print_symbol_all and output_arch_syms backend methods. + * elfxx-target.h: Likewise. + * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create, + sparc64_elf_add_symbol_hook, sparc64_elf_output_arch_syms, + sparc64_elf_get_symbol_type, sparc64_elf_symbol_processing): New + functions. + (sparc64_elf_size_dynamic_sections): Leave space for STT_REGISTER + symbols in .dynsym, add their names into .dynstr. Put those symbols + into dynlocal. + (sparc64_elf_finish_dynamic_sections): Fix up DT_SPARC_REGISTER + pointers to STT_REGISTER symbols in dynsym section. + (sparc64_elf_print_symbol_all): New function. + * elf.c (bfd_elf_print_symbol): Allow special backend symbol + printing using the print_symbol_all hook. - * sunos.c (sunos_create_dynamic_sections): Set SEC_LINKER_CREATED - flag for newly created sections. - (sunos_add_dynamic_symbols): Don't discard newly created sections - if shared library is dynobj. +1999-07-30 Catherine Moore <clm@cygnus.com> -Mon Jul 14 15:33:55 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-arm.h (elf32_arm_check_relocs): Use r_offset for + R_ARM_GNU_VTENTRY. - * elf.c (map_sections_to_segments): When checking whether - including a section in a segment would force us to skip a page, - align the address of the next segment to avoid wraparound - problems. +1999-07-29 Richard Henderson <rth@cygnus.com> -Mon Jul 7 16:41:20 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-mips.c (_bfd_mips_elf_final_link): Only re-sort dynsyms if + dynamic_sections_created. - * coff-i386.c (coff_i386_is_local_label_name): New static function - if TARGET_UNDERSCORE. - (coff_bfd_is_local_label_name): Define if TARGET_UNDERSCORE. - (i386coff_vec): Add SEC_CODE and SEC_DATA to section_flags. +1999-07-29 Richard Henderson <rth@cygnus.com> -Mon Jun 30 14:29:26 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-mips.c (mips_info_to_howto_rel): Split out switch to ... + (mips_rtype_to_howto): ... new function. + (_bfd_mips_elf_relocate_section): Use it. - * elf32-m68k.c (howto_table): Use complain_overflow_bitfield, not - complain_overflow_signed, for 32 bit PC relative relocations. +1999-07-28 Mark Mitchell <mark@codesourcery.com> -Thu Jun 26 01:26:31 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-mips.c (_bfd_mips_elf_relocate_section): Fix typo. - * elflink.h (elf_link_add_object_symbols): When a version - indirection symbol is overridden, make the original symbol point - at the real overriding symbol. +1999-07-27 Nick Clifton <nickc@cygnus.com> - * elf.c (bfd_elf_string_from_elf_section): Check for an invalid - string index. + Patch generated by Bernd Schmidt. <bernds@cygnus.co.uk> + + * coff-arm.c (coff_arm_is_local_label_name): Change to strip + out only symbols that start with LOCAL_LABEL_PREFIX followed by 'L'. - * elflink.h (elf_link_output_extsym): Use the right section for a - common symbol. - * elf32-mips.c (mips_elf_link_output_symbol_hook): If a common - symbol was in .scommon, mark it as SHN_MIPS_SCOMMON. +1999-07-23 Donn Terry <donn@interix.com> -Wed Jun 25 12:43:10 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + * libcoff-in.h (coff_link_hash_entry): Add coff_link_hash_flags + field, and define COFF_LINK_HASH_PE_SECTION_SYMBOL. + * cofflink.c (coff_link_add_symbols): If PE, handle section + symbols specially. + * libcoff.h: Rebuild. - * elflink.h (elf_merge_symbols): Resolve indirect and warning - symbols before checking for new symbols. + * config.bfd (i[3456]86-*-interix*): New target. - * elfcore.h (elf_corefile_note): Move out of HAVE_SYS_PROCFS_H. +1999-07-21 Mark Elbrecht <snowball3@bigfoot.com> -Tue Jun 24 11:20:43 1997 Ian Lance Taylor <ian@cygnus.com> + * coffcode.h (styp_to_sec_flags): If COFF_LONG_SECTION_NAMES and + COFF_SUPPORT_GNU_LINKONCE, mark sections whose names begin with + .gnu.linkonce with SEC_LINKONCE and SEC_LINK_DUPLICATES_DISCARD. + * coff-go32.c: (COFF_LONG_SECTION_NAMES): Define. + (COFF_SUPPORT_GNU_LINKONCE): Define. + * coff-stgo32.c: (COFF_LONG_SECTION_NAMES): Define. + (COFF_SUPPORT_GNU_LINKONCE): Define. - * coffgen.c (coff_object_p): Read the f_opthdr bytes from the - file, not aoutsz bytes (they are different in XCOFF .o files). +1999-07-21 Ian Lance Taylor <ian@zembu.com> - * xcofflink.c (xcoff_link_add_symbols): Permit symbols to be - redefined by objects included from archives. + From Mark Elbrecht: + * makefile.dos: Remove; obsolete. + * configure.bat: Remove; obsolete. -Mon Jun 23 18:03:27 1997 Ian Lance Taylor <ian@cygnus.com> +1999-07-21 H.J. Lu <hjl@gnu.org> - * elflink.h (elf_merge_symbol): In the case of a new defined - symbol overriding an old defined symbol, return the hash table - entry which we modify, even if it is the target of an - indirection. - (elf_link_add_object_symbols): If the real name of the symbol gets - overridden, convert the versioned symbol into an indirect symbol - to the real symbol. + * config.bfd (i[3456]86-*-vxworks*): Add targ_underscore=yes. - * elflink.h (elf_merge_symbol): New static function, broken out of - elf_link_add_object_symbols. - (elf_link_add_object_symbols): Call it. +1999-07-21 Philippe De Muyter <phdm@macqel.be> -Sun Jun 22 19:40:57 1997 Ian Lance Taylor <ian@cygnus.com> + * cofflink.c (_bfd_coff_generic_relocate_section): Issue an error + message and fail if a symbol index is out of range. - * coff-i386.c (i3coff_object_p): If COFF_IMAGE_WITH_PE, hack to - handle case where COFF filehdr does not immediately follow PE - header. - * coffgen.c (coff_object_p): Remove useless seek to current - location. - -Wed Jun 18 19:03:38 1997 Ian Lance Taylor <ian@cygnus.com> - - * linker.c (link_action): Change COMMON_ROW/indr to from CREF to - REFC. - -Tue Jun 17 11:55:02 1997 Ian Lance Taylor <ian@cygnus.com> - - * cofflink.c (_bfd_coff_link_input_bfd): If stripping debugging - symbols, skip N_ABS symbols with debugging storage classes. - -Mon Jun 16 18:56:27 1997 Geoff Keating <geoffk@ozemail.com.au> - - * elf32-ppc.c (ppc_elf_relocate_section): Don't emit R_PPC_REL* - relocs in shared libraries which refer to local symbols. Cope - with addend when processing a GOT relocation. - - * elf32-ppc.c (ppc_elf_size_dynamic_sections): Only create symbols - for sections that the linker didn't create. - (ppc_elf_finish_dynamic_sections): Only try to write out a section - symbol if it was created in ppc_elf_size_dynamic_sections. - (ppc_elf_relocate_section): Complain if we have to generate a reloc - relative to a section for which we didn't output a symbol. - - * elf32-ppc.c (ppc_elf_size_dynamic_sections): Clean up. PLT - relocs are 'rela' relocs, like everything else. .rela.plt is not - a read-only section, so we don't have to special-case it. - - * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Entries in the - .rela.bss section are (of course) 'rela' relocs not 'rel' relocs. - - * elf32-ppc.c (ppc_elf_check_relocs): Initialise srelgot. - (ppc_elf_relocate_section): @got offsets are 4 from start of the - actual .got section. - * elflink.c (_bfd_elf_create_got_section): The three reserved - words start from the symbol '_GLOBAL_OFFSET_TABLE_'. - - * elf32-ppc.c (ppc_elf_size_dynamic_sections): '.rela' is 5 - characters, not 4. - - * elf32-ppc.c (ppc_elf_check_relocs): Use - _bfd_elf_create_got_section to create the GOT rather than - ppc_elf_create_linker_section. Create the '.rela.got' section - ourselves. - (ppc_elf_finish_dynamic_symbol): Set up GOT relocations when a - symbol has a GOT entry. - (ppc_elf_relocate_section): Record when a symbol is used through - the GOT, and allocate space in the GOT for each such symbol. - (ppc_elf_adjust_dynamic_symbol): Delete unused .got.plt stuff. - (ppc_elf_create_linker_section): Delete unused LINKER_SECTION_GOT - stuff. - - * elf32-ppc.c (ppc_elf_howto_raw): GOT16_HA relocs should be - treated in a similar way to ADDR16_HA relocs. - (ppc_elf_relocate_section): PLTREL24 relocs do not get copied into - shared objects; the linker must deal with them. - (ppc_elf_create_linker_section): Stop setting - _GLOBAL_OFFSET_TABLE_ to the wrong value; delete unused - LINKER_SECTION_PLT stuff. - (ppc_elf_check_relocs): Delete unused LINKER_SECTION_PLT stuff. - (ppc_elf_finish_dynamic_sections): Use BFD calls to get GOT - section, not ELF-specific calls. - (elf_backend_plt_not_loaded): Set to 1. - (elf_backend_got_symbol_offset): Set to 4. - * elf-bfd.h (elf_backend_data): Add 'plt_not_loaded' member - for when ld.so fills in the PLT; and 'got_symbol_offset' member. - * elflink.c (_bfd_elf_create_dynamic_sections): Apply - plt_not_loaded member. - (_bfd_elf_create_got_section): Apply got_symbol_offset. - * elfxx-target.h (elf_backend_plt_not_loaded): Set default to - 'loaded'. - (elf_backend_G_O_T_offset): Set default to 0. - (elfNN_bed): Set added fields. - - * elf32-ppc.c (ppc_elf_size_dynamic_sections): Was setting - DT_RELENT in shared objects; should be DT_RELAENT. - - * elf32-ppc.c (ppc_elf_relocate_section): Propagate - R_PPC_ADDR16_HA relocs to shared objects. Cope with case where - such a reloc (in a non-shared object) refers to a symbol that's - not defined. - -Mon Jun 16 14:42:14 1997 H.J. Lu <hjl@gnu.ai.mit.edu> - - * elfcode.h (put_signed_word): Define. - (get_signed_word): Define. - (elf_swap_reloca_in): Use get_signed_word for the r_addend field. - (elf_swap_reloca_out): Use put_signed_word for the r_addend - field. - * elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Use - bfd_get_signed_32 to set the r_addend field. - * elf64-mips.c (mips_elf64_swap_reloca_in): Use - bfd_h_get_signed_64 to set the r_addend field. - -Mon Jun 16 12:31:29 1997 Ian Lance Taylor <ian@cygnus.com> - - * elf32-i386.c (elf_i386_relocate_section): When generating a - shared library, do the relocation if the input section is not - allocated in memory. - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Call - elf_link_assign_sym_version before elf_adjust_dynamic_symbol. - (elf_fix_symbol_flags): New static function, broken out of - elf_adjust_dynamic_symbol. - (elf_adjust_dynamic_symbol): Call elf_fix_symbol_flags. - (elf_link_assign_sym_version): Likewise. Permit a symbol to be - forced local even if NEEDS_PLT is set. When forcing a symbol to - be local, clear NEEDS_PLT. - (elf_link_output_extsym): Remove unused local bed. - -Wed Jun 11 22:44:20 1997 Jeffrey A Law (law@cygnus.com) - - * elf32-mn10300.c (elf32_mn10300_link_hash_entry): New structure - for derived elf linker hash table entries. References to - elf_link_hash_entry changed appropriately. - (elf32_mn10300_link_hash_table): New structure for derived elf - linker hash table. - (elf32_mn10300_hash_table): Define. - (elf32_mn10300_link_hash_traverse): Likewise. - (elf32_mn10300_link_hash_newfunc): New function. - (elf32_mn10300_link_hash_table_create): Likewise. - (elf32_mn10300_finish_hash_table_entry): Likewise. - (mn10300_elf_relax_section): Handle "call" -> "calls", removal - of prologue code, and call:32->call:16 relaxing. - (compute_function_info: New function. - (bfd_elf32_bfd_ilink_hash_table_create): Define. - -Wed Jun 11 00:00:07 1997 Ian Lance Taylor <ian@cygnus.com> - - * elflink.h (elf_link_output_extsym): Call finish_dynamic_symbol - for a symbol which is being forced to be local. - * elf32-i386.c (elf_i386_relocate_section): Write out the - relocation value for a GOT reloc for a symbol which is turning - into a local symbol. - (elf_i386_finish_dynamic_symbol): If a symbol is turning into a - local symbol, write out a RELATIVE reloc rather than a GLOB_DAT - reloc. - * elf32-m68k.c, elf32-sparc.c: Corresponding changes. +1999-07-21 Ian Lance Taylor <ian@zembu.com> - * elf32-i386.c (elf_i386_relocate_section): Get the relocation - value if the symbol is turning into a local symbol. - * elf32-m68k.c (elf_m68k_relocate_section): Likewise. - * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. - -1997-06-10 22:58 Ulrich Drepper <drepper@cygnus.com> - - * elflink.h (elf_link_add_object_symbols): Also read verneed - information by calling `_bfd_elf_slurp_version_tables'. - (elf_link_add_object_symbols): For undefined symbols look for - version information in the verneed records. - (elf_link_add_object_symbols): Use soname of shared object - for verneed record if it is available. + * elf32-mips.c (mips_elf_calculate_relocation): Get the GP value + when looking at a R_MIPS_GOT16 relocation. -Tue Jun 10 11:13:03 1997 H.J. Lu <hjl@gnu.ai.mit.edu> +1999-07-20 Nick Clifton <nickc@cygnus.com> - * cpu-arm.c: Add prototypes for compatible and scan. - * cofflink.c: Add prototype for mark_relocs. + * coff-m88k.c: Use CREATE_BIG_COFF_TARGET_VEC. - * archive.c (bfd_special_undocumented_glue): Change filename to - const pointer. Add prototype. +Mon Jul 19 14:03:44 1999 Mark P. Mitchell <mark@codesourcery.com> -Mon Jun 9 12:34:21 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + * elf32-mips.c (_bfd_mips_elf_final_link): Restore setting of GP + removed in previous change. + (_bfd_mips_elf_relocate_section): Adjust GP relative relocations + in relocateable output. - * elflink.h (elf_link_add_object_symbols): Ignore relocations of - sections that will be discarded. +1999-07-19 Ian Lance Taylor <ian@zembu.com> -1997-06-06 22:58 Ulrich Drepper <drepper@cygnus.com> + * coff-m88k.c (m88kbcs_vec): Initialize new field of bfd_target + structure. - * elflink.h (elf_link_find_version_dependencies): When searching - for known version symbol skip non-matching verdef records, not - matching records. + * elflink.h (elf_merge_symbol): Do merge symbols from the same BFD + if they appear to be specially created by the linker. -Thu Jun 5 15:52:45 1997 Ian Lance Taylor <ian@cygnus.com> +1999-07-19 Nick Clifton <nickc@cygnus.com> - * cofflink.c (_bfd_coff_generic_relocate_section): Write a long, - not a bfd_vma, to the base file, to match how dlltool reads it. - -Tue Jun 3 16:57:45 1997 Nick Clifton <nickc@cygnus.com> - - * reloc.c: Add thumb relocations. + * targets.c (alternative_target): New field in bfd_target + structure. + (bfd_search_for_target): New function: Find a target that + satisifies a search function. + * bfd-in2.h: Regenerate. - * bfd-in2.h: Add Thumb relocations. + * elfxx-target.h: Initialise the alternative_target field of + the bfd_target structures to point to the other target (if + defined). + * nlm-target.h: Initialise the alternative_target field of + the bfd_target structures to point to the other target (if + defined). + + * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): New macro. + (CREATE_LITTLE_COFF_TARGET_VEC): New macro. + + * aix386-core.c: Initialise new field of bfd_target structure. + * aout-adobe.c: Initialise new field of bfd_target structure. + * aout-arm.c: Initialise new field of bfd_target structure. + * aout-target.h: Initialise new field of bfd_target structure. + * aout-tic30.c: Initialise new field of bfd_target structure. + * binary.c: Initialise new field of bfd_target structure. + * bout.c: Initialise new field of bfd_target structure. + * cisco-core.c: Initialise new field of bfd_target structure. + * coff-a29k.c: Use CREATE_BIG_COFF_TARGET_VEC. + * coff-alpha.c: Initialise new field of bfd_target structure. + * coff-apollo.c: Use CREATE_BIG_COFF_TARGET_VEC. + * coff-arm.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC. + * coff-h8300.c: Use CREATE_BIG_COFF_TARGET_VEC. + * coff-h8500.c: Use CREATE_BIG_COFF_TARGET_VEC. + * coff-i386.c: Initialise new field of bfd_target structure. + * coff-i860.c: Initialise new field of bfd_target structure. + * coff-i960.c: Use CREATE_LITTLE_COFF_TARGET_VEC. + * coff-m68k.c: Use CREATE_BIG_COFF_TARGET_VEC. + * coff-mcore.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC. + * coff-mips.c: Initialise new field of bfd_target structure. + * coff-ppc.c: Initialise new field of bfd_target structure. + * coff-rs6000.c: Initialise new field of bfd_target structure. + * coff-sh.c: Use CREATE_{BIG|LITTLE}_COFF_TARGET_VEC. + * coff-sparc.c: Use CREATE_BIG_COFF_TARGET_VEC. + * coff-tic30.c: Initialise new field of bfd_target structure. + * coff-tic80.c: Use CREATE_LITTLE_COFF_TARGET_VEC. + * coff-w65.c: Use CREATE_LITTLE_COFF_TARGET_VEC. + * coff-we32k.c: Use CREATE_BIG_COFF_TARGET_VEC. + * coff-z8k.c: Use CREATE_BIG_COFF_TARGET_VEC. + * hppabsd-core.c: Initialise new field of bfd_target structure. + * hpux-core.c: Initialise new field of bfd_target structure. + * i386msdos.c: Initialise new field of bfd_target structure. + * i386os9k.c: Initialise new field of bfd_target structure. + * ieee.c: Initialise new field of bfd_target structure. + * ihex.c: Initialise new field of bfd_target structure. + * irix-core.c: Initialise new field of bfd_target structure. + * mipsbsd.c: Initialise new field of bfd_target structure. + * netbsd-core.c: Initialise new field of bfd_target structure. + * oasys.c: Initialise new field of bfd_target structure. + * osf-core.c: Initialise new field of bfd_target structure. + * ppcboot.c: Initialise new field of bfd_target structure. + * ptrace-core.c: Initialise new field of bfd_target structure. + * sco5-core.c: Initialise new field of bfd_target structure. + * som.c: Initialise new field of bfd_target structure. + * srec.c: Initialise new field of bfd_target structure. + * tekhex.c: Initialise new field of bfd_target structure. + * trad-core.c: Initialise new field of bfd_target structure. + * versados.c: Initialise new field of bfd_target structure. + * vms.c: Initialise new field of bfd_target structure. + +1999-07-19 Andreas Schwab <schwab@suse.de> + + * elflink.h (elf_bfd_final_link): Remove unused variables rel_hash + and rel_hdr. + +Sat Jul 17 02:28:28 1999 Mark P. Mitchell <mark@codesourcery.com> + + * elflink.h (elf_link_adjust_relocs): New function. + (elf_bfd_final_link): Use it. + (elf_link_input_bfd): Deal with the fact that there can be + two relocation sections for a single section. + (elf_reloc_link_order): Likewise. - * libbfd.h: Add Thumb relocations. + * elf32-mips.c (_bfd_mips_elf_final_link): Don't set GP for + a relocateable object. + (_bfd_mips_elf_relocate_section): Handle relocateable links. -Mon Jun 2 10:41:52 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> +1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> - * cpu-m68k.c (arch_info_struct): Fix 68060 cpu name. + * elf64-sparc.c (sparc64_elf_info_to_howto): Use ELF64_R_TYPE_ID. + (sparc64_elf_get_reloc_upper_bound, + sparc64_elf_get_dynamic_reloc_upper_bound, + sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table, + sparc64_elf_canonicalize_dynamic_reloc, sparc64_elf_write_relocs): + New functions. + (sparc64_elf_check_relocs, sparc64_elf_relocate_section): Use + ELF64_R_TYPE_ID/DATA where appropriate. -Fri May 30 12:46:27 1997 Ian Lance Taylor <ian@cygnus.com> +1999-07-16 Jakub Jelinek <jj@ultra.linux.cz> - * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Set dynindx - for a section even if it is not loaded. + * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Remove + DT_SPARC_PLTFMT. - * cofflink.c (coff_link_add_symbols): If PE file, don't subtract - section VMA. - (_bfd_coff_link_input_bfd): Separate section VMA handling for - input and output files. - (_bfd_coff_generic_relocate_section): Check whether input file, - not output file, is a PE file. +1999-07-16 Ian Lance Taylor <ian@zembu.com> -Wed May 28 15:48:43 1997 Nick Clifton <nickc@cygnus.com> + * elf32-mips.c (mips_elf_local_relocation_p): New static + function. + (mips_elf_next_lo16_addend): Call bfd_set_error on failure. + (mips_elf_calculate_relocation): Use mips_elf_local_relocation_p. + Always set *require_jalxp. + (mips_elf_stub_section_p): Mark abfd parameter as unused. + (_bfd_mips_elf_relocate_section): Only look for LO16 following + GOT16 if the GOT16 is against a local symbol. Don't return false + for an undefined symbol. If there is an overflow, assert that we + have a name. - * coff-arm.c: (coff_arm_bfd_set_private_flags): Make static. +1999-07-16 Andreas Schwab <schwab@suse.de> -Wed May 28 16:16:04 1997 Ian Lance Taylor <ian@cygnus.com> + * elflink.h (elf_link_record_local_dynamic_symbol): Remove unused + variables `link' and `elfsec'. + (elf_bfd_final_link): Remove unused variable `os'. - * coff-i386.c (coff_i386_reloc): Don't just exit if we see an - R_IMAGEBASE reloc. +Thu Jul 15 17:55:31 1999 Mark P. Mitchell <mark@codesourcery.com> -Wed May 28 09:48:43 1997 Nick Clifton <nickc@cygnus.com> + * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Don't require + a PT_PHDR program headers. + (_bfd_mips_elf_final_link): Don't assume there are going to be + section symbols when we're not building a shared object. + (_bfd_mips_elf_check_relocs): Make sure we have a GOT when + we need one. - * cpu-arm.c (compatible): Add test for supersets of ARM - architectures. +1999-07-15 J.T. Conklin <jtc@redback.com> -Tue May 27 19:42:03 1997 Bob Manson <manson@charmed.cygnus.com> + * config.bfd (i[3456]86-*-vxworks*): New target. - * cofflink.c (_bfd_coff_final_link): Initialize global_to_static - member. +1999-07-15 Mark Mitchell <mark@codesourcery.com> -Tue May 27 14:34:08 1997 Nick Clifton <nickc@cygnus.com> + * elf32-mips.c (mips_elf_stub_section_p): New function. + (mips_elf_calculate_relocation): Handle MIPS16 stub functions. + (mips_elf_relocate_section): Adjust calling sequence for + mips_elf_calculate_relocation and mips_elf_perform_relocation. + (mips_elf_perform_relocation): Turn `jal' into `jalx' where + required. - * coff-arm.c (coff_arm_bfd_set_private_flags): Make global. It is - called directly by gas/config/tc-arm.c. +1999-07-15 Ian Lance Taylor <ian@zembu.com> -Tue May 27 15:58:53 1997 Richard Henderson <rth@tamu.edu> + * configure.in: Bump version number to 2.9.5. + * configure: Rebuild. - * elf64-alpha.c (PLT_ENTRY_*): Use a new thread-safe format. - (elf64_alpha_finish_dynamic_symbol): Fill it in properly. +Thu Jul 15 02:56:15 1999 Jeffrey A Law (law@cygnus.com) -Mon May 26 14:05:13 1997 Ian Lance Taylor <ian@cygnus.com> + * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type, case R_HPPA): Handle + 64bit format. + (_bfd_elf_hppa_gen_reloc_type, case R_GOTOFF): Use base reloc type + to derive final type instead of hardwiring a selection. - * coff-ppc.c (coff_ppc_relocate_section): If PE file, don't add - section VMA. +1999-07-14 Mark Mitchell <mark@codesourcery.com> -Mon May 26 10:57:48 1997 Fred Fish <fnf@cygnus.com> + * elf32-mips.c (mips_elf_obtain_contents): Swap 16-bit halves of + things relocated by R_MIPS16_GPREL. + (mips_elf_perform_relocation): Likewise. - * peicode.h (coff_bfd_print_private_bfd_data): #undef before #define. - (coff_bfd_copy_private_bfd_data): Ditto. - * coff-arm.c (coff_arm_bfd_merge_private_bfd_data): Make static. - (coff_arm_bfd_print_private_bfd_data): Ditto. - (coff_arm_bfd_set_private_flags): Ditto. - (coff_arm_bfd_copy_private_bfd_data): Ditto. +Wed Jul 14 15:23:19 1999 Jim Wilson <wilson@cygnus.com> -Fri May 23 15:14:58 1997 Fred Fish <fnf@cygnus.com> + * elfxx-target.h (elfNN_bed): Add elf_backend_want_dynbss. - * libcoff-in.h (struct coff_final_link_info): Add boolean - global_to_static member for support of task linking. - (_bfd_coff_write_task_globals): Add prototype. - * libcoff.h: Regenerate. - * coffcode.h (coff_write_object_contents): Use #ifdef to - check RS6000COFF_C, to be consistent with all other uses - in this file. - * cofflink.c (_bfd_coff_final_link): If doing task linking, - call _bfd_coff_write_task_globals. - (_bfd_coff_link_input_bfd): If doing task linking, convert - global functions to static. - (_bfd_coff_write_global_sym): If doing task linking, convert - global variables to static. - (_bfd_coff_write_task_globals): New function. +1999-07-14 Richard Henderson <rth@cygnus.com> -Wed May 21 17:15:50 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-mips.c (struct mips_got_info): Add global_gotno. + (_bfd_mips_elf_size_dynamic_sections): Set it. + (_bfd_mips_elf_final_link): Re-sort; verify the got did not grow. + (mips_elf_sort_hash_table): Set max_non_got_dynindex based off + new argument max_local. - * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE or - COFF_IMAGE_WITH_PE, don't subtract the section VMA from the symbol - value. - * coffgen.c (fixup_symbol_value): Add abfd parameter. Change all - callers. If PE file, don't add section VMA. - (coff_write_alien_symbol): If PE file, don't add section VMA. - * cofflink.c (_bfd_coff_link_input_bfd): Likewise. - (_bfd_coff_write_global_sym): Likewise. - (_bfd_coff_generic_relocate_section): Likewise. +1999-07-14 Mark Mitchell <mark@codesourcery.com> - * peicode.h: Add & 0xffffffff when using ImageBase in case bfd_vma - is 64 bits. + * elf32-mips.c (mips_elf_obtain_contents): Swap the 16-bit + subwords when handling an R_MIPS16_26 relocation. + (mips_elf_perform_relocation): Don't be paranoid abour right-shift + semantics. + + * elf32-mips.c (elf_mips16_gprel_howto): Adjust src_mask and + dst_mask to match reality. + (_bfd_mips_elf_calculate_relocation): Handle R_MIPS16_GPREL. + (mips_elf_obtain_contents): Use bfd_get. + (mips_elf_perform_relocation): Handle R_MIPS16_GPREL. + (mips_elf_relocate_section): Likewise. -Wed May 21 09:58:10 1997 Nick Clifton <nickc@cygnus.com> +1999-07-13 Mark Mitchell <mark@codesourcery.com> + + * elf32-mips.c (mips_elf_calculate_relocation): Handle R_MIPS16_26. + (mips_elf_relocate_section): Adjust calling sequence for + mips_elf_perform_relocation. + (mips_elf_perform_relocation): Take additional argument. Handle + R_MIPS16_26. Use bfd_put for convenience. + +1999-07-13 Richard Henderson <rth@cygnus.com> + + * elf.c (assign_file_positions_for_segments): Thinko last change. + Always overwrite p_flags. + +1999-07-13 Richard Henderson <rth@cygnus.com> + + * elf-bfd.h (struct elf_backend_data): Add want_dynbss. + * elflink.c (_bfd_elf_create_dynamic_sections): Only create + .dynbss and .rel[a].bss if want_dynbss. + * elfxx-target.h (elf_backend_want_dynbss): Provide default. + +1999-07-13 Richard Henderson <rth@cygnus.com> + + * elf.c (assign_file_positions_for_segments): Don't overwrite p_flags. + +1999-07-13 Richard Henderson <rth@cygnus.com> + + * elf-bfd.h (struct elf_link_local_dynamic_entry): New. + (struct elf_link_hash_table): Add dynlocal. + (_bfd_elf_link_lookup_local_dynindx): Prototype. + (_bfd_elf_link_adjust_dynindx): Delete. + (_bfd_elf_link_renumber_dynsyms): Prototype. + (_bfd_elf,link_record_local_dynamic_symbol): Prototype. + * elfcode.h (elf_link_record_local_dynamic_symbol): New alias. + * elflink.c (_bfd_elf_link_adjust_dynindx): Delete. + (_bfd_elf_link_lookup_local_dynindx): New function. + (elf_link_renumber_hash_table_dynsyms): New function. + (_bfd_elf_link_renumber_dynsyms): New function. + * elflink.h (elf_link_record_local_dynamic_symbol): New function. + (struct elf_assign_sym_version_info): Delete removed_dynamic. + (bfd_elf,size_dynamic_sections): Use _bfd_strip_section_from_output + instead of elf_link_remove_section_and_adjust_dynindices. + Remove removed_dynamic code. Use _bfd_elf_link_renumber_dynsyms. + (elf_link_assign_sym_version): Remove removed_dynamic code. + (elf_link_renumber_dynsyms): Delete. + (elf_bfd_final_link): Install section and local symbols into .dynsym. + + * elf32-m68k.c (elf_m68k_adjust_dynindx): Delete. + (elf_m68k_size_dynamic_sections): Don't set section dynindicies. + (elf_m68k_finish_dynamic_sections): Don't write section dynsyms. + * elf32-mips.c: Similarly. + * elf32-ppc.c: Similarly. + * elf32-sparc.c: Similarly. + * elf64-alpha.c: Similarly. + * elf64-sparc.c: Similarly. + +1999-07-13 Mark Mitchell <mark@codesourcery.com> + + * elf32-mips.c (mips_elf_calculate_relocation): Do not complain + when _gp_disp is undefined. Do not check R_MIPS_LO16 for overflow + when the relocation is against _gp_disp. + +1999-07-12 Mark Mitchell <mark@codesourcery.com> + + * dwarf2.c (read_attribute): Support DW_FORM_ref8. + * elf32-mips.c (mips_elf_link_hash_entry): Change mips_32_relocs + to possibly_dynamic_relocs. Adjust usage throughout code. + (elf_mips_howto_table): Handle R_MIPS_64 correctly. + (elf_mips_ctor64_howto): Likewise. + (mips_elf_calculate_relocation): Handle R_MIPS_64 like R_MIPS_32. + Adjust indentation. + (mips_elf_relocate_section): Handle R_MIPS_64 in 32-bit mode. + (_bfd_mips_elf_check_relocs): Handle R_MIPS_64 like R_MIPS_32. + Use MIPS_ELF_GOT_SIZE to calculate the size of GOT entries. + * elf64-mips.c (elf_backend_may_use_rel_p): Define. + +1999-07-12 Ian Lance Taylor <ian@zembu.com> - * cofflink.c (mark_relocs): Add new function to mark symbols which - are used by relocations. - (_bfd_coff_link_input_bfd): Add call to mark_relocs() and code to - suppress the skipping of symbols that have thus been marked. + * Makefile.am: Rebuild dependencies. + * Makefile.in: Rebuild. -Tue May 20 18:45:26 1997 Ian Lance Taylor <ian@cygnus.com> + * bfd-in.h: Remove tests of COFF_IMAGE_WITH_PE. + * bfd-in2.h: Rebuild. - * coff-sh.c (sh_merge_private_data): New static function. - (coff_bfd_merge_private_bfd_data): Define. + * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED + as appropriate. Use EMPTY_HOWTO as appropriate. Fill in + structure initializations. Add casts. + * reloc.c (EMPTY_HOWTO): Define. + * bfd-in2.h: Rebuild. + * coff-h8300.c (h8300_reloc16_extra_cases): Remove useless + comparisons against 0. + * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Change + previous_ibfd_e_flags to unsigned long. + * vms.h (struct vms_private_data_struct): Change section_count to + unsigned. + * vms-gsd.c (_bfd_vms_slurp_gsd): Change psect_idx to unsigned. + (_bfd_vms_write_gsd): Change symnum to unsigned. + * vms-hdr.c (_bfd_vms_write_hdr): Change symnum to unsigned. + * vms-tir.c (etir_sta): Change psect to unsigned. + (alloc_section): Change idx to unsigned. + (tir_sta, tir_ctl): Change psect to unsigned. + (_bfd_vms_write_tir): Change len and before to bfd_size_type. + * vms.c (priv_section_count): Change to unsigned. + +1999-07-12 Andreas Schwab <schwab@suse.de> + + * elf32-m68k.c: Add some ATTRIBUTE_UNUSED. + * m68klinux.c: Likewise. + +1999-07-12 Ian Lance Taylor <ian@zembu.com> + + * Many files: Changes to avoid gcc warnings: Remove unused local + variables. Add default case to enum switches. + * coff-arm.c (bfd_arm_allocate_interworking_sections): Only + compile if not COFF_IMAGE_WITH_PE. + (record_arm_to_thumb_glue, record_thumb_to_arm_glue): Likewise. + (bfd_arm_get_bfd_for_interworking): Likewise. + (bfd_arm_process_before_allocation): Likewise. + * epoc-pei-arm.c: Don't rename bfd_arm functions. + * pei-arm.c: Likewise. + * elf32-mips.c (mips_elf_link_hash_table_create): Don't declare. + (MIPS_ELF_ADD_DYNAMIC_ENTRY): Correct last change. + (mips_elf_got16_entry): Put parens around & in body of ==. + (mips_elf_calculate_relocation): Correct test for empty string. + * vms-gsd.c: Use _bfd_error_handler rather than fprintf to + stderr. + * vms-misc.c (_bfd_vms_length_hash_symbol): Correct sprintf + format. -Fri May 16 10:23:03 1997 Jeffrey A Law (law@cygnus.com) +1999-07-11 Ian Lance Taylor <ian@zembu.com> - * elf-m10300.c (elf32_mn10300_relax_section): Read in all - the symbols associated with each BFD. - (mn10300_elf_relax_delete_bytes): Don't adjust the same symbol - more than once. - * elf-m10200.c: Likewise. - * elf32-m32r.c: Likewise. - * elf32-sh.c: Likewise. + * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED + as appropriate. Fill in structure initializations. Add variable + initializations. Add casts. + * dwarf1.c (parse_line_table): Change eachLine to unsigned long. + (dwarf1_unit_find_nearest_line): Change i to unsigned long. -Fri May 16 12:10:52 1997 Ian Lance Taylor <ian@cygnus.com> + * elf.c (bfd_elf_hash): Change parameter from unsigned char * to + char *. + * elf-bfd.h (bfd_elf_hash): Update declaration. + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove casts + when calling bfd_elf_hash. - * elflink.h (elf_link_add_object_symbols): Don't decrease the - alignment of a common symbol. If two symbols that look like - common symbols are found in two shared libraries, and the size is - different, use the larger size, and warn if --warn-common. If a - common symbol overrides a definition in a shared library, set the - size to the larger size, and warn if --warn-common. +1999-07-11 Mark Mitchell <mark@codesourcery.com> -Thu May 15 14:31:28 1997 Nick Clifton <nickc@cygnus.com> + * libbfd.c (bfd_put_8): Make it of type `void'. + * bfd-in2.h: Regenerated. + * elf32-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Conditionalize + for 32-bit hosts. + (_bfd_mips_elf_final_link): Likewise. + + * elflink.h (elf_link_read_relocs_from_section): Be type-correct. + +Thu Jul 8 12:32:23 1999 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * config.bfd (hppa*-*-linux-gnu*): New target + +1999-07-07 Mark Mitchell <mark@codesourcery.com> + + * elf-bfd.h (_bfd_mips_elf_section_from_shdr): Constify. + (_bfd_mips_elf_create_dynamic_sections): New function. + (_bfd_mips_elf_add_symbol_hook): Likewise. + (_bfd_mips_elf_adjust_dynamic_symbol): Likewise. + (_bfd_mips_elf_finish_dynamic_symbol): Likewise. + (_bfd_mips_elf_finish_dynamic_sections): Likewise. + (_bfd_mips_elf_gc_mark_hook): Likewise. + (_bfd_mips_elf_gc_sweep_hook): Likewise. + (_bfd_mips_elf_always_size_sections): Likewise. + (_bfd_mips_elf_size_dynamic_sections): Likewise. + (_bfd_mips_elf_check_relocs): Likewise. + (_bfd_mips_elf_link_hash_table_create): Likewise. + (_bfd_mips_elf_print_private_data): Likewise. + (_bfd_mips_elf_link_output_symbol_hook): Likewise. + (_bfd_mips_elf_final_link): Likewise. + (_bfd_mips_elf_additional_program_headers): Likewise. + (_bfd_mips_elf_modify_segment_map): Likewise. + (_bfd_mips_elf_relocate_section): Likewise. + * elf32-mips.c (mips_elf32_object_p): Move contents into + _bfd_mips_elf_object_p. + (mips_elf_additional_program_headers): Rename to + _bfd_mips_elf_additional_program_headers. + (mips_elf_modify_segment_map): Rename to + _bfd_mips_elf_modify_segment_map. + (elf_mips_abi_name): Change prototype. + (mips_elf32_section_from_shdr): Merge into + _bfd_mips_elf_section_from_shdr. + (mips_elf32_section_processing): Merge into + _bfd_mips_elf_section_processing. + (mips_elf_final_link): Rename to _bfd_mips_elf_final_link. Invoke + the right back-end ELF linker. + (mips_elf_relocate_section): Rename to + _bfd_mips_elf_relocate_section. Clean up. Adjust for 64-bit code. + (mips_elf_link_output_symbol_hook): Rename to + _bfd_mips_elf_link_output_symbol_hook. + (mips_elf_create_dynamic_section): Rename to + _bfd_mips_elf_create_dynamic_section. + (mips_elf_check_relocs): Rename to _bfd_mips_elf_check_relocs. + Adjust for 64-bit code. Use mips_elf_got_section. + (mips_elf_adjust_dynamic_symbol): Rename to + _bfd_mips_elf_adjust_dynamic_symbol. Use + mips_elf_allocate_dynamic_relocations. + (mips_elf_finish_dynamic_symbol): Rename to + _bfd_mips_elf_finish_dynamic_symbol. Use mips_elf_got_section. + Adjust for 64-bit code. + (mips_elf_finish_dynamic_sections): Rename to + _bfd_mips_elf_finish_dynamic_sections. Adjust for 64-bit code. + (mips_elf_always_size_sections): Rename to + _bfd_mips_elf_always_size_sections. + (mips_elf_add_symbol_hook): Rename to + _bfd_mips_elf_add_symbol_hook. + (mips_elf_next_lo16_addend): Constify. + (mips_elf_calculate_relocation): Likewise. + (mips_elf_obtain_contents): Likewise. + (mips_elf_perform_relocation): Likewise. + (mips_elf_create_dynamic_relocation): Likewise. + (mips_elf_allocate_dynamic_relocations): New function. + (MIPS_ELF_REL_DYN_SECTION_NAME): New macro. + (MIPS_ELF_REL_SIZE): Likewise. + (MIPS_ELF_DYN_SIZE): Likewise. + (MIPS_ELF_GOT_SIZE): Likewise. + (MIPS_ELF_SYM_SIZE): Likewise. + (MIPS_ELF_LOG_FILE_ALIGN): Likewise. + (MIPS_ELF_GET_WORD): Likewise. + (MIPS_ELF_PUT_WORD): Likewise. + (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise. + (STUB_LW): Conditionalize for 64-bit value. + (elf_mips_howto_table): Add R_MIPS_HIGHER and R_MIPS_HIGHEST + entries. + (_bfd_mips_elf_merge_private_bfd_data): Merge e_ident[EI_CLASS]. + Check it for inconsistency. + (_bfd_mips_elf_print_private_bfd_data): Print ABI=64 for 64-bit + ABI. + (_bfd_mips_elf_fake_sections): Remove duplicate handling of + .msym. + (mips_elf_global_got_index): Use MIPS_ELF_GOT_SIZE. + (mips_elf_got_offset_from_index): Use misp_elf_got_section. + (mips_elf_create_local_got_entry): Use MIPS_ELF_GOT_SIZE. + (mips_elf_local_got_index): Likewise. + (mips_elf_got_page): Likewise. + (mips_elf_got_info): Likewise. + (mips_elf_create_dynamic_relocation): Handle 32-bit/64-bit split. + (ELF_DYNAMIC_INTERPRETER): Handle 64-bit code. + (mips_elf_create_dynamic_sections): Use MIPS_ELF_LOG_FILE_ALIGN, + instead of constant `2'. + (mips_elf_create_got_section): Tidy. Use MIPS_ELF_GOT_SIZE. + (mips_elf_create_msym_section): Use MIPS_ELF_LOG_FILE_ALIGN. + (mips_elf_size_dynamic_sections): Use + MIPS_ELF_REL_DYN_SECTION_NAME, MIPS_ELF_GOT_SIZE, + MIPS_ELF_ADD_DYNAMIC_ENTRY. Remove #if 0'd code. + Adjust all releveant entries in elf backend table. + * elf64-mips.c (mips_elf64_section_from_shdr): Remove. + (mips_elf64_section_processing): Likewise. + Adjust elf backend entries to use _bfd_mips_elf variants now + publicly available. + + * elflink.h (elf_link_create_dynamic_sections): Handle non-standard + hash-entry sizes. + (size_dynamic_sections): Likewise. + (elf_link_output_extsym): Likewise. + * elf.c: (elf_fake_sections): Likewise. + * libbfd.c (bfd_get): New macro. + (bfd_put): Likewise. + * bfd-in2.h: Regenerated. - * cpu-arm.c (compatible): Allow default machine to be polymorphed - into any other machine type. +1999-07-07 Mark Mitchell <mark@codesourcery.com> - * coffcode.h (coff_set_flags): Initialise flags variable to 0. + * elf-bfd.h (elf_size_info): Add hash_entry_size, + int_rels_per_ext_rel, swap_dyn_out, swap_reloc_in, swap_reloc_out, + wap_reloca_in, and swap_reloca_out. + * elflink.h (elf_link_read_relocs_from_section): Adjust to handle + multiple internal relocations per external relocation. + (link_read_relocs): Likewise. + (elf_bfd_final_link): Likewise. + (elf_link_input_bfd): Likewise. + (elf_gc_mark): Likewise. + (elf_gc_smash_unused_vtentry_relocs): Likewise. + * elfcode.h (elf_swap_dyn_out): Adjust type to match + elf_swap_dyn_in. + (size_info): Add entries for new fields. + * elf64-mips.c (mips_elf64_swap_reloc_out): Enable. + (mips_elf64_be_swap_reloc_in): New function. + (mips_elf64_be_swap_reloc_out): Likewise. + (mips_elf64_be_swap_reloca_in): Likewise. + (mips_elf64_be_swap_reloca_out): Likewise. + (mips_elf64_size_info): Add entries for new fields. + +1999-07-07 Ian Lance Taylor <ian@zembu.com> + + * elflink.h (elf_bfd_final_link): Assert that section reloc_count + field equals the new rel_count field. + (elf_link_input_bfd): When doing a relocateable link, use the new + rel_count field rather than the reloc_count field. + (elf_reloc_link_order): Likewise. + (elf_finish_pointer_linker_section): Likewise. - * coff-arm.c (coff_arm_bfd_merge_private_bfd_data): When merging - data into an unitialised destination set its machine type as well. + Based on patch from H.J. Lu <hjl@gnu.org>: + * elflink.h (elf_merge_symbol): Permit a non-weak definition in a + shared library to override a weak definition in a regular object. -Thu May 15 16:40:20 1997 Ian Lance Taylor <ian@cygnus.com> +Tue Jul 6 10:23:39 1999 Jeffrey A Law (law@cygnus.com) - * elflink.h (elf_link_add_object_symbols): Force ELF symbol size - to common symbol size. Consistently treat uninitialized symbols - in shared objects as common symbols. + * libhppa.h: Revert July 2, 1999 patch. -Fri May 9 10:15:27 1997 Nick Clifton <nickc@cygnus.com> + * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): T mode selectors + need to generate DLTIND relocations, not DLTREL relocations. - * archures.c (constants): Added new constants to identify the - type of the ARM architecture: bfd_mach_arm_2, bfd_mach_arm_2a, - bfd_mach_arm_3, bfd_mach_arm_3M, bfd_mach_arm_4 and bfd_mach_arm_4T. +1999-07-05 Nick Clifton <nickc@cygnus.com> - * bfd-in2.h (constants): Added new constants to identify - the type of the ARM architecture: bfd_mach_arm_2, bfd_mach_arm_2a, - bfd_mach_arm_3, bfd_mach_arm_3M, bfd_mach_arm_4 and - bfd_mach_arm_4T. This file is auto-magically generated from the - archures.c file. This update is just to save work. + * coffcode.h (coff_set_arch_mach_hook): Recognise arm 5 + architectures. + (coff_set_flags): Recognise arm 5 architectures. - * coff-arm.c (coff_arm_bfd_merge_private_bfd_data, - coff_arm_bfd_print_private_bfd_data, - coff_arm_bfd_set_private_flags, - coff_arm_bfd_copy_private_bfd_data): Added these new functions. - (global): Macro redefinitions set up to use these new functions. + * cpu-arm.c: Add support for strongarm and arm9 cpus. + Add support for armv5 architecture. - * coffcode.h (coff_mkobject_hook): Added call to - coff_arm_bfd_set_private_flags(). - (coff_set_arch_mach_hook): Added code to set machine type based on - bits stored in internal flags. - (coff_set_flags): Added code to set the new bits in the flags - field based on the machine number. - (function definition macros): Made all function definition macros - conditional so that they can be overridden by target specific - files. + * archures.c: Add bfd_mach_arm_5 and bfd_mach_arm_5T. + + * reloc.c: Add new, assembler only, ARM reloc: + BFD_RELOC_ARM_ADRL_IMMEDIATE. + + * bfd-in2.h: Regenerate. - * cpu-arm.c (compatible): Added this function. (arch_info_struct): - Structure extended to include new types, one each for ARMv2, - ARMv2a, ARMv3, ARMv3M, ARMv4 and ARMv4T. +1999-07-02 Mark Mitchell <mark@codesourcery.com> + + * dwarf2.c (parse_comp_unit): Add ABBREV_LENGTH parameter. + (_bfd_dwarf2_find_nearest_line): Add ADDR_SIZE parameter. + * elf.c (_bfd_elf_find_nearest_line): Pass it. + * elf32-arm.h (elf32_arm_find_nearest_line): Likewise. + * elf32-mips.c (ABI_64_P): New macro. + (IRIX_COMPAT): We are IRIX6-compatible if ABI_64_P. + (_bfd_mips_elf_find_nearest_line): Adjust call to + _bfd_dwarf2_find_nearest_line. + * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype. + * libbfd.h: Regenerated. - * libcoff-in.h (struct coff_tdata): Added flags field. +1999-07-02 Ian Lance Taylor <ian@zembu.com> -Fri May 9 17:40:02 1997 Ian Lance Taylor <ian@cygnus.com> + * config.bfd: Add * at the end of i[3456]86-*-unixware. - * config.bfd (i[3456]86-*-gnu*): Don't include Mach support. +Fri Jul 2 12:21:10 1999 Jeffrey A Law (law@cygnus.com) - * config.bfd: Change #if 0 around uses of host_aout_vec to #if - HAVE_host_aout_vec. + * libhppa.h (HPPA_R_ARG_RELOC): Delete. + (HPPA_R_CONSTANT, HPPA_R_ADDEND): Likewise. -Mon May 5 13:57:32 1997 Mike Meissner <meissner@cygnus.com> +1999-07-01 Mark Mitchell <mark@codesourcery.com> - * coffgen.c (coff_find_nearest_line): If there are no syments, - just return false. + * elf-bfd.h (bfd_elf_section_data): Add rel_count and rel_count2 + fields. + (_bfd_elf_init_reloc_shdr): New function. + * elf.c (_bfd_elf_new_section_hook): Use bfd_zalloc, rather than + bfd_alloc followed by memset. + (_bfd_elf_init_reloc_shdr): New function, split out from ... + (elf_fake_sections): Here. + (assign_section_numbers): Assign section numbers for the second + relocation section, if required. + * elflink.h (elf_link_output_relocs): New function. + (elf_link_size_reloc_section): Likewise. + (elf_bfd_final_link): Use elf_link_size_reloc_section. + (elf_link_input_bfd): Use elf_link_output_relocs. + + * elf32-mips.c (_bfd_mips_elf_fake_sections): Use + _bfd_elf_init_reloc_shdr to initialize rel_hdr2. + +Thu Jul 1 13:58:48 1999 Jeffrey A Law (law@cygnus.com) + + * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle R_PCREL_CALL + with 22bit format. + +1999-06-28 Mark Mitchell <mark@codesourcery.com> + + * elf32-mips.c (mips_elf_got_info): Move declaration before + prototypes. Change global_gotsym to be a pointer to a hash entry, + rather than a number index. + (mips_elf_link_hash_entry): Move declaration before prototypes. + (mips_elf_irix6_finish_dynamic_symbol): New function. + (mips_elf_sign_extend): Likewise. + (mips_elf_high): Likewise. + (mips_elf_higher): Likewise. + (mips_elf_highest): Likewise. + (mips_elf_global_got_index): Likewise. + (mips_elf_local_got_index): Likewise. + (mips_elf_got_offset_from_index): Likeiwse. + (mips_elf_record_global_got_symbol): Likewise. + (mips_elf_got_page): Likewise. + (mips_elf_next_lo16_addend): Likewise. + (mips_elf_calculate_relocation): Likewise. + (mips_elf_obtain_contents): Likewise. + (mips_elf_perform_relocation): Likewise. + (mips_elf_assign_gp): Likewise. + (mips_elf_sort_hash_table_f): Likewise. + (mips_elf_sort_hash_table): Likewise. + (mips_elf_got_section): Likewise. + (mips_elf_got_info): Likewise. + (mips_elf_create_local_got_entry): Likewise. + (mips_elf_got16_entry): Likewise. + (mips_elf_create_dynamic_relocation): Likewise. + (elf_mips_howto_table): Add description of R_MIPS_SCN_DISP. + (mips_elf_final_gp): Use mips_elf_assign_gp. + (_bfd_mips_elf_symbol_processing): Don't move SHN_COMMON symbols + into SHN_SCOMMON automatically on IRIX6. + (mips_elf_add_symbol_hook): Likewise. + (mips_elf_relocate_section): Rewrite, using + mips_elf_calculate_relocation and mips_elf_perform_relocation. + (mips_elf_create_dynamic_section): Use MIPS_ELF_STUB_SECTION_NAME. + Don't deal with .rld_map on IRIX6. + (mips_elf_create_got_section): Adjust use of global_gotsym. Set + section flags appropriately for .got. + (mips_elf_check_relocs): Handle IRIX6 relocations making use of + the got. Call mips_elf_record_global_got_symbol and allocate + local got space appropriately. + (mips_elf_size_dynamic_sections): Use bfd_byte *, not unsigned + char *. Rework calculation of GOT size. Sort dynamic symbol + table entries so entries that do not require GOT entries appear at + the beginning. Don't use DT_MIPS_HIPAGENO on IRIX6. Remove dead + code dealing with DT_INIT and DT_FINI. Remove fiddling with + global_gotsym. + (mips_elf_finish_dynamic_symbol): Adjust creation of global GOT + entries. + (mips_elf_finish_dynamic_symbol): Use + mips_elf_irix6_finish_dynamic_symbol. + (mips_elf_finish_dynamic_sections): Correct off-by-one error + setting DT_MIPS_UNREFEXTNO. Adjust setting of DT_MIPS_GOTSYM for + change to global_gotsym. Set DT_MIPS_OPTIONS on IRIX6. + +1999-06-30 Ian Lance Taylor <ian@zembu.com> + + * elf32-mips.c (mips_elf_final_link): Don't set CPIC when doing a + relocateable link. From Ralf Baechle <ralf@uni-koblenz.de>. + +1999-06-04 Philip Blundell <philb@gnu.org> + + * elf32-arm.h (elf_backend_got_header_size): Define. + (elf_backend_plt_header_size): Likewise. + +1999-06-28 Jim Pick <jim@jimpick.com> + + * elf32-arm.h (elf32_arm_relocate_section): Mind no_undefined + +Tue Jun 29 02:25:03 1999 Jeffrey A Law (law@cygnus.com) + + * elf-hppa.c (elf_hppa_howto_table): Use bfd_elf_generic_reloc as + relocation function. + * elf32-hppa.c (hppa_elf_reloc): Kill unused/unwanted function. + +1999-06-27 Mark Mitchell <mark@codesourcery.com> + + * elf32-mips.c (MIPS_ELF_SRDATA_SECTION_NAME): New macro. + (MIPS_ELF_OPTIONS_SECTION_NAME): Likewise. + (MIPS_ELF_STUB_SECTION_NAME): Likewise. + (_bfd_mips_elf_section_from_shdr): Use them. + (_bfd_mips_elf_fake_sections): Likewise. Add .srdata to the list + of GP-relative sections. + (_bfd_mips_elf_set_section_contents): Use them. + (_bfd_mips_elf_section_processing): Share code between .sdata and + .lit4/.lit8 sections. Set appropriate flags for .srdata. + (mips_elf_additional_program_headers): Add handling for + PT_MIPS_OPTIONS segment on IRIX6. + (mips_elf_modify_segment_map): Likeiwse. + (mips_elf_final_link): Set EF_MIPS_CPIC when required by the ABI. + Include the options sections on IRIX6. Don't look for GP-relative + sections by name; use SHF_MIPS_GPREL instead. + (ELF_DYNAMIC_INTERPRETER): Adjust to use /usr/lib32/libc.so.1 for + the N32 ABI. + (mips_elf_create_dynamic_sections): Don't muck about with section + alignments and such on IRIX6. + (mips_elf_adjust_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME. + (mips_elf_size_dynamic_sections): Likewise. Adjust to handle the + fact that ELF_DYNAMIC_INTERPRETER is no longer a constant. Use + bfd_zalloc rather than bfd_alloc and memset. + (mips_elf_finish_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME. + Don't assert the existence of .rld_map on IRIX6. + (mips_elf_finish_dynamic_sections): Use MIPS_ELF_STUB_SECTION_NAME. + + * elf32-mips.c (mips_elf_adjust_dynindx): Remove. + (mips_elf_size_dynamic_sections): Use _bfd_elf_link_adjust_dynindx + instead. -Mon May 5 18:18:45 1997 Philip Blundell <pjb27@cam.ac.uk> +1999-06-26 Mark Mitchell <mark@codesourcery.com> + + * elf32-mips.c (mips_elf_swap_msym_in): New function. + (mips_elf_swap_msym_out): New function. + (mips_elf_create_msym_section): Likewise. + (MIPS_ELF_MSYM_SECTION_NAME): New macro. + (_bfd_mips_elf_final_write_processing): Set sh_link for .msym. + (_bfd_mips_elf_section_from_shdr): Reject an SHT_MIPS_MSYM + section not named .msym. + (_bfd_mips_elf_fake_sections): Use MIPS_ELF_MSYM_SECTION_NAME, not + .msym directly. Set appropriate attributes for the .msym + section. + (mips_elf_link_hash_entry): Add min_dyn_reloc_index field. + (mips_elf_link_hash_newfunc): Clear it. + (mips_elf_create_dynamic_sections): Create the .msym section + on IRIX6. + (mips_elf_size_dynamic_sections): Allocate space for the + .msym section. Add a DT_MIPS_MSYM entry. + (mips_elf_finish_dynamic_symbol): Write out a .msym entry for + the symbol. + (mips_elf_finish_dynamic_sections): Assign a value for + DT_MIPS_MSYM. Add .msym entries for the section symbols as well. - * config.bfd: cope with '*-*-linux-gnuaout' targets. + * elf32-mips.c (irix_compat_t): New enumeration. + (ABI_N32_P): New macro. + (IRIX_COMPAT): Likewise. + (SGI_COMPAT): Implement in terms of IRIX_COMPAT. + (mips_elf_relocate_section): Fix typo. + +1999-06-26 Mumit Khan <khan@xraylith.wisc.edu> -Thu May 1 11:31:12 1997 Ian Lance Taylor <ian@cygnus.com> + * peicode.h (coff_swap_scnhdr_out): Mark non readonly BFD sections + as writable PE sections. - * targmatch.sed: Add explicit \n characters to work around bug in - HP/UX 10.20 sed program. +1999-06-26 David Mosberger <davidm@hpl.hp.com> -Wed Apr 30 12:27:03 1997 Ian Lance Taylor <ian@cygnus.com> + * dwarf2.c (struct arange): New type. + (struct comp_unit): Replace LOW and HIGH by member ARANGE. + (arange_add): New function. + (decode_line_info): Keep track of address ranges that a compilation + unit covers. + (comp_unit_contains_address): Return true if address is contained + in _any_ of the address ranges associated with a compilation unit. + (_bfd_dwarf2_find_nearest_line): Call comp_unit_find_nearest_line + on the first comp_unit that contains the address. - * elf.c (copy_private_bfd_data): Cast csecs to avoid sign - extension problems. +1999-06-26 David Mosberger <davidm@hpl.hp.com> -Tue Apr 22 12:06:08 1997 Ian Lance Taylor <ian@cygnus.com> + * dwarf2.c (struct dwarf2_debug): Add member dwarf_line_buffer. + (decode_line_info): Add variable STASH and initialize it to point + to the per-bfd dwarf2_debug info. Remove static variable + dwarf_line_buffer and use stash->dwarf_line_buffer in its place. - * Makefile.in (do_maintainer_clean): Don't remove bfd-in2.h. +1999-06-26 Ian Lance Taylor <ian@zembu.com> -Mon Apr 21 11:21:31 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + * elflink.h (elf_link_output_extsym): It's OK for a -Bsymbolic + shared library to have an undefined symbol. - * elf32-m68k.c: Follow the last changes in elf32-i386.c: - (struct elf_m68k_pcrel_relocs_copied, struct - elf_m68k_link_hash_entry, struct elf_m68k_link_hash_table, - elf_m68k_link_hash_traverse, elf_m68k_hash_table, - elf_m68k_link_hash_newfunc, elf_m68k_link_hash_table_create, - elf_m68k_discard_copies, bfd_elf32_bfd_link_hash_table_create): - New definitions. - (elf_m68k_check_relocs): If linking with -Bsymbolic, don't copy - PC relative relocs for a global symbol defined in a regular - object, and count the number of PC relative relocs copied for any - global symbol. - (elf_m68k_size_dynamic_sections): If linking with -Bsymbolic, - traverse with elf_m68k_discard_copies. + From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>: + * elf32-ppc.c (ppc_elf_relocate_section): Fix last patch. -Sat Apr 19 22:50:14 1997 Ian Lance Taylor <ian@cygnus.com> +Thu Jun 24 20:59:11 1999 Jeffrey A Law (law@cygnus.com) - * elf32-i386.c (elf_i386_check_relocs): Only count PC relative - relocs. From Jamie Lokier <jamie@rebellion.co.uk>. + * elf-hppa.c (elf_hppa_final_write_processing): New function. + * elf32-hppa.c: Remove everything related to symbol extension + sections & records. Use the common elf_hppa_final_write_processing. - * coffcode.h (coff_compute_section_file_positions): Force the - potential last byte in the file to be written out when - COFF_IMAGE_WITH_PE. +1999-06-22 Mark Mitchell <mark@codesourcery.com> -Thu Apr 17 13:46:56 1997 Per Fogelstrom <pefo@openbsd.org> + * elflink.h (size_dynamic_sections): Use user-specified init/fini + functions instead of _init/_fini if requested. - * configure.host (mips*-*-openbsd*): New host. +1999-06-23 Ian Lance Taylor <ian@zembu.com> -Thu Apr 17 11:10:54 1997 Ian Lance Taylor <ian@cygnus.com> + * elf.c (bfd_section_from_shdr): Avoid crashing on a bogus sh_link + field. - * elflink.h (elf_link_add_object_symbols): Only subtract the - section VMA from the symbol value if this is a fully linked file. +1999-06-22 Ian Lance Taylor <ian@zembu.com> - * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Define. - (struct elf_i386_link_hash_entry): Define. - (struct elf_i386_link_hash_table): Define. - (elf_i386_link_hash_traverse): Define. - (elf_i386_hash_table): Define. - (elf_i386_link_hash_newfunc): New static function. - (elf_i386_link_hash_table_create): New static function. - (elf_i386_check_relocs): If linking with -Bsymbolic, don't copy - PC relative relocs for a global symbol defined in a regular - object, and count the number of PC relative relocs copied for any - global symbol. - (elf_i386_size_dynamic_sections): If linking with -Bsymbolic, - traverse with elf_i386_discard_copies. - (elf_i386_discard_copies): New static function. - (bfd_elf32_bfd_link_hash_table_create): Define. + From Franz Sirl <Franz.Sirl-kernel@lauterbach.com>: + * elf32-ppc.c (ppc_elf_size_dynamic_sections): Set unused dynindx + field to 0, not -1. + (ppc_elf_finish_dynamic_sections): Check for positive section + dynindx field, rather than comparing against -1. + (ppc_elf_relocate_section): Only return false if undefined_symbol + or reloc_overflow fail, not always upon encountering an error. - From Gordon W. Ross <gwr@mc.com>: - * aoutf1.h (MY_entry_is_text_address): Define if not defined. - (sunos4_aout_backend): Use MY_entry_is_text_address. +1999-06-22 Mark Mitchell <mark@codesourcery.com> -Wed Apr 16 14:02:29 1997 Ian Lance Taylor <ian@cygnus.com> + * elflink.h (link_read_relocs): Explicitly cast external_relocs to + bfd_byte * before performing pointer arithmetic. - From Gordon W. Ross <gwr@mc.com>: - * netbsd.h (N_SHARED_LIB): Define. - (SEGMENT_SIZE): Don't define. - * m68knetbsd.c (SEGMENT_SIZE): Don't define (revert change of - April 11). - * sparcnetbsd.c (TARGET_PAGE_SIZE): Define as 0x2000. - (SEGMENT_SIZE): Don't define. +Tue Jun 22 13:06:25 1999 Jeffrey A Law (law@cygnus.com) - * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Set .rela.bss size - to sizeof Rela structure, not sizeof Rel structure. From Gary - Thomas <g.thomas@opengroup.org>. + * elf-hppa.h: New file. Common stuff for elf32 and elf64 PA + support. + * elf32-hppa.c: Include elf-hppa.h. + (ARCH_SIZE): Define. + (elf_hppa_reloc_type_lookup): Delete. Found in the common code + now. + (elf32_hppa_info_to_howto): Similarly. + (elf_hppa_howto_table): Similarly. + (elf_hppa_reloc_type_lookup): Similarly. + (hppa_elf_gen_reloc_type): Similarly. + * elf32-hppa.h (ELF_HOWTO_TALBE, N_PARISC_RELOCS): Delete. -Tue Apr 15 11:50:37 1997 Ian Lance Taylor <ian@cygnus.com> +1999-06-22 Nick Clifton <nickc@cygnus.com> - * aout-target.h (MY(callback)): If entry_is_text_address, adjust - whenever entry is larger than text address, but only by whole - pages. From Gordon W. Ross <gwr@mc.com>. + * elf32-v850.c (v850_elf_final_link_relocate): Catch overflow + handling R_V850_22_PCREL relocation. - * Makefile.in (install): Depend upon installdirs. Use - mkinstalldirs to build $(oldincludedir). - (installdirs): New target. +1999-06-21 Ian Lance Taylor <ian@zembu.com> - * elflink.h (elf_link_add_object_symbols): Don't call check_relocs - if this is a debugging section which we are stripping. + * coff-arm.c (arm_emit_base_file_entry): Explicitly declare return + type. -Mon Apr 14 12:39:30 1997 Richard Henderson <rth@tamu.edu> +Sun Jun 20 14:13:57 1999 Richard Henderson <rth@cygnus.com> - * elf64-alpha.c (elf64_alpha_object_p): Allocate the - alpha-specific target data struct. + * section.c (_bfd_strip_section_from_output): Ignore sections + DISCARDed by the link script. -Mon Apr 14 11:45:46 1997 Ian Lance Taylor <ian@cygnus.com> +1999-06-19 Ian Lance Taylor <ian@zembu.com> - From Thomas Graichen <graichen@rzpd.de>: - * Makefile.in: Always use $(SHELL) when running move-if-change. - * configure.in: Use ${CONFIG_SHELL} when running $ac_config_sub. - * configure: Rebuild. + * elflink.h (elf_link_remove_section_and_adjust_dynindices): + Remove unused local variable spp. -Fri Apr 11 15:43:24 1997 Ian Lance Taylor <ian@cygnus.com> + * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't crash if + the entry symbol is not set. - * elfcode.h (elf_slurp_symbol_table): Only subtract the section - VMA if this is an executable file or a shared object. +Fri Jun 18 04:24:57 1999 Richard Henderson <rth@cygnus.com> - * targets.c (netbsd_core_vec): Declare. From Gordon W. Ross - <gwr@mc.com>. + * elf64-alpha.c (elf64_alpha_relocate_section): Don't adjust + GPDISP or LITUSE in a relocatable link. - * libaout.h (struct aout_backend_data): Add entry_is_text_address - field. - * aout-target.h (SEGMENT_SIZE): Define to TARGET_PAGE_SIZE at the - start of the file. Remove uses later on which switch using - ifdef. - (MY(callback)): Handle entry_is_text_address. - (MY_entry_is_text_address): Define if not defined. - (MY(backend_data)): Initialize new field. - * aoutf1.h (sunos4_aout_backend): Likewise. - * i386aout.c (MY(backend_data)): Likewise. - * i386mach3.c (MY(backend_data)): Likewise. - * mipsbsd.c (MY(backend_data)): Likewise. - * sparclynx.c (sparclynx_aout_backend): Likewise. - * netbsd.h (SEGMENT_SIZE): Define if not defined. - (MY_entry_is_text_address): Define. - * m68knetbsd.c (SEGMENT_SIZE): Define as 0x20000. - - * xcofflink.c (bfd_xcoff_import_symbol): Handle importing a symbol - whose name starts with `.'. - -Fri Apr 11 11:57:15 1997 Niklas Hallqvist <niklas@appli.se> - - * config.bfd: (i[3456]86-*-openbsd*, m68*-*-openbsd*, - mips*el*-*-openbsd*, mips*-*-openbsd*, ns32k-*-openbsd*, - powerpc-*-*bsd*, sparc-*-openbsd*): New targets. - * configure.in (i[3456]86-*-openbsd*, mips*-*-openbsd*, - m68*-*-openbsd*, ns32k-*-openbsd*, powerpc-*-*bsd*, - sparc-*-openbsd*): New targets. - * configure: Rebuild. +Thu Jun 17 21:24:43 1999 J"orn Rennecke <amylaar@cygnus.co.uk> -Tue Apr 8 18:09:29 1997 Jamie Lokier <jamie@rebellion.co.uk> + * dwarf1.c (alloc_dwarf1_unit): Allocate using bfd_zalloc. + * (alloc_dwarf1_func): Likewise. - * stabs.c (struct stab_section_info): New field - `cumulative_skips'. - (_bfd_link_section_stabs): Fill the above array. - (_bfd_stab_section_offset): Use `cumulative_skips' to - speed up offset calculation. +Wed Jun 16 03:09:57 1999 Jeffrey A Law (law@cygnus.com) -Tue Apr 8 00:01:31 1997 Jeffrey A Law (law@cygnus.com) + * libhppa.h: Fix various formatting errors. + (assemble_3); Rewrite using CATENATE. + (assemble_17): Fix various bugs. - * elf-mn10300.c (mn10300_elf_relax_section): Don't forget the - addend for non pc-relative relocations. +1999-06-16 Nick Clifton <nickc@cygnus.com> - * elf-m10300.c (bfd_elf32_mn10300_reloc): Remove prototype - for non-existent function. + * elf32-mcore.c (R_MCORE_RAW): Fix definition. - * elf-m10300.c (mn10300_elf_relax_section): New function. - (mn10300_elf_relax_delete_bytes): Likewise. - (mn10300_elf_symbol_address_p): Likewise. - (mn10300_elf_get_relocated_section_contents): Likewise. - (bfd_elf32_bfd_relax_section): Define. - (bfd_elf32_bfd_get_relocated_section_contents): Likewise. +1999-06-15 Richard Henderson <rth@cygnus.com> -Mon Apr 7 16:47:09 1997 Ian Lance Taylor <ian@cygnus.com> + * section.c (SEC_SHORT): Define. + * bfd-in2.h: Rebuild. - * configure.host: Set SHLIB_LIBS. - * configure.in: Substitute SHLIB_LIBS. - * configure: Rebuild. - * Makefile.in (SHLIB_LIBS): New variable. - ($(SHLIB)): Use $(SHLIB_LIBS). +1999-06-13 Mark Mitchell <mark@codesourcery.com> -Mon Apr 7 10:53:52 1997 Michael Snyder <msnyder@cleaver.cygnus.com> + * elflink.h (elf_link_remove_section_and_adjust_dynindices): + Remove abfd parameter. Use _bfd_strip_section_from_output. + (bfd_elf_size_dynamic_sections): Adjust callers accordingly. + + * elf-bfd.h (_bfd_elf_link_adjust_dynindx): New function. + * elflink.c (_bfd_elf_link_adjust_dynindx): Define it. + * elflink.h (elf_link_remove_section_and_adjust_dynindices): New + function. + (bfd_elf_size_dynamic_sections): Use it. - * bfd-in.h bfd-in2.h: add bfd_section_lma macro to correspond - with bfd_section_vma. +1999-06-13 Alan Modra <alan@spri.levels.unisa.edu.au> -Fri Apr 4 11:37:15 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-i386.c (elf_howto_table): Change R_386_PC8 from + complain_overflow_bitfield to complain_overflow_signed. - * configure.in: Update file names for bfd_elf32_mn10[23]00_vec. - Correct CPU file names for mn10[23]00. - * configure: Rebuild. +1999-06-13 Mark Mitchell <mark@codesourcery.com> - * bfd.c (bfd_record_phdr): Cast count to size_t before - subtraction. + * elflink.h (elf_link_read_relocs_from_section): New function, + split out from ... + (elf_link_read_relocs): Here. Use it for both relocation + sections. - * coff-ppc.c (dump_toc): Add cast to avoid warning from SunOS cc. - * coff-rs6000.c (xcoff_read_ar_hdr): Likewise. - (xcoff_write_archive_contents): LIkewise. - * elf32-mips.c (_bfd_mips_elf_set_section_contents): Likewise. - (mips_elf_create_procedure_table): Likewise. - * peicode.h (pe_print_idata): Likewise. - (pe_print_edata, pe_print_pdata, pe_print_reloc): Likewise. - * xcofflink.c (xcoff_get_section_contents): Likewise. - (_bfd_xcoff_canonicalize_dynamic_symtab): Likewise. - (xcoff_link_add_symbols): Likewise. - (xcoff_link_add_symbols): Likewise. +1999-06-12 Mark Mitchell <mark@codesourcery.com> - * ppcboot.c (ppcboot_set_arch_mach): Make static. - (ppcboot_bfd_print_private_bfd_data): Likewise. + * elfcode.h (elf_slurp_reloc_table_from_section): Don't assume + asect->reloc_count is valid. - * elf32-mips.c (elf_mips_ctor64_howto): Set complain_on_overflow - to complain_overflow_signed. +1999-06-12 Ian Lance Taylor <ian@zembu.com> -Thu Apr 3 11:51:54 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-mips.c (mips_elf32_section_processing): Permit a + SHT_MIPS_REGINFO section to have a size of 0. - * VERSION: Set to 2.8.1. +1999-06-12 David O'Brien <obrien@freebsd.org> - * Branched binutils 2.8. + * config.bfd (alpha*-*-freebsd*): New target. + (i[3456]86-*-freebsd*): Now defaults to ELF. - * elf32-ppc.c (ppc_elf_check_relocs): Don't check SEC_ALLOC when - deciding whether to copy a reloc into a shared object. - (ppc_elf_relocate_section): Likewise. Relocate R_PPC_RELATIVE - relocs in unallocated sections. - * elf32-sparc.c (elf32_sparc_relocate_section): Relocate - R_SPARC_RELATIVE relocs in unallocated sections. +1999-06-11 Ian Lance Taylor <ian@zembu.com> -Wed Apr 2 16:19:41 1997 Mike Meissner <meissner@cygnus.com> + * reloc.c (_bfd_relocate_contents): Permit bitfield relocations to + wrap if the relocation covers the high bit of an address. - * elf32-ppc.c (ppc_elf_check_relocs): Undo March 26 change and - always create got section so that the _GLOBAL_OFFSET_TABLE_ label - is always created. + * dwarf2.c (decode_line_info): Remove unused variable first_time. -Wed Apr 2 10:49:07 1997 Ian Lance Taylor <ian@cygnus.com> +1999-06-10 Jakub Jelinek <jj@ultra.linux.cz> - * elflink.h (elf_link_add_object_symbols): Let a common symbol - override an uninitialized symbol from a shared library with a - smaller size. + * elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std + instead of R_SPARC_max. + (sparc64_elf_info_to_howto): Likewise. + * elf32_sparc.c (elf32_sparc_relocate_section): Likewise. + (elf32_sparc_info_to_howto): Likewise; handle vtable relocations. - * elf-m10200.c: Rename from elf32-mn10200.c. - * elf-m10300.c: Rename from elf32-mn10300.c. - * cpu-m10200.c: Rename from cpu-mn10200.c - * cpu-m10300.c: Rename from cpu-mn10300.c - * Makefile.in: Update accordingly. +1999-06-07 Richard Henderson <rth@cygnus.com> - * elf32-mips.c (elf_mips_ctor64_howto): New static variable. - (elf_mips_isa): Move to earlier in file. - (mips_reloc_map): Remove BFD_RELOC_CTOR entry. - (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_CTOR - specially. + * section.c (_bfd_strip_section_from_output): Remove output + sections with no initial link_order. - * elf32-mips.c (mips16_jump_reloc): Print a warning rather than - calling abort. +1999-06-07 Nick Clifton <nickc@cygnus.com> -Tue Apr 1 16:18:05 1997 Klaus Kaempf <kkaempf@progis.de> + * elf32-m88k.c (ELF_MAXPAGESIZE): Define. - * configure.com: New file. - * config.h-vms: Remove file. - * makefile.vms: Update for new configure scheme. +Mon Jun 7 11:49:43 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> -Mon Mar 31 23:28:39 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + * Makefile.am (SOURCE_HFILES): Add missing headers. + * Makefile.in: Regenerated. - * libcoff-in.h (ppc_allocate_toc_section): Declare. - (ppc_process_before_allocation): Declare. - * libcoff.h: Rebuild. +1999-06-06 Mark Mitchell <mark@codesourcery.com> - * coffcode.h (coff_mkobject_hook): Declare if not a macro. + * elf32-mips.c (_bfd_mips_elf_print_private_data): Recognize + the N32 ABI. -Mon Mar 31 16:29:50 1997 Joel Sherrill <joel@oarcorp.com> +1999-06-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> - * config.bfd (hppa*-*-rtems*): New target, like hppa-*-*elf*. + * elf32-ppc.c (ppc_elf_relocate_section): Don't barf on out of + range undefweak symbols. + * hash.c: Add missing comma after @xref{} + * linker.c: Likewise. -Mon Mar 31 16:11:35 1997 Ian Lance Taylor <ian@cygnus.com> +1999-06-04 Nick Clifton <nickc@cygnus.com> - * coff-a29k.c (coff_a29k_relocate_section): Don't use symndx as a - symbol index for a R_IHCONST reloc. + * elfxx-target.h (ELF_MAXPAGESIZE): Produce an error message + if not defined. + * elf32-gen.c (ELF_MAXPAGESIZE): Define. + * elf32-i860.c (ELF_MAXPAGESIZE): Define. + * elf32-i960.c (ELF_MAXPAGESIZE): Define. + * elf64-gen.c (ELF_MAXPAGESIZE): Define. -Mon Mar 31 15:40:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be> +1999-06-04 Ian Lance Taylor <ian@zembu.com> - * targmatch.sed: Do not use \(\) recursively. + * Makefile.am: Rebuild dependencies. + (BFD32_BACKENDS): Add dwarf1.lo. + (BFD32_BACKENDS_CFILES): Add dwarf1.c. + * Makefile.in: Rebuild. -Fri Mar 28 14:44:08 1997 H.J. Lu <hjl@gnu.ai.mit.edu> +1999-06-04 Nick Clifton <nickc@cygnus.com> - * m68klinux.c (MACHTYPE_OK): Define. - * i386linux.c (MACHTYPE_OK): Define. + * Makefile.am: Add epoc-arm-pe target. + * Makefile.in: Regenerate. + * pe-arm.c: Only redefine interworking function names if they have + not already been redefined. + * pei-arm.c: Only redefine interworking function names if they have + not already been redefined. + * epoc-pe-arm.c: Redefine interworking function names to avoid a + name space clash. + * epoc-pei-arm.c: Redefine interworking function names to avoid a + name space clash. -Fri Mar 28 11:56:15 1997 Ian Lance Taylor <ian@cygnus.com> +1999-06-03 Nick Clifton <nickc@cygnus.com> - From David S. Miller <davem@caip.rutgers.edu> and H.J. Lu - <hjl@gnu.ai.mit.edu>: - * sparclinux.c: New file. - * bfd-in.h (bfd_sparclinux_size_dynamic_sections): Declare. - * bfd-in2.h: Rebuild. - * config.bfd (sparc-*-linuxaout*, sparc-*-linux*): New targets. - * configure.in (sparclinux_vec): Add to list of vectors. - * configure: Rebuild. - * targets.c (sparclinux_vec): Declare. - (bfd_target_vector): Add sparclinux_vec. - * Makefile.in: Rebuild dependencies. - (BFD32_BACKENDS): Add sparclinux.o. - (BFD32_BACKENDS_CFILES): Add sparclinux.c. - - * coff-mips.c (mips_ecoff_backend_data): Initialize new - bfd_coff_backend_data field. - * coff-alpha.c (alpha_ecoff_backend_data): Likewise. - - * config.bfd: Add bfd_elf64_{big,little}mips_vec to targ_selvecs - for mips*el*-*-linux* and mips*-*-linux*. From H.J. Lu - <hjl@lucon.org> and Ralf Baechle <ralf@gnu.ai.mit.edu>. - - * bfd.c: Include "libiberty.h". - (strerror): Don't declare. - (bfd_errmsg): Call xstrerror rather than strerror. - -Thu Mar 27 12:55:42 1997 Ian Lance Taylor <ian@cygnus.com> - - * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Generate a COPY - reloc even if the symbol is in the .bss section. - * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. - * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise. - * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise. - - * coffcode.h (bfd_coff_backend_data): Add new field - _bfd_coff_default_section_alignment_power. - (bfd_coff_default_section_alignment_power): Define. - (bfd_coff_std_swap_table): Initialize new field. - * libcoff.h: Rebuild. - * cofflink.c (coff_link_add_symbols): Limit alignment of a common - symbol to the default section alignment. + * elfxx-target.h (ELF_MAXPAGESIZE): Default to 0x1000 not 1. - * COPYING: Update FSF address. +Fri Jun 4 10:05:11 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> -Wed Mar 26 14:50:20 1997 Ian Lance Taylor <ian@cygnus.com> + * elf.c (elf_fake_sections): Undo change of 1999-05-10. - * elflink.c (_bfd_elf_create_linker_section): Don't set - bss_section and rel_section from existing sections. +Fri Jun 4 03:10:49 1999 J"orn Rennecke <amylaar@cygnus.co.uk> - * elf32-ppc.c (ppc_elf_check_relocs): Only create the got section - if it is needed. + * elf32-sh.c (sh_elf_relax_delete_bytes): Fix setting of + start / stop for recalculating of r_addend of R_SH_SWITCH*. -Tue Mar 25 22:26:56 1997 Stu Grossman (grossman@critters.cygnus.com) +Fri Jun 4 02:53:13 1999 J"orn Rennecke <amylaar@cygnus.co.uk> - * aoutx.h (some_aout_object_p): Change executable test to fix - problems with embedded a.out systems. + * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH32 + in other text sections. -Tue Mar 25 14:35:37 1997 Ian Lance Taylor <ian@cygnus.com> +Fri Jun 4 02:29:34 1999 J"orn Rennecke <amylaar@cygnus.co.uk> - * stabs.c (_bfd_stab_section_offset): New function. - * libbfd-in.h (_bfd_stab_section_offset): Declare. - * libbfd.h: Rebuild. - * elf32-i386.c (elf_i386_relocate_section): Adjust the offset of a - stab reloc. - * elf32-m68k.c (elf_m68k_relocate_section): Likewise. - * elf32-mips.c (mips_elf_relocate_section): Likewise. - * elf32-ppc.c (ppc_elf_relocate_section): Likewise. - * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. - * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * libbfd.c (_bfd_generic_verify_endian_match): New function. + * libbfd-in.h (_bfd_generic_verify_endian_match): Declare. + * libbfd.h: Regenerate. + * coff-sh.c (sh_merge_private_data): Delete. + (coff_bfd_merge_private_bfd_data): Change to + _bfd_generic_verify_endian_match. + (elf32-sh.c): bfd_elf32_bfd_merge_private_bfd_data: Define. - * stabs.c (_bfd_link_section_stabs): Copy over the first header - symbol. Check for memory allocation failure of *psinfo. - (_bfd_write_section_stabs): Add psinfo parameter. Change all - callers. Set the value of the header symbol. - * libbfd-in.h (_bfd_write_section_stabs): Update declaration. - * libbfd.h: Rebuild. +1999-06-03 Ulrich Drepper <drepper@cygnus.com> -Mon Mar 24 13:41:00 1997 Ian Lance Taylor <ian@cygnus.com> - - * targmatch.sed: Use the hold space to put the #ifdef around the - the string constant. - * targets.c (UNSUPPORTED_TARGET): Don't define. - (find_target): Don't check for UNSUPPORTED_TARGET. - (bfd_set_default_target): Don't try to optimize by checking for - default. - - * Makefile.in: Rebuild dependencies. - (ALL_MACHINES_CFILES): Add cpu-m32r.c. - (BFD32_BACKENDS_CFILES): Add elf32-m32r.c. - (elf32-m32r.o): Remove explicit target. - - * config.bfd: Don't set targ_underscore for i[3456]86-*-gnu* or - i[3456]86-*-linux*. - - * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Don't - count section symbols for sections that were created by the - linker, or are not allocatable or not loadable. - (elf32_sparc_finish_dynamic_sections): Output output section - symbols for section for which we made space for them. - -Fri Mar 21 13:08:26 1997 Ian Lance Taylor <ian@cygnus.com> - - * elf32-sparc.c (elf32_sparc_size_dynamic_sections): If there is - no .rela.plt section, don't output a DT_PLTGOT dynamic entry. - -Fri Mar 21 12:36:46 1997 Doug Evans <dje@canuck.cygnus.com> - - * elf32-m32r.c (m32r_elf_howto_table): Use special function for LO16. - (m32r_hi16_list): New static local. - (m32r_elf_hi16_reloc): Don't perform reloc, just queue it up. - (m32r_elf_do_hi16_reloc): Delete. - (m32r_elf_relocate_hi16): New function. - (m32r_elf_lo16_reloc): New function. - (m32r_elf_relocate_section): For HI16 relocs, scan for corresponding - LO16 reloc. - - Mon Mar 10 16:03:31 1997 Doug Evans <dje@seba.cygnus.com> - - * elf32-m32r.c (m32r_elf_create_linker_section): Delete. - (m32r_elf_add_symbol_hook): Rewrite _SDA_BASE_ support. - (m32r_elf_final_sda_base): New function. - (m32r_elf_relocate_section): Rewrite sdata support. - (m32r_elf_finish_dynamic_sections): Delete. - -Thu Mar 20 12:39:02 1997 Ian Lance Taylor <ian@cygnus.com> - - Based on patches from Philippe De Muyter <phdm@info.ucl.ac.be>. - * coff-svm68k.c: New file. Just defines some macros and includes - coff-m68k.c. - * coff-m68k.c: Add functions to handle common addends, moved in - from cf-m68klynx.c. Control them using COFF_COMMON_ADDEND macro. - Control whether relocs are visible using STATIC_RELOCS. - * cf-m68klynx.c: Simplify greatly: just define macros to control - coff-m68k.c. - * coff-aux.c: Likewise. Just leave add_one_symbol routine. - * targets. (m68ksysvcoff_vec): Declare. - (bfd_target_vector): Add m68ksysvcoff_vec. - * config.bfd (m68*-motorola-sysv*): New target. - * configure.in (m68ksysvcoff_vec): New vector. - * configure: Rebuild. - * Makefile.in: Rebuild dependencies. - (BFD32_BACKENDS): Add coff-svm68k.o. - (BFD32_BACKENDS_CFILES): Add coff-svm68k.c. + * elf32-arm.h: Fix typo: change ELF_MAXPAGE_SIZE to ELF_MAXPAGESIZE. - * binary.c (binary_set_section_contents): Don't get misled if the - first section is not loadable. From Matthew L. Martin - <mlm@xedia.com>. +1999-06-03 Ian Lance Taylor <ian@zembu.com> - * elflink.h (elf_bfd_final_link): Set the value of a section - symbol to the section address unless doing a relocateable link. + * bfd-in.h (bfd_elf32_arm_allocate_interworking_sections): Correct + prototype. + (bfd_elf32_arm_process_before_allocation): Likewise. + * bfd-in2.h: Rebuild. -Tue Mar 18 23:03:17 1997 Richard Henderson <rth@tamu.edu> +1999-06-03 David Mosberger <davidm@hpl.hp.com> + + * dwarf2.c (struct line_info): Add member END_SEQUENCE to keep + track of end_sequence markers. + (add_line_info): Add END_SEQUENCE arg. + (decode_line_info): Don't try to infer lo_pc and hi_pc from the + debug-line info---it doesn't work right if a compilation unit + consists of multiple discontiguous code-sequences. It would be + worthwhile to optimize for the common case where a compilation + unit results in a contiguous set of code sequences, but this is + quite tricky to get right for arbitrary DWARF2 files. + (lookup_address_in_line_info_table): Don't use the last line entry + for a compilation unit for anything with an address higher than + this line entry. Also, check for end_sequence markers to + correctly handle discontinuities. + (_bfd_dwarf2_find_nearest_line): When checking previously loaded + compilation units, check all compilation units with each->high==0 + just like when reading compilation units. + + * dwarf2.c (decode_line_info): Initialize table->files and + table->last_line to NULL to avoid segfaults due to random + values in these members. + (concat_filename): Check for out-of-range file number before + indexing filename table. Segfaults suck. + + * dwarf2.c (decode_line_info): Don't truncate address to least + significant 32 bits (breaks 64 bit targets). + (lookup_address_in_function_table): Ditto. + (comp_unit_contains_address): Ditto. + +1999-06-02 Mark Mitchell <Mark Mitchell <mark@codesourcery.com>> + + * elf32-mips.c (elf_mips_howto_table): Add R_MIPS_JALR. + * elf64-mips.c (mips_elf64_howto_table_rel): Likewise. + (mips_elf64_howto_table_rela): Likewise. + + * elfcode.h (elf_slurp_reloc_table_from_section): New function, + split out from ... + (elf_slurp_reloc_table): Here. Use it to handle the case where a + single section has two associated relocation sections. + +1999-06-02 Mark Salter <msalter@cygnus.com> + + * coffcode.h (coff_set_alignment_hook): Set lma from s_vaddr if + COFF_WITH_PE defined. + +1999-06-02 Nick Clifton <nickc@cygnus.com> + + * pe-arm.c: Rename global arm interworking functions to avoid name + collision when all targets BFD is built. + * pei-arm.c: Ditto. + +1999-05-31 Mark Mitchell <mark@codesourcery.com> + + * elf-bfd.h (elf_backend_data): Remove use_rela_p. Add + may_use_rel_p, may_use_rela_p, default_use_rela_p. + (bfd_elf_section_data): Add use_rela_p. + * elf.c (bfd_section_from_shdr): Set use_rela_p appropriately. + (_bfd_elf_new_section_hook): Likewise. + (elf_fake_sections): Use may_use_rela_p, etc., instead of + use_rela_p. + (_bfd_elf_copy_private_section_data): Copy use_rela_p. + * elfcode.h (write_relocs): Determine whether or not use rela + relocs based on the relocation section header. + * elflink.c (_bfd_elf_create_dynamic_sections): Use default_use_rela_p + instead of use_rela_p. + * elfxx-target.h (elf_backend_may_use_relp): New macro. + (elf_backend_may_use_rela_p): Likewise. + (elf_backend_default_use_rela_p): Likewise. + (elfNN_bed): Use them. + +Wed Jun 2 12:38:49 1999 Miodrag Vallat <miodrag@multimania.com> + + * hosts/alphalinux.h (TRAD_CORE_EXTRA_SIZE_ALLOWED): Expand to 4096. + +Tue Jun 1 17:57:58 1999 Mark P. Mitchell <mitchell@n02.acl.lanl.gov> + + * reloc.c (BFD_RELOC_MIPS_SUB): New relocation. + (BFD_RELOC_MIPS_GOT_PAGE): Likewise. + (BFD_RELOC_MIPS_GOT_OFST): Likewise. + (BFD_RELOC_MIPS_GOT_DISP): Likewise. + * bfd-in2.h: Regenerated. + * libbfd.h: Likewise. + * elf32-mips.c (mips_info_to_howto_rela): New function. + (USE_REL): Adjust for new conventions. + (MINUS_ONE): New macro. + (elf_mips_howto_table): Add R_MIPS_SUB. + (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE, MIPS_GOT_OFST, + and MIPS_GOT_DISP. + (mips_elf_final_write_processing): Set sh_link, not sh_info, for a + .MIPS.content section. + (_bfd_mips_elf_fake_sections): Treat all sections that begin + with .MIPS.content as .MIPS.content sections. Set + SHF_MNIPS_NOSTRIP for such section. + (elf_info_to_howto): Define to mips_info_to_howto_rela. + * elf64-mips.c (mips_r): Add entries for MIPS_SUB, MIPS_GOT_PAGE, + MIPS_GOT_OFST, and MIPS_GOT_DISP. + +Wed Jun 2 11:51:12 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> + + * vms-misc.c (_bfd_vms_hash_newfunc): Fix use of uninitialized + variable. + + * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Avoid ambigous + `else'. + +1999-05-30 Philip Blundell <philb@gnu.org> + + * elf32-arm.h (elf32_arm_relocate_section): Reinstate change of + 1993-03-25 (!!). Take into account the bitmasks for the reloc so + the addend does not overflow into the rest of the word. + +1999-05-29 Nick Clifton <nickc@cygnus.com> + + * bfd-in.h: Amend prototype for + bfd_elf32_arm_process_before_allocation . + * bfd-in.h: Regenerate. + + * elfarm-oabi.c (NUM_ELEM): New macro: Compute the number of + elements in a fixed sized array. + (ARM_ELF_ABI_VERSION): Define. + (ARM_ELF_OS_ABI_VERSION): Define. + (R_ARM_THM_ABS5): Fix rightshift and size. + (R_ARM_THM_PC22): Fix size. + (R_ARM_PLT32): Define Howto. + (find_howto): New function: Locate a howto based on a reloc + number. + (elf32_arm_info_to_howto): Use find_howto if necessary. + (elf32_arm_reloc_map): Change type of field bfd_reloc_val to + bfd_reloc_code_real_type. + (elf32_arm_reloc_map[]): Add entries for BFD_RELOC_VTABLE_INHERIT + and BFD_RELOC_VTABLE_ENTRY. + (elf32_arm_reloc_type_lookup): Use find_howto if necessary. + + * elfarm-nabi.c (NUM_ELEM): New macro: Compute the number of + elements in a fixed sized array. + (ARM_ELF_ABI_VERSION): Define. + (ARM_ELF_OS_ABI_VERSION): Define. + (R_ARM_THM_ABS5): Fix rightshift and size. + (R_ARM_THM_PC22): Fix size. + (elf32_arm_info_to_howto_rel): Rename to elf32_arm_info_to_howto. + (elf32_arm_reloc_map): Change type of field bfd_reloc_val to + bfd_reloc_code_real_type. + + * elf32-arm.h (struct elf32_arm_link_hash_table): Add new field: + no_pipeline_knowledge. + (elf32_arm_link_hash_create): Initialise new field to zero. + (bfd_elf32_arm_process_before_allocation): Add new paraemter: + no_pipeline_knowledge. Use this parameter to initialise the field + in the globals data structure. + (elf32_arm_final_link_relocate): Only add in pipeline offset if + no_pipeline_knowledge is false and the binary is from an old + toolchain. + (elf32_arm_merge_private_data): Generate an error if an attempt is + made to linl together big endian and little endian code. + (elf32_arm_post_process_headers): New function: Initialise the + EI_OSABI and EI_ABIVERSION fields of the newly created ELF program + header. + (elf_backend_post_process_headers): Define. - * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't create - .plt entry if we've taken the function's address. - (elf64_alpha_merge_gots): Merge collected flags info as well. +1999-05-28 Nick Clifton <nickc@cygnus.com> -Tue Mar 18 22:40:09 1997 H.J. Lu <hjl@lucon.org> + * elf-bfd.h (struct elf_backend_data): Add new field: + elf_backend_post_process_headers. - * Many files: Add function prototypes. - * cpu-m68k.c (bfd_default_scan_num_mach): Don't declare. - * ecofflink.c: Include "libcoff.h" and "libecoff.h". - * elf32-ppc.c (ppc_elf_fake_sections): Make static. - * opncls.c (bfd_openstreamr): Change stream parameter to PTR. - * peicode.h: Change several void * parameters to PTR. - * srec.c (srec_get_symbol_info): Make static. - * syms.c (bfd_symbol_is_absolute): Remove. - * Makefile.in: Rebuild dependencies. + * elfxx-target.h (elf_backend_post_process_headers): Define to + NULL if not already defined. + (elfNN_bed): Initialise elf_backend_post_process_headers field. -Tue Mar 18 12:58:08 1997 Ian Lance Taylor <ian@cygnus.com> + * elf.c (prep_headers): Set the EI_OSABI and EI_ABIVERSION fields + to zero. + (_bfd_elf_compute_section_file_positions): Call + elf_backend_post_process_headers if defined. - * elf32-m32r.c (m32r_elf_is_local_label_name): Remove. - (bfd_elf32_bfd_is_local_label): Don't define. +1999-05-28 Ian Lance Taylor <ian@zembu.com> - * xcofflink.c (_bfd_xcoff_bfd_final_link): Call bfd_malloc rather - than malloc. + * configure.in: Check whether getuid and getgid exist. + * archive.c: Define getuid and getgid as macros if HAVE_GETUID or + HAVE_GETGID are not defined, respectively. + (bfd_write_armap): Don't special case on _WIN32 for getuid and + getgid. + * configure.host: Set ac_cv_func_get{ug}id for *-*-windows*. + * configure, config.in: Rebuild. -Mon Mar 17 11:32:53 1997 Ian Lance Taylor <ian@cygnus.com> +1999-05-28 Martin Dorey <mdorey@madge.com> - * bfd-in.h: Don't include obstack.h. - (struct bfd_hash_table): Change memory field to PTR. - * bfd.c (struct _bfd): Change memory field to PTR. - * bfd-in2.h: Rebuild. - * libbfd-in.h (bfd_release): Declare as function, don't define as - macro. - * libbfd.h: Rebuild. - * opncls.c: Include "objalloc.h" rather than "obstack.h". Use - objalloc routines rather than obstack routines. - (obstack_chunk_alloc, obstack_chunk_free): Don't define. - (getpagesize): Don't define. - (_bfd_new_bfd): Don't set _bfd_chunksize. - (bfd_openr): Free new bfd and objalloc on failure. - (bfd_fdopenr, bfd_openstreamr, bfd_openw): Likewise. - (bfd_alloc_size): Remove. - (bfd_release): New function. - * hash.c: Include "objalloc.h" rather than "obstack.h". Use - objalloc routines rather than obstack routines. - (obstack_chunk_alloc, obstack_chunk_free): Don't define. - * ecofflink.c: Include "objalloc.h" rather than "obstack.h". Use - objalloc routines rather than obstack routines. - (obstack_chunk_alloc, obstack_chunk_free): Don't define. - (struct accumulate): Change memory to struct objalloc *. - * liboasys.h (oasys_data_type): Remove oasys_obstack field. - * dep-in.sed: Don't remove obstack.h from dependency list. - * Makefile.in: Rebuild dependencies. - (BFD_H_DEPS): Remove obstack.h. - (install): Don't install obstack.h. - * Many files: Don't include "obstack.h". - * VERSION: Bump. - - * opncls.c (bfd_alloc_grow, bfd_alloc_finish): Remove. - * libbfd-in.h (bfd_alloc_grow, bfd_alloc_finish): Don't declare. - * libbfd.h: Rebuild. - * ieee.c (ieee_archive_p): Rewrite to not use bfd_alloc_grow. - * sunos.c (sunos_add_dynamic_symbols): Likewise. - * srec.c (srec_scan): Rewrite to not use obstack_1grow. + * elf32-i960.c: New file. + * elf.c (prep_headers): Handle bfd_arch_i960. + * targets.c (bfd_target_vector): Add &bfd_elf32_i960_vec. + * config.bfd (i960-*-elf*): New target. + * configure.in (bfd_elf32_i960_vec): New target vector. + * Makefile.am (BFD32_BACKENDS): Add elf32-i960.lo. + (BFD32_BACKENDS_CFILES): Add elf32-i960.c. + * Makefile.in, aclocal.m4, configure: Rebuild. - * opncls.c (bfd_alloc): Rename from bfd_alloc_by_size_t. Remove - old version of bfd_alloc. - * libbfd-in.h (bfd_alloc_by_size_t): Don't declare. - * libbfd.h: Rebuild. - * Several files: Call bfd_alloc rather than bfd_alloc_by_size_t. - -Sat Mar 15 15:24:18 1997 Ian Lance Taylor <ian@cygnus.com> - - * elf32-mips.c (mips_elf_is_local_label_name): Accept the generic - ELF local label syntax as well. - -Sat Mar 15 10:16:42 1997 Fred Fish <fnf@cygnus.com> - - * config.bfd (powerpc-*-beos*): New target. - * configure.in (powerpc-*-beos*): Add case that explicitly - does not set COREFILE for now. A future BeOS version is - expected to support core files. - * configure: Regenerate with autoconf. - -Fri Mar 14 16:43:22 1997 Ian Lance Taylor <ian@cygnus.com> - - * elf32-mips.c (mips_elf_check_relocs): Give an error if CALL16 is - seen with a local symbol, rather than crashing. - - * elfcode.h (elf_slurp_symbol_table): Don't try to read the - version symbols if there aren't any. - -Thu Mar 13 14:08:53 1997 Ian Lance Taylor <ian@cygnus.com> - - * elflink.h (elf_link_add_object_symbols): Don't warn about type - or size changes because of a weak symbol. - - * cisco-core.c (SIGEMT): Define if not defined. - -Wed Mar 12 21:36:05 1997 Ian Lance Taylor <ian@cygnus.com> - - * elflink.h (elf_link_add_object_symbols): Use extsymoff when - setting ever. Sanity check the version number. Sort out copying - flags and other information when adding an indirect symbol. - (NAME(bfd_elf,size_dynamic_sections)): Preserve any dynamic - symbols added by the backend. Clear the entire contents of the - versym section. - (elf_export_symbol): Ignore indirect symbols. - (elf_link_output_extsym): Accept a section without an owner in an - assert. - * elfcode.h (elf_slurp_symbol_table): Add a sanity check on the - version count. Correct the allocation of x_versymp. - - * elf32-mips.c (mips_elf_add_symbol_hook): Don't set the owner of - the magic sections used for SHN_MIPS_TEXT and SHN_MIPS_DATA. - Don't return bfd_und_section_ptr when info->shared. - (mips_elf_final_link): Set the alignment of .rtproc to 4, not 12. - (mips_elf_create_dynamic_sections): Correct type: ^= for &=. - (mips_elf_check_relocs): Resolve an indirect symbol in - sym_hashes. - (mips_elf_finish_dynamic_symbol): Don't change SHN_ABS into - SHN_MIPS_TEXT or SHN_MIPS_DATA. - - * elf.c (bfd_elf_print_symbol): Tweak version output slightly. - -Tue Mar 11 01:38:36 1997 Ian Lance Taylor <ian@cygnus.com> - - From Eric Youngdale <eric@andante.jic.com>: - * elf-bfd.h (ELF_LINK_FORCED_LOCAL): Define. - * elf.c (bfd_elf_print_symbol): Correct errors in last change. - * elflink.h (elf_link_add_object_symbols): Handle cases in which a - versioned symbol appears in both a regular and a shared object. - (elf_link_assign_sym_version): Set ELF_LINK_FORCED_LOCAL when - appropriate. Improve error message. - (struct elf_outext_info): Rename from elf_finfo_failed. Change - all uses. Add localsyms field. - (elf_bfd_final_link): When generating a shared library, call - elf_link_output_extsym to output all local symbols. - (elf_link_output_extsym): Handle symbols which were forced to - become local. - -Sun Mar 9 23:08:49 1997 Ian Lance Taylor <ian@cygnus.com> - - From Eric Youngdale <eric@andante.jic.com>: - * elf-bfd.h (elf_symbol_type): Add version field. - * elfcode.h (elf_slurp_symbol_table): Set version field. - * elflink.h (elf_link_add_object_symbols): When creating an - indirect symbol for a default version symbol, set DEF_DYNAMIC if - appropriate. Set up an indirection from the nondefault version of - the symbol as well. - (NAME(bfd_elf,size_dynamic_sections)): Call - elf_link_assign_sym_version before checking whether there are any - versions. Always record the version name as a dynamic symbol. - Initialize counters. - (elf_link_assign_sym_version): After finding a version, see if a - symbol should be forced to local scope. Create a new version - definition if appropriate. - (elf_link_output_extsym): Correct indirect symbol handling. - * elf.c (bfd_elf_print_symbol): Print version information. - (bfd_section_from_shdr): Turn version sections into BFD sections. - (elf_fake_sections): Only copy cverdefs and cverrefs into sh_info - if sh_info is not already set. - (_bfd_elf_copy_private_section_data): Copy sh_info for version - sections. - * elflink.c (_bfd_elf_link_record_dynamic_symbol): Tell - _bfd_stringtab_add to copy the name into permanent memory if - appropriate. +1999-05-27 Nick Clifton <nickc@cygnus.com> -Fri Mar 7 11:55:31 1997 H.J. Lu <hjl@gnu.ai.mit.edu> + * elfarm-oabi.c (elf32_arm_howto_table): Add entry for + R_ARM_PLT32. + (find_howto): New function: Find entries in the + elf32_arm_howto_table. + (elf32_arm_info_to_howto): Use find_howto if the entry cannot be + computed simply. + (elf32_arm_reloc_type_lookup): Add lookup for + BFD_RELOC_ARM_PLT32. - * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Fully parenthesize. +1999-05-25 Philip Blundell <pb@nexus.co.uk> -Fri Mar 7 10:37:30 1997 Ian Lance Taylor <ian@cygnus.com> + * bfd/elf32-arm.h (elf32_arm_link_hash_newfunc): New function. + (elf32_arm_link_hash_table_create): Use above function as the + constructor for hash table entries. + (elf32_arm_relocate_section): Avoid crash when there is no output + section. + (elf32_arm_final_link_relocate): New parameter h. + (elf32_arm_relocate_section): Pass symbol hash entry to above + routine. + (elf32_arm_gc_sweep_hook, elf32_arm_check relocs): Correct + comments. - * coffcode.h (bfd_coff_backend_data): Change - _bfd_coff_compute_section_file_positions to return a boolean - value. Change all callers. - (coff_compute_section_file_positions): Change return type to - boolean. If the size of the last section changed, then output a - zero byte at the end of the file. - * libcoff.h: Rebuild. +1999-05-25 Catherine Moore <clm@cygnus.com> - * xcofflink.c (_bfd_xcoff_bfd_final_link): Always allocate space - for at least 6 output symbols. - (xcoff_write_global_symbol): When emitting TOC entry relocs, also - emit a TC csect to represent the space they take up. For an XO - symbol, just emit a reference, not a csect. + * coff-arm.c (coff_arm_relocate_section): Don't emit + base file entries for pc-relative values. - * Makefile.in ($(SHLINK)): Just use ln -s, not ln -sf, since - Solaris doesn't like the combined options, and the -f is - unnecessary. - (stamp-tshlink, install): Likewise. +1999-05-25 DJ Delorie <dj@cygnus.com> - * elf32-mips.c (mips_elf_relocate_section): Correct R_MIPS16_26 - handling when little endian. + * peicode.h (coff_swap_sym_in): When we create the actual section + to reflect the not-there section C_SECTION symbols refer to, + change the symbol class to C_STAT as the section is now really + there. -Thu Mar 6 13:51:51 1997 Jeffrey A Law (law@cygnus.com) +1999-05-24 Philip Blundell <pb@nexus.co.uk> - * elf32-mn10300.c (mn10300_elf_final_link_relocate): New function. - (mn10300_elf_relocate_section): Likewise. - (elf_backend_relocate_section): Define. + * elf32-arm.h (elf32_arm_relocate_section): Undo change of + 1999-03-25. - * elf32-mn10300.c (reloc_type): Remove PCREL{8,16,32}_{1,2}BYTE - relocs. Replace them with generic PCREL_{8,16,32} relocs. - (elf32_mn10300_howto_table): Likewise. - (elf32_mn10300_reloc_map): Likewise. - (bfd_elf32_mn10300_reloc): Delete unused function. - -Thu Mar 6 12:19:59 1997 Fred Fish <fnf@cygnus.com> - - * coffcode.h (coff_slurp_reloc_table): Pull duplicate declarations and - code fragment out of both legs of #ifdef RELOC_PROCESSING ... #endif - block. Use NULL for initializations of "ptr" rather than bare 0. - * coff-h8300.c: Fix typo in comment. - * coff-h8500.c: Ditto. - * coff-w65.c: Ditto - * coff-z8k.c: Ditto. - -Wed Mar 5 13:59:09 1997 Doug Evans <dje@seba.cygnus.com> - - * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc): Fix overflow calc. - (m32r_elf_relax_section, m32r_elf_relax_delete_bytes, - m32r_elf_get_relocated_section_contents): First pass at relax support. - -Mon Mar 3 13:27:09 1997 Ulrich Drepper <drepper@rtl.cygnus.com> - - * elflink.h (elf_link_add_object_symbols): Use correct sh_size - entry for reading verdef records. - Use correct braces for computing increments of extverdaux and - exteverdef record pointers. - -Sun Mar 2 16:25:35 1997 Ian Lance Taylor <ian@cygnus.com> - - * elflink.h (elf_link_find_version_dependencies): Check that - DEF_REGULAR is not set as well as checking that DEF_DYNAMIC is - set. - -Fri Feb 28 15:06:45 1997 Ian Lance Taylor <ian@cygnus.com> - - * targets.c (bfd_default_vector): Make non-const. - (find_target): New static function, broken out of - bfd_find_target. - (bfd_set_default_target): New function. - (bfd_find_target): Call find_target. When defaulting, use - bfd_default_vector[0] if it is not NULL. - * libbfd-in.h (bfd_default_vector): Adjust declaration. - * bfd-in2.h, libbfd.h: Rebuild. - - * syms.c (bfd_is_local_label): Return false if the symbol has no - name. - * coff-i960.c (coff_i960_is_local_label_name): New function. - (coff_bfd_is_local_label_name): Define. - * coff-m68k.c (m68k_coff_is_local_label_name): New function. - (coff_bfd_is_local_label_name): Define. - * coff-rs6000.c (xcoff_is_local_label_name): New function. - (coff_bfd_is_local_label_name): Define. - * elf.c (_bfd_elf_is_local_label_name): Treat symbols beginning - with .. or _.L_ as local. - * elf32-i386.c (elf_i386_is_local_label_name): New function. - (bfd_elf32_bfd_is_local_label_name): Define. - * evax-alpha.c (evax_bfd_is_local_label_name): Treat symbols - beginning with $ as local. - -Thu Feb 27 18:36:23 1997 Ian Lance Taylor <ian@cygnus.com> - - * aoutx.h (aout_link_write_symbols): Use bfd_is_local_label_name - rather than comparing against info->lprefix. - * cofflink.c (_bfd_coff_link_input_bfd): Likewise. - * elflink.h (elf_link_input_bfd): Likewise. - * linker.c (_bfd_generic_link_output_symbols): Likewise. - * xcofflink.c (xcoff_link_input_bfd): Likewise. - - * elfxx-target.h (bfd_elfNN_bfd_is_local_label_name): Define as - _bfd_elf_is_local_label_name if not already defined. - * elf.c (_bfd_elf_is_local_label_name): New function. - * elf-bfd.h (_bfd_elf_is_local_label_name): Declare. - - * coff-m88k.c (coff_bfd_is_local_label_name): Define. - (m88k_is_local_label_name): New static function. - - * coffcode.h (coff_bfd_is_local_label_name): Define as - _bfd_coff_is_local_label_name if not already defined. - * coffgen.c (_bfd_coff_is_local_label_name): New function. - * libcoff-in.h (_bfd_coff_is_local_label_name): Declare. - * libcoff.h: Rebuild. +Mon May 17 13:35:35 1999 Stan Cox <scox@cygnus.com> - * targets.c (BFD_JUMP_TABLE_SYMBOLS): Change _bfd_is_local_label - to _bfd_is_local_label_name. - (bfd_target): Likewise. - * syms.c (bfd_is_local_label): Define as function, not macro. - (bfd_is_local_name): Define. - * libbfd.c (bfd_generic_is_local_label_name): Rename from - bfd_generic_is_local_label, and take a string rather than a - symbol. - * libbfd-in.h (_bfd_nosymbols_bfd_is_local_label): Don't define. - (_bfd_nosymbols_bfd_is_local_label_name): Define. - (bfd_generic_is_local_label): Don't declare. - (bfd_generic_is_local_label_name): Declare. - * bfd-in2.h, libbfd.h: Rebuild. - * All backends: Change local_label to local_label_name. - - * elf32-mips.c (struct mips_got_info): Add assigned_gotno field. - (mips_elf_relocate_got_local): Change return type to boolean. - Don't assume that the first zero entry is unassigned; instead, use - assigned_gotno. - (mips_elf_relocate_section): Check return value of - mips_elf_relocate_got_local. - (mips_elf_create_got_section): Initialize assigned_gotno field. - -Wed Feb 26 13:33:03 1997 Ian Lance Taylor <ian@cygnus.com> - - * elflink.h (elf_link_input_bfd): Don't skip symbols from sections - that have no contents merely because linker_mark is not set. - -Tue Feb 25 18:51:35 1997 Stan Shebs <shebs@andros.cygnus.com> - - * config.bfd (mips*-*-lnews*): New target. - * coff-mips.c (mips_relocate_section): Make assert compare - content byteorder instead of header byteorder. - (ecoff_biglittle_vec): New BFD, big-endian headers, little-endian - data. - * targets.c (bfd_target_vector): Add ecoff_biglittle_vec. - * configure.in (ecoff_biglittle_vec): Add case. - * configure: Update. - -Tue Feb 25 00:32:49 1997 Ian Lance Taylor <ian@cygnus.com> - - * elf.c (elf_fake_sections): Use SHT_NOTE for any section whose - name begins with ".note". - (map_sections_to_segments): Add a PT_NOTE segment for any loadable - section whose name begins with ".note". - (get_program_header_size): Corresponding change. - - * elf32-mips.c (mips_elf_relocate_section): Check for misaligned - jal and for jal overflow. - -Mon Feb 24 17:53:14 1997 Ian Lance Taylor <ian@cygnus.com> - - From Eric Youngdale <eric@andante.jic.com>: - * elflink.h (elf_link_add_archive_symbols): If a default symbol is - not found, try looking it up again without the version name. - (elf_link_add_object_symbols): Always link against the dynamic - symbol table of a dynamic object. When linking against a dynamic - object, include version strings in symbol names, and set up - version information. Add indirect symbols for default versions. - (elf_link_create_dynamic_sections): Add special version sections. - (struct elf_assign_sym_version_info): Define. - (struct elf_find_verdep_info): Define. - (NAME(bfd_elf,size_dynamic_sections)): Add verdefs parameter. Set - up version sections. - (elf_adjust_dynamic_symbol): Ignore indirect symbols. - (elf_link_find_version_dependencies): New static function. - (elf_link_assign_sym_version): New static function. - (elf_link_renumber_dynsyms): New static function. - (struct elf_final_link_info): Add symver_sec field. - (elf_bfd_final_link): Initialize finfo.symver_sec. Don't count - local symbols of a dynamic object. Handle DT_VER* constants. - (elf_link_output_extsym): Simplify BFD_ASSERT checking for a - dynamic object. Skip indirect symbols from ELF objects. Remove - the version name before choosing a hash bucket. Write out the - version information if appropriate. - (elf_link_input_bfd): Check for DYNAMIC, not ET_DYN. - * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration. - (bfd_elf64_size_dynamic_sections): Likewise. - * bfd-in2.h: Rebuild. - * elf-bfd.h (struct elf_link_hash_entry): Add verinfo field. - Change elf_link_hash_flags to unsigned short. - (ELF_LINK_HIDDEN): Define. - (struct elf_obj_tdata): Add fields dynversym_hdr, dynverref_hdr, - dynverdef_hdr, dynversym_section, dynverdef_section, - dynverref_section, cverdefs, cverrefs, verdef, verref. - (elf_dynversym, elf_dynverdef, elf_dynverref): Define. - (_bfd_elf_swap_verdef_in, _bfd_elf_swap_verdef_out): Declare. - (_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Declare. - (_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Declare. - (_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Declare. - (_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Declare. - (_bfd_elf_slurp_version_tables): Declare. - * elf.c (_bfd_elf_swap_verdef_in): New function. - (_bfd_elf_swap_verdef_out): Likewise. - (_bfd_elf_swap_verdaux_in, _bfd_elf_swap_verdaux_out): Likewise. - (_bfd_elf_swap_verneed_in, _bfd_elf_swap_verneed_out): Likewise. - (_bfd_elf_swap_vernaux_in, _bfd_elf_swap_vernaux_out): Likewise. - (_bfd_elf_swap_versym_in, _bfd_elf_swap_versym_out): Likewise. - (_bfd_elf_print_private_bfd_data): Add DT_VER* constants. Print - version information if there is any. - (_bfd_elf_link_hash_newfunc): Initialize verinfo field. - (bfd_section_from_shdr): Handle SHT_GNU_ver* section types. - (elf_fake_sections): Handle .gnu.version* section names. - (assign_section_numbers): Handle SHT_GNU_ver* section types. - (_bfd_elf_slurp_version_tables): New function. - * elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't include - version name in string entered in dynamic hash table. - * elfcode.h: Include fnmatch.h. - * elf32-i386.c (elf_i386_relocate_section): Handle a dynamic - symbol which was forced to become local. - * elf32-m68k.c (elf_m68k_relocate_section): Likewise. - * elf32-ppc.c (ppc_elf_relocate_section): Likewise. - * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. - * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise. + * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed + F_PIC_INT to F_PIC. + * coffcode.h (coff_set_arch_mach_hook): Added F_ARM_2a, and + F_ARM_3M labels. Changed F_PIC_INT to F_PIC. -Fri Feb 21 16:15:18 1997 Jeffrey A Law (law@cygnus.com) +1999-05-16 Nick Clifton <nickc@cygnus.com> - * elf32-mn10200.c (mn10200_elf_final_link_relocate): Simplify - somewhat. - (mn10200_elf_relax_section): Correctly compute a symbol's value - when the symbol is local, but not in the same section as we are - relaxing. Implement abs24 -> abs16, imm24 -> imm16 and d24 -> d16 - relaxing. + * coff-mcore.c (in_reloc_p): Reinstate. -Fri Feb 21 13:55:14 1997 Doug Evans <dje@seba.cygnus.com> +1999-05-15 Nick Clifton <nickc@cygnus.com> - * elf32-m32r.c: Rewrite to use ELF backend linker. - Store lower 16 bits of addend in R_M32R_HI16_[SU]LO insns. - Add small data area support (R_M32R_SDA16). - * reloc.c: Document BFD_RELOC_M32R_SDA16. - * bfd-in2.h,libbfd.h: Regenerated. + * reloc.c (BFD_RELOC_MCORE_RVA): Define. + * bfd-in2.h: Regenerate. + * coff-mcore.c (in_reloc_p): Remove defintion. + (mcore_coff_howto): Add IMAGE_REL_MCORE_RVA. + (mcore_coff_reloc_type_lookup): Map BFD_RELOC_RVA to + IMAGE_REL_MCORE_RVA. + (coff_mcore_rtype_to_howto): Add special processing for + IMAGE_REL_MCORE_RVA. + (coff_mcore_relocate_section): Add support for + IMAGE_REL_MCORE_RVA. + * elf32-mcore (mcore_elf_howto_): Add R_MCORE_RELATIVE. + (mcore_elf_reloc_type_lookup): Map BFD_RELOC_RVA to + R_MCORE_RELATIVE. + (mcore_elf_relocate_section): Delete redundant case labels. + +Fri May 14 10:59:55 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> + + * elf32-arm.h (elf32_arm_relocate_section): Fix operator + precedence between bit-and and comparison. + +Thu May 13 09:45:23 1999 Joel Sherrill (joel@OARcorp.com) + + * config.bfd (i[3456]86*-*-rtems*, m68k*-*-rtems*): Added to + list of target formats (targ_selvecs). + (i[3456]86*-*-rtemself*, mips*el-*-rtems*): New targets. + (powerpcle*-*rtems*, sh-*-rtemself*): New targets. + +1999-05-10 DJ Delorie <dj@cygnus.com> + + * ecoff.c (_bfd_ecoff_write_armap): give the symtab element a + reasonable mode until "ar x" is smart enough to skip it (fixes + gcc/libgcc.a builds on mips-ecoff targets + + * coffcode.h (styp_to_sec_flags): Explain how COMDATs are supposed + to work. Hack to support MS import libraries, which use different + COMDAT types than GNU. + (coff_slurp_symbol_table): C_SECTION symbols are local; they refer + to implied zero-length sections (see peicode below) + * coffgen.c (coff_get_normalized_symtab): Properly read long MS + filename symbols, which use one *or more* auxents. + * coffswap.h (coff_swap_aux_in): ditto + * peicode.h (coff_swap_sym_in): Build the implied zero-length + sections + +Tue May 11 15:51:58 1999 Jeffrey A Law (law@cygnus.com) + + * elf32-v850.c (v850_elf_howto_table): Make partial_inplace false + for all relocations. + +1999-05-10 Catherine Moore <clm@cygnus.com> + + * bfd-in.h (bfd_arm_allocate_interworking_sections): Static + if COFF_IMAGE_WITH_PE. + (bfd_arm_process_before_allocation): Likewise. + (bfd_arm_get_bfd_for_interworking): Likewise. + * coff-arm.c: Likewise. + * bfd-in2.h: Regenerate. + * configure.in (armpe_little_vec): Remove coff-arm.lo. + (armpe_big_vec): Likewise. + * configure: Rebuild. -Thu Feb 20 23:50:31 1997 Jeffrey A Law (law@cygnus.com) +1999-05-10 Nick Clifton <nickc@cygnus.com> - * elf32-mn10200.c (mn10200_elf_relax_section): New function. - (mn10200_elf_relax_delete_bytes): Likewise. - (mn10200_elf_symbol_address_p): Likewise. - (mn10200_elf_get_relocated_section_contents): Likewise. - (bfd_elf32_bfd_relax_section): Define. - (bfd_elf32_bfd_get_relocated_section_contents): Likewise. + * elf.c (elf_fake_sections): Check for .rel. as start of rel + section, not just .rel. Same for .rela. - * elf32-mn10200.c (mn10200_elf_final_link_relocate): New function. - (mn10200_elf_relocate_section): Likewise. - (elf_backend_relocate_section): Define. +1999-05-07 Nick Clifton <nickc@cygnus.com> -Tue Feb 18 15:31:48 1997 Fred Fish <fnf@cygnus.com> + * coff-mcore.c (coff_mcore_relocate_section): Replace assert about + endianism with an error message. - * reloc.c (struct reloc_howto_struct): Fix typo in comment. - * bfd-in2.h: Regenerated. +Thu May 6 17:09:09 1999 Fred Fish <fnf@be.com> -Tue Feb 18 11:41:00 1996 Dawn Perchik <dawn@cygnus.com> + * dwarf2.c (read_abbrevs): Change cast of dwarf_abbrev_buffer + assignment from "unsigned char *" to "char *". + (decode_line_info): Likewise for dwarf_line_buffer assignment. - * sysdep.h: Don't define errno in MSVC if error.h is included. +1999-05-05 Catherine Moore <clm@cygnus.com> -Tue Feb 18 10:04:13 1997 Jeffrey A Law (law@cygnus.com) + * coff-arm.c (coff_arm_relocate_section): Add one to + address of ARM_RVA32 thumb functions. - * elf32-v850.c (v850_elf_relocate_section): Make sure r_symndx - is initialized before it is used. +1999-05-05 Catherine Moore <clm@cygnus.com> -Mon Feb 17 11:28:40 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-m68k.c (elf32_m68k_set_private_flags): New. + (elf32_m68k_copy_private_bfd_data): New. + (elf32_m68k_merge_private_bfd_data): New. + (elf32_m68k_print_private_bfd_data): New. + (CPU32_FLAG): Define. + (PLT_CPU32_ENTRY_SIZE): Define. + (elf_cpu32_plt0_entry): Declare. + (elf_cpu32_plt_entry): Declare. + (elf_m68k_adjust_dynamic_symbol): Generate cpu32 plt entries. + (elf_m68k_finish_dynamic_symbol): Likewise. + (elf_m68k_finish_dynamic_sections): Likewise. + (elf_backend_plt_header_size): Remove definition. + (bfd_elf32_bfd_copy_private_bfd_data): Define. + (bfd_elf32_bfd_merge_private_bfd_data): Define. + (bfd_elf32_bfd_set_private_flags): Define. + (bfd_elf32_bfd_print_private_bfd_data): Define. - * hp300hpux.c (convert_sym_type): Don't convert a secondary common - symbol into a weak undefined symbol; leave it as a common symbol. +Mon May 3 09:24:49 1999 Jeffrey A Law (law@cygnus.com) -Fri Feb 14 19:08:03 1997 Ian Lance Taylor <ian@cygnus.com> + * som.c (som_fixup_formats): Fix comments for R_SHORT_PCREL_MODE + and R_LONG_PCREL_MODE. - * elflink.h (elf_link_add_object_symbols): Don't issue a warning - about a symbol defined in a dynamic object if it has already been - defined in a regular object. +1999-04-29 Nick Clifton <nickc@cygnus.com> -Thu Feb 13 20:53:22 1997 Klaus Kaempf (kkaempf@progis.de) + * coff-mcore.c (coff_mcore_relocate_section): Fix typos. - * makefile.vms: Add gcc flags to allow compiling with current gcc - snapshot - (targmatch.h): New dependency. +Fri Apr 28 16:36:19 1999 Stan Cox <scox@cygnus.com> - * reloc.c (BFD_RELOC_ALPHA_CODEADDR): New relocation for - openVMS/Alpha. - * evax.h (ALPHA_R_CODEADDR): New relocation. - * evax-alpha.c (ALPHA_R_CODEADDR): 64 bit procedure relocation for - openVMS/Alpha. - * evax-etir.c (ALPHA_R_CODEADDR): Output object code for this - relocation. - * bfd-in2.h, libbfd.h: Rebuild. + * elf32-sh.c (sh_elf_relocate_section): Include relocation addend + in relocation calculation. - Restrict symbol length to 64 bytes, case preserving: - * evax-emh.c (_bfd_evax_write_emh): Remove case hacking. - * evax-misc.c (_bfd_evax_case_hack_symbol): Remove. - (_bfd_evax_length_hash_symbol): Added. - * evax-etir.c (_bfd_evax_write_etir): Call - _bfd_evax_length_hash_symbol before output of symbol. - * evax-egsd.c (_bfd_evax_write_egsd): Likewise. - * evax.h (flag_hash_long_names, flag_show_after_trunc): Remove. +1999-04-26 Tom Tromey <tromey@cygnus.com> - * evax-emh.c: Output filename to object file without path. + * aclocal.m4, configure: Updated for new version of libtool. - * evax-egsd.c: New sections for local and global commons. +1999-04-21 Nick Clifton <nickc@cygnus.com> - * evax-alpha.c, evax-emh.c, evax-egsd.c, evax-etir.c, - evax-misc.c, evax.h: Remove 8 bit characters from copyright - notices. Replace AXP with Alpha. + * coff-mcore.c: Add support for mcore relocs. -Wed Feb 12 18:10:30 1997 Ian Lance Taylor <ian@cygnus.com> +1999-04-20 Gavin Romig-Koch <gavin@cygnus.com> - * sunos.c (sunos_create_dynamic_sections): We need the dynamic - sections if we are creating a shared library. + * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): Scrap the + incorrect use EF_MIPS_xxBITPTRS. -Tue Feb 11 15:45:43 1997 Doug Evans <dje@canuck.cygnus.com> +1999-04-18 Ian Lance Taylor <ian@zembu.com> - * configure.host (i386-windows): Don't set host64=true. + * elf64-alpha.c (elf64_alpha_relax_section): Remove unused local + variable insn. -Tue Feb 11 15:27:32 1997 Ian Lance Taylor <ian@cygnus.com> + * bfd-in2.h: Rebuild. + * libbfd.h: Rebuild. - * elf32-mips.c (reloc_type): Add R_MIPS16_GPREL. - (elf_mips16_gprel_howto): New static variable. - (mips16_gprel_reloc): New static function. - (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_GPREL. - (mips_info_to_howto_rel): Handle R_MIPS16_GPREL. - (mips_elf_relocate_section): Handle R_MIPS16_GPREL. - * reloc.c (BFD_RELOC_MIPS16_GPREL): Define. - * bfd-in2.h, libbfd.h: Rebuild. +Sat Apr 17 20:55:15 1999 Catherine Moore <clm@cygnus.com> -Mon Feb 10 23:25:00 1997 Doug Evans <dje@seba.cygnus.com> + * coff-arm.c (coff_arm_rtype_to_howto): Remove ARM26D transform. + (coff_arm_relocate_section): Add ARM26D transform. Only + change to ARM26D for relocateable links. - * elf32-m32r.c (elf_m32r_howto_table): Change partial_inplace to true - for R_M32R_{16,32,24,HI16_ULO,HI16_SLO,LO16}. +1999-04-16 Gavin Romig-Koch <gavin@cygnus.com> -Fri Feb 7 12:39:11 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-mips.c (_bfd_mips_elf_print_private_bfd_data): New. + (bfd_elf32_bfd_print_private_bfd_data): New. - * elflink.h (elf_link_input_bfd): If we've discarded a section, - the output section will be the absolute section; don't print an - assertion message for that case when doing a relocateable link. +1999-04-15 Doug Evans <devans@casey.cygnus.com> -Thu Feb 6 16:55:43 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-arm.h (elf32_arm_final_link_relocate): For R_ARM_THM_ABS5, + refetch addend if USE_REL, add many comments regarding current state. + For R_ARM_THM_PC22, refetch addend if USE_REL, simplify. + * elfarm-nabi.c (elf32_arm_howto_table): For R_ARM_THM_ABS5, fix + size and rightshift. For R_ARM_THM_PC22, fix bitsize. + * elfarm-oabi.c (elf32_arm_howto_table): Ditto. - * elf32-mips.c (FN_STUB, CALL_STUB, CALL_FP_STUB): Define. - (struct mips_elf_link_hash_entry): Add new fields fn_stub, - need_fn_sub, call_stub, and call_fp_stub. - (struct mips_elf_link_hash_table): Add field mips16_stubs_seen. - (mips_elf_link_hash_newfunc): Initialize new fields. - (mips_elf_link_hash_table_create): Likewise. - (mips_elf_relocate_section): Redirect relocations to use mips16 - stubs when appropriate. - (mips_elf_check_relocs): Attach stub sections to the appropriate - symbol. Set need_fn_stub when appropriate. - (mips_elf_always_size_sections): New static function. - (mips_elf_check_mips16_stubs): New static function. - (elf_backend_always_size_sections): Define. - * elf-bfd.h (struct elf_obj_tdata): Add local_stubs field. +Wed Apr 14 14:33:08 1999 Richard Henderson <rth@cygnus.com> - * elflink.h (elf_link_input_bfd): Discard local symbols that are - attached to sections which are not being included in the link. + * elf32-mips.c (_bfd_mips_elf_read_ecoff_info): Zero `debug'. + * elf64-alpha.c (elf64_alpha_read_ecoff_info): Likewise. -Wed Feb 5 13:20:17 1997 Ian Lance Taylor <ian@cygnus.com> +1999-04-13 David Mosberger <davidm@hpl.hp.com> - * cofflink.c (_bfd_coff_generic_relocate_section): Ignore the - symbol value when computing the addend for a pc_relative - pcrel_offset reloc. + * dwarf2.c (decode_line_info): Don't truncate address to least + significant 32 bits (breaks 64 bit targets). + (lookup_address_in_function_table): Ditto. + (comp_unit_contains_address): Ditto. -Mon Feb 3 11:54:06 1997 Ian Lance Taylor <ian@cygnus.com> +Tue Apr 13 21:27:19 1999 Catherine Moore <clm@cygnus.com> - * cofflink.c (_bfd_coff_generic_relocate_section): If doing a - relocateable link, just skip pc_relative pcrel_offset relocs. - * coff-arm.c (coff_arm_rtype_to_howto): Return a different howto - structure for an ARM26 reloc which can be resolved. - (coff_arm_adjust_symndx): Only convert ARM26 to ARM26D if the - reloc can be resolved. + * coff-arm.c (arm_emit_base_file_entry): New routine. + (A2T3_OFFSET): Define. + (T2A3_OFFSET): Define. + (coff_arm_relocate_section): Emit base file entries for interworking + stubs. - * coff-h8300.c (h8300_reloc16_extra_cases): Correct off by one - error in overflow check for R_RELBYTE. +1999-04-13 Philip Blundell <philb@gnu.org> -Fri Jan 31 14:07:27 1997 Ian Lance Taylor <ian@cygnus.com> + * elfarm-nabi.c (elf32_arm_howto_table): Add dummy entries for + relocs 17 through 19. - * ieee.c (ieee_slurp_section_data): Pick up the start address. - From Mark Rasin <mark.rasin@telrad.co.il>. +Sun Apr 11 01:25:17 1999 Richard Henderson <rth@cygnus.com> - * aoutx.h (aout_link_write_symbols): Don't apply discard_l to - debugging symbols. + * elfcode.h: Remove fnmatch.h. + * elflink.h (elf_link_assign_sym_version): Call back to ld + instead of calling fnmatch. -Wed Jan 29 00:00:49 1997 Jeffrey A Law (law@cygnus.com) + * config.bfd (i?86-*-beoself): Include pe vecs. - * elf32-mn10200.c (reloc_type): Add 16bit pc-relative reloc. - (elf_mn10200_howto_table): Likewise. - (mn10200_reloc_map): Likewise. +Sun Apr 11 01:14:06 1999 Richard Henderson <rth@cygnus.com> -Mon Jan 27 12:07:35 1997 Doug Evans <dje@seba.cygnus.com> + * elf32-i386.c (elf_i386_finish_dynamic_sections): Allow .plt + to go missing. - * reloc.c: Add relocs BFD_RELOC_M32R_{HI16_[US]LO,LO16}. - * bfd-in2.h, libbfd.h: Regenerated. - * elf32-m32r.c: Add support for them. +1999-04-10 Richard Henderson <rth@cygnus.com> -Mon Jan 27 12:25:02 1997 Ian Lance Taylor <ian@cygnus.com> + * elf32-i386.c (elf_i386_relocate_section): Mind no_undefined + when trying to resolve dynamic symbol references. + * elf32-m68k.c (elf_m68k_relocate_section): Likewise. + * elf32-mips.c (mips_elf_relocate_section): Likewise. + * elf32-ppc.c (ppc_elf_relocate_section): Likewise. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * elf64-alpha.c (elf64_alpha_relocate_section): Likewise. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + * elflink.h (elf_link_output_extsym): Likewise. - * aout-arm.c (MY_swap_std_reloc_in): Remove unused r_length. - * elf32-ppc.c (ppc_elf_check_relocs): Remove unused plt. - * elf32-v850.c (v850_elf_final_link_relocate): Remove used - r_format and r_pcrel. Always return a value. - * riscix.c (MY_final_link_callback): Define to dummy value. +Sat Apr 10 15:12:09 1999 Richard Henderson <rth@cygnus.com> - * elf32-i386.c (elf_i386_size_dynamic_sections): When checking for - relocations against the text segment, look up the output name of - the reloc section. + * section.c (_bfd_strip_section_from_output): New function moved from + * elf64-alpha.c (elf64_alpha_strip_section_from_output): ... here. + * elf32-i386.c (elf_i386_size_dynamic_sections): Use it. * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise. * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise. * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise. * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise. - * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise. - -Thu Jan 16 17:45:57 1997 Ian Lance Taylor <ian@cygnus.com> - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Change type of - auxiliary_filters parameter to be const char * const *. Accept a - NULL terminated array. - * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration. - (bfd_elf32_size_dynamic_sections): Update declaration. - * bfd-in2.h: Rebuild. + * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise. + * bfd-in2.h: Update. -Wed Jan 15 11:21:32 1997 Ian Lance Taylor <ian@cygnus.com> +1999-04-09 Ian Lance Taylor <ian@zembu.com> - * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Treat a - NOTYPE symbol in a text section as a FUNC symbol. + * elf64-sparc.c: Fix incorrect calls to bfd_check_overflow. - * coffcode.h (coff_compute_section_file_positions): Force - relocbase to be aligned to COFF_DEFAULT_SECTION_ALIGNMENT_POWER. +1999-04-08 Nick Clifton <nickc@cygnus.com> -Tue Jan 14 08:46:33 1997 Doug Evans <dje@canuck.cygnus.com> - - * libaout.h (machine_type): Reserve several values for sparclet. - -Mon Jan 13 19:36:25 1997 Michael Meissner <meissner@tiktok.cygnus.com> - - * elf32-v850.c (v850_elf_howto_table): Set the special_function - table to v850_elf_reloc for all non-standard relocations. - (v850_elf_check_relocs): Add check for h being non-null. - (v850_elf_reloc): Add R_V850_ZDA_OFFSET support. Use switch - statement instead of multiple ifs. - (v850_elf_relocate_section): Fix up error message, don't just call - abort. - -Mon Jan 6 13:28:35 1997 Jeffrey A Law (law@cygnus.com) - - * elf32-mn10200.c (elf_mn10200_howto): Don't ever set partial-inplace. - Use bfd_elf_generic_reloc as special function for all relocs. - (bfd_elf32_mn10200_reloc): Remove unnecessary function. - - * elf32-mn10200.c (elf_mn10200_howto): Set pcrel_offset for - 24bit pc-relative reloc. + * coff-mcore.c: New File: Support for mcore-pe targets. + * cpu-mcore.c: New File: Support for mcore targets. + * elf32-mcore.c: New File: Support for mcore-elf target. + * pe-mcore.c: New File: Definitions for mcore-pe target. + * pei-mcore.c: New File: Definitions for mcore-pei target. + * Makefile.am: Add support for MCore targets. + * Makefile.in: Regenerate. + * config.bfd: Add support for MCore targets. + * configure.in: Add support for MCore targets. + * configure: Regenerate. + * archures.c: Add support for MCore architecture. + * bfd-in2.h: Regenerate. + * coffcode.h: Add support for mcore-pe targets. + * elf.c: Add support for mcore-elf target. + * reloc.c: Add support for MCore relocs. + * targets.c: Add support for MCore targets. -Fri Jan 3 16:54:08 1997 Jeffrey A Law (law@cygnus.com) +1999-04-07 Nick Clifton <nickc@cygnus.com> - * reloc.c: Add BFD_RELOC_24. - * elf32-mn10200.c (enum reloc_type): Add 24bit and pcrel relocs. - (elf_mn10200_howto, mn10200_reloc_map): Corresponding changes. - * bfd-in2.h, libbfd.h: Rebuilt. + * elfarm-nabi.c (elf32_arm_howto_table): Add entries for + R_ARM_XPC25 and R_ARM_THM_XPC22. + (elf32_arm_reloc_map): Remove redundant entries. -Fri Jan 3 16:58:31 1997 Richard Henderson <rth@tamu.edu> +1999-04-06 Ian Lance Taylor <ian@zembu.com> - elf64-alpha multiple .got rewrite: + * sysdep.h (LC_MESSAGES): Never define. - * elf-bfd.h (struct elf_backend_data): Add always_size_sections entry. - (bfd_elf*_mkobject): Don't define here ... - * elfxx-target.h: ... but rather here. Default always_size_sections - hook to NULL. - * elf.c (elf_mkobject): Rename to bfd_elf_mkobject, since that was - what the #defines in elf-bfd.h transmuted it to anyway. +1999-04-06 Chris Torek <torek@bsdi.com> - * section.c: Add SEC_LINKER_CREATED flag. + * reloc.c (bfd_check_overflow): Add addrsize parameter. Change + all callers. Rewrite completely. + (_bfd_relocate_contents): Rewrite overflow checking. * bfd-in2.h: Rebuild. - * elf32-i386.c (elf_i386_check_relocs): Add SEC_LINKER_CREATED to - relocation section flags. - (elf_i386_size_dynamic_sections): Use SEC_LINKER_CREATED instead of - SEC_IN_MEMORY to recognize generated bits. - * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_size_dynamic_sections): - Likewise. - * elf32-mips.c (mips_elf_final_link, mips_elf_create_dynamic_sections, - mips_elf_create_compact_rel_section, mips_elf_create_got_section, - mips_elf_check_relocs, mips_elf_size_dynamic_sections): Likewise. - * elf32-ppc.c (ppc_elf_create_linker_section, - ppc_elf_size_dynamic_sections): Likewise. - * elf32-sparc.c (elf32_sparc_check_relocs, - elf32_sparc_size_dynamic_sections): Likewise. - * elflink.c (_bfd_elf_create_got_section): Add SEC_LINKER_CREATED to - section flags. - (_bfd_elf_create_dynamic_sections): Likewise. - (_bfd_elf_make_linker_section_rela): Likewise. - * elflink.h (elf_link_create_dynamic_sections): Likewise. - (bfd_elf,size_dynamic_sections): Call the always_size_sections hook. - (elf_bfd_final_link): Use SEC_LINKER_CREATED instead of SEC_IN_MEMORY - to identify generated bits. - (elf_link_input_bfd): Likewise. - * elf64-alpha.c: Rewrite everything touching relocations. +1999-04-05 Ian Lance Taylor <ian@zembu.com> -Fri Jan 3 11:42:53 1997 Michael Meissner <meissner@tiktok.cygnus.com> + From Gabriel Paubert <paubert@iram.es>: + * elf32-ppc.c (ppc_elf_howto_raw): Set R_PPC_GOT16_LO, + R_PPC_PLT16_LO and R_PPC_SECTOFF_LO to be complain_overflow_dont. + Set R_PPC_PLT16_HA, R_PPC_SECTOFF_HA and R_PPC_EMB_NADDR16_HA to + have a rightshift of 16 and use ppc_elf_addr16_ha_reloc. + * ppcboot.c (ppcboot_vec): Use little endian routines for + headers. - * elf32-v850.c (all functions and static variables): Go through - and regularize names to be of the form v850_elf_<xxx>. - (toplevel): Include <elf/v850.h>. - (enum reloc_type): Move to include/elf/v850.h. - (v850_elf_check_relocs): For common variables, if the variable is - referenced by a R_V850_{SDA,ZDA,TDA} relocation, put the variable - into the appropriate section. - (elf_backend_check_relocs): Define. + * elf.c (elfcore_strndup): Only define if it will be used. + * elf32-ppc.c (ppc_elf_relax_section): Remove unused locals irel + and irelend. + (ppc_elf_check_relocs): Remove unused local i. + (ppc_elf_gc_mark_hook): Add default case to switch. -Tue Dec 31 15:15:28 1996 Michael Meissner <meissner@tiktok.cygnus.com> + From Bernd Nitzler <nitzler@kagcpd01.ag01.kodak.COM>: + * srec.c (srec_scan): Accept \r in symbol definitions. + (srec_object_p): Set HAS_SYMS if we saw any symbols. + (symbolsrec_object_p): Likewise. - * elf32-v850.c (elf_v850_howto_table): Fix some spacing. +1999-04-04 Don Bowman <don@pixsci.com> -Tue Dec 31 14:44:50 1996 Ian Lance Taylor <ian@cygnus.com> + * config.bfd: Add mips*el-*-vxworks* and mips*-*-vxworks*. - * config.bfd (mips*el-*-linux*): New target. - (mips*-*-linux*): New target. +1999-04-04 Ian Lance Taylor <ian@zembu.com> - * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Clean up. - Return a useful value. - - * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE. - - * configure.in: Check ac_cv_func_mmap_fixed_mapped, not - ac_cv_func_mmap. - * configure: Rebuild. - * configure.host: Use ac_cv_func_mmap_fixed_mapped instead of - ac_cv_func_mmap in bfd/configure.host. - - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Add - filter_shlib and auxiliary_filter_shlib parameters. - * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_AUXILIARY and - DT_FILTER. - * bfd-in.h (bfd_elf32_size_dynamic_sections): Update declaration. - (bfd_elf64_size_dynamic_sections): Likewise. - * bfd-in2.h: Rebuild. + * dwarf1.c (parse_line_table): Remove unused locals last_pc and + last_line. + * elf-bfd.h (_bfd_elfcore_section_from_phdr): Declare. + * elf32-i386.c (elf_i386_gc_mark_hook): Add default case to + switch. + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Remove unused + local i. + * syms.c (_bfd_stab_section_find_nearest_line): Remove unused + local val. -Mon Dec 30 18:48:52 1996 Ian Lance Taylor <ian@cygnus.com> +1999-03-31 Nick Clifton <nickc@cygnus.com> - * xcofflink.c (xcoff_build_ldsyms): When exporting all defined - symbols, don't export a symbol which is defined by an object in an - archive which contains shared objects. + * config.bfd: Add support for arm-epoc-pe target. + * configure.in: Add support for arm-epoc-pe target. + * configure: Regenerate. + * targets.c: Add support for arm-epoc-pe target. + * coff-arm.c: Allow header files to override definition of + TARGET_UNDERSCORE and USER_LABEL_PREFIX. + * pe-arm.h: Allow previous header files to override definition of + TARGET_LITTLE_SYM and TARGET_BIG_SYM. + * pei-arm.h: Allow previous header files to override definition of + TARGET_LITTLE_SYM and TARGET_BIG_SYM. + * epoc-pe-arm.c: New file. Support arm-epoc-pe target. + * epoc-pei-arm.c: New file. Support arm-epoc-pei target. -Mon Dec 30 11:54:56 1996 Ian Lance Taylor <ian@cygnus.com> +1999-03-30 Nick Clifton <nickc@cygnus.com> - * libbfd.c: Patch up the mmap code so that it is only built if BFD - is configured with --with-mmap. + * elf.c (elf_map_symbols): Handle the case where section + symbols are generated for content-less sections which are + not mapped to the output file. -Fri Dec 27 20:56:41 1996 Fred Fish <fnf@cygnus.com> + * linker.c: Replace direct references to fields in BFD structure + with accessor macros. - * TODO: Correct a misspelling. + * elflink.h: Replace direct references to fields in BFD structure + with accessor macros. -Fri Dec 27 11:48:12 1996 H.J. Lu <hjl@lucon.org> +1999-03-25 Philip Blundell <pb@nexus.co.uk> - * elflink.h (elf_buckets): Add some more values for larger - binaries. + * config.bfd: Eliminate redundancy in checks for Linux/ARM. -Thu Dec 26 18:36:54 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-arm.h (elf32_arm_relocate_section): Take the rightshift into + account when adjusting section symbols during a partial link. - * Makefile.in (install): Move subdir_do out of conditional. From - Fred Fish <fnf@cygnus.com>. +1999-03-24 Nick Clifton <nickc@cygnus.com> -Wed Dec 18 10:04:30 1996 Jeffrey A Law (law@cygnus.com) + * coff-sparc.c (struct coff_reloc_map): Change type of field + 'bfd_reloc_val' to bfd_reloc_code_real_type. + * elf-m10200.c (struct mn10200_reloc_map): Ditto. + * elf-m10300.c (struct mn10300_reloc_map): Ditto. + * elf32-arc.c (struct arc_reloc_map): Ditto. + * elf32-d10v.c (struct d10v_reloc_map): Ditto. + * elf32-d30v.c (struct d30v_reloc_map): Ditto. + * elf32-fr30.c (struct fr30_reloc_map): Ditto. + * elf32-m32r.c (struct m32r_reloc_map): Ditto. + * elf32-sh.c (struct elf_reloc_map): Ditto. + * elf32-sparc.c (struct elf_reloc_map): Ditto. + * elf32-v850.c (struct v850_reloc_map): Ditto. + * elf64-sparc.c (struct elf_reloc_map): Ditto. + * elfarm-nabi.c (struct elf32_arm_reloc_map): Ditto. + * elfarm-oabi.c (struct elf32_arm_reloc_map): Ditto. - * elf32-mn10200.c (enum reloc_type): Enable basic 8, 16, and - 32 bit relocs. - (elf_mn10200_howto_table): Likewise. - (mn10200_reloc_map): Likewise. +1999-03-17 Martin Hunt <hunt@cygnus.com> -Tue Dec 17 11:09:36 1996 Ian Lance Taylor <ian@cygnus.com> + * syms.c (_bfd_stab_section_find_nearest_line): Changed this + function so source-level assembly works. If multiple N_SOs + are seen without and N_FUNs, create an indextable entry with + a NULL function name. - * elf32-mips.c (mips_elf_add_symbol_hook): Add 1 to the value of a - mips16 symbol during the link. - (mips_elf_finish_dynamic_symbol): Subtract 1 from the value of a - mips16 symbol. - (mips_elf_link_output_symbol_hook): New static function. - (elf_backend_link_output_symbol_hook): Define. +1999-03-16 Gavin Romig-Koch <gavin@cygnus.com> - * elf.c (bfd_elf_print_symbol): Print the st_other field if it is - not zero. + * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data) Allow merging + of certian similar cpus. -Mon Dec 16 14:38:39 1996 Ian Lance Taylor <ian@cygnus.com> +1999-03-16 Gavin Romig-Koch <gavin@cygnus.com> - * elf.c (bfd_section_from_shdr): Don't check for reloc sections - against SEC_DEBUGGING sections here (revert patch of December 5). - * elfcode.h (elf_object_p): Check for them here, instead. + * elf32-mips.c (_bfd_mips_elf_final_write_processing): + Add the 5000. Change the architecture for the 5400 to mips4. + (elf_mips_mach): Add r5000. -Sun Dec 15 14:46:06 1996 Ian Lance Taylor <ian@cygnus.com> +1999-03-11 Doug Evans <devans@casey.cygnus.com> - * elfcode.h (elf_slurp_reloc_table): Add dynamic parameter. - * elf.c (_bfd_elf_canonicalize_reloc): Pass new argument to - slurp_reloc_table. - (_bfd_elf_get_dynamic_reloc_upper_bound): New function. - (_bfd_elf_canonicalize_dynamic_reloc): New function. - * elf-bfd.h (struct elf_size_info): Update declaration of - slurp_reloc_table. - (_bfd_elf_get_dynamic_reloc_upper_bound): Declare. - (_bfd_elf_canonicalize_dynamic_reloc): Declare. - * elfxx-target.h: Use new dynamic reloc routines by default. - * elf64-mips.c (mips_elf64_slurp_reloc_table): Add dynamic - parameter. + * cpu-i960.c (scan_i960_mach): Recognize i960:ka_sa and i960:kb_sb. -Fri Dec 13 13:18:49 1996 Dan Wilder <dan@gasboy.com> +1999-03-11 Nick Clifton <nickc@cygnus.com> - * coffcode.h (coff_set_flags): Use MC68KBCSMAGIC for bfd_arch_m68k - if NAMES_HAVE_UNDERSCORE is defined. + * binary.c (binary_set_section_contents): Generate warning about + huge file offsets for any section that will occupy file space, not + just those that are loadable. -Fri Dec 13 11:13:23 1996 Doug Evans <dje@canuck.cygnus.com> +1999-02-24 Jim Blandy <jimb@zwingli.cygnus.com> - * libaout.h (enum machine_type): Change M_SPARCLET from 142 to 131. + * libbfd.h: Regenerate after Nick Clifton's Feb 17 changes. -Thu Dec 12 15:07:20 1996 Michael Meissner <meissner@tiktok.cygnus.com> +1999-02-22 Jim Lemke <jlemke@cygnus.com> - * elf32-ppc.c (ppc_elf_check_relocs): Move R_PPC_PLTREL24 into the - supported relocs. + * elf32-ppc.c: Add ppc_elf_relax_section() for the ld option mpc860c0. -Thu Dec 12 14:55:41 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Feb 22 18:26:51 1999 Ian Lance Taylor <ian@cygnus.com> - * elflink.h (elf_link_add_object_symbols): Only add a weak - symbol if the real definition is in the dynamic symbol table. - After finding the real definition, then, if it is dynamic, add the - weak symbol to the dynamic symbol table. + * elf-bfd.h (ELF_LINK_HASH_REF_REGULAR_NONWEAK): Define. + * elflink.h: Revert all changes since Feb 16. Instead: + (elf_link_add_object_symbols): Set REF_REGULAR_NONWEAK flag if + appropriate. Copy it to version symbols. + (elf_fix_symbol_flags): Set REF_REGULAR_NONWEAK for non ELF + symbols if appropriate. + (elf_adjust_dynamic_symbol): Set REF_REGULAR_NONWEAK for weakdef + symbol if appropriate. + (elf_link_output_extsym): If symbol is marked as undefined, and + has no nonweak references, mark it as weak undefined. - * coff-aux.c (coff_m68k_aux_link_add_one_symbol): Make static. +Fri Feb 19 16:01:12 1999 Ian Lance Taylor <ian@cygnus.com> - * ppcboot.c (ppcboot_set_arch_mach): Don't define; it's a + * elflink.h (elf_merge_symbol): When overriding a dynamic + definition with a weak undefined symbol, set NEEDS_PLT if it is a function. - (ppcboot_bfd_print_private_bfd_data): Don't take the address of an - array. - -Tue Dec 10 23:23:52 1996 Jeffrey A Law (law@cygnus.com) - - * elf32-mn10300.c (reloc_type): Remove big endian mn10300 reloc - variants. - (elf32_mn10300_howto_table, mn10300_reloc_map): Likewise. - (bfd_elf32_mn10300_reloc): Write data in little endian format. - * reloc.c: Remove mn10300 big endian relocs. - * bfd-in2.h, libbfd.h: Rebuilt. - - * elf32-mn10200.c: Update from elf32-mn10300.c. - -Fri Dec 6 15:18:05 1996 Jeffrey A Law (law@cygnus.com) - - * elf32-mn10300.c (elf_symbol_leading_char): Define. - - * elf32-mn10300.c: Add some comments. - -Fri Dec 6 17:16:43 1996 Ian Lance Taylor <ian@cygnus.com> - - * ihex.c (ihex_scan): Always initialize buf before jumping to - error_return. - (ihex_read_section): Likewise. - -Thu Dec 5 22:29:18 1996 Jeffrey A Law (law@cygnus.com) - - * elf32-mn10300.c (elf_mn10300_howto_table): Don't set partial- - inplace for most relocs. + (elf_link_add_object_symbols): Don't copy the other field if we + are overridding. -Thu Dec 5 13:24:46 1996 Ian Lance Taylor <ian@cygnus.com> +Thu Feb 18 18:07:43 1999 Ian Lance Taylor <ian@cygnus.com> - * elflink.h (elf_link_add_object_symbols): Calling check_relocs - even if SEC_ALLOC is not set. - * elf32-i386.c (elf_i386_check_relocs): Don't check SEC_ALLOC - when deciding whether to copy a reloc into a shared object. - (elf_i386_relocate_section): Likewise. - * elf32-sparc.c (elf32_sparc_check_relocs): Likewise. - (elf32_sparc_relocate_section): Likewise. - * elf32-i386.c (elf_i386_check_relocs): Don't set SEC_ALLOC in a - reloc section if it is not set in the source section. - * elf32-sparc.c (elf32_sparc_check_relocs): Likewise. - * elf.c (bfd_section_from_shdr): Mark a reloc section associated - with a SEC_DEBUGGING section as SEC_DEBUGGING. - -Wed Dec 4 14:18:13 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): #if 0 code that - expects a .got.plt until we actually create it. - -Mon Dec 2 12:13:51 1996 Ian Lance Taylor <ian@cygnus.com> - - * cofflink.c (_bfd_coff_generic_relocate_section): Print an error - message for bfd_reloc_outofrange, rather than aborting. From - Philippe De Muyter <phdm@info.ucl.ac.be>. - - * cofflink.c (_bfd_coff_final_link): If there aren't any relocs in - a relocateable link, don't try to process them. From Heinz Wrobel - <wrobel@lpr.e-technik.tu-muenchen.de>. - -Mon Dec 2 00:39:24 1996 Jeffrey A Law (law@cygnus.com) + * elflink.h (elf_merge_symbol): Do not merge any symbol from a + shared object with a weak undefined symbol. - * elf32-mn10300.c (mn10300_info_howto): Renamed from - mn10300_info_howto_rel. Tweak reloc argument to be an - Elf32_Internal_Rela. - (USE_RELA): Define instead of USE_REL. - (elf_info_to_howto, elf_info_howto_rel): Corresponding changes. +1999-02-18 Nick Clifton <nickc@cygnus.com> -Sun Dec 1 00:18:59 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + * elfarm-nabi.c: Set partial_inplace back to false. - * configure.in, configure: Handle mips*-sgi-irix6*. - * irix-core.c (irix_core_core_file_p): Accept CORE_MAGICN32 - core files. +1999-02-17 Nick Clifton <nickc@cygnus.com> -Wed Nov 27 12:10:25 1996 Ian Lance Taylor <ian@cygnus.com> + * coff-arm.c (TARGET_UNDERSCORE): Re-enable. + (USER_LABEL_PREFIX): Set to "_". - * elf32-i386.c (elf_i386_relocate_section): Warn about a - relocation against a symbol defined in a section with no output - section. - -Tue Nov 26 11:07:31 1996 Ian Lance Taylor <ian@cygnus.com> + The following patches are from: Scott Bambrough + <scottb@corelcomputer.com> - * aclocal.m4 (BFD_CC_FOR_BUILD): Don't require AC_C_CROSS. - * configure, config.in: Rebuild with autoconf 2.12. + * libaout.h (M_ARM6_NETBSD): Set to 143. - * elf-bfd.h (struct elf_link_hash_entry): Add other field. - * elf.c (_bfd_elf_link_hash_newfunc): Initialize other field. - (swap_out_syms): Set st_other from existing st_other field. - * elflink.h (elf_link_add_object_symbols): Store st_other in hash - table other field. - (elf_link_output_extsym): Set the other field from the global hash - table entry. - * elf32-mips.c (enum reloc_type): Add R_MIPS16_26. - (elf_mips16_jump_howto): New static variable. - (mips16_jump_reloc): New static function. - (bfd_elf32_bfd_reloc_type_lookup): Handle BFD_RELOC_MIPS16_JMP. - (mips_info_to_howto_rel): Handle R_MIPS16_26. - (mips_elf_relocate_section): Handle R_MIPS16_26. Handle R_MIPS_26 - to a mips16 symbol. - * reloc.c (BFD_RELOC_MIPS16_JMP): Add to list of relocs. - * bfd-in2.h, libbfd.h: Rebuild. - * cpu-mips.c (arch_info_struct): Add mips:16 entry. - -Mon Nov 25 11:23:32 1996 Ian Lance Taylor <ian@cygnus.com> - - * configure.host: Use long long for mips-sgi-irix6*. - - * coffswap.h (coff_swap_scnhdr_out): Make line number overflow - only a warning. From Philippe De Muyter <phdemuyt@ulb.ac.be>. - -Mon Nov 25 08:52:29 1996 Jeffrey A Law (law@cygnus.com) - - * elf32-mn10300.c (bfd_elf32_mn10300_reloc): New function. - (enum reloc_type): Add more reloc types. - (elf32_mn10300_howto_table): Update for new reloc types. - (elf32_mn10300_reloc_map): Update for new reloc types. - * reloc.c: Add some new relocs for the mn10300 series. - * bfd-in2.h, libbfd.h: Rebuilt. - -Sat Nov 23 13:26:18 1996 Jeffrey A Law (law@cygnus.com) - - * som.c (setup_sections): Don't lose for a space which has - no data, but some symbols. - -Fri Nov 22 11:32:13 1996 Ian Lance Taylor <ian@cygnus.com> - - * sunos.c (struct sunos_link_hash_table): Add got_needed field. - (sunos_link_hash_table_create): Initialize got_needed. - (sunos_create_dynamic_sections): Only set .got section size if it - is not already set. Set got_needed. - (bfd_sunos_size_dynamic_sections): Check got_needed. Only set - sdynptr, and only handle dynamic sections, if dynamic sections are - needed. - (sunos_scan_std_relocs): Pass false to create_dynamic_sections. - Initialize .got section. - (sunos_scan_ext_relocs): Likewise. - (sunos_write_dynamic_symbol): Set up PLT entry even if this is not - a dynamic symbol. - (sunos_finish_dynamic_link): Check got_needed. Only set up - dynamic linking information if needed. + * reloc.c: Add ARM PIC relocs: BFD_RELOC_ARM_GOT12, + BFD_RELOC_ARM_GOT32, BFD_RELOC_ARM_JUMP_SLOT, BFD_RELOC_ARM_COPY, + BFD_RELOC_ARM_GLOB_DAT, BFD_RELOC_ARM_PLT32, + BFD_RELOC_ARM_RELATIVE, BFD_RELOC_ARM_GOTOFF, BFD_RELOC_ARM_GOTPC. + * bfd-in2.h: Regenerate. -Thu Nov 21 10:31:31 1996 Rob Savoye (rob@cygnus.com) + * elfarm-nabi.c (elf32_arm_howto_table): Set partial_inplace to + 'true' as REL relocs are now being used. Add new PIC relocs: + R_ARM_COPY, R_ARM_GLOB_DAT, R_ARM_JUMP_SLOT, R_ARM_RELATIVE, + R_ARM_GOTOFF, R_ARM_GOTPC, R_ARM_GOT32, R_ARM_PLT32. + + * elf32-arm.h (elf32_arm_merge_private_bfd_data): Check byte order + of targets. + (elf32_arm_final_link_relocate): Change parameters so that entire + reloc is passed. Add support for PIC relocs. + (elf32_arm_relocate_section): Pass entire reloc to + elf32_arm_final_link_relocate. + (elf32_arm_check_relocs): Handle new PIC relocs. + (elf32_arm_adjust_dynamic_symbol): New function. + (elf32_arm_size_dynamic_sections): New function. + (elf32_arm_discard_copies): New function. + (elf32_arm_finish_dynamic_symbol): New function. + (elf32_arm_finish_dynamic_sections): New function. + (ELF_MAXPAGE_SIZE): Define. + (bfd_elf32_bfd_reloc_type_lookup): Define. + (elf_backend_relocate_section): Define. + (elf_backend_adjust_dynamic_symbol): Define. + (elf_backend_create_dynamic_sections): Define. + (elf_backend_finish_dynamic_symbol): Define. + (elf_backend_finish_dynamic_sections): Define. + (elf_backend_size_dynamic_sections): Define. + (elf_backend_plt_readonly): Define. + (elf_backend_want_got_plt): Define. + (elf_backend_want_plt_sym): Define. + +Wed Feb 17 12:02:26 1999 Stan Cox <scox@cygnus.com> + + * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Make reginfo + sections SEC_LINK_ONCE and SEC_LINK_DUPLICATES_SAME_SIZE. + (_bfd_mips_elf_fake_sections): Likewise. - * config.bfd: Added VersaDOS format to the Ericsson configuration. +Wed Feb 17 12:07:23 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> -Wed Nov 20 16:31:31 1996 Jeffrey A Law (law@cygnus.com) + * elfarm-oabi.c (bfd_elf32_arm_allocate_interworking_sections, + bfd_elf32_arm_get_bfd_for_interworking, + bfd_elf32_arm_process_before_allocation): Define to avoid clash + with elfarm-nabi.c. - * elf32-mn10300.c: Rough cut at relocs for the mn10300. + * elf32-arm.h: Don't declare elf32_arm_info_to_howto. + (elf32_thumb_to_arm_stub, elf32_arm_to_thumb_stub, + elf32_arm_find_nearest_line): Make them static. -Wed Nov 13 08:12:38 1996 Jeffrey A Law (law@cygnus.com) +Tue Feb 16 22:44:37 1999 Ian Lance Taylor <ian@cygnus.com> - * Makefile.in (elf32-d10v.o): Don't depend on elf/d10v.h - anymore. + * elflink.h (elf_merge_symbol): Add pflags parameter. Change all + callers. Do not merge a definition from a shared object with a + weak undefined symbol. + (elf_link_add_object_symbols): Do not change the symbol type or + size if the old symbol overrides the new one. -Tue Nov 12 13:30:00 1996 Dawn Perchik <dawn@cygnus.com> +1999-02-08 Nick Clifton <nickc@cygnus.com> - * filemode.c: Include sysdep.h. - * ihex.c: Add casts to eliminate compiler warnings. - * sunos.c: Add casts to eliminate compiler warnings. + * config.bfd: Add support for strongarm target. -Mon Nov 11 10:37:02 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Mon Feb 8 11:18:14 1999 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> - * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Create .got.plt - section. - (ppc_elf_check_relocs): Add support for R_PPC_LOCAL24PC. Make - appropriate relocations in the .so file if shared. - (ppc_elf_relocate_section): Ditto. + * elf32-m68k.c (reloc_map): Use the correct types for the struct + fields instead of unsigned char. -Tue Oct 29 15:03:02 1996 Doug Evans <dje@canuck.cygnus.com> +Fri Feb 5 00:22:36 1999 Ian Lance Taylor <ian@cygnus.com> - * elf32-m32r.c (elf_m32r_howto_table, R_M32R_24): Use - complain_overflow_unsigned. + * Makefile.am: Rebuild dependencies. + * Makefile.in: Rebuild. -Tue Oct 29 12:53:46 1996 Martin M. Hunt <hunt@pizza.cygnus.com> +Thu Feb 4 22:30:13 1999 Ian Lance Taylor <ian@cygnus.com> - * elf32-d10v.c (elf_d10v_howto_table): Don't complain on - overflows for R_D10V_16 and R_D10V_18. + * configure.in: Change AC_PREREQ to 2.13. Remove AM_CYGWIN32. + Change AM_EXEEXT to AC_EXEEXT and AM_PROG_INSTALL to + AC_PROG_INSTALL. Add comments to uses of AC_DEFINE. + * acinclude.m4: Add comments to uses of AC_DEFINE. + * acconfig.h: Remove. + * configure: Rebuild with current autoconf/automake. + * aclocal.m4: Likewise. + * config.in: Likewise. + * Makefile.in: Likewise. -Tue Oct 29 13:23:53 1996 Ian Lance Taylor <ian@cygnus.com> +1999-02-04 DJ Delorie <dj@cygnus.com> - * ieee.c (ieee_write_section_part): Use LMA rather than VMA. - (do_with_relocs): Likewise. - (do_as_repeat): Likewise. - (copy_expression): Likewise. + * libbfd.c (real_read): don't call fread for zero bytes. This + covers up a bug (or misuse of bfd) that's exposed by Solaris. -Fri Oct 25 16:56:40 1996 Ian Lance Taylor <ian@cygnus.com> +Thu Feb 4 12:38:10 1999 Stan Cox <scox@cygnus.com> - * ieee.c (ieee_write_external_part): Correctly record whether - there is an external part. + * elf32-mips.c (mips_elf_relocate_section): Insure that the target + of a jump is in the current 256 MB region. -Thu Oct 24 14:32:52 1996 Jeffrey A Law (law@cygnus.com) +Thu Feb 4 12:15:38 1999 Ian Lance Taylor <ian@cygnus.com> - * elf32-v850.c (elf32_v850_bfd_final_link_relocate): Correctly - handle tda offsets for sld.w and sst.w instructions. - Fix alignment check in sld.w and sst.w tda reloc handling. + * format.c (bfd_check_format_matches): Change last patch to only + take effect for the binary target. -Thu Oct 24 09:08:47 1996 Stu Grossman (grossman@critters.cygnus.com) +Wed Feb 3 19:40:12 1999 Ian Lance Taylor <ian@cygnus.com> - * aclocal.m4, configure: Set USE_BINARY_FOPEN for *-*-windows. + * elf32-i386.c (elf_i386_reloc_type_lookup): Add BFD_RELOC_CTOR. -Wed Oct 23 00:53:16 1996 Jeffrey A Law (law@cygnus.com) +Wed Feb 3 15:02:44 1999 Catherine Moore <clm@cygnus.com> - * elf32-v850.c: Add comments about assumptions about - char, short & long sizes. - (elf32_v850_bfd_final_link_relocate): Fix sign extension - problems for several relocs. + * elf32-fr30.c (fr30_elf_check_relocs): New routine. - * elf32-v850.c (elf32_v850_howto_table): Fix typo in - R_V850_SDA_OFFSET entry. +Tue Feb 2 21:38:28 1999 Ian Lance Taylor <ian@cygnus.com> -Wed Oct 23 00:20:34 1996 Ian Lance Taylor <ian@cygnus.com> + * format.c (bfd_check_format_matches): If the target was + previously specified, don't check other targets when checking for + an archive file. - * xcofflink.c (bfd_xcoff_import_symbol): Don't allocate ldsym. - Store import file index in ldindx. - (xcoff_build_ldsyms): Assume that ldsym was not previously - allocated. For an imported symbol, copy ldindx into l_ifile. +Tue Feb 2 18:16:43 1999 Catherine Moore <clm@cygnus.com> -Tue Oct 22 19:20:38 1996 Jeffrey A Law (law@cygnus.com) + * elf32-arm.h (elf32_arm_reloc_map): Removed. + (elf32_arm_reloc_type_lookup): Removed + * elfarm-nabi.c (elf32_arm_reloc_map): New. + (elf32_arm_reloc_type_lookup): New. + * elfarm-oabi.c (elf32_arm_reloc_map): New. + (elf32_arm_reloc_type_lookup): New. - * elf32-v850.c (elf_v850_howto_table): Fix ordering of - R_V850_ZDA_OFFSET and R_V850_TDA_OFFSET. Fix various - fields in R_V850_TDA_OFFSET. - (elf32_v850_bfd_final_link_relocate): Tweak pc-relative - relocs to work more like other relocs. Handle R_V850_TDA_OFFSET - relocations. +Mon Feb 1 19:49:21 1999 Catherine Moore <clm@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. + * elfarm-nabi.c: Renamed from elf32-arm-newabi.c. + * elfarm-oabi.c: Renamed from elf32-arm-oldabi.c + * Makefile.am: Use new files. + * Makefile.in: Regenerate. + * configure.in: Use new files. + * configure: Regenerate. -Tue Oct 22 17:22:43 1996 Ian Lance Taylor <ian@cygnus.com> +1999-02-01 Nick Clifton <nickc@cygnus.com> - * binary.c (binary_set_section_contents): Ignore sections which - don't have SEC_LOAD and SEC_ALLOC set. + * elf32-fr30.c (fr30_elf_gc_mark_hook): New function. + (fr30_elf_gc_sweep_hook): New function. + (elf_backend_can_gc_sections): Define. -Mon Oct 21 12:13:05 1996 Jeffrey A Law (law@cygnus.com) +Mon Feb 1 12:21:47 1999 Catherine Moore <clm@cygnus.com> - * linker.c (_bfd_generic_final_link): Avoid losing static - symbols in the .bss section. + * targets.c (bfd_target_vector): Add bfd_elf32_littlearm_oabi_vec + and bfd_elf32_bigarm_oabi_vec. -Mon Oct 21 10:54:58 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Feb 1 11:46:31 1999 Catherine Moore <clm@cygnus.com> - * 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. + * Makefile.am (elf32-arm-oldabi.lo): New. + (elf32-arm-newabi.lo): New. + * Makefile.in: Regenerate. + * config.bfd (thumb-*-elf): Remove definition of targ_underscore. + (arm-*-elf): Likewise. + (arm-*-oabi): New. + (thumb-*-oabi): New. + * configure: Regenerate. + * configure.in (bfd_elf32_littlearm_oabi_vec): New. + (bfd_elf32_bigarm_oabi_vec): New. + * elf32-arm-newabi.c: New. + * elf32-arm-oldabi.c: New. + * elf32-arm.c: Removed. + * elf32-arm.h: New. - * 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. +Mon Feb 1 11:52:12 1999 Frank Ch. Eigler <fche@cygnus.com> -Thu Oct 17 10:43:29 1996 Doug Evans <dje@canuck.cygnus.com> + * binary.c (binary_set_section_contents): Omit warnings for + unloadable sections. - * 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. +1999-01-31 Michael Meissner <meissner@cygnus.com> -Wed Oct 16 11:24:35 1996 Jeffrey A Law (law@cygnus.com) + * config.bfd (powerpc{,le}-*-vxworks*): Add aliases to + powerpc{,le}-*-eabi. - * 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. - * 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. +1999-01-29 Nick Clifton <nickc@cygnus.com> - * elf32-v850.c (bfd_elf32_v850_reloc): Mask out bits we - no longer want in pc-relative relocs. + * dwarf2.c (read_unsigned_leb128): Remove unused variables. + * dwarf2.c (read_signed_leb128): Remove unused variables. -Tue Oct 15 22:17:37 1996 Jeffrey A Law (law@cygnus.com) +Fri Jan 29 00:47:21 1999 H.J. Lu <hjl@gnu.org> - * elf32-v850.c (bfd_elf32_v850_reloc): Don't silently - accept a reloc against an undefined sybmol! + * elf.c (assign_file_positions_for_segments): Only adjust + p_align when needed. -Tue Oct 15 16:17:28 1996 Stu Grossman (grossman@critters.cygnus.com) +Thu Jan 28 20:05:22 1999 Ian Lance Taylor <ian@cygnus.com> - * elf32-v850.c: Define elf_symbol_leading_char to be '_'. + * binary.c (binary_set_section_contents): Don't return early for a + non-loadable section, in case the first section is non-loadable. + Don't set the low lma for a SEC_NEVER_LOAD section. From Maciej + W. Rozycki <macro@ds2.pg.gda.pl>. -Tue Oct 15 12:40:41 1996 Ian Lance Taylor <ian@cygnus.com> +1999-01-28 Nick Clifton <nickc@cygnus.com> - * VERSION: Bump for new relocation. + * elf32-fr30.c (fr30_reloc_map): Add R_FR30_GNU_VTINHERIT and + R_FR30_GNU_VTENTRY relocs. - * hosts/i386bsd.h: If NBPG is not defined, define it as - PAGE_SIZE, for recent versions of FreeBSD. +Thu Jan 28 11:08:16 1999 Catherine Moore <clm@cygnus.com> -Mon Oct 14 12:37:26 1996 Ian Lance Taylor <ian@cygnus.com> + * elflink.h (elf_link_output_sym): Zero syms which are + part of sections which have been excluded. - * configure.host: Use `long long' as the 64 bit type on a Solaris - host, since both gcc and the SunPRO compilers support it. +Wed Jan 27 13:35:35 1999 Stan Cox <scox@cygnus.com> -Mon Oct 14 11:17:24 1996 Richard Henderson <rth@tamu.edu> + * coff-arm.c (_bfd_coff_arm_set_private_flags): Changed F_PIC + to F_PIC_INT. + * coffcode.h (coff_set_arch_mach_hook): Removed F_ARM_2a and + F_ARM_3M labels. Changed F_PIC to F_PIC_INT. - * 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. +1999-01-27 Nick Clifton <nickc@cygnus.com> - * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Trap .got - section overflow. + * elf32-fr30.c (fr30_elf_howto_table): Fix name of R_FR30_48 + relocation. + (fr30_final_link_relocate): Use computed value as result of + relocation. - * elf64-alpha.c (elf64_alpha_relocate_section): Do not emit a - dynamic relocation for an undefweak symbol when we are building - a static executable. +1999-01-26 Frank Ch. Eigler <fche@cygnus.com> -Thu Oct 10 11:15:06 1996 Stan Shebs <shebs@andros.cygnus.com> + * binary.c (binary_set_section_contents): Emit warning for + huge file offsets due to widely-dispersed section LMAs. - * mpw-make.sed (config.bfd, targmatch.sed): Edit references to - point explicitly to srcdir. - (targmatch.h): Edit references to point explicitly to objdir. +Mon Jan 18 03:35:35 1999 Ian Lance Taylor <ian@cygnus.com> -Thu Oct 10 14:14:23 1996 Ian Lance Taylor <ian@cygnus.com> + * elf.c (assign_file_positions_for_segments): If not D_PAGED, + align first section to largest section alignment, not first + section alignment. - * config.bfd: When setting targ_cpu, don't get confused by - linux-gnu. +1999-01-04 Jason Molenda (jsm@bugshack.cygnus.com) -Tue Oct 8 08:51:19 1996 Stu Grossman (grossman@critters.cygnus.com) + * configure.in: Require autoconf 2.12.1 or higher. - * configure.host: Add support for windows host (a build done - under the Microsoft build environment). +Tue Dec 22 15:21:41 1998 Catherine Moore <clm@cygnus.com> -Tue Oct 8 11:40:16 1996 Ian Lance Taylor <ian@cygnus.com> + * archures.c (bfd_mach_i386_i386_intel_syntax): Define. + * bfd-in2.h: Likewise. + * cpu-i386.c (bfd_i386_arch_intel_syntax): New. - * 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. +1998-12-16 Gavin Romig-Koch <gavin@cygnus.com> - * 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. + * archures.c,bfd-in2.h (bfd_mach_mips4111): New. + * cpu-mips.c: Add support for and independent 4111. + * elf32-mips.c (elf_mips_mach): E_MIPS_MACH_4111 -> bfd_mach_mips4111. + (_bfd_mips_elf_final_write_processing): + bfd_mach_mips4111 -> E_MIPS_ARCH_3 | E_MIPS_MACH_4111. - * 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. +1998-12-15 Gavin Romig-Koch <gavin@cygnus.com> -Mon Oct 7 11:44:17 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-mips.c (elf_mips_abi_name): New. + (_bfd_mips_elf_merge_private_bfd_data): Compare EF_MIPS_ABI flags. - * archive.c (do_slurp_coff_armap): Only treat archive as little - endian for i960 COFF. +1998-12-12 Gavin Romig-Koch <gavin@cygnus.com> -Fri Oct 4 13:49:01 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-mips.c (_bfd_mips_elf_final_write_processing): + Handle bfd_mach_mips4300. - * coffcode.h (coff_compute_section_file_positions): Adjust sofar - by the change in size of the section when EXEC_P is not set. +1998-12-11 Ulrich Drepper <drepper@cygnus.com> - * 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. + * elf32-i386.c: Remove leaked development code from patch + 1998-12-10 by Richard Henderson. - * dep-in.sed: Rework backslash loop a bit to avoid bug in sed on - HP/UX 10.20. - * Makefile.in: Rebuild dependencies. +1998-12-10 Richard Henderson <rth@cygnus.com> - * dep-in.sed: Remove ../bfd/sysdep.h, since it will appear when - som.h is included. + * elf32-i386.c (elf_i386_relocate_section): Don't fail relocations + in debug sections for symbol defined externally. -Fri Oct 4 11:41:39 1996 Jeffrey A Law (law@cygnus.com) +Thu Dec 10 10:58:38 1998 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> - * 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. + * targets.c (bfd_target_vector): Remove duplicate entry for + tekhex_vec. -Thu Oct 3 16:57:51 1996 Ian Lance Taylor <ian@cygnus.com> +1998-12-09 Nick Clifton <nickc@cygnus.com> - * cofflink.c (coff_link_add_symbols): Set obj_coff_keep_syms - during this function. + * elf32-fr30.c (fr30_elf_howto_table): Set src_mask fields to 0 + since we are using RELAs. - * elflink.c (_bfd_elf_create_linker_section): Only use an existing - section if the flags are compatible. +Tue Dec 8 22:15:48 1998 Ian Lance Taylor <ian@cygnus.com> - * 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. + SCO Open Server Release 5 core file support, from Jouke Numan + <jnuman@hiscom.nl>: + * sco5-core.c: New file. + * configure.in (i[3456]86-*-sco3.2v5*): Use sco5-core.lo. + (sco5-core.lo): Define SCO5_CORE in COREFLAG. + * Makefile.am: Rebuild dependencies. + (OPTIONAL_BACKENDS): Add sco5-core.lo. + (OPTIONAL_BACKENDS_CFILES): Add sco5-core.c. + * bfd.c (struct _bfd): Add sco5_core_data field to tdata. + * targets.c (sco5_core_vec): Add to target list if SCO5_CORE. + * bfd-in2.h, configure, Makefile.in: Rebuild. + +Tue Dec 8 19:38:42 1998 Mark Klein <mklein@dis.com> + + * config.bfd (hppa*-*-mpeix*): New target. + * configure.in: Add AC_HEADER_DIRENT. + (hppa*-*-mpeix*): New target. + * configure.host (hppa*-*-mpeix*): New host. + * hpux-core.c: Check HOST_HPPAMPEIX. Use HAVE_DIRENT_H and + friends rather than just including <sys/dir.h>. + * som.h (struct som_symbol): Add hppa_priv_level and apto + tc_data. Change all users. + (struct somdata): Add comp_unit field. + (obj_som_compilation_unit): Define. + (bfd_som_attach_compilation_unix): Declare. + * som.c: Check HOST_HPPAMPEIX. + (struct som_misc_symbol_info): Add new field priv_level. + (som_object_setup): Add current_offset parameter. Change all + callers. + (setup_sections): Likewise. + (som_object_p): For EXECLIBMAGIC, read the lst header. + (som_write_symbol_strings): Add compilation_unit parameter. + Change all callers. + (som_finish_writing): Write out compilation_unit. + (som_bfd_derive_misc_symbol_info): Set priv_level. + (som_build_and_write_symbol_table): Set xleast field to 3. + (som_slurp_symbol_table): Set symbol priv_level. + (bfd_som_attach_compilation_unit): New function. + (som_bfd_ar_write_symbol_stuff): Set xleast field to 3. Set + priv_level into symbol_value. * 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 <kkaempf@progis.de> - - 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 <ian@cygnus.com> - - * 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 <joel@oarcorp.com> - - * config.bfd (mips*-*-rtems*): New target, like mips*-*-elf*. - -Tue Oct 1 12:31:39 1996 Ian Lance Taylor <ian@cygnus.com> - - * 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 <phdm@info.ucl.ac.be>. - - * 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. - -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! - -Mon Sep 23 13:33:00 1996 Ian Lance Taylor <ian@cygnus.com> - - * elf32-ppc.c (ppc_elf_add_symbol_hook): Create the .sbss section - by hand, rather than by calling bfd_make_section. - -Mon Sep 23 09:23:41 1996 Doug Evans <dje@seba.cygnus.com> - - * reloc.c: Rename m32r relocs. - * bfd-in2.h, libbfd.h: Rebuilt. - * elf32-m32r.c: Update. -Fri Sep 20 11:43:43 1996 Ian Lance Taylor <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <pmartin@alsys.com>. - - * README: New file. - -Fri Sep 13 14:32:42 1996 Doug Evans <dje@canuck.cygnus.com> +Tue Dec 8 16:21:35 1998 Ian Lance Taylor <ian@cygnus.com> + + * hpux-core.c (hpux_core_core_file_p): Change call to nonexistent + warning function to call _bfd_error_handler instead. + + * libbfd.c (COERCE32): Cast through unsigned long and long to + avoid bug in old version of gcc. + + * elf64-alpha.c (elf64_alpha_additional_program_headers): Remove. + (elf_backend_additional_program_headers): Don't define. + +1998-12-08 Nick Clifton <nickc@cygnus.com> + + * elf32-fr30.c (fr30_final_link_relocate): Fix PC relative + relocations to include offset of 2 included in the insns, and the + offset of the relocs within the section. + +Wed Dec 2 15:03:59 1998 David Taylor <taylor@texas.cygnus.com> + + The following changes were made by David Taylor + <taylor@texas.cygnus.com>, Edith Epstein + <eepstein@sophia.cygnus.com>, Jim Blandy + <jimb@zwingli.cygnus.com>, and Elena Zannoni + <ezannoni@kwikemart.cygnus.com> as part of the project to merge in + changes originally made by HP; HP did not create ChangeLog + entries. + + * aclocal.m4, configure, Makefile.in: Rebuilt using latest + automake macro library. + + * hpux-core.c (hpux_core_core_file_p): this function now + understands HPUX 10.30 thread info. Yes, the thread stacks can be + found in the corefile! Also, in hpux_core_core_file_p, if we + encounter a section with an unknown type, don't punt. Instead, + just skip it. Also, count the number of sections of known type + that we encounter. If we encounter at least one good one, then + we'll declare that the file is a core file. If we encounter any + unknown ones but some known ones, then we'll issue a warning (but + still declare it to be a core file). Also, correctly decide when a + file is not a core. + (PROC_INFO_HAS_THREAD_ID): define if CORE_ANON_SHMEM defined. + (CORE_ANON_SHMEM): define if not defined. + (hpux_core_struct): add members lwpid and user_tid. + (core_kernel_thread_id, core_user_thread_id): new macros. + (make_bfd_asection): use bfd_alloc to allocate room for a copy of + the name before storing it in the bfd. + (hpux_core_core_file_p): handle threads. + + * libhppa.h (GET_FIELD): protect against redefinition. + (HPPA_WIDE): define. + (GET_FIELD): define. + (GET_BIT): define. + (MASK): define. + (CATENATE): define. + (ELEVEN): define. + (sign_extend): redefine. + (assemble_6): define. + (assemble_12): rewrite. + (assemble_16): define. + (assemble_16a): define. + (assemble_17): rewrite. + (assemble_22): define. + +1998-12-07 Nick Clifton <nickc@cygnus.com> + + * elf32-fr30.c (fr30_final_link_relocate): Using signed + relocations for signed values. + +Sun Dec 6 16:30:33 1998 Ian Lance Taylor <ian@cygnus.com> + + * mipsbsd.c (MY(set_arch_mach)): Make static. + * aoutx.h (NAME(aout,machine_type)): For bfd_arch_mips, use + bfd_mach_mips* macros rather than simple numbers. + + COFF weak symbol support, based on patches from Mark Elbrecht + <snowball3@usa.net>: + * coffcode.h (coff_slurp_symbol_table): Handle C_WEAKEXT. + * coffgen.c (coff_renumber_symbols): Handle weak symbols. + (coff_write_alien_symbol): Likewise. + * cofflink.c (coff_link_check_ar_symbols): Likewise. + (coff_link_add_symbols): Likewise. + (_bfd_coff_link_input_bfd): Likewise. + (_bfd_coff_write_global_sym): Likewise. - * aoutf1.h (MY_bfd_merge_private_bfd_data): Define. - (sunos_merge_private_bfd_data): New function. + * elf.c (copy_private_bfd_data): Always initialize the + includes_phdrs field. -Fri Sep 13 15:50:57 1996 Ian Lance Taylor <ian@cygnus.com> + * elflink.h (elf_fix_symbol_flags): Check for case where a non-ELF + file defines a symbol first mentioned in an ELF file. - * 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-in.h: Always define BFD_HOST_64_BIT and BFD_HOST_U_64_BIT if + possible, rather than only if BFD64. + * elflink.h (compute_bucket_count): Just check BFD_HOST_U_64_BIT, + not __GNUC__. * 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. - -Thu Sep 12 11:45:57 1996 Doug Evans <dje@seba.cygnus.com> - - * reloc.c: Add m32r relocs. - * bfd-in2.h, libbfd.h: Rebuilt. - * cpu-m32r.c,elf32-m32r.c: New files. - -Thu Sep 12 11:10:05 1996 Ian Lance Taylor <ian@cygnus.com> - - * ieee.c (ieee_vec): Set symbol_leading_char field to '_'. - -Wed Sep 11 11:57:56 1996 Ian Lance Taylor <ian@cygnus.com> - - * 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 <fnf@cygnus.com> - - * 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. - -Mon Sep 9 22:36:01 1996 Jeffrey A Law (law@cygnus.com) - - * bfd-in2.h: Rebuilt after m32r changes. - -Mon Sep 9 12:31:22 1996 Doug Evans <dje@canuck.cygnus.com> - - * config.bfd,configure.in,configure: Add m32r support. - * Makefile.in,archures.c,elf.c,targets.c: Likewise. - * config.bfd: Keep target list alphabetically sorted. - -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. - -Fri Sep 6 17:04:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * elf32-d10v.c (elf_d10v_howto_table): Modify the size of R_D10V_16 - and R_D10V_18 to be 1 (word). - -Thu Sep 5 15:23:08 1996 Ian Lance Taylor <ian@cygnus.com> - - * 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 <dje@canuck.cygnus.com> - - * 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. - -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. - -Mon Sep 2 12:12:34 1996 Ian Lance Taylor <ian@cygnus.com> - - * 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. - -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! - -Sun Sep 1 15:41:08 1996 Ian Lance Taylor <ian@cygnus.com> - - * 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. - -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 <jtc@hippo.cygnus.com> - - * 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. -Fri Aug 30 11:49:19 1996 Ian Lance Taylor <ian@cygnus.com> + * srec.c (srec_set_section_contents): Correct test to avoid + switching to 4 byte addresses after seeing a second section which + requires 3 byte addresses. From Joel Schantz + <joel.schantz@argosys.boeing.com>. - 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 <meissner@tiktok.cygnus.com> + * config.bfd (m68*-*-gnu*): New target. From Aymeric Vincent + <aymeric.vincent@emi.u-bordeaux.fr>. - * configure.in (i[345]86-*-*): Recognize i686 for pentium pro. - * configure.host (i[345]86-*-*): Ditto. - * config.bfd (i[345]86-*-*): Ditto. - * configure: Regenerate. +1998-12-04 Jim Blandy <jimb@zwingli.cygnus.com> - * config.bfd (i[3456]86-*-dgux*): Recognize as a synonym for x86 - elf. + * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Fix logic to + decide whether the output file is -mrelocatable-lib, + -mrelocatable, or neither. (gdb.base/nodebug.exp) -Tue Aug 27 09:18:18 1996 Jeffrey A Law (law@cygnus.com) +1998-12-03 Nick Clifton <nickc@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. + * elf32-fr30.c: Add support for R_FR30_48 reloc. + * reloc.c: Add BFD_RELOC_FR30_48 relocation. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate -Tue Aug 27 00:12:22 1996 Ian Lance Taylor <ian@cygnus.com> +Wed Dec 2 00:58:37 1998 Ian Lance Taylor <ian@cygnus.com> - * 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. + * elflink.h (elf_adjust_dynamic_symbol): Warn on an attempt to + link against a dynamic symbol with no type or size. -Thu Aug 22 10:54:38 1996 Ian Lance Taylor <ian@cygnus.com> +1998-12-01 Ulrich Drepper <drepper@cygnus.com> - * 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. + * elf32-i386.c (i386_check_relocs) [R_386_32]: Don't emit + relocation for section which does not get loaded. + (elf_i386_relocate_section) [R_386_32]: Likewise. - * 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. +Tue Dec 1 11:33:33 1998 Jim Wilson <wilson@cygnus.com> - * 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. + * coff-h8300.c (h8300_bfd_link_add_symbols): Make reloc_size, + reloc_count and i long instead of unsigned long. Handle error + return from bfd_canonicalize_reloc. -Tue Aug 20 15:06:05 1996 J.T. Conklin <jtc@hippo.cygnus.com> +1998-12-01 Nick Clifton <nickc@cygnus.com> - * 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. + * elf32-v850.c (v850_elf_relocate_section): Detect the absence of + a hash table. -Fri Aug 16 16:25:35 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Nov 30 15:28:09 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * xcofflink.c (xcoff_link_add_dynamic_symbols): Create and define - a function code symbol for an XMC_XO symbol. + * elf32-sh.c (elf/sh.h): Include. + sh_reloc_type: Delete. Changed all references to elf_sh_reloc_type. + (sh_elf_howto_tab): Add HOWTO for R_SH_SWITCH8. + (sh_reloc_map): Map BFD_RELOC_8_PCREL to R_SH_SWITCH8. + (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8. + * Makefile.in: Add dependency of elf32-sh.lo on $(INCDIR)/elf/sh.h. -Thu Aug 15 12:33:29 1996 Stan Shebs <shebs@andros.cygnus.com> +Fri Nov 27 17:51:38 1998 Geoff Keating <geoffk@ozemail.com.au> - * 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. + * elflink.h (compute_bucket_count): Don't allow minsize==0, it + causes division by zero later on. -Thu Aug 15 10:35:13 1996 Richard Henderson <rth@tamu.edu> +Thu Nov 26 11:19:35 1998 Dave Brolley <brolley@cygnus.com> - * elf64-alpha.c (elf64_alpha_output_extsym): The section from - which to offset to get the .plt entry address is ".plt". + * elf32-fr30.c (fr30_elf_pc9_reloc,fr30_elf_pc12_reloc): Not + needed. -Thu Aug 15 16:40:30 1996 James G. Smith <jsmith@cygnus.co.uk> +1998-11-25 DJ Delorie <dj@cygnus.com> - * 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 + * coff-i386.c (i3coff_object_p): Remove hack. Use new emulation + hook now. -Wed Aug 14 17:02:09 1996 Richard Henderson <rth@tamu.edu> +Tue Nov 24 10:25:27 1998 Nick Clifton <nickc@cygnus.com> - * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Correct typo - in section dynidx start. + * elf32-fr30.c (fr30_elf_relocate_section): Call + fr30_final_link_relocate. + (fr30_final_link_relocate): New function: Handle I20 and I32 + relocs. + (fr30_elf_i32_reloc): New function: Handle I32 relocs. + (fr30_elf_pc9_reloc): New function: Handle 9_PCREL relocs. + (fr30_elf_pc12_reloc): New function: Handle 12_PCREL relocs. -Tue Aug 13 14:35:38 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-v850.c (v850_elf_relocate_section): Reset hi16s reloc + chain to empty. - * 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++. + The following changes are based on a patch submitted by Gianluca + Moro <glctr@abc.it>: -Tue Aug 13 17:04:40 1996 Michael Meissner <meissner@tiktok.cygnus.com> + (v850_elf_perform_relocation): Only update a hi16s reloc if it has + not already been updated. + (find_remembered_hi16s_reloc): New parameter 'already_found' + returns state of remembered hi16s reloc. + (remember_hi16s_reloc): Set 'found' field to false. + (hi16s_location): Add 'found' field. - * 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. +1998-11-23 DJ Delorie <dj@cygnus.com> -Sat Aug 10 22:59:17 1996 Ian Lance Taylor <ian@cygnus.com> + * coff-i386.c (bfd_pe_dll_not_recognized_hack): the linker wants + to see .DLL files as unrecognized. + (i3coff_object_p): Sorry, had to hack it to not recognize these + files (pei-i386) on request. - * elflink.h (elf_link_add_object_symbols): Do not resolve a common - symbol against a STT_FUNC symbol in a shared library. +1998-11-23 DJ Delorie <dj@cygnus.com> -Fri Aug 9 12:44:57 1996 Ian Lance Taylor <ian@cygnus.com> + * opncls.c (bfd_make_readable): need more cleanup for symbols and + relents. Call bfd_check_format to reinitialize. - * xcofflink.c (xcoff_link_add_dynamic_symbols): If a descriptor - symbol is found, automatically define the corresponding function - code. +Fri Nov 20 14:21:36 1998 Nick Clifton <nickc@cygnus.com> - * 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 <ian@cygnus.com> - - * 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 <kkaempf@progis.de> - - * 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 <phdm@info.ucl.ac.be> - - * 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. + * elf32-fr30.c (fr30_elf_relocate_section): Remove spurious + warnings. - * aclocal.m4 (BFD_NEED_DECLARATION): Include <string.h> or - <strings.h> if they exist. +Thu Nov 19 14:42:15 1998 Geoffrey Noer <noer@cygnus.com> - * ieee.c (ieee_set_section_contents): Cast bfd_alloc return. + * aclocal.m4: regenerate + * configure: regenerate -Wed Aug 7 12:12:03 1996 Ian Lance Taylor <ian@cygnus.com> +Tue Nov 17 20:23:35 1998 Richard Henderson <rth@cygnus.com> - * cpu-i386.c (i8086_arch): Architecture info for the i8086. + * elf-bfd.h (struct elf_link_hash_entry): Add vtable_entries_size. + * elf.c (_bfd_elf_link_hash_newfunc): Clear it. + * elflink.h (elf_gc_propagate_vtable_entries_used): Copy it, and + respect it as an upper bound on what memory to reference. + (elf_gc_smash_unused_vtentry_relocs): Likewise. + (elf_gc_record_vtentry): Handle as-yet undefined vtables. Set and + update vtable_entries_size appropriately. - Based on patches from Eric Valette <valette@crf.canon.fr>: - * 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. +Tue Nov 17 15:28:31 1998 Nick Clifton <nickc@cygnus.com> -Tue Aug 6 12:54:56 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * elf32-fr30.c (fr30_reloc_type_lookup): Used integers to hold + reloc number. - * elf32-d10v.c (elf_d10v_howto_table): Added R_D10V_32. +Mon Nov 16 22:19:21 1998 DJ Delorie <dj@cygnus.com> -Mon Aug 5 13:42:41 1996 Ian Lance Taylor <ian@cygnus.com> + * archive.c (bfd_ar_hdr_from_filesystem): support BFD_IN_MEMORY + bfds; they have no "file" so we fake it. + * bfd-in2.h: add bfd_make_writable and bfd_make_readable (regen) + * libbfd.c (bfd_write): Allow writing to BFD_IN_MEMORY bfds by + resizing the memory buffer. + * opncls.c (bfd_make_writable): New function; lets you write a + bfd_create'd bfd to an in-memory buffer. + (bfd_make_readable): New function; lets you read back that buffer + as if it were from bfd_openr. Used to build generated archive + members (winsup's ld's dlltool) - * 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. +Mon Nov 16 19:15:19 1998 Dave Brolley <brolley@cygnus.com> - * 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 <ian@cygnus.com> - - 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 <jsmith@cygnus.co.uk> - - * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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. - -Tue Jul 23 10:43:31 1996 Martin M. Hunt <hunt@pizza.cygnus.com> - - * elf32-d10v.c (elf_d10v_howto_table): Changed all relocs to "long" - and fixed mask on R_D10V_10_PCREL_L. - -Mon Jul 22 15:30:30 1996 Ian Lance Taylor <ian@cygnus.com> - - * 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. + * po/bfd.pot: Regenerated. - * 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. +Mon Nov 16 10:57:06 1998 Nick Clifton <nickc@cygnus.com> -Fri Jul 19 18:15:51 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-v850.c (hi16s_location): Replaced fixed size array with + linked list. - * configure.in: Fix test for whether a compiler has a 64 bit - type. From Jim Wilson <wilson@cygnus.com>. +Sun Nov 15 20:28:25 1998 Richard Henderson <rth@cygnus.com> -Thu Jul 18 15:39:10 1996 Ian Lance Taylor <ian@cygnus.com> + * elf64-alpha.c (elf64_alpha_relax_section): Search for the proper + element of the gotentry list for local symbols too. + (elf64_alpha_relocate_section): Unify local and global handling. + Assert that gotent->use_count > 0. - * configure.host (mips-sgi-irix6*): New host. +Sat Nov 14 15:16:01 1998 Ian Lance Taylor <ian@cygnus.com> - * 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.in (vms_alpha_vec): Rename from evax_alpha_vec, and + update for file name changes of July 2, 1998. + (vms_vax_vec): New. * 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 <ANDREWG@microlise.co.uk>. - - * 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 <shebs@andros.cygnus.com> - - * 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 <krk@cygnus.com> - * coff-ppc.c: Redid debug scheme - numerous fprintf's gone. - Also removed most abort calls, in favor of using bfd reporting. +Thu Nov 12 19:19:54 1998 Dave Brolley <brolley@cygnus.com> -Wed Jul 17 14:51:52 1996 Martin M. Hunt <hunt@pizza.cygnus.com> + * po/bfd.pot: Regenerated. - * 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. - -Wed Jul 17 10:58:55 1996 Kim Knuttila <krk@cygnus.com> - - * 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 <ian@cygnus.com> - - * ecoff.c (_bfd_ecoff_new_section_hook): Set SEC_CODE for _INIT - and _FINI sections. - -Wed Jul 10 11:18:21 1996 Richard Henderson <rth@tamu.edu> - - * 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 <ian@cygnus.com> - - From Kazumoto Kojima <kkojima@kk.info.kanagawa-u.ac.jp>: - * 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. +Tue Nov 10 16:17:06 1998 Geoffrey Noer <noer@cygnus.com> -Mon Jul 8 16:18:03 1996 Ian Lance Taylor <ian@cygnus.com> + * acinclude.m4, config.bfd: detect cygwin* instead of cygwin32*. + * aclocal.m4, configure: regenerate - * elf32-mips.c (mips_reloc_map): Remove BFD_RELOC_32_PCREL entry. +Tue Nov 10 15:13:59 1998 Nick Clifton <nickc@cygnus.com> - * 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. + * elf.c (prep_headers): Add support for bfd_arch_fr30. - * 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. +Tue Nov 10 13:37:36 1998 Felix Lee <flee@cygnus.com> -Fri Jul 5 19:27:49 1996 Ian Lance Taylor <ian@cygnus.com> + * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE, + BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): didn't define macro when value + was cached. + * aclocal.m4, configure: regenerated. - * aout-target.h (MY(callback)): Set reloc_count fields. +Tue Nov 10 14:31:01 1998 Catherine Moore <clm@cygnus.com> -Thu Jul 4 12:00:37 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-d10v.c (reloc_type): Add R_D10V_GNU_VTINHERIT and + R_D10V_GNU_VTENTRY relocs. + (elf_d10v_howto_table): Likewise. + (d10v_reloc_map d10v_reloc_map): Likewise. + (elf32_d10v_gc_mark_hook): New. + (elf32_d10v_gc_sweep_hook): New. + (elf32_d10v_check_relocs): New. + (elf32_d10v_relocate_section): New. + (elf_backend_relocate_section): Define. + (elf_backend_can_gc_sections): Define. - * sunos.c (sunos_add_dynamic_symbols): Don't create dynamic - sections unless this is a SunOS link. +Sat Nov 7 18:07:51 1998 Peter Schauer <peter.schauer@regent.e-technik.tu-muenchen.de> - * VERSION: Set to 2.7.1. + * Makefile.am (BFD32_BACKENDS): Move vms files here... + (BFD64_BACKENDS): ...from here. + (BFD32_BACKENDS_CFILES): Move vms files here... + (BFD64_BACKENDS_CFILES): ...from here. + * Makefile.in: Rebuild. - * Released binutils 2.7. +Wed Nov 4 15:58:48 1998 Nick Clifton <nickc@cygnus.com> -Wed Jul 3 14:59:47 1996 Ian Lance Taylor <ian@cygnus.com> + * Makefile.am: Add FR30 target. + * Makefile.in: Add FR30 target. + * archures.c: Add support for FR30. + * config.bfd: Add support for FR30. + * configure.in: Add support for FR30. + * reloc.c: Add support for FR30 relocations. + * targets.c: Add support for FR30 relocations. + * bfd-in2.h: Regenerate. + * configure: Regenerate. + * libbfd.h: Regenerate. + * cpu-fr30.c: New file. + * elf32-fr30.c: New file. - * i386aout.c: Include "aout/aout64.h". - (i386aout_write_object_contents): New static function. - (MY_write_object_contents): Define. +Mon Nov 2 14:59:33 1998 Geoffrey Noer <noer@cygnus.com> - * netbsd.h (MY(write_object_contents)): Make sure that - adjust_sizes_and_vmas is called before fiddling with the magic - number. + * configure.in: detect cygwin* instead of cygwin32* + * configure: regenerate -Tue Jul 2 23:30:39 1996 Ian Lance Taylor <ian@cygnus.com> +Sun Nov 1 19:32:28 1998 Jeffrey A Law (law@cygnus.com) - * stabs.c (_bfd_link_section_stabs): Fix casts of psinfo. + * elf-m10300.c (mn10300_elf_relax_section): Do not use alloca, + use bfd_malloc and free instead and check return value from bfd_malloc. -Sun Jun 30 13:34:33 1996 Ian Lance Taylor <ian@cygnus.com> +Sun Nov 1 16:20:35 1998 Ian Lance Taylor <ian@cygnus.com> - * libbfd-in.h (itos, stoi): Don't define. + * libbfd-in.h (_bfd_dwarf1_find_nearest_line): Declare. * 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 <krk@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <rth@tamu.edu> - * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add flags + * elf32-mips.c (mips_elf_dynsym_sec_names): Comment out. + (SIZEOF_MIPS_DYNSYM_SECNAMES): Likewise. + (MIPS_TEXT_DYNSYM_SECN): Likewise. + (_bfd_mips_elf_fake_sections): Don't set sh_info field of a .hash + section. + (struct mips_elf_link_hash_table): Remove dynsym_sec_strindex 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <meissner@tiktok.cygnus.com> - - * 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 <rth@tamu.edu> - - * 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 <meissner@tiktok.cygnus.com> - - * 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 <jnuman@bazis.nl> - - * 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 <dje@canuck.cygnus.com> - - 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 <joel@merlin.gcs.redstone.army.mil> - - * config.bfd: Add support for *-*-rtems* configurations. - -Fri Jun 21 15:19:59 1996 Ian Lance Taylor <ian@cygnus.com> + (mips_elf_link_hash_table_create): Don't initialize + dynsym_sec_strindex. + (mips_elf_gc_mark_hook): Add default case to avoid warning. + (mips_elf_size_dynamic_sections): Generate a section symbol for + every output section. + (mips_elf_finish_dynamic_sections): Count all sections for + DT_MIPS_UNREFEXTNO. + (mips_elf_finish_dynamic_sections): Use dynamic symbols for all + output sections. - * elf.c (prep_headers): Add bfd_arch_alpha case. +Sun Nov 1 12:46:53 1998 Geoff Keating <geoffk@ozemail.com.au> -Fri Jun 21 12:35:27 1996 Richard Henderson <rth@tamu.edu> + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Allocate two slots + for later PLT entries in large PLTs. + (ppc_elf_finish_dynamic_symbol): Allow for the extra slots. - * 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 <ian@cygnus.com> - - * 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 <dje@canuck.cygnus.com> +Sat Oct 31 20:10:09 1998 Jeffrey A Law (law@cygnus.com) - * 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. + * elf32-ppc.c (ppc_elf_reload_section): Fix typo. - * peicode.h (coff_swap_scnhdr_out): ".drectve" doesn't have trailing 0. +1998-10-26 15:58 Ulrich Drepper <drepper@cygnus.com> -Wed Jun 19 11:37:52 1996 Ian Lance Taylor <ian@cygnus.com> + * elf-bfd.h (struct elf_link_hash_entry): Add new field elf_hash_value. + * elflink.h (elf_collect_hash_codes): New function. This function is + called for each exported symbol and we compute the ELF hash value for + it. + (compute_bucket_value): New function. It is called from + size_dynamic_sections to determine the hash table size. When we are + optimizing a better, but slower, algorithm is used. + (size_dynamic_sections): Call compute_bucket_value. - * elf.c (map_sections_to_segments): Fix up the test for -Ttext to - approximate the correct answer if SIZEOF_HEADERS was not used. + * elf.c (bfd_elf_hash): Optimize the hash function a bit. - * binary.c (binary_set_section_contents): Set section file - position based on LMA rather than VMA. +Mon Oct 19 20:03:21 1998 Catherine Moore <clm@cygnus.com> -Wed Jun 19 11:19:25 1996 Manfred Hollstein KS/EIC5 60/3/142 #40283 <manfred@lts.sel.alcatel.de> + * elf32-sh.c: Add HOWTO entries for R_SH_GNU_VTINHERIT and + R_SH_GNU_VTENTRY. + (sh_elf_gc_mark_hook): New. + (sh_elf_gc_sweep_hook): New. + (sh_elf_check_relocs): New. + (elf_backend_can_gc_sections): Define. - * linker.c (_bfd_generic_link_output_symbols): Don't output any - symbols if info->strip == strip_all. +Mon Oct 19 16:57:05 1998 Felix Lee <flee@cygnus.com> -Tue Jun 18 15:17:36 1996 Jeffrey A. Law <law@rtl.cygnus.com> + * acinclude.m4: undo previous gettext change + * aclocal.m4: rebuild with right version of aclocal. - * coff-h8300.c: Remove #if 0 code. - (compatable): Don't allow mixing/matching of different architectures. +Mon Oct 19 01:47:21 1998 Felix Lee <flee@cygnus.com> - * 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. + * acinclude.m4, aclocal.m4: move gettext-related fragments from + aclocal.m4 to acinclude.m4, so they don't get lost. -Tue Jun 18 14:42:58 1996 Klaus Kaempf <kkaempf@progis.de> + * elfcore.h: rewrite for better corefile support. + * elf.c (elfcore_*): new functions. + * elf-bfd.h (elf_obj_tdata): new structure members. + * acconfig.h, acinclude.m4, configure.in: add feature-tests for + flavor of procfs. + * aclocal.m4, config.in, configure, Makefile.in: regenerated. - 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. +Fri Oct 16 14:07:45 1998 Catherine Moore <clm@cygnus.com> -Tue Jun 18 13:54:18 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-m32r.c: Add HOWTO entries for R_M32R_GNU_VTINHERIT + and R_M32R_GNU_VTENTRY. + (elf_backend_can_gc_sections): Define. + (m32r_elf_check_relocs): New. + (m32r_elf_gc_mark_hook): New. + (m32r_elf_gc_sweep_hook): New. + (m32r_elf_relocate_section): Handle VT relocs. - * coff-h8300.c (h8300_reloc16_extra_cases): Make name a const - pointer. - (h8300_bfd_link_add_symbols): Likewise. +Mon Oct 12 14:18:40 1998 Nick Clifton <nickc@cygnus.com> -Mon Jun 17 10:06:50 1996 Jeffrey A. Law <law@rtl.cygnus.com> + * coff-arm.c (arm_relocate_section): Remove redundant test. - * som.h (R_HPPA_BEGIN_TRY, R_HPPA_END_TRY): Define. - * som.c (som_write_fixups): Handle R_BEGIN_TRY and R_END_TRY. + * bfd-in2.h (struct reloc_howto_struct): Improve comment to make + cleat that the 'bitsize' field is the size of the bitfield AFTER + relocation not before. -Mon Jun 17 12:49:11 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-m32r.c (R_M32R_18_PCREL): Fix size of bitfield. - * 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. + * coff-mips.c (mips_relocate_hi): Cope with missing refhi or reflo + relocs. -Thu Jun 13 20:14:51 1996 Doug Evans <dje@canuck.cygnus.com> +Tue Oct 6 09:20:44 1998 Catherine Moore <clm@cygnus.com> - * peicode.h (add_data_entry): Use pei_section_data rather than - _cooked_size. Corresponds to May 13 change in coffcode.h. + * elf32-sparc.c: Add HOWTO entries for R_SPARC_GNU_VTINHERIT and + R_SPARC_GNU_VTENTRY. + (elf32_sparc_check_relocs): Handle them. + (elf32_sparc_reloc_type_lookup): Likewise. + (elf32_sparc_relocate_section): Likewise. + (elf32_sparc_gc_mark_hook): New. + (elf32_sparc_gc_sweep_hook): New. -Thu Jun 13 10:23:40 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Oct 5 14:55:30 1998 Jeffrey A Law (law@cygnus.com) - * 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. + * som.c (som_finish_writing): Perform some sanity checks when + writing an executable or shared library. - * 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. +Mon Oct 5 12:02:31 1998 Gavin Romig-Koch <gavin@cygnus.com> -Wed Jun 12 11:16:37 1996 Ian Lance Taylor <ian@cygnus.com> + * dwarf1.c : New file. Adds _bfd_dwarf1_find_nearest_line. + * configure.in (elf): Add dwarf1.lo. + * elf_bfd.h (elf_ob_tdata): Add dwarf1_find_line_info. + * elf.c (_bfd_elf_find_nearest_line): Add call to + _bfd_dwarf1_find_nearest_line. + * elf32-mips.c (_bfd_mips_elf_find_nearest_line): + Add call to _bfd_dwarf1_find_nearest_line. + * configure: Rebuilt. - * 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. +Mon Oct 5 10:06:22 1998 Catherine Moore <clm@cygnus.com> - * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Check explicitly - for _ptrgl, and treat it as global linkage code. + * elflink.h (elf_gc_sections): Do not allow garbage + collection if dynamic sections have been created. - * 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. +Mon Oct 5 09:07:37 1998 Catherine Moore <clm@cygnus.com> -Tue Jun 11 15:24:48 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-v850.c: Add HOWTO entries for R_V850_GNU_VTINHERIT and + R_V850_GNU_VTENTRY. + (v850_elf_check_relocs): Handle VTINHERIT and VTENTRY relocs. + (v850_elf_perform_relocation): Likewise. + (v850_elf_final_link_relocate): Likewise. + (v850_elf_relocate_section): Likewise. + (v850_elf_gc_sweep_hook): New routine. + (v850_elf_gc_mark_hook): New routine. + (elf_backend_can_gc_sections): Define. - * 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 Oct 5 09:04:25 1998 Catherine Moore <clm@cygnus.com> -Mon Jun 10 11:57:27 1996 Jeffrey A Law (law@cygnus.com) + * elf32-m68k.c (elf_m68k_gc_sweep_hook): Don't assume + that dynobj exists. - * 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 Oct 4 23:29:34 1998 David Edelsohn <edelsohn@mhpcc.edu> -Sun Jun 9 16:30:20 1996 Jeffrey A Law (law@cygnus.com) + * rs6000-core.c (rs6000coff_core_file_matches_executable_p): + Declare size as bfd_size_type. + (rs6000coff_get_section_contents): Declare count as bfd_size_type. - * 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. +Sun Oct 4 20:38:29 1998 Jeffrey A Law (law@cygnus.com) -Thu Jun 6 15:24:45 1996 Richard Henderson <rth@tamu.edu> + * cpu-hppa.c (bfd_hppa20_arch): Define. Link it into the bfd_hppa_arch + structure. + * som.c (CPU_PA_RISC2_0): Define. + (_PA_RISC2_0_ID): Likewise. + (som_finish_writing): Use CPU_PA_RISC2_0 for the system_id as needed. - * 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. +Sun Oct 4 21:19:09 1998 Ian Lance Taylor <ian@cygnus.com> -Thu Jun 6 11:24:37 1996 Ian Lance Taylor <ian@cygnus.com> + * elflink.h (elf_link_add_object_symbols): When a versioned symbol + has a base which is already defined, only add the referenced + symbol to the dynamic symbol table if it is defined or referenced + by a regular file. - * ieee.c (ieee_write_object_contents): Put a timestamp in the file - to keep the HP emulator database happy. + * elf32-i386.c (elf_i386_info_to_howto_rel): Handle vtable relocs + correctly. - * config.bfd: Recognize powerpc-*-linux* and powerpcle-*-linux*. - From Kevin Buettner <kev@primenet.com>. +1998-09-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Wed Jun 5 15:16:04 1996 Ian Lance Taylor <ian@cygnus.com> + * elflink.h (elf_link_add_object_symbols): Undo last change. - * aoutx.h (translate_to_native_sym_flags): Don't try to print the - name of a NULL section. +Wed Sep 23 16:09:31 1998 Richard Henderson <rth@cygnus.com> -Tue Jun 4 18:53:58 1996 Ian Lance Taylor <ian@cygnus.com> + * elflink.h (elf_link_add_object_symbols): Don't record a dynamic + symbol for the indirect alias to a versioned symbol. - * linker.c (_bfd_generic_link_add_one_symbol): If notice_all is - set, always call the notice callback. +Mon Sep 21 12:15:22 1998 Catherine Moore <clm@cygnus.com> - * VERSION: Increment for bfdlink.h change. + * elf32-i386.c (elf32_i386_vtinherit_howto): New. + (elf32_i386_vtentry_howto): New. + (elf_i386_reloc_type_lookup): Return elf32_i386_vtentry_howto + or elf32_i386_vtinherit_howto on lookup. -Mon Jun 3 11:01:53 1996 Ian Lance Taylor <ian@cygnus.com> +Sun Sep 20 00:48:07 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * coff-sh.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set to 4. - (sh_relax_delete_bytes): Correct handling of differently sized - trailing alignment reloc. + * elf32-m68k.c: Include "elf/m68k.h". Remove definition of enum + reloc_type. Rename R_68K__max to R_68K_max. + (howto_table): Use _bfd_elf_rel_vtable_reloc_fn for a VTENTRY + 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. +Sun Sep 20 00:09:25 1998 Chris Torek <torek@bsdi.com> - * 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 <per.fogelstrom@mailbox200.swipnet.se>. - -Sat Jun 1 21:49:58 1996 Ian Lance Taylor <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - 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 <ian@cygnus.com> - - * 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 <meissner@tiktok.cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * cache.c (bfd_open_file): Unlink the file before opening it for - write. From Marty Leisner <leisner@sdsp.mc.xerox.com>. - - * opncls.c (bfd_fdopenr): Set opened_once. - -Tue May 14 12:35:32 1996 Ian Lance Taylor <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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. + * libbfd.c (bfd_getb32): Rewrite expression to get better code. + (bfd_getl32, bfd_getb_signed_32, bfd_getl_signed_32): Likewise. -Wed May 8 16:10:38 1996 Ian Lance Taylor <ian@cygnus.com> + * libbfd.c (bfd_log2): Cast to bfd_vma before shifting, not + after. - * srec.c (srec_set_arch_mach): Write as a function rather than a - macro definition. +Sat Sep 19 22:42:23 1998 Doug Rabson <dfr@nlsystems.com> - * 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. + * elflink.h (elf_link_add_object_symbols): Ensure that the warning + message has a null byte terminator. -Wed May 8 09:17:34 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Fri Sep 18 14:35:29 1998 Nick Clifton <nickc@cygnus.com> - * 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. + * elf32-v850.c (v850_elf_perform_relocation): Ignore contents of + word subject to R_V850_32 relocation. -Tue May 7 16:10:19 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Thu Sep 17 17:20:36 1998 Nick Clifton <nickc@cygnus.com> - * ppcboot.c: New target for looking at PPCbug boot records. + * dwarf2.c: Add comment describing problem computing line numbers + for undefined symbols at link time. - * config{ure.in,.bfd}: Add support for ppcboot target. - * targets.c: Ditto. - * configure: Regenerate. +Thu Sep 17 16:03:28 1998 Richard Henderson <rth@cygnus.com> -Tue May 7 11:15:19 1996 Jeffrey A Law (law@cygnus.com) + * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't + transform a defweak into a plt entry. + (elf64_alpha_calc_dynrel_sizes): Allow room for secondary + plt entry references to receive a RELATIVE reloc. + (elf64_alpha_finish_dynamic_symbol): Fill them in. + (elf64_alpha_relocate_section): Assert we don't overrun + the allocated relocation space. - * 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. +Wed Sep 16 18:03:13 1998 Nick Clifton <nickc@cygnus.com> -Mon May 6 18:24:09 1996 Jeffrey A Law (law@cygnus.com) + * elf.c (swap_out_syms): Always treat section symbols as + special, even if they are attached to a common section. - * reloc16.c (bfd_coff_reloc16_get_value): Handle common - symbols correctly. +Wed Sep 16 10:34:13 1998 Nick Clifton <nickc@cygnus.com> -Sat May 4 05:08:45 1996 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) + * elf32-v850.c (v850_elf_symbol_processing): Move symbols in + sections with v850 common section attributes into named v850 + common sections. + (v850_elf_add_symbol_hook): Move symbols in sections with v850 + common section attributes into named v850 common sections. - * elfcode.h (elf_object_p): Reject generic ELF target if - e_machine matches an alternate machine code in a specific backend. +Wed Sep 16 11:26:49 CDT 1998 Catherine Moore <clm@cygnus.com> - * netbsd-core.c (netbsd_core_vec): Remove initializer for - obsolete align_power_min field. + * elf32-arm.c (elf32_arm_gc_mark_hook): Remove print + statement. -Fri May 3 13:07:35 1996 Jeffrey A Law (law@cygnus.com) +1998-09-15 Geoff Keating <geoffk@ozemail.com.au> - * 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). + * elf32-ppc.c (ppc_elf_relocate_section): Reverse output_offset + part of Vladimir's change of 1998-08-19. Make a R_PPC_SDAREL16 + reloc to the wrong section a warning, not an error. .dynsbss + is not an output section, so there is no need to check for it. -Fri May 3 10:47:41 1996 Ian Lance Taylor <ian@cygnus.com> +Tue Sep 15 12:40:05 1998 Catherine Moore <clm@cygnus.com> - * aoutx.h (translate_from_native_sym_flags): Set the section for - BSF_CONSTRUCTOR symbols. + * elf-bfd.h: Add argument to elf_backend_get_symbol_type. - * cofflink.c (_bfd_coff_link_input_bfd): Correct setting of - last_bf_index. +Tue Sep 15 08:34:40 1998 Catherine Moore <clm@cygnus.com> -Wed May 1 18:39:32 1996 Doug Evans <dje@canuck.cygnus.com> + * elf.c (swap_out_syms): Pass type to elf_backend_get_symbol_type. + * elf32-arm.c: Add HOWTO entries for R_ARM_GNU_VTINHERIT and + R_ARM_GNU_VTENTRY. + (elf32_arm_gc_mark_hook): New. + (elf32_arm_gc_sweep_hook): New. + (elf32_arm_check_relocs): New. + (elf32_arm_final_link_relocate): Handle VTINHERIT and VTENTRY + relocations. + (elf32_arm_relocate_section): Handle VTINHERIT and VTENTRY + relocations. - * coffcode.h (coff_write_object_contents): In comdat section lookup, - stop looking when section is found. +1998-09-10 Geoff Keating <geoffk@ozemail.com.au> -Wed May 1 14:17:57 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-ppc.c (ppc_elf_relocate_section): If dynobj is NULL, + assume there is no PLT or GOT. - * 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. +Wed Sep 9 14:24:12 1998 Nick Clifton <nickc@cygnus.com> - * 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. + * elf32-arm.c (elf32_arm_find_nearest_line): New function: just + like _elf_bfd_find_nearest_line() except that STT_ARM_TFUNC is + also accepted as a function symbol type. -Tue Apr 30 17:56:39 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Sep 7 13:24:03 1998 Peter Schauer <pes@regent.e-technik.tu-muenchen.de> - * aoutx.h (translate_from_native_sym_flags): Don't create - SEC_CONSTRUCTOR sections. - * ecoff.c (ecoff_set_symbol_info): Likewise. + * rs6000-core.c (_LONG_LONG): Define for AIX 4.x only. - * elf32-mips.c (mips_elf_copy_private_bfd_data): Copy elf_gp. - From Don Bowman <bowman@waterloo.hp.com>. +Sat Sep 5 20:40:18 1998 Ian Lance Taylor <ian@cygnus.com> -Tue Apr 30 17:06:32 1996 Doug Evans <dje@canuck.cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <meissner@tiktok.cygnus.com> - - * 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 <meissner@tiktok.cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> - - * 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 <dje@canuck.cygnus.com> - - * 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 <ian@cygnus.com> - - 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-in.h (_bfd_nolink_bfd_gc_sections): Correct definition to + match definition of _bfd_gc_sections field. * 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 <ian@cygnus.com> - - * 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 <ian@cygnus.com> +Fri Sep 4 13:54:23 1998 David Miller <davem@dm.cobaltmicro.com> - * 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 <meissner@tiktok.cygnus.com> - - * 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. + * elf32-sparc.c (elf32_sparc_relocate_section): Properly adjust + the addend of a dynamic relocation referencing a section. + * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. + (sparc64_elf_finish_dynamic_symbol): Fix the PLT relocation offset. -Wed Apr 17 13:07:37 1996 Ian Lance Taylor <ian@cygnus.com> +Thu Sep 3 17:28:50 1998 Richard Henderson <rth@cygnus.com> - * xcofflink.c (xcoff_link_input_bfd): Check for TOC overflow. + * elflink.h (bfd_elfNN_size_dynamic_sections): Verify that the + bed has a size_dynamic_sections routine before trying to use it. - * 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. +Mon Aug 31 14:49:22 1998 Richard Henderson <rth@cygnus.com> -Tue Apr 16 16:36:38 1996 Stu Grossman (grossman@lisa.cygnus.com) + * elf32-mips.c (elf_mips_gnu_vtentry_howto): Use + _bfd_elf_rel_vtable_reloc_fn. - * elfcore.h: Add support for core files with multiple threads. - (Primarily for Solaris.) +Mon Aug 31 10:23:40 1998 Catherine Moore <clm@cygnus.com> -Tue Apr 16 13:44:08 1996 Ian Lance Taylor <ian@cygnus.com> + * Makefile.am: Add elf32-arm.c. + * Makefile.in: Rebuild. + * elf-bfd.h: Add elf_backend_get_symbol_type. + * elf.c (swap_out_syms): If defined, call + elf_backend_get_symbol_type. + * elf32-arm.c: Define elf_backend_get_symbol_type. + (elf32_arm_get_symbol-type): New routine. + (record_thumb_to_arm_glue): Change to use STT_ARM_TFUNC. + (bfd_elf32_arm_process_before_allocation): Change to + check for STT_ARM_TFUNC. + (elf32_arm_final_link_relocate): Likewise. + * elfxx-target.h: Add elf_backend_get_symbol_type. - * aoutx.h (NAME(aout,squirt_out_relocs)): Don't do anything if - section->orelocation is NULL. +Fri Aug 28 19:44:07 1998 Richard Henderson <rth@cygnus.com> - * 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. + * archures.c (bfd_mach_alpha_ev[456]): New. + * cpu-alpha.c: Rework to match these types. * bfd-in2.h: Rebuild. -Mon Apr 15 19:06:59 1996 Ian Lance Taylor <ian@cygnus.com> - - * 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. +Fri Aug 28 19:38:53 1998 Richard Henderson <rth@cygnus.com> -Wed Apr 10 00:23:53 1996 Ian Lance Taylor <ian@cygnus.com> + * elf-bfd.h (_bfd_elf_rel_vtable_reloc_fn): Declare. + * elf.c (_bfd_elf_rel_vtable_reloc_fn): New. - * 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. + * elf32-i386.c (elf_howto_table): Add vtable relocs. + (elf_i386_reloc_type_lookup): Recognize them. + (elf_i386_check_relocs): Pass them off to generic code. + (elf_i386_relocate_section): Ignore them. + (elf_i386_gc_mark_hook, elf_i386_gc_sweep_hook): New. + (elf_backend_can_gc_sections): True. - * 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. +Thu Aug 20 15:03:45 1998 Nick Clifton <nickc@cygnus.com> - * 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. + * elf32-arm.c (elf32_thumb_to_arm_stub): Check sym_sec is not NULL + before looking at owner field. + (elf32_arm_to_thumb_stub): Ditto. + (elf32_arm_relocate_section): Compute name before calling + elf32_arm_final_link_relocate(). - * ieee.c (ieee_write_byte): Change second parameter from bfd_byte - to int to avoid promotion problems in prototype. +Thu Aug 20 11:30:17 1998 Michael Snyder <msnyder@cleaver.cygnus.com> -Tue Apr 9 11:44:21 1996 Ian Lance Taylor <ian@cygnus.com> + * elf.c: comment and formatting cleanups. + * elfcore.h: ditto. - * configure.host: Use ${srcdir} when looking for picfrag. +Wed Aug 19 15:43:26 1998 Michael Snyder <msnyder@cleaver.cygnus.com> - * configure.host: Switch on ${libdir}, not $(libdir). From - alan@spri.levels.unisa.edu.au (Alan Modra). + * elfcode.h (elf_object_p): Reject files of header type ET_CORE + (core files are treated differently than object files). + * elf-bfd.h (_bfd_elf_write_corefile_contents, + bfd_elf_mkcorefile): declare. + * elfxx-target.h (_bfd_elf_write_corefile_contents, + bfd_elf_mkcorefile): add to bfd_target vector. + * elfcore.h (elf_core_file_p): save the program header table, + and set the bfd architecture from the elf file header. + * elf.c (bfd_elf_mkcorefile): new function. + (_bfd_elf_write_corefile_contents): new function. + (assign_file_positions_for_segments): add cases for handling + PT_NOTE segments. (assign_file_positions_except_relocs): + core files should be handled the same as exec files. + (prep_headers): identify core files as type ET_CORE. + (copy_private_bfd_data): identify the sections belonging to + the PT_NOTE segment. - * 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. + * elf32-sparc.c (elf32_sparc_final_write_processing): + add break statement to default case. -Mon Apr 8 12:09:36 1996 Ian Lance Taylor <ian@cygnus.com> +1998-08-19 Vladimir N. Makarov <vmakarov@cygnus.com> - * configure.in: Permit --enable-shared to specify a list of - directories. - * configure: Rebuild. + * elf32-ppc.c (ppc_elf_relocate_section): Check that output + section (not input) will be in sections ".sbss", ".sbss2", + ".sdata", and ".sdata" for R_PPC_SDAREL16, R_PPC_EMB_SDA2REL, + R_PPC_EMB_SDA21, R_PPC_EMB_RELSDA. In all these cases also ignore + output_offset for correct evaluation of addend. - * configure.host: Set HLDFLAGS and SHLIB_CFLAGS for *-dec-osf* - host when configuring with --enable-shard. +Tue Aug 18 11:48:12 1998 Catherine Moore <clm@cygnus.com> -Fri Apr 5 12:24:13 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-arm.c: Add prefix bfd_ to elf32_arm_get_bfd_for_interworking, + elf32_arm_allocate_interworking_sections and + elf32_arm_process_before_allocation. - * config.bfd: Add i[345]86-*-freebsdelf* target; from John Polstra - <jdp@polstra.com>. +Tue Aug 18 11:46:00 1998 Nick Clifton <nickc@cygnus.com> - * linker.c (link_action): For WARN_ROW/warn, use MWARN, not CYCLE, - to avoid crashing in bfd_hash_replace. + * bfd-in.h: Ammend prototype for + elf32_arm_process_before_allocation to remove surplus third + argument. - * sysdep.h: Use #ifdef, not #if. - -Thu Apr 4 23:32:23 1996 Ian Lance Taylor <ian@cygnus.com> - - * config.in: Rebuild. - -Thu Apr 4 18:49:09 1996 Fred Fish <fnf@cygnus.com> - - * 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 <time> and <sys/time.h> - get included. - -Tue Apr 2 13:11:53 1996 Doug Evans <dje@canuck.cygnus.com> - - * aoutf1.h (sunos_32_set_arch_mach): Handle M_SPARCLET. - (aout_32_sunos4_write_object_contents): Likewise. - * aoutx.h (NAME(aout,machine_type)): Handle - bfd_mach_sparc_{sparclet,sparclite}. - * archures.c (bfd_mach_sparc_{sparclet,sparclite}): Define. - (bfd_mach_sparc_v9_p): Update. - * cpu-sparc.c (arch_info_struct): Add entries for sparclet,sparclite. - * libaout.h (enum machine_type): Add M_SPARCLET. - * sunos.c (MACHTYPE_OK): Define. - * bfd-in2.h: Regenerated. - -Tue Apr 2 00:33:18 1996 Ian Lance Taylor <ian@cygnus.com> - - * elf-bfd.h (struct elf_link_hash_table): Add hgot field. - * elf.c (_bfd_elf_link_hash_table_init): Initialize hgot field. - * elflink.c (_bfd_elf_create_got_section): Store the - _GLOBAL_OFFSET_TABLE_ hash table entry in the hgot field. - * elf32-sparc.c (elf32_sparc_check_relocs): If the size of the - global offset table goes over 0x1000, set the value of - _GLOBAL_OFFSET_TABLE_ to 0x1000 into the section. - (elf32_sparc_relocate_section): Subtract the offset of - _GLOBAL_OFFSET_TABLE_ when handling GOT relocations. - - * elfcode.h: Don't include <string.h>. - -Mon Apr 1 10:39:24 1996 Jeffrey A Law (law@cygnus.com) + * bfd-in2.h: Regenerate. - * linker.c (_bfd_generic_link_hash_newfunc): Renamed from - generic_link_hash_newfunc. All references changed. - * genlink.h (_bfd_generic_link_hash_newfunc): Declaration - moved here from libbfd-in.h. - * libbfd-in.h: Corresponding changes. - * libbfd.h: Regenerated. +Sat Aug 15 20:55:08 1998 Richard Henderson <rth@cygnus.com> -Mon Apr 1 12:35:36 1996 Ian Lance Taylor <ian@cygnus.com> + * elf64-alpha.c (elf64_alpha_relax_section): Handle indirect symbols. - * aoutx.h (aout_link_input_section_std): When reporting an - overflow error, use the name of the symbol in the hash table if - available. - (aout_link_input_section_ext): Likewise. +Fri Aug 14 09:12:28 1998 Stan Cox <scox@cygnus.com> - * elflink.h (elf_adjust_dynamic_symbol): If a common symbol got - defined in a regular file, set ELF_LINK_HASH_DEF_REGULAR. + * aoutx.h (aout_link_input_section_ext): Use the relocation already + calculated for RELOC_SPARC_REV32 case. -Sun Mar 31 01:58:41 1996 steve chamberlain <sac@slash.cygnus.com> +Thu Aug 13 14:02:02 1998 Catherine Moore <clm@cygnus.com> - * peicode.h (coff_swap_aouthdr_out): Delete test for .junk. - * coffcode.h (coff_compute_section_file_positions): Likewise. - (coff_write_object_contents): Likewise. + * bfd-in.h: Add prototypes for elf32_arm_get_bfd_for_interworking, + elf32_arm_allocate_interworking_sections and + elf32_arm_process_before_allocation. + * bfd-in2.h: Regenerated. + * elf32-arm.c Define elf32_arm_link_hash_table. + (insert_thumb_branch): New routine. + (find_thumb_glue): New routine. + (find_arm_glue): New routine. + (record_arm_to_thumb_glue): New routine. + (record_thumb_to_arm_glue): New routine. + (elf32_arm_link_hash_table_create): New routine. + (elf32_arm_get_bfd_for_interworking): New routine. + (elf32_arm_allocate_interworking_sections) New routine. + (elf32_arm_process_before_allocation) New routine. + (elf32_thumb_to_arm_stub): New routine. + (elf32_arm_to_thumb_stub): New routine. + (elf32_print_private_bfd_data): Fix typo. + (elf32_arm_final_link_relocate): Add argument sym_sec. + Check for branches to thumb symbols in case R_ARM_PC24. + Check for branches to arm symbols in case R_ARM_THM_PC22. + (elf32_arm_relocate_section): Pass symbol section to + elf32_arm_final_link_relocate. -Fri Mar 29 12:44:36 1996 Ian Lance Taylor <ian@cygnus.com> +Wed Aug 12 19:00:39 1998 Geoff Keating <geoffk@ozemail.com.au> - * section.c (SEC_LINK_ONCE): Define. - (SEC_LINK_DUPLICATES): Define. - (SEC_LINK_DUPLICATES_DISCARD): Define. - (SEC_LINK_DUPLICATES_ONE_ONLY): Define. - (SEC_LINK_DUPLICATES_SAME_SIZE): Define. - (SEC_LINK_DUPLICATES_SAME_CONTENTS): Define. - * bfd-in2.h: Rebuild. - * coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn - SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT. - (styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE - into SEC_EXCLUDE. If IMAGE_SCN_LNK_COMDAT is set, set - SEC_LINK_ONCE, and look through the symbol table for the setting - for SEC_LINK_DUPLICATES. - (coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is - set for a section, find the section symbol in the symbol table, - and set the aux entry based on SEC_LINK_DUPLICATES. - * coffgen.c (coff_print_symbol): Add a space before "checksum". - * coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add - SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags. - * coff-i386.c (i386coff_vec): Likewise. - * coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise. - - * VERSION: Bump to 2.6.1. - * Makefile.in (stamp-h): Depend upon VERSION. - -Thu Mar 28 23:48:49 1996 Jeffrey A Law (law@cygnus.com) - - * libbfd-in.h (generic_link_hash_newfunc): Add declaration. - * libbfd.h: Rebuilt. - * linker.c (generic_link_hash_newfunc): No longer static. - * coffcode.h (coff_bfd_link_hash_create): Allow specific targets - to override. - * coff-h8300.c: Add two derived hash tables and their associated - funtions and #defines for use by the h8300 linker. - (h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in - the function vector as needed. Place the address of the function - vector entry in the location specified by the R_MEM_INDIRECT reloc. - Rewrite the vectors section contents as necessary. - (h8300_bfd_link_add_symbols): New function for the h8300 linker. - (coff_bfd_link_add_symbols): Define to use h8300 specific version. - (coff_bfd_link_hash_table_create): Likewise. - -Thu Mar 28 17:44:08 1996 Ian Lance Taylor <ian@cygnus.com> - - * libhppa.h: If gcc 2.7 or higher, declare all the functions with - __attribute__ ((__unused__)) so that -Wall doesn't warn about - them. - (hppa_rebuild_insn): Pass pointer to correct type to - low_sign_unext and dis_assemble_21. - -Thu Mar 28 11:00:36 1996 Doug Evans <dje@canuck.cygnus.com> - - * config.bfd (sparc64-{sysv4*,solaris2*}): Delete. - Stick with sparc-*-{sysv4*,solaris2*}. - -Wed Mar 27 10:43:34 1996 Ian Lance Taylor <ian@cygnus.com> - - * peicode.h (coff_swap_aux_in): Swap in extra PE x_scn fields. - (coff_swap_aux_out): Swap out extra PE x_scn fields. - * coffswap.h (coff_swap_aux_in): Zero out extra PE x_scn fields. - * coffgen.c (coff_print_symbol): If any of the extra PE x_scn - fields is non-zero, print them. - - * coff-ppc.c (ppc_record_toc_entry): Put inside COFF_IMAGE_WITH_PE - ifdef. Remove unused variables. - (ppc_record_data_in_toc_entry): Ifdef out. Removed unused - variables. - (ppc_mark_symbol_as_glue): Put inside COFF_IMAGE_WITH_PE ifdef. - (get_symbol_value): Ifdef out. - (pe_ppc_reloc): Ifdef out. Remove unused variables. - (coff_ppc_relocate_section): Remove unused variables. Make - fprintf strings and argument types correspond. Put before_addr in - DEBUG_RELOC ifdef. - (dump_toc): Make fprintf strings and argument types correspond. - (ppc_process_before_allocation): Remove unused variables. Always - return a value. - (ppc_reflo_reloc): Ifdef out. - (ppc_addr32nb_reloc): Ifdef out. - (ppc_coff_rtype2howto): Make fprintf strings and argument types - correspond. - (coff_ppc_rtype_to_howto): Likewise. - (ppc_coff_swap_sym_in_hook): Remove unused variables. - - * peicode.h (pe_print_idata): Move otherwise unused variables into - the #ifdef where they are used. Always return a value. - (pe_print_edata): Make fprintf strings and argument types - correspond. Always return a value. - (pe_print_pdata): Removed unused variable addr_value. Always - return a value. - (pe_print_reloc): Remove unused variable onaline. Make fprintf - strings and argument types correspond. Always return a value. - - * elf32-ppc.c (ppc_elf_fake_sections): Return true. - (ppc_elf_finish_dynamic_symbol): Move definition of unused - variable rela inside #if 0 section where it is used. - - * ns32k.h: New file. - * cpu-ns32k.h: Include ns32k.h. Rename externally visible - functions to start with _bfd_. - * aout-ns32k.c: Include ns32k.h. Change references to renamed - functions in cpu-ns32k.h. - * Makefile.in: Rebuild dependencies. - (HFILES): Add ns32k.h. - - * section.c (struct sec): Add linker_mark field. Change - user_set_vma and reloc_done to be single bit fields. - (STD_SECTION): Update accordingly. - * bfd-in2.h: Rebuild. - * aoutx.h (NAME(aout,final_link)): Mark sections included in the - link. - (aout_link_input_bfd): Don't link unmarked sections. - * cofflink.c (_bfd_coff_final_link): Mark sections included in the - link. - (_bfd_coff_link_input_bfd): Don't link unmarked sections. - * coff-ppc.c (ppc_bfd_coff_final_link): Mark sections included in - the link. - * elflink.h (elf_bfd_final_link): Mark sections included in the - link. - (elf_link_input_bfd): Don't link unmarked sections. - * xcofflink.c (_bfd_xcoff_bfd_final_link): Mark sections included - in the link. - (xcoff_link_input_bfd): Don't link unmarked sections. + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Generate PLT + entries unless the symbol is defined in the executable; in + particular, undefined weak symbols get a PLT entry. - * coffswap.h (coff_swap_scnhdr_out): Include section name in - overflow error messages. +Wed Aug 12 14:48:33 1998 Ian Lance Taylor <ian@cygnus.com> -Tue Mar 26 15:46:18 1996 Ian Lance Taylor <ian@cygnus.com> + * libaout.h: Remove nested comment to avoid warning. - * bfd.c (_bfd_default_error_handler): If _bfd_error_program_name - is not set, print "BFD: " before the error message. +Wed Aug 12 08:10:11 1998 Catherine Moore <clm@cygnus.com> - * configure.in: Use AC_CHECK_TOOL to find ar and ranlib. From - Miles Bader <miles@gnu.ai.mit.edu>. - * configure: Rebuild. + * elf32-arm.c (elf32_arm_final_link_relocate): Rework + R_ARM_PC24 relocation. -Fri Mar 22 12:17:00 1996 Ian Lance Taylor <ian@cygnus.com> +Tue Aug 11 14:42:26 1998 Catherine Moore <clm@cygnus.com> - * xcofflink.c (xcoff_link_input_bfd): Fix scan for C_BINCL/C_EINCL - symbols. + * elf32-arm.c (elf32_arm_final_link_relocate): Remove unused + argument is_local. Add argument sym_flags. Check sym_flags + in R_ARM_ABS32 case. Include addend for R_ARM_THM_PC22 case. + (elf32_arm_relocate_section): Don't pass local sym and pass + sym_flags to elf32_arm_final_link_relocate. - * config.bfd: Add ieee_vec to targ_selvecs for i960 targets and - m68k-aout, m68k-coff, and m68k-elf targets. +Mon Aug 10 20:38:39 1998 Richard Henderson <rth@cygnus.com> -Fri Mar 22 11:33:44 1996 Martin Anantharaman <martin@goofy.imech.uni-duisburg.de> + * elf64-alpha.c (elf64_alpha_calc_dynrel_sizes): Correct last change + to not count too few relocs for dynamicly linked executables. - * ieee.c: Changed #ifdef KEEPMINUSPCININST to #if KEEPMINUSPCININST. - (ieee_generic_stat_arch_elt): Restructured to prevent - ieee_object_p from being called repeatedly. +Mon Aug 10 15:35:34 1998 Richard Henderson <rth@cygnus.com> -Thu Mar 21 11:00:47 1996 steve chamberlain <sac@slash.cygnus.com> + * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Never consider + symbols without a dynamic index dynamic. Consider all weak + symbols dynamic. + (elf64_alpha_strip_section_from_output): Don't assume 1-1 + correspondance between input and output sections. - * coffcode.h (coff_write_object_contents): Allocate - buffers large enough for any FILEHDR or AOUTHDR. +Mon Aug 10 15:31:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Thu Mar 21 16:28:17 1996 David Mosberger-Tang <davidm@azstarnet.com> + * elflink.h (elf_gc_common_finalize_got_offsets): For backends + that use a .got.plt section start the got offset at zero. - * ecofflink.c (lookup_line): New static function, renamed and - slighly changed from old _bfd_ecoff_locate_line. - (_bfd_ecoff_locate_line): Cache line number information. Use - lookup_line for actual lookup. +Mon Aug 10 17:31:21 1998 Ian Lance Taylor <ian@cygnus.com> -Thu Mar 21 14:59:11 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * ieee.c (ieee_write_processor): Correct the processor ID written + out for bfd_arch_m68k, accommodating change of March 25. - * peicode.h (pe_print_pdata): Warn if the .pdata section is not a - multiple of 20 bytes. +Sun Aug 9 20:55:44 1998 Catherine Moore <clm@cygnus.com> -Thu Mar 21 13:54:40 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-arm.c (elf32_arm_final_link_relocate): Rework + R_ARM_THM_RPC22 relocations. - * ecoff.c (_bfd_ecoff_find_nearest_line): Use bfd_zalloc to - allocate ecoff_find_line, and don't initialize by hand. - * elf32-mips.c (mips_elf_find_nearest_line): Use bfd_zalloc for - mips_elf_find_line, and don't call memset. +Sat Aug 8 15:15:30 1998 Richard Henderson <rth@cygnus.com> - * coffcode.h (coff_compute_section_file_positions): If not - producing a final executable, don't consider sofar when aligning - the section to the correct size. + * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Undef weak symbols + are always dynamic. + (elf64_alpha_calc_dynrel_sizes): Allow enough room for RELATIVE + .got relocs in -Bsymbolic shared objects. -Wed Mar 20 16:53:12 1996 Ian Lance Taylor <ian@cygnus.com> +Wed Aug 5 15:48:08 1998 Nick Clifton <nickc@cygnus.com> - * coffcode.h (coff_add_missing_symbols): Ifdef out. - (coff_write_object_contents): Don't call coff_add_missing_symbols. - * coffgen.c (coff_section_symbol): Ifdef out. + * elf32-arm.c: Add private flags to ELF header. + (elf32_arm_print_private_bfd_data): New Function. + (elf32_arm_set_private_flags): New Function. + (elf32_arm_copy_private_flags): New Function. + (elf32_arm_merge_private_bfd_data): New Function. -Mon Mar 18 12:54:41 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Aug 3 17:10:15 1998 Ian Lance Taylor <ian@cygnus.com> - * elf32-mips.c (mips_elf_gprel32_reloc): Initialize gp if - output_bfd is not NULL. + * elf32-sparc.c (elf32_sparc_check_relocs): Permit WPLT30 against + a local symbol. + (elf32_sparc_relocate_section): Likewise. -Thu Mar 14 17:12:06 1996 Doug Evans <dje@charmed.cygnus.com> +Sun Aug 2 03:19:23 1998 Richard Henderson <rth@cygnus.com> - * coffgen.c (coff_get_normalized_symtab): Call bfd_zalloc instead - of bfd_alloc (fixes fix_line not being initialized). - Delete zeroing of fix_{value,tag,end,scnlen} fields. + * elf32-ppc.c (ppc_elf_check_relocs): Init sgot to NULL. Create the + .got if any relocation referrs to _GLOBAL_OFFSET_TABLE_. + (ppc_elf_relocate_section): Pull sgot and splt search to the start + of the function. Recognize no .plt as static linking. -Thu Mar 14 16:06:06 1996 Jeffrey A Law (law@cygnus.com) +1998-08-01 Ulrich Drepper <drepper@cygnus.com> - * coffcode.h: Allow specific backends to override the - bfd_link_add_symbols routine. + * elf32-mips.c (_bfd_mips_elf_section_from_shdr): Don't pass + ".liblist" string through gettext. - * coff-h8300.c: Include genlink.h. - (howto_table): Add R_MEM_INDIRECT. - (rtype2howto): Support R_MEM_INDIRECT. - (h8300_reloc16_extra_cases): Handle R_MEM_INDIRECT like R_RELBYTE - for now. +Fri Jul 31 16:38:14 1998 Catherine Moore <clm@cygnus.com> -Tue Mar 12 12:41:17 1996 David Mosberger-Tang <davidm@koala.azstarnet.com> + * Makefile.am: Add support for elf32-arm.lo. + * Makefile.in: Rebuild. + * config.bfd (arm-*-elf): Define targ_defvec and targ_selvecs. + (thumb-*-elf): Define targ_defvec and targ_selvecs. + * configure.in: Handle bfd_elf32_littlearm_vec and bfd_elf32_bigarm_vec. + * configure: Regenerate. + * elf.c: (prep_headers): Support arch_type of EM_ARM. + * targets.c: Support new targets bfd_elf32_bigarm_vec and + bfd_target bfd_elf32_littlearm_vec. + * elf32-arm.c: New file. - * coff-alpha.c (alpha_relocate_section): Use - info->callbacks_warning, rather than _bfd_error_handler, for - "multiple gp" warning. +Tue Jun 28 19:05:28 1998 Stan Cox <scox@cygnus.com> -Tue Mar 12 12:10:55 1996 Ian Lance Taylor <ian@cygnus.com> + * libaout.h (M_SPARCLITE_LE): New machine. + * sunos.c (MACHTYPE_OK): Add machine M_SPARCLITE_LE. + * aoutf1.h (sunos_set_arch_mach): Add machine M_SPARCLITE_LE. + (sunos_write_object_contents): Add machine bfd_mach_sparc_sparclite_le + * aoutx.h (howto_table_ext): Add relocation R_SPARC_REV32. + (NAME(aout,machine_type)) Add machine bfd_mach_sparc_sparclite_le + (aout_link_input_section_ext): Add RELOC_SPARC_REV32 support. + * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map, + elf32_sparc_relocate_section): Rename R_SPARC_32LE to be R_SPARC_REV32 + * libbfd.h (bfd_reloc_code_real_names): Rename BFD_RELOC_SPARC_32LE to + be BFD_RELOC_SPARC_REV32. + * reloc.c: Ditto. + * config.bfd (sparc86x-*-aout): New - * linker.c (bfd_wrapped_link_hash_lookup): New function. - (_bfd_generic_link_add_one_symbol): Remove BFD_ASSERT on hash - table string. Use bfd_wrapped_link_hash_lookup. - (_bfd_generic_link_write_global_symbol): Remove BFD_ASSERT on hash - table string. - * aoutx.h (aout_link_write_symbols): Use the name from the hash - table, if any, when writing out symbols. - (aout_link_input_section_std): Use the name from the hash table, - if any, when reporting undefined symbols. - (aout_link_input_section_ext): Likewise. - (aout_link_reloc_link_order): Use bfd_wrapped_link_hash_lookup. - * bout.c (get_value): Likewise. - * cofflink.c (_bfd_coff_reloc_link_order): Likewise. - * ecoff.c (ecoff_reloc_link_order): Likewise. - * elflink.h (elf_link_add_object_symbols): Likewise. - (elf_reloc_link_order): Likewise. - * linker.c (_bfd_generic_link_output_symbols): Likewise. - (_bfd_generic_reloc_link_order): Likewise. - (default_indirect_link_order): Likewise. - * reloc16.c (bfd_coff_reloc16_get_value): Likewise. - * sunos.c (sunos_add_one_symbol): Likewise. - * xcofflink.c (xcoff_link_add_symbols): Likewise. - (bfd_xcoff_link_count_reloc): Likewise. - (xcoff_reloc_link_order): Likewise. +Fri Jul 24 13:54:19 1998 Nick Clifton <nickc@cygnus.com> - * ecoffswap.h (ecoff_swap_fdr_in): If ECOFF_64, turn 0xffffffff - into -1 for intern->rss. + * linker.c (_bfd_generic_final_link): Allocate NULL symbol before + actually mapping the output sections. - * configure: Rebuild with autoconf 2.8. +Fri Jul 24 11:24:29 1998 Jeffrey A Law (law@cygnus.com) -Mon Mar 11 12:28:31 1996 Ian Lance Taylor <ian@cygnus.com> - * stab-syms.c (__define_stab_duplicate): Define. - (bfd_get_stab_name): Rename from aout_stab_name. Rewrite to use a - switch. - * bfd-in.h (bfd_get_stab_name): Declare. - * bfd-in2.h: Rebuild. - * Makefile.in: Rebuild dependencies. - (BFD_LIBS): Add stab-syms.o. - (BFD_LIBS_CFILES): Add stab-syms.c. - (BFD32_BACKENDS): Remove stab-syms.o. - (BFD32_BACKENDS_CFILES): Remove stab-syms.c. - * configure.in: Don't list stab-syms.o in bfd_backends. - * configure: Rebuild. - * libaout.h (aout_stab_name): Don't declare. - * aoutx.h (NAME(aout,get_symbol_info)): Call bfd_get_stab_name, - not aout_stab_name. + * elf-m10300.c (mn10300_elf_howto): Add R_MN10300_24 entry. + (mn10300_elf_reloc_map): Similarly. + (mn10300_elf_final_link_relocate): Handle R_MN10300_24. -Fri Mar 8 11:26:20 1996 Ian Lance Taylor <ian@cygnus.com> +Fri Jul 24 12:36:04 1998 Ian Lance Taylor <ian@cygnus.com> - * elf.c (assign_file_positions_for_segments): Adjust file offset - for section alignment even if SEC_LOAD is not set. + * elf32-mips.c (elf_mips_howto_table): Add reloc types used on + Irix 6. + (bfd_elf32_bfd_reloc_type_lookup): Add default case. + * elf64-mips.c: Replace all uses of mips_elf64_reloc_type with + elf_mips_reloc_type defined in elf/mips.h. -Tue Mar 5 12:02:23 1996 Ian Lance Taylor <ian@cygnus.com> +1998-07-24 Ulrich Drepper <drepper@cygnus.com> - * configure.in: Don't set SHLIB or SHLINK to an empty string, - since they appear as targets in Makefile.in. - * configure: Rebuild. + * elf64-mips.c: Remove reloc_type definition completely. It's now + in elf/mips.h. - * sunos.c (sunos_scan_ext_relocs): If not making a shared library, - don't fiddle with a symbol which is not defined anywhere. +Thu Jul 23 13:33:19 1998 Doug Evans <devans@canuck.cygnus.com> -Mon Mar 4 12:49:16 1996 Ian Lance Taylor <ian@cygnus.com> + * elf64-mips.c (mips_elf64_reloc_type): #if 0 out more relocations + as they are defined in elf/mips.h now. - * xcofflink.c (xcoff_mark): Treat undefined imported symbols as - though they are defined in a shared library. - (xcoff_build_ldsyms): Likewise. +Thu Jul 23 11:29:43 1998 Jeffrey A Law (law@cygnus.com) - * coffgen.c (coff_find_nearest_line): Don't look at the line - numbers for the section if section->lineno is NULL. - * elf.c (_bfd_elf_symbol_from_bfd_symbol): Print a useful error - message rather than calling BFD_ASSERT. - * elfcode.h (write_relocs): Check return value of - _bfd_elf_symbol_from_bfd_symbol. + * Re-add lost change: + * elf-m10300.c (elf32_mn10300_link_hash_entry): Add new field + "movm_stack_size". + (mn10300_elf_relax_section): Include stack space for register saves + in the imm8 field of a "call" instruction. + (compute_function_info): Determine how much stack is allocated by + the movm instruction. Fix typo. + (elf32_mn10300_link_hash_newfunc): Initialize movm_stack_size. -Fri Mar 1 09:42:59 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Thu Jul 23 11:38:05 1998 Ian Lance Taylor <ian@cygnus.com> - * elf32-ppc.c (ppc_elf_add_symbol_hook): Don't set SEC_LOAD flag - for .sbss section. + * elf32-sparc.c (elf_backend_got_header_size): Define as 4. + * elf64-sparc.c (elf_backend_got_header_size): Define as 8. -Wed Feb 28 11:25:47 1996 Jeffrey A Law (law@cygnus.com) +1998-07-22 Ulrich Drepper <drepper@cygnus.com> - * libhppa.h (hppa_reloc_field_selector_type): Add R_HPPA_NLSEL - and R_HPPA_NLRSEL. - (e_nsel, e_nlsel, e_nlrsel): Undefine. Add to - hppa_reloc_field_selector_type_alt. - (hppa_field_adjust): Handle e_nlsel, e_nlrsel. Fix e_nsel handling. - * som.c (hppa_som_gen_reloc_type): Handle N', NL' NLR' field - selectors. - (som_write_fixups): Finish handling of R_N0SEL and R_N1SEL. + * elf32-ppc.c: Change use of pp_reloc_type to elf_ppc_reloc_type. -Wed Feb 28 11:00:24 1996 Ian Lance Taylor <ian@cygnus.com> +Wed Jul 22 16:27:18 1998 Nick Clifton <nickc@cygnus.com> - * elf.c (assign_file_positions_for_segments): Adjust the segment - memory size for the alignment of a SEC_ALLOC section, not just a - SEC_LOAD section. + * elf32-hppa.h: Let ELF header define the enum containing the + external reloc numbers. + * elf32-i386.h: Likewise. -Tue Feb 27 14:17:31 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> +1998-07-22 14:57 Ulrich Drepper <drepper@cygnus.com> - * m68klinux.c: New file. - * hosts/m68klinux.h: New file. - * config.bfd (m68*-*-linuxaout*, m68*-*-linux*): New targets. - * configure.in (m68*-*-linux*): New native host. - (m68klinux_vec): New vector. - * configure: Rebuild. - * targets.c (m68klinux_vec): Declare. - * i386linux.c (bfd_i386linux_size_dynamic_sections): Renamed from - bfd_linux_size_dynmic_sections to avoid clash with m68klinux.c. - * bfd-in.h (bfd_i386linux_size_dynamic_sections): Rename - declaration from bfd_linux_size_dynamic_sections. - (bfd_m68klinux_size_dynamic_sections): Declare. - * bfd-in2.h: Rebuild. - * Makefile.in: Rebuild dependencies. - (BFD32_BACKENDS): Add m68klinux.o. - (BFD32_BACKENDS_CFILES): Add m68klinux.c. + * elf-m10300.c: Let ELF header now define the macros to get the enum. + * elf32-mips.c: Likewise. + * elf32-ppc.c: Likewise. -Tue Feb 27 11:31:34 1996 Jeffrey A Law (law@cygnus.com) +Wed Jul 22 13:53:52 1998 Nick Clifton <nickc@cygnus.com> - * libhppa.h (pa_arch): Add pa20. - (hppa_reloc_field_selector_type): Add R_HPPA_NSEL. - (e_nsel): Undefine. Add to hppa_reloc_field_selector_type_alt. - (hppa_field_adjust): Handle e_nsel. - * som.c: Provide default definitions for many new relocs found only - in hpux10 include files. - (som_fixup_formats): Add several new relocs from hpux10. - (som_hppa_howto_table): Add hpux10 relocs. - (som_write_fixups): Handle R_N0SEL and R_N1SEL hpux10 relocs. + * bfd-in2.h: Change type of 'class' parameter to 'unsigned int' in + bfd_coff_set_symbol_class(), in order to avoid K&R compatability + prblems. + * bfd-in.h: Regenerate. + * coffgen.c (bfd_coff_set_symbol_class): Change type of 'class' + parameter to 'unsigned int' to avoid K&R compatability problems. -Mon Feb 26 12:52:48 1996 Stan Shebs <shebs@andros.cygnus.com> +Wed Jul 22 16:43:24 1998 Ian Lance Taylor <ian@cygnus.com> - * mpw-make.sed: Edit out recent shared library support, and - rules to rebuild .h files using doc/chew. + * ieee.c (ieee_find_nearest_line): Change filename_ptr and + functionname_ptr to be const. Change line_ptr to be unsigned. -Mon Feb 26 14:48:39 1996 David Mosberger-Tang <davidm@AZStarNet.com> + * coffcode.h (coff_link_output_has_begun): Simplify handling when + macro is not defined. Change second parameter from bfd_link_info + to coff_final_link_info. Add prototype. + (coff_final_link_postscript): Simplify handling when macro is not + defined. Add prototype. - * ecoff.c (ecoff_compute_section_file_positions): Adjust the file - size even of sections with no contents. +1998-07-22 13:08 Ulrich Drepper <drepper@cygnus.com> -Mon Feb 26 14:01:13 1996 Ian Lance Taylor <ian@cygnus.com> + * elf-mn10300.c: Before include system specific ELF header define + START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS. + * elf32-mips.c: Likewise. + * elf32-ppc.c: Likewise. - * cofflink.c (_bfd_coff_link_input_bfd): When merging, skip names - starting with '$' the way we skip names starting with '.'. When - updating x_endndx, don't be fooled by an index which has been - merged. +Wed Jul 22 13:46:51 1998 Ian Lance Taylor <ian@cygnus.com> - * cofflink.c (_bfd_coff_link_input_bfd): Don't try to optimize a - struct/union/enum type with no elements. + * elf64-mips.c (mips_elf64_reloc_type): Copy Ulrich's elf32-mips.c + temporary patch over to elf64-mips.c as well. -Sat Feb 24 11:38:58 1996 Ian Lance Taylor <ian@cygnus.com> +1998-07-21 Ulrich Drepper <drepper@cygnus.com> - * bfd.c (bfd_errmsg): Handle a NULL return from strerror. + * elf32-mips.c (reloc_type): Temporarily disable definition of + standard relocation since they are now defined in elf/mips.h. - * archive.c (bfd_generic_archive_p): If the first file in the - archive can not be recognized as an object, don't assume that this - is the wrong format. +Tue Jul 21 09:47:00 1998 Catherine Moore <clm@cygnus.com> - * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the - format is not bfd_object. - (bfd_elf_get_dt_soname): Likewise. + * elf-m10200.c (mn10200_elf_final_link_relocate): + Modify range test for case R_MN10200_8. -Wed Feb 21 13:58:04 1996 Ian Lance Taylor <ian@cygnus.com> + * elf-m10300.c (mn10300_elf_final_link_relocate): + Modify range test for case R_MN10300_8. - * coff-sh.c (sh_relax_delete_bytes): Correct range of R_SH_USES - reloc. +Mon Jul 20 18:50:54 1998 Richard Henderson <rth@cygnus.com> -Tue Feb 20 16:22:44 1996 J.T. Conklin <jtc@rtl.cygnus.com> + * elf-bfd.h (struct elf_backend_data): Add got_ & plt_header_size. + * elf32-i386.c (elf_backend_got_header_size): Define. + (elf_backend_plt_header_size): Define. + * elf32-m68k.c, elf32-mips.c, elf32-ppc.c: Likewise. + * elf32-sparc.c, elf64-alpha.c, elf64-sparc.c: Likewise. + * elfxx-target.h: Provide a default of zero. + * elflink.c (_bfd_elf_create_got_section): Use got_header_size. + * elflink.h (elf_gc_common_finalize_got_offsets): Likewise. - * bfd.c (tdata): Add netbsd_core_data. - * bfd-in2.h: Regenerated. + * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't remove a PLT + entry from an executable, even if the plt refcount goes to 0. -Tue Feb 20 16:50:02 1996 Ian Lance Taylor <ian@cygnus.com> - - * sunos.c (SUNOS_CONSTRUCTOR): Define. - (sunos_add_one_symbol): Don't let a symbol from a dynamic object - override a constructor symbol. Set SUNOS_CONSTRUCTOR when - appropriate. - - * bout.c (b_out_squirt_out_relocs): Use udata.i rather than flags - to get the symbol index, matching 14 Jul 95 change. - -Tue Feb 20 08:26:27 1996 Fred Fish <fnf@phydeaux.cygnus.com> - - * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): - Remove duplicate definition of gp. - -Mon Feb 19 12:37:41 1996 Ian Lance Taylor <ian@cygnus.com> - - * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Don't - assume that we can set the GP value and then get the same value, - since it won't be true if the output file is neither ELF nor - ECOFF. - * coff-mips.c (mips_adjust_reloc_in): Don't bother to use - _bfd_get_gp_value here. - (mips_gprel_reloc): Don't assume we can set and get the GP value. - * elf32-mips.c (mips_elf_hi16_reloc): Get gp value from - mips_elf_final_gp. - (mips_elf_lo16_reloc): Likewise. - (mips_elf_final_gp): Add pgp parameter. Set it to the GP value. - Don't require that the BFD be ELF. - (mips_elf_gprel16_reloc): Get gp value from mips_elf_final_gp. - (mips_elf_gprel32_reloc): Likewise. - (mips_elf_relocate_section): Don't assume we can set and get the - GP value. - (mips_elf_finish_dynamic_symbol): Don't bother to use - _bfd_get_gp_value here. - - * elf32-mips.c (mips_elf_create_procedure_table): Initialize sv. - Don't change epdr between malloc and free. Be careful not to free - NULL pointers. Zero out the first RPDR. - - * configure.host: On Linux, only pass -rpath option if $(libdir) - is neither /lib nor /usr/lib. From Alan Modra - <alan@mullet.Levels.UniSA.Edu.Au>. - - * elf-bfd.h (struct elf_obj_tdata): Rename dt_needed_name to - dt_name. - (elf_dt_name): Rename from elf_dt_needed_name. - * elf.c (bfd_elf_set_dt_needed_name): Use elf_dt_name, not - elf_dt_needed_name. - (bfd_elf_get_dt_soname): New function. - * elflink.h (elf_link_add_object_symbols): Use elf_dt_name, not - elf_dt_needed_name. Save the SONAME back in elf_dt_name. - * bfd-in.h (bfd_elf_get_dt_soname): Declare. - * bfd-in2.h: Rebuild. +Mon Jul 20 12:47:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Mon Feb 19 02:50:23 1996 Doug Evans <dje@charmed.cygnus.com> + * aoutx.h (NAME(aout,find_nearest_line)): Also remember the + directory name at the line number. - * elf32-sparc.c (elf32_sparc_reloc_type_lookup): Renamed from - _bfd_sparc_elf_reloc_type_lookup. - (bfd_elf32_bfd_reloc_type_lookup): Update. - * elf64-sparc.c (SPARC64_OLD_RELOCS): Define. - (sparc64_elf_howto_table): Define. - (sparc_reloc_map): Define. - (sparc64_elf_reloc_type_lookup): New function. - (sparc_elf_wdisp16_reloc): New function. - (elf_info_to_howto): Use sparc64_elf_howto_table. - (sparc64_elf_relocate_section): Likewise. - (bfd_elf64_bfd_reloc_type_lookup): Update. + * elf.c (_bfd_elf_find_nearest_line): Also consider symbols + with an unspecified type. -Sun Feb 18 15:02:25 1996 Ian Lance Taylor <ian@cygnus.com> +Wed Jul 15 11:20:01 1998 Ian Lance Taylor <ian@cygnus.com> - * configure.host: Check for 'do not mix' from native linker before - trying to use -rpath. + * sunos.c: Add undef of valid to avoid problem on SunOS. -Fri Feb 16 12:46:18 1996 Ian Lance Taylor <ian@cygnus.com> +Tue Jul 14 15:30:59 1998 Richard Henderson <rth@cygnus.com> - * bfd.c (_bfd_get_gp_value): New function. - (_bfd_set_gp_value): New function. - * libbfd-in.h (_bfd_get_gp_value): Declare. - (_bfd_set_gp_value): Declare. - * libbfd.h: Rebuild. - * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use - _bfd_get_gp_value and _bfd_set_gp_value rather than referring - directly to the fields in the tdata information. - (alpha_relocate_section): Likewise. - * coff-mips.c (mips_adjust_reloc_in): Likewise. - (mips_gprel_reloc): Likewise. - (mips_relocate_section): Likewise. - * elf32-mips.c (mips_elf_hi16_reloc): Likewise. - (mips_elf_lo16_reloc): Likewise. - (mips_elf_final_gp): Likewise. - (mips_elf_gprel16_reloc): Likewise. - (mips_elf_gprel32_reloc): Likewise. - (mips_elf_relocate_section): Likewise. - (mips_elf_finish_dynamic_symbol): Likewise. + * config.bfd (i?86-pc-beos{pe,elf,}*): Recognize. - * bout.c (b_out_set_arch_mach): Recognize bfd_mach_i960_jx. +Tue Jul 14 11:22:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Thu Feb 15 11:29:13 1996 Ian Lance Taylor <ian@cygnus.com> + * elf32-m68k.c (elf_m68k_check_relocs): Also reference count + R_68K_PCxx and R_68K_xx relocations. Make sure that + ELF_LINK_HASH_NEEDS_PLT is always set for a PLT reloc reference. + (elf_m68k_gc_sweep_hook): Also reference count R_68K_PCxx and + R_68K_xx relocations. + (elf_m68k_adjust_dynamic_symbol): Reset the plt offset of a symbol + that has no plt entry. + (elf_m68k_relocate_section): Ignore the plt offset in a static + link. + * elflink.h (elf_adjust_dynamic_symbol): Reset the plt offset for + an ignored symbol. + (elf_gc_common_finalize_got_offsets): Set the got offsets also in + a static link. - * configure.in: Call AC_PROG_CC before configure.host. - * configure: Rebuild. - * configure.host: Don't set information which autoconf should - figure out, namely CC, CFLAGS, LDFLAGS, AR, and RANLIB. + * elf32-m68k.c (R_68K_GNU_VTINHERIT, R_68K_GNU_VTENTRY): New reloc + types. + (howto_table, reloc_map): Add entries for them. + (elf_m68k_check_relocs): Handle them. Implement reference + counting for got and plt entries. + (elf_m68k_gc_mark_hook, elf_m68k_gc_sweep_hook): New functions. + (elf_m68k_adjust_dynamic_symbol): Handle unreferenced plt + symbols. + (rtype_to_howto_rel, elf_info_to_howto_rel): Delete. + (elf_m68k_relocate_section): Handle the new reloc types. + (bfd_elf32_bfd_final_link, elf_backend_gc_mark_hook, + elf_backend_gc_sweep_hook, elf_backend_can_gc_sections): Define. + * elflink.h (elf_link_add_object_symbols): When creating an + indirect reference for symbol versioning also copy the plt + offset. + (elf_fix_symbol_flags): When clearing the ELF_LINK_HASH_NEEDS_PLT + flag also reset the plt offset. + (elf_link_assign_sym_version): Likewise. + (elf_gc_common_finalize_got_offsets): Increment the got offset by + the size of the entry in bytes. + (elf_gc_allocate_got_offsets): Likewise. - * configure.host: Remove go32 and win32 host information, since it - should no longer be needed. +Tue Jul 14 11:18:14 1998 Ian Lance Taylor <ian@cygnus.com> - * elf.c (map_sections_to_segments): If we have a .dynamic section, - then start a new segment rather than put a writable section in a - readonly segment. + * elflink.h (elf_gc_sections): Return true rather than falling off + the bottom. - * configure.host: Set RPATH_ENVVAR. + * coffgen.c (bfd_coff_set_symbol_class): Call bfd_alloc, not + xmalloc. - * Makefile.in: Rebuild dependencies. +Mon Jul 13 11:06:31 1998 Nick Clifton <nickc@cygnus.com> - * elflink.c (_bfd_elf_create_linker_section): Remove unused - zero_section variable. + * coff-arm.c: Supress definition of TARGET_UNDERSCORE and add a + comment describing when it should be enabled. + Changed definition of USER_LABEL_PREFIX to "", to fall into line + with GCC sources. -Thu Feb 15 10:39:17 1996 H.J. Lu <hjl@zoom.com> +Mon Jul 13 13:06:54 1998 Ian Lance Taylor <ian@cygnus.com> - * Makefile.in ($(srcdir)/bfd-in2.h): Rename target from bfd-in2.h. - ($(srcdir)/libbfd.h): Rename from libbfd.h. - ($(srcdir)/libcoff.h): Rename from libcoff.h. + * ieee.c (ieee_slurp_external_symbols): Handle call optimization + information ATN records. -Wed Feb 14 16:29:07 1996 Martin Anantharaman <martin@mail.imech.uni-duisburg.de> +Fri Jul 10 16:31:06 1998 Ian Lance Taylor <ian@cygnus.com> - * ieee.c (ieee_write_expression): Only use an R variable for a - local symbol. Don't output a zero offset. Handle a zero address. - (SRC_MASK, PCREL_OFFSET): Define based on KEEPMINUSPCININST. - (rel32_howto, rel16_howto, rel8_howto): Use SRC_MASK and - PCREL_OFFSET. - (parse_expression): Don't try to handle multiple occurrences of a - P variable. Handle I variables differently from X variables. Fix - the order of minus expressions. - (ieee_slurp_external_symbols): Generate an I variable for an NN - record. Fix handling of ATI and ATX records. - (ieee_slurp_sections): Only set minimal section attributes. - Adjust them later, based on the section contents. - (ieee_object_p): Read in the file until just after the ME record. - Call ieee_slurp_section_data to set the section flags. - (do_one): Add iterations parameter. Only repeat the first load - item. Set the section and file reloc flags. - (ieee_slurp_section_data): Set section flags. Pass iterations to - do_one. - (ieee_canonicalize_reloc): Handle I variables. - (do_with_relocs): Only emit relocation size when necessary. - Increase MAXRUN to 127. Change ov to be assigned, and take - src_mask and pcrel_offset into account. - (ieee_write_data_part): Skip sections that are not loaded. - (ieee_write_external_part): Don't output optional last entry of WX - records. - (ieee_write_me_part): Make setting of me_record neater. - (ieee_generic_stat_arch_elt): Get the size of an archive element. - - * syms.c (stt): Add entries for zerovars, vars, and code. - - * elfcode.h (validate_reloc): New static function. - (write_relocs): Call validate_reloc for non ELF relocs. - - * elfxx-target.h (elf_symbol_leading_char): Define if not defined. - (TARGET_BIG_SYM): Use elf_symbol_leading_char. - (TARGET_LITTLE_SYM): Likewise. - - * config.bfd (m68*-*-psos*): New target. - -Tue Feb 13 15:56:22 1996 Bryan Ford <baford@snake.cs.utah.edu> - - * i386msdos.c: Remove some #if 0 code. - (msdos_write_object_contents): Don't include empty sections in the - size computation, regardless of their address. - -Tue Feb 13 15:36:37 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * elf32-ppc.c (ppc_elf_relocate_section): Don't segfault if dynboj - is NULL, ie, the -r switch is used. - -Tue Feb 13 14:35:15 1996 Ian Lance Taylor <ian@cygnus.com> - - * reloc.c (BFD_RELOC_MIPS_GOT_HI16): Define. - (BFD_RELOC_MIPS_GOT_LO16): Define. - (BFD_RELOC_MIPS_CALL_HI16, BFD_RELOC_MIPS_CALL_LO16): Define. - * bfd-in2.h, libbfd.h: Rebuild. - * elf32-mips.c (mips_reloc_map): Map new relocs. - - * configure.host: Set HDLFLAGS for *-*-hpux with --enable-shared. - - * Makefile.in ($(SHLINK)): Check ts against $(SHLIB), not - $(SHLINK). - - * ieee.c (get_symbol): Set the section to bfd_abs_section. - (do_with_relocs): If EXEC_P is set and there are no relocs, use a - simple number for the section address, rather than an expression. - Limit the number of bytes between relocs to MAXRUN. - (ieee_write_me_part): Set me_record to the file offset after the - start address. - (ieee_write_processor): New static function. - (ieee_write_object_contents): Use ieee_write_processor. - -Fri Feb 9 10:53:00 1996 Ian Lance Taylor <ian@cygnus.com> - - * configure.host: Use ${CC-gcc} when testing for -rpath on SunOS. - - * coff-aux.c: Change include of aux.h to aux-coff.h. + * ieee.c (ieee_slurp_external_symbols): Select an appropriate + section for an absolute symbol in a fully linked file. Based on + patch from Christian Holland <CHolland@de.lucent.com>. -Thu Feb 8 14:01:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * elf32-m68k.c (elf_m68k_relocate_section): For a R_68K_RELATIVE - relocation put the addend both in the reloc entry and the data. - (elf_m68k_finish_dynamic_symbol): Likewise. Mask out marker in - GOT offset value. +Wed Jul 8 11:29:56 1998 Manfred Hollstein <manfred@s-direktnet.de> - * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, resolve - a R_68K_PCxx reloc against a defined global symbol directly. - (elf_m68k_check_relocs): Don't count such a reloc. - - * elf32-m68k.c (elf_m68k_check_relocs): Don't record a symbol with - a PLTxx reloc as dynamic. Disallow PLTxxO reloc against a local - symbol for now, otherwise always record the symbol as dynamic. - (elf_m68k_adjust_dynamic_symbol): If a symbol with a PLTxx reloc - is not referenced by a dynamic object, and we are not making a - shared object, then don't make a PLT entry. If we do make a PLT - entry, make sure the symbol has been recorded as dynamic. - -Wed Feb 7 13:56:06 1996 Ian Lance Taylor <ian@cygnus.com> - - * configure.host: When making a shared library, set HLDFLAGS to - pass an appropriate -rpath option. Use the make variable SONAME - as the shared library soname, rather than computing it here. On - SunOS, build stamp-tshlink in place of $(SHLINK). - * Makefile.in (SONAME): New variable. - ($(SHLINK)): Make a link to the transformed name, as well. - (stamp-tshlink): New target. - (install): Skip stamp-tshlink during install. - -Wed Feb 7 13:37:39 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * elf32-ppc.c (ppc_elf_add_symbol_hook): Do not assume that the - linker sections have been set up yet. + * coff-m88k.c (m88k_special_reloc): Don't lose the information + that a symbol is undefined. - * elf.c (make_mapping): Add an additional argument to suppress - making the first section include the program headers. - (map_sections_to_segments): If the user used -Ttext such that the - program headers are on a different page, do not set the flags - saying that this section includes the program headers. +Tue Jul 7 21:47:02 1998 Jeffrey A Law (law@cygnus.com) -Tue Feb 6 14:04:49 1996 J.T. Conklin <jtc@rtl.cygnus.com> + * som.c (som_bfd_gc_sections): Define. - * configure.in (*-*-netbsd*): Set COREFILE to netbsd-core.c. - don't define TRAD_HEADER. - * configure: Rebuild. +Mon Jul 6 11:35:50 1998 Nick Clifton <nickc@cygnus.com> - * netbsd-core.c: New file, support for NetBSD core files. - * hosts/*nbsd.h: Removed. - -Tue Feb 6 11:47:49 1996 Doug Evans <dje@charmed.cygnus.com> - - * reloc.c (BFD_RELOC_SPARC_[567]): New reloc types. - (BFD_RELOC_SPARC_LO7 reloc type): Deleted. - * libbfd.h, bfd-in2.h: Regenerated. - * elf32-sparc.c (_bfd_sparc_elf_reloc_type_lookup): Renamed from - bfd_elf32_bfd_reloc_type_lookup. - (reloc_type{,_names}): Deleted. - (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table. - Add sparc64 relocs. - (sparc_reloc_map): Add sparc64 relocs. - (sparc_elf_notsupported_reloc): New static function. - (sparc_elf_wdisp16_reloc): New static function. - (elf32_sparc_check_relocs): Handle R_SPARC_WDISP{16,19}. - (elf32_sparc_relocate_section): Likewise. - (bfd_elf32_bfd_reloc_type_lookup): Define. - * elf64-sparc.c (sparc64_elf_wdisp16_reloc): Deleted. - (reloc_type{,_names}): Deleted. - (elf_sparc_howto_table): Deleted. - (sparc_reloc_map): Deleted. - (_bfd_sparc_elf_howto_table): Renamed from elf_sparc_howto_table. - (bfd_elf64_bfd_reloc_type_lookup): Change from function to #define. + * coff-arm.c (aoutarm_std_reloc_howto): Do not complain about + overflows in ARM_26D patches, since they have already been + implmented. Patch submitted by Dr. R.J. Black <rjb@dcs.gla.ac.uk> -Tue Feb 6 12:12:22 1996 Ian Lance Taylor <ian@cygnus.com> +Sat Jul 4 12:25:36 1998 Ian Lance Taylor <ian@cygnus.com> - * configure.host: Make SHLIB_CFLAGS include $(PICFLAG) on a - *-*-hpux* host. + * coffcode.h (coff_write_object_contents): If we have any long + section names, call coff_write_symbols even if there are no + symbols. - * Makefile.in (program_transform_name): New variable. - (install): Transform library name before installing it. +Fri Jul 3 13:11:35 1998 Ian Lance Taylor <ian@cygnus.com> -Mon Feb 5 10:38:27 1996 Ian Lance Taylor <ian@cygnus.com> + * elf.c (copy_private_bfd_data): Only set phdr_included once for a + PT_LOAD segment, rather than only setting it once for the entire + file. - * archures.c (bfd_mach_i960_hx): Define. + * elf.c (_bfd_elf_make_section_from_shdr): When setting the LMA, + rather than ignoring every phdr with a p_paddr of 0, ignore all + the phdrs if they all have a p_paddr of 0. + + * stabs.c (_bfd_write_stab_strings): Check whether the .stabstr + section was discarded from the link. + +Fri Jul 3 14:39:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * coff-sh.c (sh_insn_uses_freg): Ignore lowest bit of register number. + +Fri Jul 3 14:35:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * coff-sh.c (sh_insns_conflict): Load of fpscr conflicts with + floating point operations. + +Thu Jul 2 18:37:25 1998 Ian Lance Taylor <ian@cygnus.com> + + * cofflink.c (_bfd_coff_link_input_bfd): Skip undefined global + function symbols. + +Thu Jul 2 14:59:42 1998 Klaus Kaempf <kkaempf@rmi.de> + + Merge of vax/vms (read-only) support + * configure.com: Support Vax target. + * makefile.vms: Support Vax target. + * vms.h: Renamed from evax.h, merged vax/vms (read-only) support. + * vms.c: Renamed from evax-alpha.c, merged vax/vms (read-only) + support. + * vms-hdr.c: Renamed from evax-emh.c, merged vax/vms (read-only) + support. + * vms-gsd.c: Renamed from evax-egsd.c, merged vax/vms (read-only) + support. + * vms-tir.c: Renamed from evax-etir.c, merged vax/vms (read-only) + support. + * vms-misc.c: Renamed from evax-misc.c, merged vax/vms (read-only) + support. + * libbfd.c (real_read): Use unbuffered read on VMS/Vax. + * targets.c (bfd_target_ovax_flavour): New flavour. + (vms_alpha_vec): Renamed from evax_alpha_vec. + (vms_vax_vec): New. + (target_vector): Update accordingly. + * config.bfd (alpha*-*-*vms*): Use vms_alpha_vec, not + evax_alpha_vec. + (vax*-*-*vms*): New target. + * Makefile.am: Update for renamed files. Rebuild dependencies. * bfd-in2.h: Rebuild. - * cpu-i960.c (scan_960_mach): Accept machine "hx". - (MATRIX): Expand entries for HX. - (arch_info_struct): Add i960:hx entry. - * bout.c (b_out_set_arch_mach): Handle bfd_mach_i960_hx. - * coffcode.h (coff_set_arch_mach_hook): Handle F_I960HX. - (coff_set_flags): Handle bfd_mach_i960_hx. - - Support for building as a shared library, based on patches from - Alan Modra <alan@spri.levels.unisa.edu.au>: - * configure.in: Add AC_ARG_ENABLE for shared and commonbfdlib. - New substitutions: ALLLIBS, PICFLAG, SHLIB, SHLIB_CC, - SHLIB_CFLAGS, COMMON_SHLIB, PICLIST, SHLINK. - * configure: Rebuild. - * configure.host: If --enable-shared, adjust shared library stuff - based on the host. If the host is SunOS, and the linker supports - -rpath, set HLDFLAGS to use it. - * Makefile.in (ALLLIBS): New variable. - (PICFLAG, SHLIB, SHLIB_CC, SHLIB_CFLAGS): New variables. - (COMMON_SHLIB, SHLINK): New variables. - (.c.o): If PICFLAG is set, compile twice, once PIC, once normal. - (STAGESTUFF): Remove variable. - (all): Depend upon $(ALLLIBS) and @PICLIST@ rather than - $(TARGETLIB). - (stamp-ofiles): New target, like old ofiles target, but build - using a temporary file and move-if-change, and touch stamp-ofiles - when done. - (ofiles): Just depend upon stamp-ofiles. - (stamp-piclist, piclist): New targets. - ($(SHLIB), $(SHLINK)): New targets. - (targets.o, archures.o): Build twice if PICFLAG is set. - (do_mostlyclean): Remove pic/*.o. - (do_clean): Remove stamp-ofiles, $(SHLIB), $(SHLINK), piclist, and - stamp-piclist. - (do_distclean): Remove pic and stamp-picdir. - (install): Install shared libraries. - ($(OFILES)): Depend upon stamp-picdir. - (stamp-picdir): New target. - - * libcoff-in.h: Add comment reminding people that libcoff.h is a - generated file. - * libcoff.h: Rebuild. + * configure.in, Makefile.in, aclocal.m4: Rebuild. - * elflink.h (elf_adjust_dynamic_symbol): Don't try to get the - flavour of a section with no owner. +Thu Jul 2 13:31:55 1998 Ian Lance Taylor <ian@cygnus.com> - * elf32-mips.c (mips_elf_create_dynamic_sections): Clear - ELF_LINK_NON_ELF flag. - (mips_elf_create_got_section): Likewise. + Based on patch from Matt Semersky <matts@scd.hp.com>: + * linker.c (_bfd_generic_final_link): Force a trailing NULL + pointer on abfd->outsymbols. + (generic_add_output_symbol): Handle NULL sym parameter. - * elf.c: Revert last change, since it breaks dynamic linking. - * elf-bfd.h (struct elf_backend_data): Remove want_hdr_in_seg - field. - * elf32-mips.c (elf_backend_want_hdr_in_seg): Don't define. - * elfxx-target.h (elf_backend_want_hdr_in_seg): Don't define. - (elfNN_bed): Don't initialize want_hdr_in_seg field. - -Sun Feb 4 20:45:13 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * elf.c (assign_file_positions_for_segments): If the backend does - not want the elf header or the program headers in the address - space, do not include them in the calculations. - - * elf32-ppc.c (ppc_elf_additional_program_headers): New hook - function to determine if we need additional program headers. - (ppc_elf_modify_segment_map): Define as a NOP function for now. - (ppc_elf_create_linker_section): .sdata2 is a read-only section. - -Sat Feb 3 23:00:03 1996 Ian Lance Taylor <ian@cygnus.com> - - * coffcode.h: Move today's libcoff.h change into coffcode.h. - -Sat Feb 3 15:43:44 1996 Fred Fish <fnf@cygnus.com> +Wed Jul 1 17:05:53 1998 Nick Clifton <nickc@cygnus.com> - * libcoff.h (bfd_coff_link_add_one_symbol): Combine macro args - back into one line. Some compilers (sunos 4.1.3 for example) - won't accept args split across more than one line. + * elf.c (copy_private_bfd_data): Add support for changing VMA or + LMA of sections. -Fri Feb 2 11:42:15 1996 Steve Chamberlain <sac@slash.cygnus.com> +Wed Jul 1 16:58:50 1998 Ian Lance Taylor <ian@cygnus.com> - * aclocal.m4 (BFD_BINARY_FOPEN): Understand cygwin32. - * configure: Regenerate. - -Fri Feb 2 12:12:16 1996 Jeffrey A Law (law@cygnus.com) + * coff-sh.c (sh_relax_delete_bytes): Correct address comparisons + when handling 32 bit immediate relocs. + * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise. - * elf32-hppa.c (elf32_hppa_backend_symbol_table_processing): Don't - try to do arithmetic on a void *, cast it to a unsigned char * first. +Tue Jun 30 09:55:03 1998 Jeffrey A Law (law@cygnus.com) + + * section.c (STD_SECTION): Account for recently added gc_mark + field in struct asection. + + * elf-m10300.c (bfd_mn10300_elf_merge_private_bfd_data): New function. + (bfd_elf32_bfd_merge_private_bfd_data): Define. + +Thu Jun 25 18:31:41 1998 Richard Henderson <rth@cygnus.com> + + ELF Section-level Garbage Collection: + * bfd.c (bfd_gc_sections): New. + * aout-adobe.c: Hook to default implementation. + * aout-target.h, aout-tic30.c, binary.c, bout.c: Likewise. + * coff-alpha.c, coff-mips.c, coff-rs6000.c, coffcode.h: Likewise. + * evax-alpha.c, i386msdos.c, i386os9k.c, ieee.c: Likewise. + * ihex.c, nlm-target.h, oasys.c, ppcboot.c, srec.c: Likewise. + * tekhex.c, versados.c: Likewise. + * libbfd-in.h (_bfd_nolink_bfd_gc_sections): New. + * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_gc_sections. + + * reloc.c (BFD_RELOC_VTABLE_INHERIT, BFD_RELOC_VTABLE_ENTRY): New. + (bfd_generic_gc_sections): New. + * section.c (SEC_KEEP): New. + (asection): Add gc_mark member. + + * elfcode.h (elf_gc*): New name remappings. + * elflink.h (elf_link_input_bfd): Don't set contents on stabs + sections to be excluded. + (elf_gc_mark, elf_gc_sweep, elf_gc_sweep_symbol): New. + (elf_gc_propogate_vtable_entries_used): New. + (elf_gc_smash_unused_vtentry_relocs): New. + (elf_gc_sections, elf_gc_record_vtinherit, elf_gc_record_vtentry): New. + (elf_gc_common_finalize_got_offsets): New. + (elf_gc_allocate_got_offsets, elf_gc_common_final_link): New. + * elfxx-target.h: Add and default gc hooks. + + * elf-bfd.h (struct elf_link_hash_entry): Swap got_offset/plt_offset + for unions. + (struct elf_obj_tdata): Likewise for local_got_offsets. + * elf.c, elf-i386.c, elf32-m68k.c, elf32-mips.c: Update all uses. + * elf32-ppc.c, elf32-sparc.c, elf64-alpha.c: Likewise. + * elf64-sparc.c, elflink.h: Likewise. + + * elf-bfd.h (struct elf_link_hash_entry): Add vtable members. + (ELF_LINK_HASH_MARK): Define. + (struct elf_backend_data): Add GC hooks. + * elf.c (_bfd_elf_link_hash_newfunc): Zero vtable members. + + * elf-m10300.c (mn10300_elf_check_relocs): New. + (mn10300_elf_gc_mark_hook): New. + (R_MN10300_GNU_VTINHERIT, R_MN10300_GNU_VTENTRY): New. + (elf_mn10300_howto, mn10300_reloc_map): Handle them. + (mn10300_elf_final_link_relocate): Likewise. + (mn10300_elf_relocate_section): Likewise. + (elf_backend_can_gc_sections): Define. + * elf32-mips.c (R_MIPS_GNU_VTINHERIT, R_MIPS_GNU_VTENTRY): New. + (elf_mips_gnu_vtinherit_howto, elf_mips_gnu_vtentry_howto): New. + (bfd_elf32_bfd_reloc_type_lookup): Handle them. + (mips_info_to_howto_rel): Likewise. + (mips_elf_relocate_section): Likewise. + (mips_elf_check_relocs): Likewise. + (mips_elf_gc_mark_hook, mips_elf_gc_sweep_hook): New. + (elf_backend_can_gc_sections): Define. + * elf32-ppc.c (R_PPC_GNU_VTINHERIT, R_PPC_GNU_VTENTRY): New. + (ppc_elf_howto_raw): Handle them. + (ppc_elf_reloc_type_lookup): Likewise. + (ppc_elf_relocate_section): Likewise. + (ppc_elf_check_relocs): Reference count .got and .plt entires. + Handle new vtable relocs. + (ppc_elf_adjust_dynamic_symbol): Recognize unused .plt entries. + (ppc_elf_gc_mark_hook, ppc_elf_gc_sweep_hook): New. + (elf_backend_can_gc_sections): Define. -Thu Feb 1 16:04:06 1996 Ian Lance Taylor <ian@cygnus.com> +Fri Jun 26 10:48:23 1998 Jeffrey A Law (law@cygnus.com) - * elf-bfd.h (ELF_LINK_NON_ELF): Define. - * elf.c (_bfd_elf_link_hash_newfunc): Set elf_link_hash_flags to - ELF_LINK_NON_ELF. - * elflink.h (elf_link_add_object_symbols): Reset ELF_LINK_NON_ELF - flag for a newly defined symbol. - (NAME(bfd_elf,record_link_assignment)): Likewise. - (elf_adjust_dynamic_symbol): If ELF_LINK_NON_ELF is set, try to - set the DEF or REF_REGULAR flags correctly. + * archures.c (bfd_mach_mn10300): Define. + * elf-m10300.c: Include elf/mn10300.h + (elf_mn10300_mach): New function. + (_bfd_mn10300_elf_final_write_processing): Likewise. + (_bfd_mn10300_elf_object_p): Likewise. + (elf_backendfinal_write_processing): Define. + (elf_backend_object_p): Likewise. - * Makefile.in (bfd-in2.h): Make bfd.h, not protos, in docdir. - (libbfd.h, libcoff.h): Corresponding change. +Thu Jun 25 18:31:08 1998 Nick Clifton <nickc@cygnus.com> - * elf32-i386.c (elf_i386_check_relocs): Don't record a symbol with - a PLT32 reloc as dynamic. - (elf_i386_adjust_dynamic_symbol): If a symbol with a PLT32 reloc - is not referenced by a dynamic object, and we are not making a - shared object, then don't make a PLT entry. If we do make a PLT - entry, make sure the symbol has been recorded as dynamic. + * elf32-v850.c (v850_elf_perform_relocation): Fix HI16_S + relocation. -Wed Jan 31 17:23:32 1996 Steve Chamberlain <sac@slash.cygnus.com> +Wed Jun 24 17:17:57 1998 Ian Lance Taylor <ian@cygnus.com> - * coff-i386.c (coff_i386_reloc_type_lookup): Add BFD_RELOC_32_PCREL. - * config.bfd (i[345]86-*-win32): Becomes i[345]86-*-cygwin32. - (powerpcle-*-cygwin32): New. - * peicode.h (add_data_entry): Get address from vma. + * elflink.h (elf_bfd_final_link): Loop over input_bfds using the + link_next field, not the next field. -Wed Jan 31 16:23:57 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Sun Jun 21 19:38:39 1998 Ian Lance Taylor <ian@cygnus.com> - * elflink.c (_bfd_elf_create_linker_section): If the symbol - attached to the section has already been created as an undefined - symbol, treat it as if it hasn't been created yet. + * elf.c (map_sections_to_segments): Check the section address + against the phdr size both with and without a modulo of + maxpagesize. -Wed Jan 31 16:16:53 1996 Ian Lance Taylor <ian@cygnus.com> +Fri Jun 19 17:08:18 1998 Ian Lance Taylor <ian@cygnus.com> - * elflink.h (elf_bfd_final_link): Don't output initial dummy - symbol or section symbols if stripping all symbols and this is not - a relocateable link. Don't output the symbol string table if - there are no symbols. - (elf_link_flush_output_syms): Don't do anything if there are no - symbols to flush. + * elf32-mips.c (mips_elf_size_dynamic_sections): Only strip a + linker created empty input section if the output section has the + same name. -Wed Jan 31 12:55:49 1996 Richard Henderson <rth@tamu.edu> + * elflink.h (elf_link_output_extsym): Print an error message if + _bfd_elf_section_from_bfd_section fails. - * coff-aux.c: New file. - * hosts/m68kaux.h: New file. - * config.bfd (m68*-apple-aux*): New target. - * configure.in (m68*-apple-aux*): New native host. - (m68kaux_coff_vec): New vector. - * configure: Rebuild. - * targets.c (m68kaux_coff_vec): Declare. - * coffcode.h (bfd_coff_backend_data): Add field - _bfd_coff_link_add_one_symbol. - (bfd_coff_link_add_one_symbol): Define. - (compare_arelent_ptr): New static function if TARG_AUX. - (coff_write_relocs): If TARG_AUX, sort the relocs. - (coff_write_object_contents): Set A/UX aouthdr magic number. - (coff_link_add_one_symbol): Define if not defined. - (bfd_coff_std_swap_table): Initialize new field. - * libcoff.h: Rebuild. - * cofflink.c (coff_link_add_symbols): Call - bfd_coff_link_add_one_symbol rather than - _bfd_generic_link_add_one_symbol. - * coff-m68k.c (COFF_PAGE_SIZE): Don't define if already defined. - * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field. - * coff-mips.c (mips_ecoff_backend_data): Likewise. - * Makefile.in: Rebuild dependencies. - (BFD32_BACKENDS): Add coff-aux.o. - (BFD32_BACKENDS_CFILES): Add coff-aux.c. + * elf.c (_bfd_elf_section_from_bfd_section): Call bfd_set_error on + failure. -Wed Jan 31 11:37:46 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> +Tue Jun 16 11:55:55 1998 Ian Lance Taylor <ian@cygnus.com> - * elf32-m68k.c (elf_m68k_relocate_section): Fix R_68K_GOT* - relocation; ignore addend with R_68K_{GOT,PLT}*O relocation. + * elf.c (copy_private_bfd_data): Improve handling of Solaris + native linker output. Avoid putting an empty section in more than + one segment. -Tue Jan 30 12:09:04 1996 Ian Lance Taylor <ian@cygnus.com> +Fri Jun 12 13:30:17 1998 Tom Tromey <tromey@cygnus.com> - * Makefile.in (do_maintainer_clean): Remove $(srcdir)/bfd-in2.h, - $(srcdir)/libbfd.h and $(srcdir)/libcoff.h. - (maintainer-clean): Warn about deleting special files. - (bfd-in2.h, libbfd.h, libcoff.h): New targets. + * po/Make-in (all-yes): If maintainer mode, depend on .pot file. + ($(PACKAGE).pot): Unconditionally depend on POTFILES. - * elf32-hppa.c (elf32_hppa_relocate_section): Handle indirect and - warning symbols correctly. - * elf32-i386.c (elf_i386_relocate_section): Likewise. - * elf32-m68k.c (elf_m68k_relocate_section): Likewise. - * elf32-mips.c (mips_elf_relocate_section): Likewise. - * elf32-ppc.c (ppc_elf_relocate_section): Likewise. - * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. - * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. +Fri Jun 12 13:34:02 1998 Doug Evans <devans@canuck.cygnus.com> - * syms.c (_bfd_stab_section_find_nearest_line): Add casts to avoid - warnings. + * elf.c (swap_out_syms): New arg relocatable_p. + Don't add section VMA to symbols for relocatable output. + (_bfd_elf_compute_section_file_positions): Update call to + swap_out_syms. -Mon Jan 29 14:27:24 1996 Kim Knuttila <krk@cygnus.com> +Mon Jun 8 15:20:57 1998 Nick Clifton <nickc@cygnus.com> - * libcoff-in.h: aligned newly exported names with bfd naming - conventions. Removed an erroneous define of POWERPC_LE_PE. - * libcoff.h: Rebuild. - * cofflink.c, coff-ppc.c: the above function name changes + * elf32-v850.c (v850_elf_perform_relocation): Make comparisons + against 'addend' be signed rather than unsigned. -Mon Jan 29 13:06:28 1996 Ian Lance Taylor <ian@cygnus.com> +Sat Jun 6 00:31:21 1998 Nick Clifton <nickc@cygnus.com> - From Basim Kadhim <kadhim@spock.cs.colorado.edu>: - * ecoff.c (struct extsym_info): Define. - (_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info - to ecoff_link_write_external. - (ecoff_link_write_external): Accept a struct extsym_info pointer. - Strip symbols when appropriate. + * elf32-m32r.c: Add prototyps for static functions. - Based on patches from Ronald F. Guilmette <rfg@monkeys.com>: - * syms.c (BSF_OBJECT): Define. - (bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT. - * bfd-in2.h: Rebuild. - * elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an - STT_OBJECT symbol. - * elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT - is set. - - * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, when - copying relocs into a shared object, treat a defined global symbol - as a local symbol. - * elf32-m68k.c (elf_m68k_relocate_section): Likewise. - * elf32-mips.c (mips_elf_relocate_section): Likewise. - * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + * coff-arm.c: Add prototypes for static functions. - * elflink.h (elf_link_add_object_symbols): Only set weakdef to a - real defined symbol, not to a weak defined symbol. +Fri Jun 5 17:21:51 1998 Nick Clifton <nickc@cygnus.com> -Mon Jan 29 11:34:36 1996 Kim Knuttila <krk@cygnus.com> + * elf.c (elf_sort_sections): Sort by LMA first then VMA, since the + LMA is used to order sections in a segment. - * cofflink.c: removed the POWERPC_LE_PE hack, promoted some types - and made a few static functions externs. + * elf32-v850.c: Add prototypes for static functions. + Change type of addend parameter to bfd_vma in various functions. - * coff-ppc.c (ppc_bfd_coff_final_link): new function, replaces the - POWERPC_LE_PE hack in cofflink. +Fri Jun 5 18:09:58 1998 Ian Lance Taylor <ian@cygnus.com> - * libcoff-in.h: promoted the following from cofflink.c to allow - _bfd_coff_final_link to be overridden - STRING_SIZE_SIZE, - coff_debug_merge_element, struct coff_debug_merge_type, - coff_debug_merge_hash_entry, coff_debug_merge_hash_table, - coff_debug_merge_hash_table_init, coff_debug_merge_hash_table_free, - coff_debug_merge_hash_lookup, coff_link_section_info, - coff_final_link_info, coff_debug_merge_hash_newfunc, - coff_write_global_sym, coff_link_input_bfd, coff_reloc_link_order. + * aoutx.h (howto_table_ext): Change RELOC_BASE13 to use + complain_overflow_signed instead of complain_overflow_bitfield. - * libcoff.h: re-gen'd +Fri Jun 5 15:11:11 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Fri Jan 26 18:33:35 1996 Ian Lance Taylor <ian@cygnus.com> + * elf.c (elf_map_symbols): Don't add section VMA to symbol value + when comparing against 0. - * syms.c: Include "bfdlink.h". - (struct stab_find_info): Define. - (_bfd_stab_section_find_nearest_line): New function. - * libbfd-in.h (_bfd_stab_section_find_nearest_line): Declare. - * libbfd.h: Rebuild. - * elf-bfd.h (struct elf_obj_tdata): Add line_info field. - * elf.c (_bfd_elf_find_nearest_line): Try calling - _bfd_stab_section_find_nearest_line before searching the ELF - symbol table. Find the closest STT_FUNC symbol, not the last one. - * libcoff-in.h (coff_data_type): Add line_info field. - * libcoff.h: Rebuild. - * coffgen.c (coff_find_nearest_line): Try calling - _bfd_stab_section_find_nearest_line before searching the COFF - symbol table. - * Makefile.in: Rebuild dependencies. - -Fri Jan 26 16:11:19 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * elf32-ppc.c (R_PPC_EMB_SDA21 relocations): Make relocation size - 4 bytes, so we get the correct value when updating the register - field in little endian mode. - -Thu Jan 25 12:14:16 1996 Ian Lance Taylor <ian@cygnus.com> - - * libcoff-in.h (struct xcoff_tdata): Remove toc_section and - entry_section fields. Add sntoc and snentry fields. - * libcoff.h: Rebuild. - * coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry, - not toc_section and entry_section (the COFF file does not have any - sections at this point). - (coff_write_object_contents): Set o_snentry and o_sntoc from - snentry and sntoc rather than entry_section and toc_section. - * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and - snentry, not toc_section and entry_section. - * xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set - entry_section from hentry. - (xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set, - set snenty. - (xcoff_link_input_bfd): Set sntoc, not toc_section. - (xcoff_write_global_symbol): Get toc_section from sntoc, rather - than using toc_section directly. - - * archures.c: Add missing `.' in enum bfd_architecture. - * bfd-in2.h: Rebuild. +Wed Jun 3 17:52:49 1998 Ian Lance Taylor <ian@cygnus.com> - * config.bfd (i[345]86-*-sco*elf*): Use bfd_elf32_i386_vec. From - Robert Lipe <robertl@arnet.com>. + * Makefile.am (config.status): New target. + * Makefile.in: Rebuild. -Thu Jan 25 12:08:51 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Wed Jun 3 12:18:24 1998 Stan Cox <scox@equinox.cygnus.com> - * elf32-ppc.c (ppc_elf_size_dynamic_sections): Add .rela.sdata{,2} - to sections we allocate. Use bfd_zalloc to allocate initialial - sections, not bfd_alloc. - (ppc_elf_check_relocs): Remove BFD_ASSERTs for !shared from - SDA{,2}I16 relocations. - (ppc_elf_add_symbol_hook): Use the value of -G nn to determine - whether to put something in .sbss or not. - (ppc_elf_relocate_section): Add support for more relocations. Add - in sec->output_offset where appropriate. Make error messages - include the symbol name. + * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Give an + error if previous object endianness doesn't match current object. - * elflink.c (_bfd_elf_create_linker_section): Lookup symbol before - trying to add it to the symbol table, so _GLOBAL_OFFSET_TABLE_ - doesn't get redefined messages if -shared. +Tue Jun 2 17:50:59 1998 Nick Clifton <nickc@cygnus.com> - * elflink.h (elf_create_pointer_linker_section) Only bump RELA - section if the rel_section field has been set up. + * elf32-v850.c (v850_elf_print_private_bfd_data): Call + _bfd_elf_print_private)bfd_data (). -Wed Jan 24 20:40:26 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Tue Jun 2 15:29:35 1998 Ian Lance Taylor <ian@cygnus.com> - * elf32-ppc.c (ppc_elf_relocate_section): Fix typo in eabi - relocations. + * elflink.h (elf_merge_symbol): Don't always set type_change_ok + and size_change_ok. + (elf_link_add_object_symbols): Set type_change_ok and + size_change_ok before calling elf_merge_symbol. -Wed Jan 24 10:38:34 1996 Doug Evans <dje@charmed.cygnus.com> + * elf32-mips.c (mips_elf_relocate_section): If we issue an + undefined symbol error, don't also issue an overflow error. - * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Delete checking - of flags, only flags used are controlled by mach number. Bump up - output file mach number to highest of input file mach numbers. - (elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1. - (elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa. +Tue Jun 2 13:51:00 1998 Geoff Keating <geoffk@ozemail.com.au> - * config.bfd (sparc64-*-{sysv4*,solaris2*}): Comment out - bfd_elf64_sparc_vec support. + * elf32-ppc.c (ppc_elf_relocate_section): The target of an + R_PPC_LOCAL24PC relocation should be local; if not, print an error + message instead of crashing. -Tue Jan 23 14:33:05 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Mon Jun 1 18:23:12 1998 Yuli Barcohen <yuli.barcohen@telrad.co.il> - * elf32-ppc.c (ppc_elf_copy_private_bfd_data): Don't complain if - the embedded bit is set on some objects and not on others. Just - or it together. - (ppc_elf_relocate_section): Implement R_PPC_EMB_{SDA21,RELSDA} - relocations. + * archures.c (bfd_mach_cpu32): Define. + (bfd_default_scan): Add case for 68060. Fix 68332 case to use + bfd_mach_cpu32. + * cpu-m68k.c (arch_info_struct): Add m68k:cpu32. + * ieee.c: Include <ctype.h>. + (ieee_object_p): Parse out process ID string to make it more + likely to be acceptable for bfd_scan_arch. + * bfd-in2.h: Rebuild. -Tue Jan 23 14:22:45 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Jun 1 11:12:02 1998 Nick Clifton <nickc@cygnus.com> - * coffcode.h (coff_new_section_hook): Don't try to align the - .stabstr section. + * elf32-m32r.c (m32r_elf_print_private_bfd_data): Also call + _bfd_elf_print_private_bfd_data() so that the program header will + be displayed. - * coffcode.h (coff_set_section_contents): Fix the handling of the - .lib section to work even if the entire section contents are - written at once. From Gvran Uddeborg <gvran@uddeborg.pp.se> and - Robert Lipe <robertl@arnet.com>. +Mon Jun 1 12:14:28 1998 Ian Lance Taylor <ian@cygnus.com> -Mon Jan 22 18:45:51 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * peicode.h (coff_swap_sym_in): Check for C_SECTION rather than + 0x68. Reindent. Add some comments. - * elflink.h (elf_finish_pointer_linker_section): Don't allocate - memory here for contents. +Fri May 29 09:58:08 1998 Nick Clifton <nickc@cygnus.com> - * elf32-ppc.c (ppc_elf_relocate_section): Bump up _SDA_BASE_ and - _SDA2_BASE_ by 32768. - (ppc_elf_size_dynamic_sections): #if out PLT code which we haven't - started using. Allocate contents for .sdata and .sdata2 sections - also. - (ppc_elf_check_relocs): Use bfd_get_section_name in debug message, - rather than _name. - (ppc_elf_finish_dynamic_symbol): Remove code that attempted to - size _SDA{,2}_BASE_. - (ppc_elf_relocate_section): Change how sdata{,2} relocations are - done. + * elf.c (copy_private_bfd_data): Adjust physical address of + segment in output BFD to contain LMAs of its sections. -Mon Jan 22 08:52:04 1996 Doug Evans <dje@charmed.cygnus.com> +Tue May 26 19:37:47 1998 Stan Cox <scox@equinox.cygnus.com> - * elflink.h (elf_finish_pointer_linker_section): Fix typo. + * elf32-sparc.c (_bfd_sparc_elf_howto_table, sparc_reloc_map, + elf32_sparc_relocate_section): Added R_SPARC_32LE for little + endian data 32 bit relocations. + (elf32_sparc_merge_private_bfd_data): Check if linking little + endian objects with big endian objects. + (elf32_sparc_object_p): Set bfd_mach_sparc_sparclite_le. + (elf32_sparc_final_write_processing): Set EF_SPARC_LEDATA in e_flags. + * libbfd.h (bfd_reloc_code_real_names): Added BFD_RELOC_SPARC_32LE. + * reloc.c: Same. + * cpu-sparc.c (arch_info_struct): Added sparc:sparclite_le + * archures.c (bfd_mach_sparc_sparclite_le): New. + * bfd-in2.h (BFD_RELOC_SPARC_32LE, bfd_mach_sparc_sparclite_le): New. - * archures.c (bfd_mach_sparc_v9): Renamed from bfd_mach_sparc64. - (bfd_mach_sparc_{v8plus,v8plusa}): Define. - (bfd_mach_sparc_v9a): Define. - (bfd_mach_sparc_v9_p): Define. - * bfd-in2.h: Regenerated. - * aoutx.h (aout,machine_type): bfd_mach_sparc64 renamed to - bfd_mach_sparc_v9. - * elf64-sparc.c (sparc64_elf_object_p): Likewise. - * config.bfd (sparc64-*-sysv4*,sparc64-*-solaris2*): Set targ_defvec - to bfd_elf32_sparc_vec. - * cpu-sparc.c (arch_info_struct): Renamed from sparc_arch_info. - Add v8plus{,a} support. - Add v9a support. - (sparc_compatible): New function. - * elf32-sparc.h: #include "elf/sparc.h". - (elf32_sparc_merge_private_bfd_data, elf32_sparc_object_p, - elf32_sparc_final_write_processing): New functions. - (bfd_elf32_bfd_merge_private_bfd_data, elf_backend_object_p, - elf_backend_final_write_processing): Define. - -Mon Jan 22 11:21:51 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * elf-bfd.h (struct elf_link_hash_entry): Add - linker_section_pointer field. - (enum elf_linker_section_enum): Enumeration for new way of - creating linker dynamic sections and symbols. - (elf_linker_section{,_pointers}): New structures for creating - dynamic sections and symbols. - (elf_obj_tdata): Add linker_section_pointers and linker_section - fields. - (elf_local_ptr_offsets,elf_linker_section): New accessor macros. - (_bfd_elf_create_linker_section): New declarations. - (_bfd_elf_find_pointer_linker_section): Ditto. - (bfd_elf{32,64}_{create,finish}_pointer_linker_section): Ditto. - (_bfd_elf_make_linker_section_rela): Ditto. - - * elf.c (_bfd_elf_link_hash_newfunc): Initialize new fields. - - * elf32-ppc.c (ppc_elf_create_dynamic_sections): Delete. - (ppc_elf_create_linker_section): New function to create the - sections .got, .sdata, and .sdata2. - (ppc_elf_size_dynamic_sections): Zap .rela.{sdata,sdata2} if - needed. - (ppc_elf_check_relocs): Support more of the eabi relocations. - (ppc_elf_relocate_section): Ditto. - (ppc_elf_finish_dynamic_symbols): Adjust _SDA{,2}_BASE_ by 32768 - if the .sdata{,2} + .sbss{,2} section size is > 32k. - - * elflink.h (elf_create_pointer_linker_section): New function to - create initialized pointers in dynamic linker sections. - (elf_finish_pointer_linker_section): Actually intialize the - pointers created above. - - * elfcode.h (bfd_elf{32,64}_create_pointer_linker_section): New - macros to provide both 32 and 64 bit versions of - elf_create_pointer_linker_section. - (bfd_elf{32,64}_finish_pointer_linker_section): New macros to - provide both 32 and 64 bit versions of - elf_finish_pointer_linker_section. - - * elflink.c (_bfd_elf_create_linker_section): New function to - create a linker section. - (_bfd_elf_find_pointer_linker_section): Find a unique pointer to a - given address in the linker pointer offsets created for a given - symbol. - (_bfd_elf_make_linker_section_rela): Make a RELA section - corresponding to the generated linker section. +Thu May 21 16:59:28 1998 Nick Clifton <nickc@cygnus.com> -Sat Jan 20 08:36:10 1996 Doug Evans <dje@canuck.cygnus.com> + * peicode.h (add_data_entry): Fix precedence of operators in if () + statement. - * elf32-sparc.c (ELF_MACHINE_ALT1): Define. +Tue May 19 18:41:19 1998 Ian Lance Taylor <ian@cygnus.com> -Thu Jan 18 18:25:34 1996 Kim Knuttila <krk@cygnus.com> + * bfd-in.h: Move over patch to bfd-in2.h. - * coff-ppc.c (coff_ppc_relocate_section): changed TOCDEFN relocs. - (coff_ppc_relocate_section): Handle special values for gcc built dlls. - (dump_toc): fix diagnosing code to identify out-of-toc-bounds entries. - Also begin the toc at 4 as an eye catcher ('31313131' marks the first - toc entry in an objdump) for now. - (ppc_do_last, ppc_get_last): New function - needed to save processing - the toc owner to the end. - (ppc_coff_swap_sym_in_hook): Removed an incorrect hack for doing the - toc owner last. + * reloc.c (bfd_check_overflow): Add casts before shifts which may + not fit in 32 bits. + (_bfd_relocate_contents): Likewise. - * cofflink.c (_bfd_coff_final_link): Added a new hack to keep the - toc owner from being done till last. Must define POWERPC_LE_PC - to enable it. +Mon May 18 14:44:15 1998 Nick Clifton <nickc@cygnus.com> - * coffcode.h (coff_set_alignment_hook): alignment setting for .stab + * peicode.h (add_data_entry): If the section has no private data + then do not create a Data Dictionary entry for it. - * peicode.h (coff_swap_scnhdr_out): set section flags for stab/str - to INFO. - (coff_swap_aouthdr_out): Removed a non-working hack for computing the - SizeOfImage for PowerPC. Ignore the size of the .junk section. +Mon May 18 00:09:28 1998 Richard Henderson <rth@cygnus.com> -Thu Jan 18 17:42:12 1996 Ian Lance Taylor <ian@cygnus.com> + * elf64-alpha.c (elf64_alpha_relax_section): Set again on changes. + (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots, + elf64_alpha_size_got_sections): Rewrite, handling multiple got + subsections during relaxation more correctly. - * elfcore.h: Include <signal.h> before <sys/procfs.h>. +Thu May 14 14:22:58 1998 Nick Clifton <nickc@cygnus.com> -Wed Jan 17 12:40:14 1996 Ian Lance Taylor <ian@cygnus.com> + * bfd-in2.h: Add new prototype: bfd_coff_set_symbol_class (). + Add extra argument to bfd_arm_process_before_allocation (). + * bfd-in.h: Reflect changes made in bfd-in2.h. + * coffgen.c (bfd_coff_set_symbol_class): New function. Set the + coff class of a BFD symbol. + * coff-arm.c: Add support for interworking between Thumb code and + non-interworking aware ARM code. - * cpu-powerpc.c (arch_info_struct): Change last entry to not point - back to first. - (bfd_powerpc_arch): Point at first entry in arch_info_struct. +Sun May 10 22:33:59 1998 Jeffrey A Law (law@cygnus.com) -Tue Jan 16 15:10:49 1996 Ian Lance Taylor <ian@cygnus.com> + * po/Make-in (install-info): New target. - * elf.c (assign_file_positions_for_segments): Don't increment file - offset for a segment which contains no loadable sections. +Thu May 7 17:40:56 1998 Ian Lance Taylor <ian@cygnus.com> -Mon Jan 15 17:46:27 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * filemode.c: Remove; not used. - * reloc.c: Add new PowerPC relocations. - * {bfd-in2,libbfd}.h: Regenerate. + If sysdep.h includes a header file, don't include it again: + * aix386-core.c: Don't include <stdio.h>, <stddef.h>, or + <errno.h>. + * aoutx.h: Don't include <string.h>. Use "sysdep.h" rather than + <sysdep.h>. + * archive.c: Don't include <string.h> or <errno.h>. + * evax-alpha.c; Don't include <stdio.h>. + * evax-egsd.c: Likewise. + * evax-etir.c: Likewise. + * evax-misc.c: Likewise. + * evax-emh.c: Likewise. Also, don't include <sys/types.h>. + * hppabsd-core.c: Don't include <stdio.h>, <sys/types.h>, or + <errno.h>. + * hpux-core.c: Likewise. + * netbsd-core.c: Likewise. + * som.c: Likewise. + * libbfd.c: Don't include <sys/types.h>. + * nlmcode.h: Don't include <string.h>. + * osf-core.c: Don't include <string.h> or <stdio.h>. + * ptrace-core.c: Don't include <stdio.h>, <sys/types.h>, + <errno.h>, or <unistd.h>. + * trad-core.c: Don't include <stdio.h> or <sys/types.h>. - * elf32-ppc.c (ppc_elf_howto_raw): Add more PPC relocations. - (ppc_elf_reloc_type_lookup): Lookup new relocations. +Thu May 7 13:12:50 1998 Klaus Kaempf <kkaempf@progis.de> -Mon Jan 15 14:29:44 1996 Ian Lance Taylor <ian@cygnus.com> + * configure.com: If the version number can not be found in + configure.in, set it to "unknown" rather than "2.8.1". - * aoutx.h (howto_table_ext): Fix RELOC_BASE10 and RELOC_BASE22 - entries. +Wed May 6 09:46:05 1998 Gavin Koch <gavin@cygnus.com> - * sunos.c (sunos_scan_ext_relocs): Don't fail assert if - info->shared. + * elf32-mips.c (elf_mips_mach): New. + (_bfd_mips_elf_object_p): Use elf_mips_mach. + (_bfd_mips_elf_final_write_processing): Use the names + of machines, rather than the numbers. Set both the ARCH + and MACH in e_flags. Handle a few more specific machines. + (_bfd_mips_elf_merge_private_bfd_data): Merge both + EF_MIPS_ARCH and EF_MIPS_MACH. - * coffgen.c (coff_find_nearest_line): Don't try to cache - information in sections that are not owned by a BFD. From Richard - Henderson <richard@atheist.tamu.edu>. +Tue May 5 21:01:53 1998 Richard Henderson <rth@cygnus.com> - * elf32-mips.c: Numerous changes to dynamic linking code, mostly - from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>. - * elflink.h (elf_link_output_extsym): Remove special check for - _rld_new_interface. + * syms.c (bfd_is_local_label): Revert last change. + * srec.c (srec_write_symbols): Discard debugging symbols. - * ecoffswap.h: Add prototypes for static functions. +Tue May 5 23:36:06 1998 Ian Lance Taylor <ian@cygnus.com> -Sun Jan 14 21:36:08 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * som.c: Include <ctype.h>. + * som.h: Don't include sysdep.h. - * elf32-ppc.c (ppc_elf_{unsupported,std}_reloc): Remove functions. - (ppc_elf_howto_raw): Remove ppc_elf_{unsupported,std}_reloc - references. - (ppc_elf_relocate_section): No longer allow .sdata/.sbss sections - to satisfy a TOC16 relocation. Rewrite unsupported relocation - support. Begin support for R_PPC_SDA{2,}REL. +Tue May 5 18:29:24 1998 Tom Tromey <tromey@cygnus.com> -Sat Jan 13 09:36:52 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * libbfd.h: Rebuilt. + * libbfd-in.h: Removed gettext includes and defines. + * sysdep.h: Moved gettext-related includes and defines here. - * elf32-ppc.c (ppc_elf_create_dynamic_sections): New function to - create the .got and .got.neg sections. - (ppc_elf_size_dynamic_sections): Call it. - (ppc_elf_check_relocs): Call it. - (ppc_elf_size_dynamic_sections): Support .got.neg, just like .got. - (ppc_elf_check_relocs): Add error messages for relocations we - don't yet support. Do not include R_PPC_SDAREL16 like a GOT - relocation. +Tue May 5 16:47:54 1998 Richard Henderson <rth@cygnus.com> -Fri Jan 12 15:27:59 1996 Michael Meissner <meissner@tiktok.cygnus.com> + * srec.c (srec_write_symbols): Use bfd_is_local_label rather than + an ad-hoc test. Kill bogus #if 0 code. + * syms.c (bfd_is_local_label): Consider BSF_DEBUGGING symbols local. - * elf32-ppc.c (ppc_elf_fake_sections): Define, and handle the new - section flags for V.4 and eabi. +Mon May 4 16:10:33 1998 Ian Lance Taylor <ian@cygnus.com> -Fri Jan 12 13:59:16 1996 Ian Lance Taylor <ian@cygnus.com> + * sunos.c (sunos_check_dynamic_reloc): Don't use the PLT address + when generating a normal executable for a symbol defined in a + regular file. When copying a reloc into the output file, adjust + the addend for a PC relative reloc against a global symbol. - * elf.c (assign_file_positions_for_segments): If a segment - contains no sections, don't mark it as readable. +Mon May 4 10:08:18 1998 Tom Tromey <tromey@cygnus.com> - * elf-bfd.h (_bfd_elf_section_from_bfd_section): Declare. - * elfcode.h (_bfd_elf_section_from_bfd_section): Don't declare. + * libbfd.h: Rebuilt. + * libbfd-in.h (_): Define as dgettext. - * elf.c (_bfd_elf_print_private_bfd_data): Dump contents of - dynamic section, if there is one. - * elf-bfd.h (struct elf_size_info): Add swap_dyn_in field. - (bfd_elf32_swap_dyn_in): Change type of second parameter to PTR. - (bfd_elf64_swap_dyn_in): Likewise. - * elfcode.h (elf_swap_dyn_in): Change type of second parameter to - PTR. - (NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field. +Mon May 4 11:02:23 1998 Ian Lance Taylor <ian@cygnus.com> - * elf32-i386.c (elf_i386_size_dynamic_sections): Don't create a - DT_TEXTREL entry because of .rel.plt. From Martin Pirker - <pirker@eiunix.tuwien.ac.at>. + * coff-arm.c (coff_arm_relocate_section): Cast to bfd_signed_vma, + not signed. + * peicode.h (pe_saved_coff_bfd_print_private_bfd_data): Use PARAMS + when declaring parameter types. + (pe_saved_coff_bfd_copy_private_bfd_data): Likewise. -Thu Jan 11 17:06:14 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Wed Apr 29 15:35:03 1998 Ian Lance Taylor <ian@cygnus.com> - * section.c (SEC_{EXCLUDE,SORT_ENTRIES}): New section flags for - PowerPC V.4 and eabi. - * bfd-in2.h: Regenerate. - * libfd.h: Regenerate. + * config.bfd: If we include any ELF targets in targ_defvec and/or + targ_selvecs, then add the generic ELF targets to targ_selvecs. + * elf32-gen.c (dummy): New static const variable. + (elf_generic_info_to_howto): New static function. + (elf_generic_info_to_howto_rel): New static function. + (elf_info_to_howto): Define as elf_generic_info_to_howto. + (elf_info_to_howto_rel): Define as elf_generic_info_to_howto_rel. + * elf64-gen.c: Same changes as elf32-gen.c. + * elfcode.h (elf_object_p): For the generic target, ignore a + failure of bfd_default_set_arch_mach. Fix indentation a bit. - * elfxx-target.h (TARGET_{BIG,LITTLE}_SYM): Add new flags. +Tue Apr 28 20:05:52 1998 Ian Lance Taylor <ian@cygnus.com> - * elf32-ppc.c (ppc_elf_section_from_shdr): Support SHT_ORDERED - section type and SHF_EXCLUDE section flag, turning them into the - appropriate bfd section flag. + * configure.in (WIN32LIBADD): Add -lintl on cygwin32. + * configure: Rebuild. -Thu Jan 11 11:23:30 1996 Ian Lance Taylor <ian@cygnus.com> +Tue Apr 28 12:16:57 1998 Jason Molenda (crash@bugshack.cygnus.com) - * xcofflink.c (xcoff_link_add_symbols): Create the special - sections if we see a DYNAMIC object, in case that is the only - XCOFF input object we see. + * config.bfd: Update OSR5/Unixware patterns. - * elf32-mips.c: Extensive changes for a start at dynamic linking - support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>. +Mon Apr 27 18:02:24 1998 Richard Henderson <rth@cygnus.com> - * elf-bfd.h (struct elf_backend_data): Add type_change_ok field. - (struct elf_backend_data): Remove - elf_backend_create_program_headers field. Add - elf_backend_additional_program_headers and - elf_backend_modify_segment_map fields. - * elfxx-target.h (elf_backend_type_change_ok): Define if not - defined. - (elf_backend_additional_program_headers): Likewise. - (elf_backend_modify_segment_map): Likewise. - (elf_backend_create_program_headers): Don't define. - (elfNN_bed): Change to account for field changes. - * elf.c (assign_file_positions_for_segments): Call new - modify_segment_map backend function. Don't call old - create_program_headers backend function. - (get_program_header_size): Call additional_program_headers rather - than create_program_headers. - * elflink.h (elf_link_add_object_symbols): Initialize - type_change_ok from new backend field. - (elf_link_output_extsym): Don't warn if _rld_new_interface is - defined. - (elf_reloc_link_order): Treat a reloc against a defined symbol as - a reloc against the appropriate section. - - * elf-bfd.h (struct bfd_elf_section_data): Add tdata field. - (struct elf_obj_tdata): Rename ppc_flags_init field to flags_init. - (elf_flags_init): Rename from elf_ppc_flags_init. - * elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not - elf_ppc_flags_init. - (ppc_elf_copy_private_bfd_data): Likewise. - (ppc_elf_merge_private_bfd_data): Likewise. - - * elf32-m68k.c (howto_table): Change src_mask to 0 for all - relocation entries. - -Tue Jan 9 15:22:53 1996 David Mosberger-Tang <davidm@azstarnet.com> - - * coff-alpha.c (alpha_relocate_section): During final link, allow - output .lita section to be bigger than 64k by adjusting gp value - on a per-input section basis. - * libecoff.h (struct ecoff_tdata): Add issued_multiple_gp_warning - field. - (struct ecoff_section_tdata): Add gp field. + * elf.c (assign_file_positions_for_segments): Allow for holes + between sections added by a link script. -Tue Jan 9 12:00:36 1996 Ian Lance Taylor <ian@cygnus.com> +Mon Apr 27 11:49:55 1998 Ian Lance Taylor <ian@cygnus.com> - Handle Alpha ECOFF changes in OSF/1 3.2. - * libecoff.h (struct ecoff_backend_data): Add get_elt_at_filepos - field. - * coff-alpha.c: Include "aout/ar.h". - (alpha_ecoff_get_relocated_section_contents): Don't require an - ALPHA_R_IGNORE reloc after an ALPHA_R_GPDISP reloc, since OSF/1 - 3.2 doesn't generate one. - (alpha_relocate_section): Likewise. - (alpha_ecoff_slurp_armap): Define. - (alpha_ecoff_slurp_extended_name_table): Define. - (alpha_ecoff_construct_extended_name_table): Define. - (alpha_ecoff_truncate_arname): Define. - (alpha_ecoff_write_armap): Define. - (alpha_ecoff_generic_stat_arch_elt): Define. - (alpha_ecoff_update_armap_timestamp): Define. - (ARFZMAG): Define. - (alpha_ecoff_read_ar_hdr): New static function. - (alpha_ecoff_get_elt_at_filepos): New static function. - (alpha_ecoff_openr_next_archived_file): New static function. - (alpha_ecoff_get_elt_at_index): New static function. - (alpha_ecoff_backend_data): Initialize get_elt_at_filepos field. - (ecoffalpha_little_vec): Change BFD_JUMP_TABLE_ARCHIVE from - _bfd_ecoff to alpha_ecoff. - * ecoff.c (ecoff_link_add_archive_symbols): Use get_elt_at_filepos - field from backend structure, rather than always calling - _bfd_get_elt_at_filepos. - * coff-mips.c (mips_ecoff_backend_data): Initialize - get_elt_at_filepos field. - * archive.c (_bfd_generic_read_ar_hdr_mag): New function, copied - from _bfd_generic_read_ar_hdr with minor changes. - (_bfd_generic_read_ar_hdr): Use _bfd_generic_read_ar_hdr_mag. - * libbfd-in.h (_bfd_generic_read_ar_hdr_mag): Declare. - * libbfd.h: Rebuild. + * configure.in: Change version number to 2.9.4 + * configure: Rebuild. - * bfd-in.h (BFD_IN_MEMORY): Define. - * libbfd-in.h (struct bfd_in_memory): Define. - * libbfd.c (bfd_read): Handle BFD_IN_MEMORY flag. - (bfd_get_file_window): Don't try to map a BFD_IN_MEMORY file. - (bfd_write, bfd_stat): Abort if BFD_IN_MEMORY is set. - (bfd_tell, bfd_flush, bfd_seek): Handle BFD_IN_MEMORY flag. - * bfd.c (struct _bfd): Change iostream field from char * to PTR. - (bfd_get_size): Handle BFD_IN_MEMORY flag. - * cache.c (bfd_cache_close): Ignore BFD_IN_MEMORY files. - (bfd_open_file): Cast to PTR, not char *, when setting iostream. - (bfd_cache_lookup_worker): Abort if BFD_IN_MEMORY is set. - * opncls.c (bfd_fdopenr): Cast to PTR, not char *, when setting - iostream. - (bfd_openstreamr): Likewise. - * aoutx.h (NAME(aout,some_aout_object_p)): Only fstat iostream if - BFD_IN_MEMORY is not set. - * riscix.c (riscix_some_aout_object_p): Likewise. - * bfd-in2.h, libbfd.h: Rebuild. - - * targets.c (bfd_target): Add _bfd_get_elt_at_index field. - (BFD_JUMP_TABLE_ARCHIVE): Add _get_elt_at_index. - (bfd_get_elt_at_index): Define. - * archive.c (_bfd_generic_get_elt_at_index): Rename from - bfd_get_elt_at_index. Change index parameter from int to - symindex. - * libbfd-in.h (_bfd_generic_get_elt_at_index): Declare. - (_bfd_noarchive_get_elt_at_index): Define. - (_bfd_archive_bsd_get_elt_at_index): Define. - (_bfd_archive_coff_get_elt_at_index): Define. - * bfd-in2.h, libbfd.h: Rebuild. - * aout-target.h (MY_get_elt_at_index): Define if not defined. - * coff-rs6000.c (xcoff_get_elt_at_index): Define. - * ieee.c (ieee_get_elt_at_index): Define. - * libecoff.h (_bfd_ecoff_get_elt_at_index): Define. - * oasys.c (oasys_get_elt_at_index): Define. - * som.c (som_get_elt_at_index): Define. - - * ecoff.c (_bfd_ecoff_find_nearest_line): Don't restrict line - numbers to the .text section. - -Mon Jan 8 17:00:57 1996 Ian Lance Taylor <ian@cygnus.com> - - * ieee.c (ieee_write_debug_part): Change return type to boolean. - If there is a SEC_DEBUGGING section, get the contents of the debug - information part from it. - (ieee_set_section_contents): Store the contents of a SEC_DEBUGGING - section in memory. - (ieee_write_object_contents): Check ieee_write_debug_part return. - -Thu Jan 4 17:12:37 1996 Fred Fish <fnf@cygnus.com> - - * config.bfd (i[345]86-*-freebsd*): Add target. - * configure.in (i386freebsd_vec): Add vec. - * configure: Regenerate. - * Makefile.in (BFD32_BACKENDS): Add i386freebsd.o. - (BFD32_BACKENDS_CFILES): Add i386freebsd.c. - Rebuild dependencies.. - * freebsd.h: New file. - * i386freebsd.c: New file. - * targets.c (i386freebsd_vec): Declare. - (bfd_target_vector): Add i386freebsd_vec. - * i386linux.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE - * i386netbsd.c (SEGMENT_SIZE): Define as TARGET_PAGE_SIZE - -Thu Jan 4 16:27:46 1996 Ian Lance Taylor <ian@cygnus.com> - - * ieee.c (ieee_slurp_debug): New static function. - (ieee_object_p): Call it. - (ieee_slurp_section_data): Skip debugging sections. - (ieee_get_reloc_upper_bound): Likewise. - (ieee_get_section_contents): Likewise. - (ieee_canonicalize_reloc): Likewise. - (ieee_write_section_part): Likewise. - (ieee_write_debug_part): Likewise. - (ieee_write_data_part): Likewise. - (init_for_output): Likewise. - -Wed Jan 3 19:42:47 1996 Michael Meissner <meissner@wogglebug.tiac.net> - - * elf32-ppc.c (ppc_elf_relocate_section): Make @GOT relocations - work. - (ppc_elf_howto_raw): Just use bfd_elf_generic_reloc for all howto - relocs, since ppc_elf_relocate_section handles the linker case. - (ppc_elf_{addr16_ha,got16,toc16,brtaken}_reloc): Delete, no longer - used. - (ppc_elf_{addr16_ha,got16,toc16,brtaken}_inner): Merge these into - ppc_elf_relocate_section since that is now the only caller. - (ppc_elf_relocate_section): Ditto. - -Wed Jan 3 15:11:30 1996 Ian Lance Taylor <ian@cygnus.com> - - * coffcode.h (coff_write_object_contents): If we don't know the - section of the entry point for an XCOFF executable, always set the - entry address to -1. - -Tue Jan 2 14:17:15 1996 Michael Meissner <meissner@tiktok.cygnus.com> - - * elf.c (bfd_section_from_shdr): Add support for note sections. - -Tue Jan 2 13:10:25 1996 Ian Lance Taylor <ian@cygnus.com> - - * bfd-in.h (struct _symbol_info): Add stab_type field. + Based on patch from H.J. Lu <hjl@gnu.org>: + * elf.c (bfd_elf_get_bfd_needed_list): New function. + * bfd-in.h (bfd_elf_get_bfd_needed_list): Declare. * bfd-in2.h: Rebuild. - * aoutx.h (NAME(aout,get_symbol_info)): Set stab_type. - - * elf32-ppc.c: Remove trailing newline from calls to - _bfd_error_handler. - (ppc_elf_merge_private_bfd_data): Only warn about endianness - difference if target endianness is known. - -Thu Dec 21 12:43:49 1995 Michael Meissner <meissner@tiktok.cygnus.com> - * elf32-ppc.c (ppc_elf_howto_raw): Add a phony reloc to handle the - old style TOC16 references without using R_PPC_GOT. - (ppc_reloc_type): Ditto. - (ppc_elf_reloc_type_lookup): Add support for TOC16. - (ppc_elf_toc16_inner): Renamed from ppc_elf_got16_inner. - (ppc_elf_toc16_reloc): Renamed from ppc_elf_toc16_reloc. - (ppc_elf_got16_{inner,reloc}): Stubs for real GOT support. - (ppc_elf_check_relocs): New function for GOT/PLT support that is - work in progress. - (ppc_elf_adjust_dynamic_symbol): Ditto. - (ppc_elf_adjust_dynindx): Ditto. - (ppc_elf_size_dynamic_sections): Ditto. - (ppc_elf_finish_dynamic_symbol): Ditto. - (ppc_elf_finish_dynamic_sections): Ditto. - (ELF_DYNAMIC_INTERPRETER): Define. +Sat Apr 25 20:07:53 1998 Richard Henderson <rth@cygnus.com> -Wed Dec 20 19:14:18 1995 Ken Raeburn <raeburn@cygnus.com> + * elf64-alpha.c (struct alpha_relax_info): Replace elfsym with other. + Change all users. - * elf.c (copy_private_bfd_data): When attaching sections to - segments ignore sections that won't be allocated. Patch from - Andreas Schwab. +Sat Apr 25 18:29:07 1998 Richard Henderson <rth@cygnus.com> -Tue Dec 19 20:01:43 1995 Ken Raeburn <raeburn@cygnus.com> + * elf64-alpha.c (struct alpha_relax_info): Add tsec & elfsym members. + (elf64_alpha_relax_section): Fill them in. + (elf64_alpha_relax_opt_call): Implement more than a stub. + (elf64_alpha_add_symbol_hook): Don't set SEC_LOAD or default + alignment on .scommon. + (elf64_alpha_merge_gots): Merge use counts as well. - * config.bfd: Match on m68k-cbm-* only if OS doesn't match - anything else. +Sat Apr 25 14:07:29 1998 Richard Henderson <rth@cygnus.com> -Tue Dec 19 16:38:59 1995 Ian Lance Taylor <ian@cygnus.com> + * elf64-alpha.c (elf64_alpha_relax_section): Use the proper section + for calculating a local symbol's address. + (elf64_alpha_calc_got_offsets): Skip entries with 0 use count. + Set the .got's cooked size as well as the raw size. - * coff-i960.c (CALC_ADDEND): Define. - (coff_i960_relocate_section): Add the input section VMA to the - addend for PC relative relocs. +Fri Apr 24 09:16:00 1998 Nick Clifton <nickc@cygnus.com> -Sun Dec 17 20:11:55 1995 Kim Knuttila <krk@cygnus.com> + * elf32-v850.c (v850_elf_print_private_bfd_data): Add + internationalisation of printed information. - * peicode.h (pe_print_pdata): Must test the entire entry for zero - to correctly terminate. + * coff-arm.c (coff_arm_print_private_bfd_data): Add + internationalisation of printed information. -Fri Dec 15 12:05:57 1995 Ian Lance Taylor <ian@cygnus.com> - - * targets.c (enum bfd_endian): Define. - (bfd_target): Rename byteorder_big_p to byteorder, and change it - from boolean to enum bfd_endian. Change header_byteorder_big_p - correspondingly. - * bfd-in.h (bfd_big_endian, bfd_little_endian): New macros. - (bfd_header_big_endian, bfd_header_little_endian): New macros. - * bfd-in2.h: Rebuild. - * All targets: Change initialization of byteorder and - header_byteorder to use enum bfd_endian values rather than - booleans. - * All files: Change all references to byteorder_big_p and - header_byteorder_big_p to use new bfd_*_endian macros. - - * coffgen.c (make_a_section_from_file): Set lma to s_paddr, not - s_vaddr. - * coffcode.h (coff_write_object_contents): Set s_paddr to lma, not - vma. - * ecoff.c (_bfd_ecoff_write_object_contents): Likewise. - -Fri Dec 15 07:32:09 1995 steve chamberlain <sac@slash.cygnus.com> - - * pe[i]-i386.c (TARGET_UNDERSCORE): Define to '_'. - -Thu Dec 14 13:45:37 1995 Ian Lance Taylor <ian@cygnus.com> +Fri Apr 24 12:09:18 1998 Ian Lance Taylor <ian@cygnus.com> - * ieee.c: Lots of minor cleanups. Make many functions return - errors rather than calling abort. Also: - (ieee_write_twobyte): Remove; change callers to call existing - ieee_write_2bytes function. - (ieee_write_expression): Don't output the section twice when - outputting a local symbol. Don't emit an extraneous zero if there - is only one term. - (ieee_slurp_sections): Set the lma as well as the vma. - (ieee_archive_p): Use bfd_alloc_grow rather than an obstack. + * syms.c (struct indexentry): Change directory_name, file_name, + and function_name fields to char *. + (struct stab_find_info): Change cached_file_name field to char *. - * ihex.c (ihex_set_arch_mach): Don't accept any architecture, just - a recognized one or bfd_arch_unknown. - (ihex_get_symtab_upper_bound): Define as bfd_0l, to permit objcopy - to succeed. - (ihex_get_symtab): Likewise. +Thu Apr 23 08:13:04 1998 Nick Clifton <nickc@cygnus.com> -Wed Dec 13 15:44:06 1995 Ian Lance Taylor <ian@cygnus.com> + * peicode.h (dir_names): Add missing N_() macros to dir_names array. - * aoutx.h: Include <ctype.h>. - (struct aout_link_includes_table): Define. - (struct aout_link_includes_totals): Define. - (struct aout_link_includes_entry): Define. - (aout_link_includes_lookup): Define macro. - (struct aout_final_link_info): Add includes field. - (aout_link_includes_newfunc): New static function. - (NAME(aout,final_link)): Initialize includes hash table. - (aout_link_write_symbols): Eliminate duplicate N_BINCL entries. +Wed Apr 22 13:06:15 1998 Tom Tromey <tromey@cygnus.com> -Wed Dec 13 10:52:14 1995 Stan Shebs <shebs@andros.cygnus.com> + * po/Make-in (MKINSTALLDIRS): Don't look in $(top_srcdir). - * mpw-config.in: Match on mips-*-* instead of mips-idt-ecoff. +Wed Apr 22 17:48:48 1998 Ian Lance Taylor <ian@cygnus.com> -Wed Dec 13 11:07:45 1995 Kim Knuttila <krk@cygnus.com> + * Makefile.am (install-data-local): Make $(includedir). + * Makefile.in: Rebuild. - * coff-ppc.c (coff_ppc_relocate_section): removed debugging code. +Wed Apr 22 13:06:15 1998 Tom Tromey <tromey@cygnus.com> -Tue Dec 12 17:42:06 1995 Kim Knuttila <krk@cygnus.com> + * libbfd-in.h: Use `gettext' and not `dgettext' for now. - * peicode.h (pe_print_reloc): New function to dump the .reloc section. - (pe_print_private_bfd_data): call pe_print_reloc. - * coffcode.h (coff_set_alignment_hook): .reloc section alignment. - * coff-ppc.c (in_reloc_p): Added missing non-eligible relocs. Spiffed - up some debugging as well. +Wed Apr 22 12:53:40 1998 Ian Lance Taylor <ian@cygnus.com> -Tue Dec 12 11:34:23 1995 Ian Lance Taylor <ian@cygnus.com> + * Makefile.am (INCLUDES): Add -I$(srcdir)/../intl -I../intl. + * Makefile.in: Rebuild. - * config.bfd: Handle sparc-*-elf*. From Ronald F. Guilmette - <rfg@monkeys.com>. + * bfd-in2.h: Rebuild for Nick's changes. -Fri Dec 8 17:47:07 1995 Ian Lance Taylor <ian@cygnus.com> +Tue Apr 21 23:11:51 1998 Richard Henderson <rth@cygnus.com> - * elflink.h (elf_link_add_object_symbols): Set section_count to 0 - when setting sections to NULL. + * archive.c (_bfd_generic_read_ar_hdr_mag): Fix lossage in last + change wrt length == max_namelen. -Wed Dec 6 17:05:37 1995 Ian Lance Taylor <ian@cygnus.com> +Tue Apr 21 21:19:36 1998 Tom Tromey <tromey@scribbles.cygnus.com> - * xcofflink.c (struct xcoff_loader_info): Add export_defineds - field. - (bfd_xcoff_size_dynamic_sections): Add export_defineds parameter. - (xcoff_build_ldsyms): If export_defineds is set, set XCOFF_EXPORT - for all symbols. - * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration. - * bfd-in2.h: Rebuild. + * Many files: Added gettext invocations around user-visible + strings. + * libbfd-in.h: Added gettext includes and defines. + * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_STPCPY, + HAVE_LC_MESSAGES): Define. + * configure.in: Call CY_GNU_GETTEXT. Create po/Makefile.in and + po/Makefile. + * Makefile.am (SUBDIRS): Added po. + (POTFILES): New macro. + (po/POTFILES.in): New target. + (SOURCE_HFILES): New macro. + (HFILES): Use it. + * po/Make-in, po/POTFILES.in, po/bfd.pot: New files. -Mon Dec 4 16:40:47 1995 Kim Knuttila <krk@cygnus.com> +Tue Apr 21 13:38:18 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - * coffcode.h (coff_set_alignment_hook): Removed some debugging printf's + * elfcore.h (bfd_prstatus): Copy core_prstatus from the first + NT_PRSTATUS note section encountered, it contains the status of + the currently executing thread when the core file was written. -Mon Dec 4 11:25:39 1995 Ian Lance Taylor <ian@cygnus.com> +Tue Apr 21 10:00:12 1998 Nick Clifton <nickc@cygnus.com> - * ihex.c (ihex_scan): Handle record types 4 and 5. - (ihex_object_p): Permit types 4 and 5. - (ihex_set_section_contents): Remove check for out of range - addresses. - (ihex_write_object_contents): Generate types 4 and 5. + * libcoff.h: Add extra parameter to + bfd_coff_link_output_has_begun overrideable function. + * cofflink.c: Pass extra parameter to + bfd_coff_link_output_has_begun function. + * bfd-in.h: Add prototypes for exported ARM interworking + functions. + * peicode.h: ARM specific code reorganised to conform to BFD + coding conventions. + * coffcode.h: ARM specific code reorganised to conform to BFD + coding conventions. + * coff-arm.c: Code reorganised to conform to the BFD coding + conventions. Global variables have been moved into an ARM + specific hash table structure and a new function: + bfd_arm_get_bfd_for_interworking() has been created which is + called from the linker scripts. - * elflink.h (elf_link_output_extsym): Just ignore warning and - indirect references to symbols which don't really exist. +Tue Apr 21 00:11:51 1998 Richard Henderson <rth@cygnus.com> -Sun Dec 3 19:00:27 1995 Kim Knuttila <krk@cygnus.com> + * archive.c (_bfd_generic_read_ar_hdr_mag): Simplify end-of-name test. - * peicode.h (pe_print_idata): Minor format fixes - (pe_print_edata): New function. Under private printing, this formats - the edata section of a PE file. - (pe_print_private_bfd_data): Added call to pe_print_edata. + * elf64-alpha.c (elf64_alpha_find_reloc_at_ofs): Renamed from + elf64_alpha_relax_find_reloc_ofs. Changed all callers. + (elf64_alpha_add_symbol_hook): Put small commons in .scommon not .sbss. + (elf64_alpha_size_got_sections): Don't merge .got sections twice. -Sun Dec 3 16:46:54 1995 Richard Earnshaw (rearnsha@armltd.co.uk) +Sat Apr 18 01:21:04 1998 Stan Cox <scox@cygnus.com> - * aout-arm.c (MY_swap_std_reloc_out): Use KEEPIT to get the symbol - index, don't call stoi. + * config.bfd: Added sparc86x support. -Fri Dec 1 14:46:51 1995 Ian Lance Taylor <ian@cygnus.com> +Fri Apr 17 22:29:04 1998 Ian Lance Taylor <ian@cygnus.com> - * srec.c (srec_scan): Set lma as well as vma. + * elf32-mips.c (mips_elf_relocate_section): Do not complain about + an out of range pc-relative jump/call to an undefined weak symbol. - * ihex.c: New file; support for Intel Hex format. - * targets.c (enum bfd_flavour): Add bfd_target_ihex_flavour. - (ihex_vec): Declare. - (bfd_target_vector): Always include ihex_vec. - * bfd.c (struct _bfd): Add ihex_data field to tdata union. - * Makefile.in: Rebuild dependencies. - (BFD_LIBS): Add ihex.o - (BFD_LIBS_CFILES): Add ihex.c. - * bfd-in2.h: Rebuild. +Thu Apr 16 13:49:00 1998 Richard Henderson <rth@cygnus.com> - * elf.c (assign_file_positions_for_segments): Sort the sections in - each segment. - (get_program_header_size): Return the right size if segment_map is - not NULL. - (copy_private_bfd_data): Don't bother to sort the sections. + * elf64-alpha.c (elf64_alpha_do_reloc_gpdisp): Do all gpdisp + comparisons signed. - * bfd.c (bfd_record_phdr): New function. - * bfd-in.h (bfd_record_phdr): Declare. - * bfd_in2.h: Rebuild. +Thu Apr 16 11:43:33 1998 Ian Lance Taylor <ian@cygnus.com> - * elf32-sparc.c (elf32_sparc_relocate_section): Remove bogus - BFD_ASSERT. + * archive.c (bfd_generic_archive_p): If a slurp subroutine returns + an error other than bfd_error_system_call, set the error to + bfd_error_wrong_format. - * libbfd.c (bfd_malloc, bfd_realloc): New functions. - (bfd_zmalloc): Return PTR, not char *. Take size_t, not - bfd_size_type. - * libbfd-in.h (bfd_malloc, bfd_realloc): Declare. - (bfd_zmalloc): Change declaration. - * libbfd.h: Rebuild. - * Many files: Use bfd_malloc and bfd_realloc rather than malloc - and realloc. Don't set bfd_error_no_memory if they fail. - -Thu Nov 30 19:32:26 1995 Kim Knuttila <krk@cygnus.com> - - * coff-ppc.c: Added macros to tidy up toc cell treatment. Numerous - uses as well. Added a new howto to deal with TOCREL16 relocs that - are TOCDEFN as well. - (coff_ppc_relocate_section): Expanded treatment of ADDR32NB relocs - to handle RVA relocs from dlltool. - (ppc_coff_rtype2howto): TOCDEFN reloc addition. - (coff_ppc_rtype_to_howto): TOCDEFN reloc addition. - (ppc_coff_reloc_type_lookup): TOCDEFN reloc addition. - - * coffcode.h (coff_set_alignment_hook): check idata$X sections - to get the right section alignment. - -Thu Nov 30 16:48:18 1995 Ian Lance Taylor <ian@cygnus.com> - - * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on - p_paddr if p_paddr is zero. - (make_mapping): Set includes_filehdr and includes_phdrs for first - PT_LOAD segment. - (map_sections_to_segments): Set includes_phdrs for PT_PHDR - segment. - (assign_file_positions_for_segments): Handle includes_filehdr and - includes_phdrs. Remove special handling of PT_PHDR and first - PT_LOAD segments. - (copy_private_bfd_data): Set includes_filehdr and includes_phdr - when appropriate. Remove special handling of PT_PHDR segment. - Use a more complex condition for when a section is included in a - segment to handle Solaris linker oddities. - -Thu Nov 30 11:17:33 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> - - * coff-m88k.c (howto_table): Reformatted for easier reading; - special_function now points to new function m88k_special_reloc. - (howto_hvrt16): Function previously used for handling HVRT16 relocs - removed. - (rtype2howto): Do not add reloc's r_offset to the addend, this will - be done correctly by m88k_special_reloc. - (reloc_processing): New function to be used by RELOC_PROCESSING. - (RELOC_PROCESSING): Define to call reloc_processing. - -Wed Nov 29 12:42:36 1995 Ian Lance Taylor <ian@cygnus.com> - - * peicode.h (pe_print_idata): Call malloc rather than xmalloc. - (pe_print_pdata): Likewise. - - * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory if - obstack_alloc fails. - (bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish - fails. - * libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails. - * Many files: don't set bfd_error_no_memory if one of the above - routines fails. - - * elf.c (assign_file_positions_for_segments): Don't adjust p_paddr - if p_paddr_valid is set. - (copy_private_bfd_data): New static function. - (_bfd_elf_copy_private_section_data): Call copy_private_bfd_data. - - * elf.c (assign_file_positions_for_segments): Fix case where extra - program headers were allocated. - - * elf.c (_bfd_elf_print_private_bfd_data): New function. - * elf-bfd.h (_bfd_elf_print_private_bfd_data): Declare. - * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define to - _bfd_elf_print_private_bfd_data. - - * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if - r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc. - Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS. - (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to - RELOC_SECTION_LITA for ALPHA_R_IGNORE. - (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change - RELOC_SECTION_ABS to RELOC_SECTION_NONE. - -Tue Nov 28 16:59:50 1995 Ian Lance Taylor <ian@cygnus.com> - - * elf-bfd.h (struct elf_obj_tdata): Add segment_map field. - * elf.c (make_mapping): New static function. - (map_sections_to_segments): New static function. - (elf_sort_sections): New static function. - (assign_file_positions_for_segments): New static function. - (map_program_segments): Remove. - (get_program_header_size): Remove sorted_hdrs, count, and - maxpagesize parameters. Simplify. - (assign_file_positions_except_relocs): When generating an - executable, use assign_file_positions_for_segments. - (elf_sort_hdrs): Remove. - (_bfd_elf_sizeof_headers): Remove eliminated parameters from call - to get_program_header_size. - -Mon Nov 27 12:27:46 1995 Ian Lance Taylor <ian@cygnus.com> - - * hp300hpux.c (MY(callback)): Set lma as well as vma. - - * configure, config.in: Regenerate with autoconf 2.7. - - * elf32-i386.c (elf_backend_plt_readonly): Set correctly, to 1. - * elf32-sparc.c (elf_backend_plt_readonly): Set correctly, to 0. - -Wed Nov 22 12:02:09 1995 Ian Lance Taylor <ian@cygnus.com> - - * ecoff.c (_bfd_ecoff_new_section_hook): Handle .rconst section. - (ecoff_sec_to_styp_flags): Likewise. - (_bfd_ecoff_styp_to_sec_flags): Handle STYP_RCONST. - (ecoff_set_symbol_info): Handle scRConst. - (ecoff_slurp_reloc_table): Handle RELOC_SECTION_RCONST. - (ecoff_compute_section_file_positions): Handle .rconst section. - (_bfd_ecoff_write_object_contents): Likewise. - (ecoff_link_check_archive_element): Handle scRConst. - (ecoff_link_add_externals): Likewise. - (ecoff_link_write_external): Handle .rconst section. - (ecoff_reloc_link_order): Likewise. - * ecofflink.c (bfd_ecoff_debug_accumulate): Handle scRConst. - * coff-alpha.c (alpha_convert_external_reloc): Handle .rconst - section. - (alpha_relocate_section): Handle RELOC_SECTION_RCONST. + * targets.c (bfd_target_vector) [SELECT_VECS not defined]: Add + bfd_elf32_powerpcle_vec. - * sunos.c (sunos_scan_dynamic_symbol): Only set written if the - DEF_DYNAMIC flag is set. + * elf.c (copy_private_bfd_data): If all the p_paddr fields in the + program segments are zero, don't set p_paddr_valid. -Tue Nov 21 13:25:29 1995 Ken Raeburn <raeburn@cygnus.com> +Wed Apr 15 22:15:16 1998 Richard Henderson <rth@cygnus.com> + + * elf64-alpha.c: Initial implementation of relaxation -- + (struct alpha_elf_link_hash_entry): Add use_count member. + (elf64_alpha_check_relocs): Initialize and increment it. + (elf64_alpha_can_merge_gots): Check it when considering merging. + (elf64_alpha_merge_gots): Drop entries with zero use. + (elf64_alpha_calc_got_offsets_for_symbol): Likewise. + (elf64_alpha_always_size_sections): Split out got sizing ... + (elf64_alpha_size_got_sections): ... here. New function. + (elf64_alpha_relax_find_reloc_ofs): New function. + (elf64_alpha_relax_with_lituse): Likewise. + (elf64_alpha_relax_without_lituse): Likewise. + (elf64_alpha_relax_opt_call): Likewise. + (elf64_alpha_relax_section): Likewise. + (elf64_alpha_add_symbol_hook): Likewise. + (elf64_alpha_howto_table): Implement GPRELHIGH/LOW & IMMED_GP_16. + (elf64_alpha_relocate_section): Likewise. + (bfd_elf64_bfd_relax_section): Define. + (elf_backend_add_symbol_hook): Likewise. + +Wed Apr 15 16:08:46 1998 Richard Henderson <rth@cygnus.com> + + * elf.c (prep_headers): Use new EM_SPARCV9 symbol. + * elf64-sparc.c (ELF_MACHINE_CODE): Likewise. + (ELF_MACHINE_ALT1): New. Set to EM_OLD_SPARC64. + +Wed Apr 15 11:34:33 1998 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Add -lkernel32 to WIN32LIBADD on cygwin32. + * configure: Rebuild. - * host-aout.c: If TRAD_HEADER is defined, include it. +Mon Apr 13 16:46:27 1998 Ian Lance Taylor <ian@cygnus.com> -Tue Nov 21 13:03:57 1995 Ian Lance Taylor <ian@cygnus.com> + * Makefile.am (libbfd_la_LIBADD): Add @WIN32LIBADD@. + (libbfd_la_LDFLAGS): Add @WIN32LDFLAGS@. + * configure.in: Define and substitute WIN32LDFLAGS and + WIN32LIBADD. + * aclocal.m4: Rebuild with new libtool. + * configure, Makefile.in: Rebuild. - * aclocal.m4 (AC_PROG_CC): Remove local definition. - (BFD_BINARY_FOPEN): Require AC_CANONICAL_SYSTEM. - (BFD_NEED_DECLARATION): New function. - * configure.in: Use BFD_NEED_DECLARATION. - * acconfig.h: Put NEED_DECLARATION_* in @TOP@ section. - * configure, config.in: Rebuild with autoconf 2.6. +Fri Apr 10 13:44:27 1998 Ian Lance Taylor <ian@cygnus.com> - * xcofflink.c (bfd_xcoff_size_dynamic_sections): Clear - special_sections before returning when called with a non XCOFF - BFD. + * coffcode.h (coff_write_object_contents): Move a PE COMDAT symbol + before any other symbols in the same section. - * coffgen.c (coff_renumber_symbols): Sort common symbols with - global symbols. +Wed Apr 8 14:50:23 1998 Michael Meissner <meissner@cygnus.com> - * coffcode.h (coff_compute_section_file_positions): Only pad the - previous section to force file alignment when creating an - executable. + * config.bfd (powerpc*-*-*): Remove PowerPC NT support from ELF + systems. -Mon Nov 20 14:54:09 1995 Ian Lance Taylor <ian@cygnus.com> +Tue Apr 7 16:25:31 1998 Gavin Romig-Koch <gavin@cygnus.com> - * coffcode.h (coff_compute_section_file_positions): If - RS6000COFF_C, set up the .debug section. + * dwarf2.c (comp_unit): Move it earlier in the source. Add + addr_size. + (read_address): Replace 'bdf*' argument with 'comp_unit*' argument. + Use addr_size for address size, rather than sizeof(bfd_vma). + (read_attribute): Replace bdf* argument with 'comp_unit*' argument. + Fix call to read_address. + (decode_line_info): Replace bdf* argument with 'comp_unit*' argument. + Scrap other unneeded arguments. Fix call to read_address. + (scan_unit_for_functions): Fix call to read_attribute. + (parse_comp_unit): We now handle more values for addr_size. + Set addr_size in unit. Fix call to read_attribute and + decode_line_info. - * xcofflink.c (xcoff_link_input_bfd): Adjust the TOC anchor value - if it is not large enough to accomodate the entire TOC area with - signed 16 bit offsets. - (xcoff_write_global_symbol): Handle negative TOC offsets in global - linkage code. - (_bfd_ppc_xcoff_relocate_section): Adjust relocations against a - TOC anchor to use the TOC value used in the output file. +Tue Apr 7 15:44:47 1998 Gavin Romig-Koch <gavin@cygnus.com> -Sat Nov 18 18:01:41 1995 Ian Lance Taylor <ian@cygnus.com> + * dwarf2.c (parse_comp_unit): Drop use of unit->name when it is null. - * coffgen.c (_bfd_coff_get_external_symbols): Cast malloc return. - (_bfd_coff_read_string_table): Likewise. +Tue Apr 7 12:35:18 1998 Ian Lance Taylor <ian@cygnus.com> -Sat Nov 18 19:43:04 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + * archures.c (bfd_default_scan): Add m68k cases back to default + switch, reverting patch of March 25, since IEEE support depends + upon them. - * pe-arm.c: Fix typos. - * coff-arm.c: Likewise. +Mon Apr 6 14:06:40 1998 Ian Lance Taylor <ian@cygnus.com> -Fri Nov 17 16:22:04 1995 Kim Knuttila <krk@cygnus.com> + * Makefile.am (diststuff): New target. + * Makefile.in: Rebuild. - * coff-ppc.c (list_ele): Added "cat"egory member. - (record_toc): New category parameter (priv or pub). - (ppc_record_toc_entry): Check to see if toc bounds exceeded. - (ppc_process_before_allocation): Removed embrionic data-in-toc from - the mainline. It addes extra toc cells in error. - (ppc_coff_swap_sym_in_hook): Added some documentation. - (dump_toc): Can now diagnose "virtual toc" chicanery. +Sun Apr 5 16:21:44 1998 Jeffrey A Law (law@cygnus.com) -Fri Nov 17 10:41:25 1995 Philippe De Muyter <phdm@info.ucl.ac.be> + * som.c (som_bfd_ar_write_symbol_stuff): Fix computation of + som_offset when we have an extended name table. - * elf-bfd.h (struct elf_link_hash_table): Change type of - dynsymcount and bucketcount fields from size_t to bfd_size_type. +Sun Apr 5 16:04:39 1998 H.J. Lu <hjl@gnu.org> -Fri Nov 17 10:02:58 1995 Ian Lance Taylor <ian@cygnus.com> + * Makefile.am (stamp-lib): Check that .libs/libbfd.a exists before + trying to copy it. + * Makefile.in: Rebuild. - * coffcode.h (coff_pointerize_aux_hook): I960 version: don't - pointerize C_LEAFSTAT or C_LEAFEXT entries. +Fri Apr 3 11:09:42 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only create - DT_INIT and DT_FINI entries if the _init or _fini symbol is - defined or mentioned in a regular file. + * elf32-m68k.c (elf_m68k_size_dynamic_sections): Generate section + symbols when creating a shared library. + (elf_m68k_adjust_dynindx): New function, used by above code. + (elf_m68k_finish_dynamic_sections): Initialize the section + symbols. + (elf_m68k_relocate_section): Change abort to BFD_ASSERT. -Thu Nov 16 15:16:42 1995 Kim Knuttila <krk@cygnus.com> +Wed Apr 1 16:04:02 1998 Nick Clifton <nickc@cygnus.com> - * coff-ppc.c (ppc_record_data_in_toc_entry): new function - (coff_ppc_relocate_section): Handle TOCDEFN attribute - (coff_ppc_relocate_section): Correct REL24 handling - (ppc_process_before_allocation): Correct TOCDEFN handling + * coff-arm.c (in_reloc_p): Use ARM_RVA32 in place of constant + value 11. - * peicode.h (dir_names): Added name descriptions +Wed Apr 1 13:36:58 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Thu Nov 16 03:38:03 1995 Ken Raeburn <raeburn@cygnus.com> + * elf32-m68k.c (elf_m68k_relocate_section, case R_68K_PLT*O): Fix + assertion. - * VERSION: Updated to cygnus-2.6. +Tue Mar 31 00:12:12 1998 Jeffrey A Law (law@cygnus.com) -Wed Nov 15 19:30:07 1995 Ken Raeburn <raeburn@cygnus.com> + * elf-m10300.c (mn10300_elf_relax_section): Correctly handle + absolute symbols. - * targets.c (m68k4knetbsd_vec): Declare. +Mon Mar 30 12:46:15 1998 Ian Lance Taylor <ian@cygnus.com> -Wed Nov 15 18:05:52 1995 Ian Lance Taylor <ian@cygnus.com> + * configure.in: Set version to 2.9.1. + * configure: Rebuild. - * targets.c (bfd_target): Change type of second argument to - _bfd_print_private_bfd_data from void * to PTR. - * libbfd-in.h (_bfd_generic_bfd_print_private_bfd_data): Cast - using PTR rather than void *. - * bfd-in2, libbfd.h: Rebuild. - * peicode.h (pe_print_private_bfd_data): Change vfile from void * - to PTR. - * elfxx-target.h (bfd_elfNN_bfd_print_private_bfd_data): Define as - _bfd_generic_bfd_print_private_bfd_data rather than casting - bfd_true. + * Branched binutils 2.9. -Wed Nov 15 04:09:14 1995 Ken Raeburn <raeburn@cygnus.com> +Mon Mar 30 12:20:50 1998 Brent Baccala <baccala@freesoft.org> - * Makefile.in (.dep1): Fix stupid typo in last change. Remove any - "DO NOT DELETE" lines or blank lines that mkdep writes on some - systems. - (BFD_LIBS_CFILES, ALL_MACHINES_CFILES, BFD32_BACKENDS_CFILES, - BFD64_BACKENDS_CFILES): New variables. - (CFILES): Use them. - -Tue Nov 14 11:52:23 1995 Ian Lance Taylor <ian@cygnus.com> - - * peicode.h (coff_swap_aouthdr_out): For PPC PE, start isize at 0, - not at the file position of the first section. - * coffcode.h (coff_compute_section_file_positions): Avoid using - unportable #elif. - (coff_write_object_contents): When generating a PPC PE executable - with no symbols, round up the file size to a COFF_PAGE_SIZE - boundary. - * cofflink.c (_bfd_coff_final_link): If there are no symbols, - don't write out a string table. - - * elf.c (bfd_section_from_shdr): When using a different section - header, pass the new one to _bfd_elf_make_section_from_shdr. - (elf_fake_sections): Don't set sh_info and sh_entsize fields. - (elf_map_symbols): Add section VMA to symbol value when comparing - against 0. - (_bfd_elf_compute_section_file_positions): Only build symbol table - if there are some symbols. Set file offset of symtab and strtab - sections. - (assign_file_positions_except_relocs): Remove dosyms parameter. - Change all callers. Never set file offset of symtab and strtab - sections. - (_bfd_elf_copy_private_section_data): New function. - (MAP_ONESYMTAB, MAP_DYNSYMTAB, MAP_STRTAB, MAP_SHSTRTAB): Define. - (_bfd_elf_copy_private_symbol_data): New function. - (swap_out_syms): Check for special mapping of st_shndx created by - copy_private_symbol_data. - * elfxx-target.h: Use new copy routines. - * elf-bfd.h (_bfd_elf_copy_private_symbol_data): Declare. - (_bfd_elf_copy_private_section_data): Declare. + * syms.c (ENABLE_CACHING): Define. + (struct indexentry): Define. + (struct stab_cache): Remove. + (cmpindexentry): New static function. + (struct stab_find_info): Add new fields: indextable, + indextablesize, cached_indexentry, cached_offset, cached_stab, and + cached_file_name. Remove fields: file_cache, function_cache, and + line_cache. + (_bfd_stab_section_find_nearest_line): Rewrite to build a sorted + index table and search it. - * config.bfd (sh-*-*): Set targ_defvec to shcoff_vec. +Mon Mar 30 10:39:34 1998 Ian Lance Taylor <ian@cygnus.com> - * coffcode.h (coff_slurp_symbol_table): If COFF_WITH_PE, handle - C_NT_WEAK. + * elf.c (_bfd_elf_copy_private_section_data): Call + copy_private_bfd_data once we've seen the last SEC_ALLOC section. - * coff-sh.c (shlcoff_vec): Use _bfd_generic_archive_p, not - _bfd_dummy_target, matching the recent change to archive - recognition. + * cpu-mips.c: Remove trailing comma at end of enumeration list. -Mon Nov 13 13:24:38 1995 Ian Lance Taylor <ian@cygnus.com> +Sat Mar 28 16:33:02 1998 Ian Lance Taylor <ian@cygnus.com> - * libbfd.c (bfd_get_file_window): Use casts to avoid doing - arithmetic on PTR types. + * coff-arm.c: Define all globally visible variables and functions + only when COFF_WITH_PE is not defined. + * configure.in (armpe_little_vec, armpe_big_vec): Add + coff-arm.lo. + * configure: Rebuild. - * aout-target.h (MY(callback)): Set the lma of the sections. +Fri Mar 27 16:06:02 1998 Ian Lance Taylor <ian@cygnus.com> - * ecoff.c (ecoff_reloc_link_order): Turn a reloc against a defined - symbol into a reloc against the section. + Fix some gcc -Wall warnings: + * aout-arm.c (MY(fix_pcrel_26)): Add casts to avoid warnings. + * archive.c (_bfd_generic_read_ar_hdr_mag): Likewise. + * archures.c (bfd_default_scan): Likewise. + * bfd.c (bfd_scan_vma): Likewise. + * binary.c (mangle_name): Likewise + * coff-arm.c (aoutarm_fix_pcrel_26): Likewise. + * coff-sh.c (sh_relocate_section): Likewise. + * coff-stgo32.c (create_go32_stub): Likewise. + * coffcode.h (coff_slurp_line_table): Likewise. + * ecoff.c (_bfd_ecoff_write_armap): Likewise. + * elf.c (_bfd_elf_make_section_from_shdr): Likewise. + (assign_file_positions_for_segments): Likewise. + * elf32-mips.c (mips_elf_relocate_section): Likewise. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. + * oasys.c (oasys_write_sections): Likewise. + * ppcboot.c (ppcboot_object_p): Likewise. + (mangle_name): Likewise. + * riscix.c (riscix_fix_pcrel_26): Likewise. + * srec.c (srec_scan): Likewise. + * stabs.c (_bfd_write_section_stabs): Likewise. + * sunos.c (sunos_add_dynamic_symbols): Likewise. + * aout-ns32k.c (_bfd_ns32k_relocate_contents): Add default case to + switch. Declare parameters for function pointers. + * archures.c (bfd_default_scan): Add braces to avoid ambiguous if + warning. + * elf.c (elf_sort_sections): Likewise. + * coff-arm.c (coff_thumb_pcrel_common): Initialize relocation. + Add default cases to switches. + (coff_arm_relocate_section): Remove unused local variables. + Always set rstat. + (coff_arm_bfd_set_private_flags): Change flag variable to type + flagword. + * coff-mips.c (mips_relocate_section): Initialize use_lo. + * coff-ppc.c (ppc_record_toc_entry): Change i to unsigned int. + (dump_toc): Change cat to const, and initialize it. + * coff-sh.c (sh_relax_delete_bytes): Initialize start and voff. + * elf32-sh.c (sh_elf_relax_delete_bytes): Likewise. + (sh_elf_relocate_section): Initialize r_symndx. + * coffcode.h (coff_compute_section_file_positions): Only declare + old_sofar if ALIGN_SECTIONS_IN_FILE. + (coff_write_object_contents): Initialize csym. + * coffgen.c (coff_pointerize_aux): Make type and class unsigned. + * cpu-ns32k.c (_bfd_ns32k_get_displacement): Add default case to + switch. + * dwarf2.c: Include libiberty.h. + (read_2_signed_bytes, read_4_signed_bytes): Comment out. + (decode_line_info): Remove unused local variables. + * elf32-m32r.c (m32r_elf_sda16_reloc): Likewise. + (m32r_elf_relocate_section): Likewise. + * elf32-v850.c (v850_elf_store_addend_in_insn): Likewise. + (v850_elf_reloc): Likewise. + * elf-bfd.h (elf_linker_section_t): Make alignment unsigned. + (struct elf_obj_tdata): Make cverdefs and cverrefs unsigned. + * elf.c (assign_file_positions_for_segments): Always set adjust. + * elf32-d30v.c (bfd_elf_d30v_reloc): Initialize tmp_addr. Fully + parenthesize expression. + * elf32-m32r.c (m32r_elf_relocate_section): Always initialize h. + (m32r_elf_object_p): Return a value. + (m32r_elf_print_private_bfd_data): Change fprintf format string. + * elf32-mips.c (mips_elf_final_link): Initialize last. + (mips_elf_finish_dynamic_sections): Initialize last and dindx. + * elf32-v850.c (v850_elf_object_p): Return a value. + (v850_elf_print_private_bfd_data): Change fprintf format string. + * elfcode.h (elf_slurp_symbol_table): Change symcount and i to + unsigned long. + * elflink.h (elf_link_add_object_symbols): Change vernum to + unsigned int, and initialize it. Change fprintf format string. + (NAME(bfd_elf,size_dynamic_sections)): Cast -1 to bfd_size_type + when setting or comparing to soname_indx. + (elf_create_pointer_linker_section): Change num_symbols to + unsigned int. + * libcoff-in.h (coff_data_type): Change flags to flagword. + * peicode.h (pe_print_idata): Initialize idx. Change j to + bfd_size_type. Initialize hint_member. Remove useless test to + time_stamp. + (pe_print_edata): Change num_functions and num_names in struct + EDT_type to unsigned long. Remove cast. Change fprintf format + string. + * ppcboot.c (ppcboot_object_p): Change i to size_t. + * reloc.c (bfd_get_reloc_size): Change return type to unsigned + int. + * reloc16.c (bfd_coff_reloc16_relax_section): Change shrinks to + int *. Update uses. Change j to long. + * bfd-in2.h, libcoff.h: Rebuild. -Mon Nov 13 07:31:35 1995 Kim Knuttila <krk@cygnus.com> +Fri Mar 27 10:10:46 1998 Catherine Moore <clm@cygnus.com> + + * elf32-v850.c Remove definition of USE_REL. + (v850_elf_info_to_howto_rela): New function. + (v850_elf_perform_relocation): Renamed from + v850_elf_store_addend_in_insn. Removed replace argument. + (v850_elf_reloc): store the relocation in the addend field instead + of the insn. + (v850_elf_final_link_relocate): Now calls + v850_elf_perform_relocation. + (v850_elf_relocate_section): Remove code to generate REL + relocations. - * coff-ppc.c (ppc_coff_link_hash_entry): added support for inline - glue for the relocs: IMGLUE and IFGLUE. - (record_toc): new function - tracks toc contents - (ppc_mark_symbol_as_glue): new function - supports the IMGLUE reloc - (coff_ppc_relocate_section): Added support and fixes for IMGLUE/IFGLUE - (ppc_coff_rtype2howto): removed invalid IMGLUE hack - (coff_ppc_rtype_to_howto): removed invalid IMGLUE hack - (ppc_record_toc_entry): Removed a debug define (duh) +Thu Mar 26 13:32:17 1998 Ian Lance Taylor <ian@cygnus.com> - * peicode.h (coff_swap_scnhdr_out): Fixed invalid strcmp for ".reldata" - (pe_print_idata): New function - formats the idata section data - (pe_print_pdata): New function - formats the pdata section data - (pe_print_private_bfd_data): calls to above + * coffcode.h (coff_new_section_hook): Set the type and storage + class in the native symbol information allocated for a new section + symbol. -Sun Nov 12 12:23:24 1995 Stan Shebs <shebs@andros.cygnus.com> +Thu Mar 26 10:13:41 1998 Nick Clifton <nickc@cygnus.com> - * Makefile.in (bfd_libs_here, etc): Provide empty definitions. - * coff-rs6000.c (rs6000coff_vec): Add conditional defines - TARGET_SYM and TARGET_NAME for vector and BFD name. - * coff-pmac.c (pmac_xcoff_vec): Remove. - (TARGET_SYM, TARGET_NAME): Define. - * coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the - machine to 0, not all PowerMacs are 601s. + * peicode.h: Chain together calls to + coff_bfd_copy_private_bfd_data and + coff_bfd_print_private_bfd_data. -Fri Nov 10 12:10:14 1995 Ian Lance Taylor <ian@cygnus.com> + * coff-arm.c: Add prototypes for + coff_arm_bfd_print_private_bfd_data and + coff_arm_bfd_copy_private_bfd_data. - * elfcode.h (elf_object_p): Read in any program headers. - * elf.c (_bfd_elf_make_section_from_shdr): Adjust section lma - based on the program headers, if any. - (elf_fake_sections): Set sh_addr from the vma, not the lma. - (map_program_segments): Set p_paddr of program headers based on - the lma. +Wed Mar 25 15:45:55 1998 Nick Clifton <nickc@cygnus.com> -Thu Nov 9 13:01:31 1995 Ian Lance Taylor <ian@cygnus.com> + * coffcode.h (coff_mkobject_hook): Set private falgs even for a PE + build. - * archive.c (bfd_generic_archive_p): Preserve tdata in case of - failure. + * peicode.h: Call arm-coff private data functions after handling + pe private data. - * aoutx.h (NAME(aout,final_link)): Report a reasonable error when - trying to do a relocateable link with a non-a.out object file. + * coff-arm.c: Turn statics into globals so that they can be shared + both pe and pei backends. - * archive.c (bfd_generic_archive_p): Check the first object file - in an archive even if target_defaulted is set. If the object file - has the wrong xvec, reject it. +Wed Mar 25 15:19:38 1998 Ian Lance Taylor <ian@cygnus.com> - * aoutx.h (NAME(aout,set_section_contents)): If a section can not - be represented, report the name via _bfd_error_handler. - (translate_to_native_sym_flags): Likewise. - * elf32-mips.c (mips_elf_final_link): Likewise. - * oasys.c (oasys_write_sections): Likewise. + * aoutf1.h (sunos_set_arch_mach): Use bfd_mach_m68* rather than + plain numbers. + (sunos_write_object_contents): Likewise. + * aoutx.h (NAME(aout,machine_type)): Likewise. + * coffcode.h (coff_set_arch_mach_hook): Likewise. - * coffcode.h (coff_set_alignment_hook): Write RS6000COFF_C version - which checks for STYP_OVRFLO sections. - (coff_compute_section_file_positions): If RS6000COFF_C, handle - reloc and lineno count overflows. - (coff_write_object_contents): Call coff_count_linenumbers before - coff_compute_section_file_positions. If RS6000COFF_C, handle - reloc and lineno count overflows. - * xcofflink.c (_bfd_xcoff_bfd_final_link): Count line numbers and - relocs before dealing with .pad sections. Count overflow section - headers when handling .pad sections. - - * coffcode.h (coff_write_object_contents): Set a.out vstamp to 1 - if RS6000COFF_C. - - * xcofflink.c (XCOFF_DESCRIPTOR): Define. - (struct xcoff_link_hash_table): Add descriptor_section and - special_sections fields. - (_bfd_xcoff_bfd_link_hash_table_create): Initialize new fields. - (xcoff_link_add_symbols): Set linkage section alignment. Create - descriptor section. Check for magic symbol names (_text, etc.), - and record them in special_sections if found. Set - XCOFF_DESCRIPTOR flag for a function descriptor, and set its - descriptor field to point back to the function code symbol. - (xcoff_sweep): Always mark the special descriptor_section. - (bfd_xcoff_export_symbol): Check whether the symbol might be a - function descriptor, and mark it if it is. - (bfd_xcoff_size_dynamic_sections): Add new special_sections - parameter, and fill it in. Allocate space for the descriptor - section. - (xcoff_build_ldsyms): Set XCOFF_DEF_REGULAR flag when defining - global linkage code. If an undefined function descriptor is - exported, arrange to define it. Warn about any other undefined - exported symbol. - (_bfd_xcoff_bfd_final_link): Write out the descriptor section. - (xcoff_write_global_symbol): Create a function descriptor when - necessary. - * bfd-in.h (bfd_xcoff_size_dynamic_sections): Update declaration. - * bfd-in2.h: Rebuild. +Wed Mar 25 13:59:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Thu Nov 9 08:40:23 1995 Kim Knuttila <krk@cygnus.com> - - * coff-ppc.c (ppc_coff_link_hash_entry): new types for hashing - (ppc_coff_link_hash_table): new types for hashing - (ppc_coff_link_hash_newfunc): hash entry constructor - (ppc_coff_link_hash_table_init): hash table initializer - (ppc_coff_link_hash_table_create): hash table constructor - (ppc_record_toc_entry): changed references to hash table - (coff_ppc_relocate_section): changed references to hash table - - * libcoff-in.h (coff_link_hash_entry): removed toc_offset - * libcoff.h: Rebuild - - * cofflink.c (_bfd_coff_link_hash_newfunc): removed toc_offset init - (coff_link_add_symbols): removed toc_offset init - -Thu Nov 9 04:00:38 1995 Ken Raeburn <raeburn@cygnus.com> - - * Makefile.in (.dep1): Make sure the file mkdep is to write exists - first. - - * configure.in: Added new option --with[out]-mmap. Set USE_MMAP - if it is given and mmep is available. - * acconfig.h: Undef USE_MMAP. - * configure, config.in: Regenerated. - * aoutx.h: If USE_MMAP is not defined, do all symbol and string - table handling the old way. - (aout_get_external_symbols): Don't complain if last byte of string - table is nonzero. - * libbfd.c [HAVE_MADVISE]: Include sys/types.h and sys/mman.h. - (bfd_free_window) [! USE_MMAP]: Don't define. - (bfd_get_file_window, - _bfd_generic_get_section_contents_in_window) [! USE_MMAP]: Abort. - -Wed Nov 8 20:03:44 1995 Eric Freudenthal <freudenthal@nyu.edu> - - * coff-a29k.c (SIGN_EXTEND_HWORD): Use ~0xffff rather than - 0xffff0000. - -Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com> - - * coff-a29k.c (a29k_reloc): Change handling of R_IREL reloc to be - compatible with AMD generated COFF files. Try to support both AMD - and GNU formats simultaneously. - (coff_a29k_relocate_section): Likewise. - - * libbfd.c (bfd_get_file_window): Change writable parameter from - int to boolean; update all callers. Pass MAP_SHARED if not - writable--it's required on Solaris. Cast fprintf argument to - avoid warning. - * bfd-in.h (bfd_get_file_window): Update declaration. - * bfd-in2.h: Rebuild. - * aoutx.h: Update calls to bfd_get_file_window. - - * xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC. - Change all uses. - (xcoff_swap_ldhdr_in): New static function. - (xcoff_swap_ldsym_in): New static function. - (xcoff_find_reloc): Handle the case of a single reloc correctly. - (xcoff_link_add_symbols): If we just created a descriptor, pass it - to _bfd_generic_link_add_one_symbol, to save a hash lookup. - Handle XTY_ER/XMC_XO symbols correctly. - (xcoff_link_add_dynamic_symbols): Rewrite to read .loader symbols - rather than normal symbol table. - (bfd_xcoff_import_symbol): It's not an error if the symbol is - already defined with the same absolute value. - (xcoff_mark): When considering called symbols, check whether the - descriptor is from a dynamic object, rather than the symbol - itself. - (xcoff_build_ldsyms): Likewise. - - * libbfd.c (bfd_get_file_window): Change return type to boolean. - Cast realloc and malloc return values. If malloc or realloc fail, - set bfd_error_no_memory. - * bfd-in.h (bfd_get_file_window): Change type to boolean. + * archures.c (bfd_mach_m68*): Add definitions for various m68k + variants. + (bfd_default_scan): Remove m68k special cases. * bfd-in2.h: Rebuild. + * mipsbsd.c (MY(write_object_contents)): Use bfd_mach_m68* rather + than plain numbers. + * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise. + * cpu-m68k.c (arch_info_struct): Likewise. Add entry for + m68k:68000. + (bfd_m68k_arch): Set mach field to zero to signal no explicit + selection, change printable_name to just "m68k" and make that the + default instead of m68k:68020. -Tue Nov 7 11:53:48 1995 Kim Knuttila <krk@cygnus.com> + * aout-tic30.c (NAME): Define this to avoid multiple definitions + from aoutx.h. + (MY_get_section_contents): Define as aout_32_get_section_contents + rather than NAME(aout,get_section_contents). - * coff-ppc.c (ppc_record_toc_entry): new function. - (in_reloc_p): changed return value. - (coff_ppc_relocate_section): much rework. - (ppc_allocate_toc_section): new function. - (ppc_process_before_allocation): new function. - (ppc_coff_swap_sym_in_hook): new function. + * elf-m10300.c (elf32_mn10300_link_hash_table_create): Fix cast. - * cofflink.c (_bfd_coff_link_hash_newfunc): initialize toc_offset. - (coff_link_add_symbols): initialize toc_offset. + * evax-alpha.c (evax_set_arch_mach): Only accept bfd_arch_alpha + and call bfd_default_set_arch_mach to do the real work. - * peicode.h (coff_swap_sym_in): Added coff_swap_sym_in_hook - (coff_swap_aouthdr_out): Added more sections to the data - dictionary for the pe file header. Also changed linker version - number on the ppc side. - (dir_names): small improvements to the dictionary printing. - (pe_mkobject_hook): save the file level flags. +Wed Mar 25 10:41:35 1998 Richard Henderson <rth@cygnus.com> - * libcoff-in.h (coff_link_hash_entry): added toc_offset field - (pe_tdata): added real_flags field - (coff_tdata): added local_toc_sym_map and access macro + * bout.c (BALX): Include return register g14 as part of the insn. + (BALX_MASK): New. + (calljx_callback): Use it. - * libcoff.h (coff_link_hash_entry): added toc_offset field - (pe_tdata): added real_flags field - (coff_tdata): added local_toc_sym_map and access macro +Wed Mar 25 11:19:28 1998 Ian Lance Taylor <ian@cygnus.com> - * coffcode.h (coff_set_alignment_hook): added hook for PE. - (coff_mkobject): init for local_toc_sym_map - (coff_write_object_contents): set the internal_a.magic to - IMAGE_NT_OPTIONAL_HDR_MAGIC which appears to be what other - ppc compilers use. + * libbfd-in.h (BFD_ALIGN): Cast this parameter to bfd_vma. + * libbfd.h: Rebuild. -Tue Nov 7 13:48:58 1995 Ian Lance Taylor <ian@cygnus.com> + * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Change + byte_count to unsigned int. + (mn10300_elf_relax_section): Initialize internal_relocs. Remove + unused local variables. - * ecofflink.c (_bfd_ecoff_locate_line): Keep looking through stabs - entries until both the line number address and the function name - address are too large. + * evax-alpha.c (evax_close_and_cleanup): Remove unused local + variables er and er1. - * configure.in: Call AC_CHECK_PROG to find and cache AR. - * configure: Rebuilt. + * cpu-v850.c: Include <ctype.h>. + (scan): Case isdigit argument to unsigned char. - * aclocal.m4 (BFD_CC_FOR_BUILD): Don't define CC_FOR_BUILD if it - is defined in the environment. + From Yan Meroth <YAN.MEROTH@st.com>: + * ihex.c (ihex_scan): Add extbase variable so that getting an + extended linear address record does not ignore any previous + extended address. + (ihex_write_object_contents): When writing out an extended linear + address record, zero out any previous extended address. -Tue Nov 7 10:57:24 1995 Jeffrey A Law (law@cygnus.com) +Tue Mar 24 16:09:43 1998 Manfred Hollstein <manfred@s-direktnet.de> - * som.c (som_get_section_contents_in_window): Define to use - generic version. + * ieee.c (do_one): Check section before dereferencing it. + (ieee_canonicalize_reloc): Likewise with src->relent.sym_ptr_ptr. + (ieee_generic_stat_arch_elt): Likewise with abfd->my_archive. -Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com> +Mon Mar 23 18:51:47 1998 Joel Sherrill <joel@OARcorp.com> - * coff-i860.c: New file, based on coff-i386.c. - * cpu-i860.c: New file, based on cpu-i386.c. - * hosts/i860mach3.h: New file, based on hosts/i386mach3.h. - * config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New - targets, using i860coff_vec. - * configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using - trad-core.o and hosts/i860mach3.h. - (i860coff_vec): Use coff-i860.o and cofflink.o. - * configure: Rebuild. - * Makefile.in: Rebuild dependencies. - (ALL_MACHINES): Add cpu-i860.o. - (BFD32_BACKENDS): Add coff-i860.o. - (CFILES): Add cpu-i860.c and coff-i860.c. - * targets.c (i860coff_vec): Declare. - (bfd_target_vector): Add &i860coff_vec. - * archures.c (bfd_i860_arch): Declare. - (bfd_archures_list): Add &bfd_i860_arch. - * coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number. - (coff_set_flags): Handle bfd_arch_i860. - (coff_write_object_contents): Handle I860 a.out magic number. - -Mon Nov 6 14:34:07 1995 Ian Lance Taylor <ian@cygnus.com> - - * xcofflink.c (xcoff_link_add_symbols): Set the alignment power of - the created .tc section to 2. - (xcoff_mark): Don't keep a .loader reloc for a call to an - undefined symbol when creating a shared library. - (xcoff_build_ldsyms): When creating a shared library, generate - global linkage code for a call to an undefined symbol. - -Sun Nov 5 21:44:13 1995 Ken Raeburn <raeburn@cygnus.com> - - * Makefile.in (CFILES): Rebuild list from BFD_LIBS, ALL_MACHINES, - BFD32_BACKENDS, BFD64_BACKENDS. - (.dep1): Put mkdep output in a separate file. - Rebuilt dependencies. - - * ecoff.c (_bfd_ecoff_slurp_armap): Cast _bfd_read_ar_hdr return - value. - - Permit use of mmap when available: - - * configure.in: Check for mmap, madvise, mprotect. - * config.in, configure: Regenerated. - - * libbfd.c (struct _bfd_window_internal): Define type. - (bfd_init_window, bfd_free_window, bfd_get_file_window): New - functions. - (ok_to_map): New static variable for debugging. - (_bfd_generic_get_section_contents_in_window): New function. - * bfd-in.h (bfd_window_internal): Declare type. - (bfd_window): Define type. - (bfd_init_window, bfd_free_window, bfd_get_file_window): Declare. - * libbfd-in.h (_bfd_generic_get_section_contents_in_window): - Declare. - - * libaout.h (struct aoutdata): Add two window fields. - (obj_aout_sym_window, obj_aout_string_window): New macros. - * aoutx.h (some_aout_object_p): Initialize windows. - (aout_get_external_symbols): Get symbol data and strings in - windows instead of explicitly allocated buffers. - (slurp_symbol_table): Free window instead of memory. - (bfd_free_cached_info): Release windows instead of freeing storage - directly. - (aout_link_free_symbols): Ditto. - - * targets.c (bfd_target): Add new field for - get_section_contents_in_window. - (BFD_JUMP_TABLE_GENERIC): Updated. - * aout-adobe.c, aout-target.h, binary.c, bout.c, coff-alpha.c, - coff-mips.c, elfxx-target.h, i386msdos.c, i386os9k.c, ieee.c, - libcoff-in.h, oasys.c, srec.c, tekhex.c, versados.c: Added new - macros for get_section_contents_in_window field. - -Sat Nov 4 12:23:26 1995 Fred Fish <fnf@cygnus.com> - - * core.c: Renamed to corefile.c - * makefile.dos (OBJS): Change core.o to corefile.o - * Makefile.in (CFILES, BFD_LIBS): Use corefile.c instead of core.c - -Fri Nov 3 15:54:59 1995 Ian Lance Taylor <ian@cygnus.com> - - * xcofflink.c (xcoff_link_add_symbols): Rename local variable sub - to o. Clobber and restore the list of new csects around the call - to _bfd_generic_link_add_one_symbol, in case it wants to report a - linker error and the linker wants to read the symbol table. Reset - the line number count of a real section even if it has no relocs. - (_bfd_xcoff_bfd_final_link): If shared, set the DYNAMIC flag. - - * coffgen.c (_bfd_coff_read_string_table): Warn if the string size - is too small. - -Thu Nov 2 23:16:39 1995 Ian Lance Taylor <ian@cygnus.com> - - * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Don't warn about - an undefined symbol in a shared link. - - * linker.c (_bfd_generic_link_add_one_symbol): Correct type of - oldtype from bfd_link_order_type to bfd_link_hash_type. From - phdm@info.ucl.ac.be (Philippe De Muyter). - -Wed Nov 1 14:26:02 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts.sel.alcatel.de> - - * coff-m88k.c (rtype2howto): New static function. - (RTYPE2HOWTO): Use it rather than a macro definition. - - * coffcode.h (coff_write_object_contents): set internal_a.magic - to PAGEMAGICPEXECPAGED #if defined (M68) && !defined (LYNXOS). - - * configure.in: m68*-motorola-sysv* does not use ptrace-core.o; - define TRAD_HEADER to new file hosts/delta68.h. - m88*-motorola-sysv*, however, does use ptrace-core.o. - * hosts/delta68.h: New file. - - * ptrace-core.c (ptrace_unix_core_file_p): change bfd_zmalloc to - bfd_zalloc; provide proper parm abfd to calls to bfd_zalloc. - -Wed Nov 1 13:51:54 1995 Ken Raeburn <raeburn@cygnus.com> - - * i386linux.c (MY(vec)): Declare before use. - -Wed Nov 1 11:45:07 1995 Ian Lance Taylor <ian@cygnus.com> - - * reloc16.c (bfd_coff_reloc16_get_relocated_section_contents): - Pass input_bfd, not in_bfd, to bfd_coff_reloc16_extra_cases. - - * elf.c (bfd_elf_set_dt_needed_name): Don't do anything if the - BFD is not of the right type. - (bfd_elf_get_needed_list): Likewise. - * i386linux.c (bfd_linux_size_dynamic_sections): Likewise. - * sunos.c (bfd_sunos_get_needed_list): Likewise. - * xcofflink.c (XCOFF_XVECP): Define. - (bfd_xcoff_link_record_set): Don't do anything if the BFD is not - of the right type. - (bfd_xcoff_import_symbol): Likewise. - (bfd_xcoff_export_symbol): Likewise. - (bfd_xcoff_link_count_reloc): Likewise. - (bfd_xcoff_record_link_assignment): Likewise. - (bfd_xcoff_size_dynamic_sections): Likewise. - - * sunos.c (sunos_scan_ext_relocs): Only check the reloc symbol - table index against the number of symbols for a base relative - reloc. + * config.bfd: (sh*-*-rtems*): Switched from ELF to COFF. - * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Change from macro to - static function. - * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Set - full_aouthdr flag here... - (_bfd_xcoff_bfd_final_link): ...not here. - -Tue Oct 31 12:52:02 1995 Fred Fish <fnf@cygnus.com> - - * libelf.h: Rename to elf-bfd.h to avoid conflict with - systems that have a system <libelf.h>. - * Makefile.in: Globally replace libelf.h with elf-bfd.h. - * bfd.c, elf.c, elf32-arc.c, elf32-gen.c, elf32-hppa.c, - elf32-hppa.h, elf32-i386.c, elf32-i860.c, elf32-m68k.c, - elf32-m88k.c, elf32-mips.c, elf32-ppc.c, elf32-sparc.c, - elf64-gen.c, elf64-sparc.c, elfcode.h, elflink.c, - elfxx-target.h: Include elf-bfd.h rather than libelf.h. - * elfxx-target.h: Change libelf.h reference to elf-bfd.h. - -Tue Oct 31 15:30:07 1995 David Mosberger-Tang <davidm@azstarnet.com> - - * ecoff.c (ecoff_set_symbol_info): Add new parameter weak. If - set, set BSF_WEAK in symbol. Change all callers. - (ecoff_get_extr): Set weakext based on BSF_WEAK. - (ecoff_link_add_externals): If weakext is set, pass BSF_WEAK to - _bfd_generic_link_add_one_symbol. - (ecoff_indirect_link_order): Check that the section tdata relocs - are not NULL before using them. - - * configure.in (alpha*-*-linux*): Set COREFILE to trad-core.o and - define TRAD_HEADER as hosts/alphalinux.h. - * configure: Rebuild. - * hosts/alphalinux.h: New file. - * trad-core.c (trad_unix_core_file_p): Cast u.u_ar0 to bfd_vma, - not int. +Mon Mar 23 14:23:36 1998 Nick Clifton <nickc@cygnus.com> -Tue Oct 31 12:34:11 1995 Ian Lance Taylor <ian@cygnus.com> + * coff-arm.c: Add interworking functions to pe backends. - * coffcode.h (coff_slurp_symbol_table): Accept C_BCOMM and - C_ECOMM storage classes. +Fri Mar 20 18:47:20 1998 Ian Lance Taylor <ian@cygnus.com> - * xcofflink.c (xcoff_mark_symbol): New static function, broken out - of xcoff_mark. - (xcoff_mark): Call xcoff_mark_symbol. - (bfd_xcoff_export_symbol): Call xcoff_mark_symbol. - (bfd_xcoff_link_count_reloc): Call xcoff_mark_symbol rather than - doing it by hand. - (xcoff_build_ldsyms): Build a .loader symbol for an export symbol. + * configure.in: Use AM_DISABLE_SHARED. + * aclocal.m4, configure: Rebuild with libtool 1.2. -Mon Oct 30 14:53:48 1995 Ian Lance Taylor <ian@cygnus.com> +Fri Mar 20 11:25:41 1998 Nick Clifton <nickc@cygnus.com> - * xcofflink.c (struct xcoff_final_link_info): Add new line_filepos - field. - (xcoff_find_reloc): New static function. - (xcoff_link_add_symbols): Use it. - (_bfd_xcoff_bfd_final_link): Set finfo.line_filepos. - (xcoff_link_input_bfd): Handle C_BINCL and C_EINCL. Don't - relocate the value of C_DECL. + * coff-arm.c (coff_arm_relocate_section): Better error messages + when interowrking conflucts occur. Courtesy of Jonathan Walton + and Tony Thompson. + (aoutarm_std_reloc_howto): Fixed bitsize fields of rightshifted + relocations. Patch courtesy of Jonathan Walton and Tony + Thompson. - * elf.c (elf_fake_sections): Remove bogus BFD_ASSERT. +Fri Mar 20 02:26:43 1998 Richard Henderson <rth@cygnus.com> -Sat Oct 28 01:25:34 1995 steve chamberlain <sac@slash.cygnus.com> + * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Revert + part of Feb 22 change controling when to override the existing + symbol with the .plt entry. - * cofflink.c (_bfd_coff_generic_relocate_section): Make - callback decide what goes in .relocs. - * pe[i]-i386.c (TARGET_UNDERSCORE): Define. - * peicode.h (pe_mkobject_hook): Only copy aouthdr if - there is one. +Wed Mar 18 09:26:25 1998 Nick Clifton <nickc@cygnus.com> -Sat Oct 28 01:51:02 1995 Ian Lance Taylor <ian@cygnus.com> + * config.bfd (targ_cpu): Add thumb-pe target. - * xcofflink.c (xcoff_link_add_symbols): Handle csects in the - absolute section. + * coffcode.h (OTHER_GLOBAL_CLASS): Support thumb external + functions in PE build. -Fri Oct 27 18:14:39 1995 Ian Lance Taylor <ian@cygnus.com> +Sun Mar 8 23:37:26 1998 Stan Cox <scox@equinox.cygnus.com> - * xcofflink.c: More improvements, mostly to fix handling of - constructors and a few other special cases. - * coff-rs6000.c (rs6000coff_vec): Set symbol_leading_char back to - zero, reverting yesterday's change. - * bfd-in.h (bfd_xcoff_link_record_set): Declare. - (bfd_xcoff_link_count_reloc): Declare. - (bfd_xcoff_record_link_assignment): Declare. - * bfd-in2.h: Rebuild. + * config.bfd (sparclite-*-elf*): Added. -Fri Oct 27 14:42:15 1995 Niklas Hallqvist <niklas@appli.se> +Mon Feb 23 19:31:19 1998 Ian Lance Taylor <ian@cygnus.com> - * PORTING, aout-arm.c, aout-encap.c, aout-target.h, - aoutx.h, gen-aout.c, host-aout.c, hp300bsd.c, i386aout.c - i386bsd.c, i386dynix.c, i386linux.c, i386lynx.c, i386mach3.c, - i386netbsd.c, m68klynx.c, m88kmach3.c, mipsbsd.c, newsos3.c, - ns32knetbsd.c, pc532-mach.c, riscix.c, sparclynx.c, sparcnetbsd.c: - Change PAGE_SIZE to TARGET_PAGE_SIZE. + * configure.in: Add elf.lo to elf shell variable. + * Makefile.am (BFD_LIBS): Remove elf.lo. + (BFD_LIBS_CFILES): Remove elf.c. + (BFD32_BACKENDS): Add elf.lo. + (BFD32_BACKENDS_CFILES): Add elf.c. + * configure, Makefile.in: Rebuild. - * m68knetbsd.c: Ditto as well as add support for the m68k4k object - format. +1998-02-23 15:53 Richard Henderson <rth@cygnus.com> - * netbsd.h: Double ditto (incl. m68k4k support). NetBSD's text - segments includes the a.out header. See to that the magic number - *always* is big-endian. + * elf32-i386.c (elf_i386_relocate_section): A pc-relative + relocation against a now-local symbol should not have a dynamic + relocation. - * config.bfd: Add m68*-hp*-netbsd* case. Cross-pollinate m68k and - m68k4k NetBSD configurations. +Mon Feb 23 16:17:08 1998 Ian Lance Taylor <ian@cygnus.com> - * configure.in, configure: Separate i386 & mips NetBSD - configurations from other BSD ones. Don't assume DEC is the only - thing NetBSD/mips run on. Add {m68k,ns32k,sparc}-*-netbsd* - configurations. Add support for m68k4k NetBSD object format. + * peicode.h (coff_swap_filehdr_in): Don't set BFD flag HAS_SYMS in + COFF filehdr flags. + (pe_print_private_bfd_data): Print PE flags. From Mikey + <jeffdb@netzone.com>. - * libaout.h: Added M_68K4K_NETBSD magic. +Sun Feb 22 20:39:00 1998 Richard Henderson <rth@cygnus.com> - * m68k4knetbsd.c: New file. + * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Don't create + a plt entry when we can determine that we authoritatively define + the symbol. - * hosts/{m68k,sparc}nbsd.h: Don't define HOST_BIG_ENDIAN_P. +Sun Feb 22 20:33:05 1998 Richard Henderson <rth@cygnus.com> - * hosts/nbsd.h: Define HOST_BIG_ENDIAN_P according to - <machine/endian.h>. + * configure.in (COREFILE selection): Remove sparc-*-linux*. They + don't actually use trad-core, but a SunOS-style core file handled + by gdb directly. + * hosts/sparclinux.h: Remove. - * hosts/mipsnbsd.h: New file. +Wed Feb 18 15:31:06 1998 Ian Lance Taylor <ian@cygnus.com> -Thu Oct 26 14:16:47 1995 Ian Lance Taylor <ian@cygnus.com> + * peicode.h (pe_print_idata): If there is no .idata section, look + for the import tables in some other section. Make the initial + label line up better with the data. Print the import address + table even if there is no import name table. If the import + address table holds actual addresses, print them. - * xcofflink.c: Numerous changes to get closer to a working XCOFF - linker. - * libcoff-in.h (struct xcoff_tdata): Add full_aouthdr, - toc_section, and entry_section fields. - (struct xcoff_section_tdata): Remove ldrel_count field. - * libcoff.h: Rebuild. - * coffcode.h (coff_mkobject_hook): Initialize new xcoff_data - fields. - (coff_compute_section_file_positions): If RS6000COFF_C, generate - full a.out header if full_aouthdr is set in xcoff_data. - (coff_write_object_contents): Likewise. Set o_snentry and o_sntoc - based on sections stored in xcoff_data. - * coff-rs6000.c (xcoff_copy_private_bfd_data): Copy new xcoff_data - fields. - (xcoff_reloc_type_lookup): Handle BFD_RELOC_CTOR. - (rs6000coff_vec): Set symbol_leading_char to '.'. - * coffgen.c (coff_get_symbol_info): If fix_value is set, fix the - value stored in ret rather than returning a pointer value. +Tue Feb 17 12:58:34 1998 Ian Lance Taylor <ian@cygnus.com> -Wed Oct 25 23:10:39 1995 Michael Meissner <meissner@tiktok.cygnus.com> + * libbfd.c (bfd_seek): If fseek fails, save errno around call to + bfd_tell. If errno is EINVAL, set bfd_error_file_truncated, not + bfd_error_system_call. - * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Remove MAC - format for now. +Fri Feb 13 13:11:33 1998 Ian Lance Taylor <ian@cygnus.com> -Wed Oct 25 16:19:27 1995 Jeffrey A Law (law@cygnus.com) + * Makefile.am (AUTOMAKE_OPTIONS): Define. + * configure, Makefile.in, aclocal.m4: Rebuild with automake 1.2e. - * som.c (som_slurp_string_table): Allocate the strings with malloc - since they're free'd by free_cached_info. - (som_slurp_symbol_table): Similarly for the symbol table. + From H.J. Lu <hjl@gnu.org>: + * Makefile.am (libbfd_la_LDFLAGS): Define. + * Makefile.in: Rebuild. -Wed Oct 25 14:59:22 1995 Per Bothner <bothner@kalessin.cygnus.com> +Thu Feb 12 17:31:11 1998 Ian Lance Taylor <ian@cygnus.com> - * Makefile.in (diststuff): Don't make headers. + NetBSD patches from Gordon W. Ross <gwr@mc.com>: + * netbsd.h (MACHTYPE_OK): Define. + (MY(write_object_contents)): Use DEFAULT_ARCH and DEFAULT_MID when + calling N_SET_MACHTYPE, rather than having a switch. + * libaout.h (enum machine_type): Add M_PMAX_NETBSD, M_VAX_NETBSD, + and M_ALPHA_NETBSD. + * i386netbsd.c (MACHTYPE_OK): Don't define. + (DEFAULT_MID): Define. + * m68k4knetbsd.c (SEGMENT_SIZE): Don't define. + (MACHTYPE_OK): Don't define. + (DEFAULT_MID): Define. + * m68knetbsd.c: (MACHTYPE_OK): Don't define. + (DEFAULT_MID): Define. + * ns32knetbsd.c (MACHTYPE_OK): Don't define. + (DEFAULT_MID): Define. + * sparcnetbsd.c (MACHTYPE_OK): Don't define. + (DEFAULT_MID): Define. -Wed Oct 25 11:32:54 1995 Ian Lance Taylor <ian@cygnus.com> + NetBSD patches from Gordon W. Ross <gwr@mc.com>: + * vaxnetbsd.c: New file. + * netbsd-core.c: Clean up. Remove unused macros. Use netbsd + rather than netbsd_core. + * targets.c (vaxnetbsd_vec): Declare. + (bfd_target_vector): Add vaxnetbsd_vec. If NETBSD_CORE is + defined, add netbsd_core_vec. + * configure.in: Set COREFILE for alpha*-*-netbsd* and + powerpc-*-netbsd* to netbsd-core.lo. If COREFILE is + netbsd-core.lo, set COREFLAG to -DNETBSD_CORE. + * config.bfd (alpha*-*-netbsd*): New target. + * Makefile.am: Rebuild dependencies. + (BFD32_BACKENDS): Add vaxnetbsd.lo. + (BFD32_BACKENDS_CFILES): Add vaxnetbsd.c. + * configure, Makefile.in: Rebuild. - * Makefile.in: Rebuild dependencies. + * configure.host: Remove the old shared library build stuff. We + now use libtool instead. - * sunos.c (bfd_sunos_record_link_assignment): Don't do anything if - output_bfd is not SunOS. - (bfd_sunos_size_dynamic_sections): Likewise. Don't scan relocs of - non-SunOS input files. +Wed Feb 11 17:13:09 1998 Richard Henderson <rth@cygnus.com> - * xcofflink.c: Extensive changes to support linking shared objects - and generating a .loader section. - * libcoff-in.h (struct xcoff_tdata): Add import_file_id field. - (struct xcoff_section_tdata): Add lineno_count, first_symndx, - last_symndx, and ldrel_count fields. - * libcoff.h: Rebuild. - * coff-rs6000.c (xcoff_howto_table): Correct reloc names. - * coffcode.h (styp_to_sec_flags): Don't set any flags if STYP_PAD - is set. - * bfd-in.h (bfd_xcoff_import_symbol): Declare. - (bfd_xcoff_export_symbol): Declare. - (bfd_xcoff_size_dynamic_sections): Declare. - * bfd-in2.h: Rebuild. + * tekhex.c (tekhex_write_object_contents): Call tekhex_init. -Tue Oct 24 17:44:20 1995 Stan Shebs <shebs@andros.cygnus.com> +Tue Feb 10 19:23:28 1998 H.J. Lu <hjl@gnu.org> - * configure.in: Add xcofflink.o to pmac_xcoff_vec. + * configure.in: Take stab-syms.lo out of sparclinux_vec list. * configure: Rebuild. - * mpw-config.in: Add xcofflink.c.o to powerpc-apple-macos. - * coff-pmac.c: Include coff-rs6000.c instead of duplicating its - contents. - (pmac_xcoff_vec): Update to use new xcoff support. - * coff-rs6000.c (xcoff_generic_stat_arch_elt): Make static. - (xcoff_write_armap): Declare buf as unsigned char. - * xcofflink.c (xcoff_link_add_symbols): Declare a local as PTR. - - * mpw-make.sed: Generalize subdir_do edit. - -Tue Oct 24 10:25:01 1995 Jeffrey A Law (law@cygnus.com) - - * hppabsd-core.c (make_bfd_asection): Initialize asect->filepos - correctly. Don't initialize asect->vma. - -Fri Oct 20 13:23:48 1995 Ken Raeburn <raeburn@cygnus.com> - - * opncls.c (_bfd_new_bfd): If _bfd_chunksize wasn't preset, use - something a little less than the page size. - -Thu Oct 19 13:06:09 1995 Ian Lance Taylor <ian@cygnus.com> - - * coff-i960.c (coff_i960_adjust_symndx): Clear *adjustedp. - -Wed Oct 18 16:20:08 1995 steve chamberlain <sac@slash.cygnus.com> - - * coff-i386.c (coff_i386_reloc_type_lookup): New. - * coffcode.h (coff_write_object_contents): If .bss is before - .data us that as data_start. - * cofflink.c (_bfd_coff_generic_relocate_section): Get reloc - calc correct. - * peicode.h (add_data_entry): Use _cooked_size of data directory. - (coff_swap_outhdr_out): Hardwire in version number. - -Wed Oct 18 16:50:54 1995 Ken Raeburn <raeburn@cygnus.com> - - * sunos.c (sunos_add_dynamic_symbols): Rename local variables - major and minor to *_vno, since the former are also macros in - SunOS header files. Cast result of bfd_alloc to appropriate - type. - - * coffgen.c (coff_find_nearest_line): Cast used_by_bfd value - before assigning to sec_data. - -Wed Oct 18 13:25:17 1995 Ian Lance Taylor <ian@cygnus.com> - - * ecoff.c (_bfd_ecoff_find_nearest_line): The offset argument is - now relative to the section, not absolute. - * ecofflink.c (_bfd_ecoff_locate_line): Use the right symbol to - get the file name when there is a N_SO directory name. When - handling stabs, remember that section->vma was added to the - offset. - -Tue Oct 17 18:24:54 1995 Ian Lance Taylor <ian@cygnus.com> - - * sunos.c (struct sunos_link_hash_table): Add needed field. - (sunos_link_hash_table_create): Call bfd_release, not free. - (sunos_link_hash_table_create): Initialize needed field. - (sunos_add_dynamic_symbols): Record needed objects. - (bfd_sunos_get_needed_list): New function. - * bfd-in.h (bfd_sunos_get_needed_list): Declare. - * bfd-in2.h: Rebuild. - -Mon Oct 16 14:43:59 1995 steve chamberlain <sac@slash.cygnus.com> - - * libcoff-in.h (pe_data_type.in_reloc_p): New. -Mon Oct 16 10:52:50 1995 Ian Lance Taylor <ian@cygnus.com> +Tue Feb 10 15:16:38 1998 Nick Clifton <nickc@cygnus.com> + * elf32-v850.c (remember_hi16s_reloc): New function. + (find_remembered_hi16s_reloc): New function. + (v850_elf_store_addend_in_insn): Use the above new functions to + match up HI6S relocs with LO16 relocs. - * bfd-in.h (struct bfd_link_needed_list): Rename from - bfd_elf_link_needed_list. - * bfd-in2.h: Rebuild. - * elf.c, elflink.h, libelf.h: Corresponding changes. +Tue Feb 10 15:01:39 1998 Ian Lance Taylor <ian@cygnus.com> - Add start at AIX linker support; no shared libraries yet. - * xcofflink.c: New file. - * configure.in (rs600coff_vec): Use xcofflink.o. + * configure.in: Change -linux* to -linux-gnu*. + * config.bfd, configure.host: Likewise. * configure: Rebuild. - * libcoff-in.h (struct xcoff_tdata): Add csects and debug_indices - fields. - (struct xcoff_section_tdata): Define. - (xcoff_section_data): Define macro. - (_bfd_xcoff_bfd_link_hash_table_create): Declare. - (_bfd_xcoff_bfd_link_add_symbols): Declare. - (_bfd_xcoff_bfd_final_link): Declare. - (_bfd_ppc_xcoff_relocate_section): Declare. - * libcoff.h: Rebuild. - * coff-rs6000.c: Clean up a bit. - (xcoff_mkobject): Default modtype to 1L, not RE. Initialize - cputype, csects, and debug_indices. - (xcoff_copy_private_bfd_data): Copy cputype. - (xcoff_howto_table): Rename from rs6000coff_howto_table. - (xcoff_rtype2howto): Rename from rs6000coff_rtype2howto. - (xcoff_reloc_type_lookup): Rename from - rs6000coff_reloc_type_lookup. - (coff_relocate_section): Define. - (_bfd_xcoff_sizeof_headers): Define. - (_bfd_xcoff_bfd_get_relocated_section_contents): Define. - (_bfd_xcoff_bfd_relax_section): Define. - (_bfd_xcoff_bfd_link_split_section): Define. - (rs6000coff_vec): For BFD_JUMP_TABLE_LINK, use _bfd_xcoff, not - coff. - * coffcode.h (coff_compute_section_file_positions): If AIX, - increment sofar by SMALL_AOUTSZ if not executable. - (coff_write_object_contents): If AIX, always output an a.out - header; if not executable, header size of SMALL_AOUTSZ. - * hash.c (struct bfd_strtab_hash): Add xcoff field. - (_bfd_stringtab_init): Initialize xcoff field. - (_bfd_xcoff_stringtab_init): New function. - (_bfd_stringtab_add): In XCOFF mode, leave two bytes for length. - (_bfd_stringtab_emit): In XCOFF mode, write out length. - * libbfd-in.h (_bfd_xcoff_stringtab_init): Declare. - * libbfd.h: Rebuild. - * Makefile.in: Rebuild dependencies. - (BFD32_BACKENDS): Add xcofflink.o. - (CFILES): Add xcofflink.c. - - * elf32-mips.c (mips_elf_symbol_processing): Set SEC_ALLOC, not - SEC_NO_FLAGS, for .acommon section. From Peter Schauer - <Peter.Schauer@Regent.E-Technik.TU-Muenchen.DE>. - -Sat Oct 14 21:36:02 1995 Michael Meissner <meissner@tiktok.cygnus.com> - * coff-ppc.c (in_reloc_p): Add, clone from coff-i386.c. - -Fri Oct 13 17:48:43 1995 Ken Raeburn <raeburn@cygnus.com> - - * acconfig.h (HAVE_SYS_PROCFS_H): Undef, with comment. - * config.in: Regenerated. - - * opncls.c (getpagesize) [!HAVE_GETPAGESIZE]: Define as 2048. - (_bfd_chunksize): New variable. - (_bfd_new_bfd): Set it to getpagesize() if negative, and use it - for obstack chunk size. - * configure.in: Check for getpagesize. - * configure: Regenerated. - - Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * trad-core.c (rawptr): Make it a local variable of - ptrace_unix_core_file_p. - -Fri Oct 13 11:22:01 1995 steve chamberlain <sac@slash.cygnus.com> - - * coff-arm.c (in_reloc_p): New. - * coff-i386.c (in_reloc_p): New. - * coffcode.h: Allways include peicode.h if COFF_WITH_PE. - (coff_write_object_contents): Only set has_reloc_section - if PE_IMAGE. - * cofflink.c (_bfd_coff_generic_relocate_section): Call - in_reloc_p to decide if reloc should be emitted. - * libcoff.h (pe_data_type.in_reloc_p): New. - * peicode.h (pe_mkobject): Initialize in_reloc_p. - -Wed Oct 11 00:49:29 1995 Ian Lance Taylor <ian@cygnus.com> - - * cofflink.c (_bfd_coff_internal_syment_name): Move to coffgen.c. - (_bfd_coff_read_internal_relocs): Likewise. - * coffgen.c (_bfd_coff_internal_syment_name): Copy from coffgen.c. - (_bfd_coff_read_internal_relocs): Likewise. +Mon Feb 9 19:40:59 1998 Nick Clifton <nickc@cygnus.com> - * elflink.h (elf_link_add_object_symbols): Correct conditions - under which type and size change warnings are issued. + * elf32-v850.c (v850_elf_store_addend_in_insn): Fix another + LO16/HI16S bug and improve comments about what is going on. -Tue Oct 10 18:32:46 1995 Ian Lance Taylor <ian@cygnus.com> +Sat Feb 7 15:27:03 1998 Ian Lance Taylor <ian@cygnus.com> - * coffgen.c (coff_count_linenumbers): Don't count line numbers for - a symbol which is not in a real section. - (coff_write_native_symbol): Corresponding change. + * configure, aclocal.m4: Rebuild with new libtool. - * cofflink.c (_bfd_coff_link_hash_newfunc): Rename from - coff_link_hash_newfunc and make non-static. - (_bfd_coff_link_hash_table_init): New function, broken out of - _bfd_coff_link_hash_table_create. - (_bfd_coff_link_hash_table_create): Use it. - (process_embedded_commands): Make static. - * libcoff-in.h ((_bfd_coff_link_hash_newfunc): Declare. - (_bfd_coff_link_hash_table_init): Declare. - * libcoff.h: Rebuild. +Fri Feb 6 14:48:20 1998 Nick Clifton <nickc@cygnus.com> - * coffcode.h (coff_mkobject_hook): If RS6000COFF_C, set cputype - field in XCOFF tdata. - (coff_set_arch_mach_hook): Check ifdef RS6000COFF_C, not ifdef - U802ROMAGIC, for clarity. Try to set arch and machine correctly - based on cputype stored in a.out header, or in n_type of initial - .file symbol. - (coff_write_object_contents): Set cputype correctly in a.out - header. - (coff_slurp_symbol_table): Add casts to file_ptr to avoid - warnings. - * coffswap.h (coff_swap_aouthdr_in): Swap in cputype field. - (coff_swap_aouthdr_out): Swap out cputype field. Don't clear - old resv1 field. - * libcoff-in.h (struct xcoff_tdata): Add cputype field. - * libcoff.h: Rebuild. + * elf32-v850.c (v850_elf_merge_private_bfd_data): Do not complain + when merging v850 code into v850e/v850ea code. Do not initialise + output flags if the input is the default architecture. - * cpu-rs6000.c (rs6000_compatible): New static function. - (bfd_rs6000_arch): Use it. - * cpu-powerpc.c (powerpc_compatible): New static function. - (arch_info_struct): Define various flavours of PowerPC. - (bfd_powerpc_arch): Use powerpc_compatible. Point at - arch_info_struct. +Fri Feb 6 11:50:22 1998 Jeffrey A Law (law@cygnus.com) -Tue Oct 10 10:50:46 1995 Fred Fish <fnf@cygnus.com> + * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): For BFD_RELOC_CTOR + get the size from bfd_arch_bits_per_address instead of directly + from the isa. - * Makefile.in (FLAGS_TO_PASS): Remove BISON. +Thu Feb 5 14:21:34 1998 Michael Meissner <meissner@cygnus.com> -Tue Oct 10 01:28:29 1995 Ian Lance Taylor <ian@cygnus.com> + * libbfd-in.h (BFD_ALIGN): If rounding up would cause the address + to wrap, just return all 1's bits instead. + * libbfd.h: Regenerate. - * elflink.h (elf_link_add_object_symbols): Don't warn about - changing the size or type if the old definition was weak. +Thu Feb 5 11:51:05 1998 Ian Lance Taylor <ian@cygnus.com> -Mon Oct 9 11:24:08 1995 Ian Lance Taylor <ian@cygnus.com> + * coff-i386.c (coff_pe_i386_relocate_section): New static function + if COFF_WITH_PE. + (coff_relocate_section): If COFF_WITH_PE, define as + coff_pe_i386_relocate_section. + * coffcode.h (coff_write_object_contents): If COFF_IMAGE_WITH_PE, + skip empty sections, to match coff_write_object_contents. - * coffcode.h (combined_entry_type): Add fix_line field. - (coff_slurp_line_table): Warn if we try to set the lineno field of - a symbol twice. - (coff_slurp_symbol_table): If RS6000COFF_C, handle C_BINCL and - C_EINCL by setting fix_line. Fix C_BSTAT symbol value. - * coffgen.c (coff_mangle_symbols): Handle fix_line. - (coff_write_symbol): Only use N_DEBUG if the symbol is in the - absolute section. - (coff_print_symbol): Print fix_value symbols in a useful fashion. - * libcoff.h: Rebuild. + * elf64-mips.c (mips_elf64_swap_reloca_out): Swap out r_addend, + rather than swapping out r_offset twice. From Luke Deller + <luked@cse.unsw.edu.au>. - * libcoff-in.h (struct xcoff_tdata): Define. - (xcoff_data): Define. - * bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union. - * bfd-in2.h, libcoff.h: Rebuild. - * coff-rs6000.c (xcoff_mkobject): New static function. - (coff_mkobject): Define. - (xcoff_copy_private_bfd_data): New static function. - (coff_bfd_copy_private_bfd_data): Define. - (rs6000coff_howto_table): Change R_TOC complain_on_overflow from - signed to bitfield. - (rs6000coff_vec): Add DYNAMIC to object_flags. - * coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and - .loader sections specially. - (coff_new_section_hook): If RS6000COFF_C, get the .text and .data - section alignment from the XCOFF tdata information. - (coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on - F_SHROBJ, and copy the extra a.out header information into the - XCOFF tdata structure. - (coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ, - F_DYNLOAD and the extra a.out header information. - (coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or - C_HIDEXT symbol with attached csect information. - * coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap - in the o_maxdata field. - (coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields. - * coffgen.c (coff_renumber_symbols): Don't move any symbol to the - end if BSF_NOT_AT_END is set. - - * targets.c (bfd_target): Rename _bfd_read_ar_hdr field to - _bfd_read_ar_hdr_fn. - * libbfd-in.h (_bfd_read_ar_hdr): Update accordingly. - * bfd-in2.h, libbfd.h: Rebuild. - * archive.c (_bfd_get_elt_at_filepos): Cast _bfd_read_ar_hdr - return value. - (do_slurp_bsd_armap, do_slurp_coff_armap): Likewise. - (bfd_slurp_bsd_armap_f2): Likewise. - (_bfd_slurp_extended_name_table): Likewise. - -Fri Oct 6 16:18:35 1995 Ken Raeburn <raeburn@cygnus.com> - - Mon Sep 25 22:49:32 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - - * archive.c (bfd_get_next_mapent): Return BFD_NO_MORE_SYMBOLS - when the symbol table is empty. - - * elf32-m68k.c (elf_m68k_size_dynamic_sections): Don't reserve - space for section symbols, since we don't output them either. - (elf_m68k_adjust_dynindx): Removed. - - * ptrace-core.c (rawptr): Make it a local variable of - ptrace_unix_core_file_p. - -Fri Oct 6 12:24:47 1995 Michael Meissner <meissner@tiktok.cygnus.com> - - * coff-rs6000.c (xcoff_write_archive_contents): Return false, not - NULL. - - * config.bfd (powerpc{,le}-{elf,sysv4,eabi,solaris2}): Add NT, and - Mac object file formats. - -Fri Oct 6 12:04:02 1995 Ian Lance Taylor <ian@cygnus.com> - - * coffgen.c (coff_fix_symbol_name): Don't try to set up file - auxent if there isn't one. - (coff_write_symbols): If there is no file auxent, use SYMNMLEN - rather than FILNMLEN as the maximum name length. - - * coffcode.h (bfd_coff_backend_data): Add new field - _bfd_coff_print_aux. - (bfd_coff_print_aux): New static function. - (coff_pointerize_aux_hook (RS6000COFF_C version)): Pointerize the - scnlen field of an XTY_LD csect aux entry. - (coff_print_aux): New static function. - (coff_slurp_symbol_table): Don't pointerize scnlen field; now done - in coff_pointerize_aux_hook. - (bfd_coff_std_swap_table): Initialize new field. - * coffgen.c (coff_print_symbol): Call bfd_coff_print_aux. - * libcoff.h: Rebuild. - * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field. - * coff-mips.c (mips_ecoff_backend_data): Likewise. +Wed Feb 4 19:11:28 1998 Ian Lance Taylor <ian@cygnus.com> - * coffcode.h (coff_write_object_contents): On AIX, clear F_RELFLG - if there are symbols, for native AIX ld compatibility. + * configure.in: Set libtool_enable_shared rather than + libtool_shared. Remove diversion hack. + * configure, Makefile.in, doc/Makefile.in, aclocal.m4: Rebuild + with new libtool. - * coffcode.h (bfd_coff_backend_data): Add new field - _bfd_coff_pointerize_aux_hook. - (coff_pointerize_aux_hook): Define as a function if RS6000COFF_C - or I960, and as 0 otherwise. - (bfd_coff_std_swap_table): Initialize new field. - * libcoff.h: Rebuild. - * coffgen.c (coff_pointerize_aux): Change parameters to take - symbol pointer instead of type and class, and to take aux index. - Call _bfd_coff_pointerize_aux_hook if it is defined. - (coff_get_normalized_symtab): Always call coff_pointerize_aux. - * coff-alpha.c (alpha_ecoff_backend_data): Initialize all fields. - * coff-mips.c (mips_ecoff_backend_data): Likewise. +Wed Feb 4 16:10:21 1998 Brent Baccala <baccala@freesoft.org> - * coff-rs6000.c: Add full support for AIX archives. Rewrite old - read-only/host-only support. - - * coffcode.h (coff_slurp_symbol_table): Set C_HIDEXT symbols to be - BSF_LOCAL. - (OTHER_GLOBAL_CLASS): Do not define to be C_HIDEXT if - RS6000COFF_C. - - * targets.c (bfd_target): Add _bfd_read_ar_hdr field. Modify - BFD_JUMP_TABLE_ARCHIVE accordingly. - * libbfd-in.h (_bfd_snarf_ar_hdr): Don't declare. - (_bfd_compute_and_write_armap): Declare. - (_bfd_generic_read_ar_hdr): Declare. - (_bfd_read_ar_hdr): Define. - (_bfd_noarchive_read_ar_hdr): Define. - (_bfd_archive_bsd_read_ar_hdr): Define. - (_bfd_archive_coff_read_ar_hdr): Define. - * archive.c: Change all callers of _bfd_snarf_ar_hdr to call - _bfd_read_ar_hdr instead. - (_bfd_generic_read_ar_hdr): Rename from _bfd_snarf_ar_hdr. - (_bfd_compute_and_write_armap): Rename from - compute_and_write_armap. Make non-static. Change all callers. - * ecoff.c (_bfd_ecoff_slurp_armap): Call _bfd_read_ar_hdr rather - than _bfd_snarf_ar_hdr. - * aout-target.h (MY_read_ar_hdr): Define if not defined. - * ieee.c (ieee_read_ar_hdr): Define. - * libecoff.h (_bfd_ecoff_read_ar_hdr): Define. - * oasys.c (oasys_read_ar_hdr): Define. - * som.c (som_read_ar_hdr): Define. - * bfd-in2.h, libbfd.h: Rebuild. - -Thu Oct 5 14:04:07 1995 steve chamberlain <sac@slash.cygnus.com> - - * peicode.c (coff_swap_filehdr_in): If symptr is - zero, there aren't any symbols, even if nsyms is set. - -Thu Oct 5 11:45:02 1995 Ian Lance Taylor <ian@cygnus.com> - - * libecoff.h (struct ecoff_backend_data): Add adjust_headers - field. - * ecoff.c (ecoff_sec_to_styp_flags): Check for various Alpha - sections, and set styp correctly for them: .got, .hash, .dynamic, - .liblist, .rel.dyn, .conflic, .dynstr, .dynsym, .comment. - (_bfd_ecoff_styp_to_sec_flags): Check for various Alpha section - types. - (ecoff_sort_hdrs): New static function. - (ecoff_compute_section_file_positions): Return boolean, not void. - Sort the sections by VMA before looking through them. Put the - first non SEC_ALLOC section on a new page. Put every SEC_ALLOC - section on an appropriate boundary within the page. - (ecoff_compute_reloc_file_positions): Check return value of - ecoff_compute_section_file_positions. - (_bfd_ecoff_set_section_contents): Likewise. - (_bfd_ecoff_write_object_contents): Check for various Alpha - section types when incrementing text_size and data_size. Call - adjust_headers backend function if it exists. - * coff-alpha.c (alpha_adjust_headers): New static function. - (alpha_ecoff_backend_data): Initialize adjust_headers field. - * coff-mips.c (mips_ecoff_backend_data): Likewise. + * syms.c (struct stab_cache): Define. + (struct stab_find_info): Remove cached_offset, cached_stab, + cached_str, and cached_stroff fields. Add file_cache, + function_cache, and line_cache fields. + (_bfd_stab_section_find_nearest_line): Use extensive caching to + speed up searches. - * hosts/i386bsd.h: Restore file incorrectly deleted on Sep 6. +Wed Feb 4 13:34:22 1998 Ian Lance Taylor <ian@cygnus.com> -Wed Oct 4 18:15:02 1995 Jeff Law (law@hurl.cygnus.com) + * peicode.h (pe_print_idata): Check for import of ordinal rather + than name. + (pe_print_edata): If there is no .edata section, look for the + export data in some other section. - * rs6000-core.c (CORE_VERSION_1): Use CORE_VERSION_1 instead - of ALTERNATE_AIX_CORE_FORMAT. - * configure.in (aix4): No longer need CORE_FLAGS. - * configure: Updated. +Mon Feb 2 20:05:42 1998 Jason Molenda (crash@bugshack.cygnus.com) -Wed Oct 4 15:36:36 1995 Ken Raeburn <raeburn@cygnus.com> + * configure.in: Change version to 2.8.4. + * configure: Regenerated. - NS32k changes from Ian Dall: - * aoutx.h (MY_final_link_relocate, MY_relocate_contents): New - macros. - (aout_link_input_section_std, aout_link_input_section_ext, - aout_link_reloc_link_order): Call them instead of _bfd_* - versions. - * aout-target.h (MY_exec_header_not_counted): New macro, defaults - to zero. - (backend_data): Use it instead of hardcoded zero. +Mon Feb 2 17:39:39 1998 Steve Haworth <steve@pm.cse.rmit.EDU.AU> - * aout-ns32k.c (CTOR_TABLE_RELOC_HOWTO): New macro. - (MY_swap_std_reloc_out): Use udata.i for KEEPIT, don't call stoi. + Add tms320c30 support: + * cpu-tic30.c: New file. + * aout-tic30.c: New file. + * coff-tic30.c: New file. + * archures.c (bfd_arch_tic30): Define. + (bfd_tic30_arch): Declare. + (bfd_archures_list): Add bfd_tic30_arch. + * targets.c (bfd_target_vector): Add tic30_aout_vec and + tic30_coff_vec. + * reloc.c (BFD_RELOC_TIC30_LDP): Define. + * coffcode.h (coff_set_arch_mach_hook): Add tic30 case. + (coff_set_flags): Likewise. + * config.bfd (tic30-*-*aout*, tic30-*-*coff*): New targets. + * configure.in (tic30_aout_vec, tic30_coff_vec): New vectors. + * Makefile.am: Rebuild dependencies. + (ALL_MACHINES): Add cpu-tic30.lo. + (ALL_MACHINES_CFILES): Add cpu-tic30.c. + (BFD32_BACKENDS): Add aout-tic30.lo and coff-tic30.lo. + (BFD32_BACKENDS_CFILES): Add aout-tic30.c and coff-tic30.c. + * configure, Makefile.in, bfd-in2.h, libbfd.h: Rebuild. - * ns32knetbsd.c: Include bfd.h. - (MY_text_includes_header, MY_bfd_reloc_type_lookup): New macros. - (MY_bfd_reloc_type_lookup): Declare function too. - * pc532-mach.c (set_sizes): Don't declare. - (MY_text_includes_header, MY_exec_header_not_counted): Define. - (backend_data, MY_backend_data): Don't define. +Mon Feb 2 12:25:12 1998 Nick Clifton <nickc@cygnus.com> - * config.bfd: Treat ns32k-pc532-ux* like ns32k-pc532-mach*, and - ns32k-*-lites* like ns32k-*-netbsd*. + * elf32-v850.c (v850_elf_store_addend_in_insn): Allow HI16_S reloc + to lag behind LO16 reloc by a couple of instructions. - * hosts/nbsd.h: Swap order of sys/vmparam.h and sys/param.h, to - compile on lites. +Mon Feb 2 14:09:46 1998 Ian Lance Taylor <ian@cygnus.com> -Wed Oct 4 14:15:52 1995 Ian Lance Taylor <ian@cygnus.com> + * Makefile.am ($(srcdir)/bfd-in2.h): Add dummy command to force + make to reexamine the file timestamp. + ($(srcdir)/libbfd.h, $(srcddir)/libcoff.h): Likewise. - * coffcode.h (coff_write_object_contents): Restore setting - f_timdat to 0, deleted on August 22. + * elf64-alpha.c (ELF_MAXPAGESIZE): Change to 0x10000 from + 0x100000. -Tue Oct 3 16:28:32 1995 steve chamberlain <sac@slash.cygnus.com> +Fri Jan 30 19:07:07 1998 Geoff Keating <geoffk@ozemail.com.au> - * coffcode.h (coff_bfd_copy_private_symbol_data, - coff_bfd_copy_private_section_data, - coff_bfd_copy_private_bfd_data): ifdef to allow overrides. - * peicode.h (coff_bfd_copy_private_bfd_data): New - (pe_bfd_copy_private_bfd_data): New. - (coff_swap_scnhdr_in): Swap bss size into the right place. - (pe_print_private_bfd_data): Add some newlines. + * elf32-ppc.c (ppc_elf_create_dynamic_sections): New procedure + to create .dynsbss and .rela.sbss sections. + (ppc_elf_adjust_dynamic_symbol): Put space for small data to be + copied from dynamic objects into .sbss. + (ppc_elf_size_dynamic_sections): Strip .rela.sbss if we don't + use it. Correct typo of .rela.sdata2. + (ppc_elf_finish_dynamic_symbol): Generate reloc to where we + put the data, which may now be in .sbss. + (ppc_elf_relocate_section): A SDAREL16 reloc can be in dynsbss. + (elf_backend_create_dynamic_sections): Define as + ppc_elf_create_dynamic_sections. -Tue Oct 3 11:53:04 1995 Jeff Law (law@hurl.cygnus.com) + * elf32-ppc.c (ppc_elf_check_relocs): Don't emit R_PPC_REL* relocs + against _GLOBAL_OFFSET_TABLE_. + (ppc_elf_relocate_section): Don't emit R_PPC_REL32 relocs in + shared libraries which refer to local symbols. Make sure that the + test for allocating space for a reloc in a shared object is the + same as the test for emitting a reloc. - * som.c (setup_sections): Don't die if a space has no subspaces. +Thu Jan 29 15:55:35 1998 J.J. van der Heijden <J.J.vanderHeijden@student.utwente.nl> -Mon Oct 2 14:08:55 1995 Ian Lance Taylor <ian@cygnus.com> + * config.bfd (i[3456]-*-mingw32*): New target. + * acinclude.m4 (BFD_BINARY_OPEN): Check for mingw32. + * aclocal.m4, configure: Rebuild. - * elflink.h (elf_link_add_object_symbols): Don't let a weak - dynamic symbol override a common symbol. Don't change the size or - type if they have been set and the new symbol is not a definition. - Warn if the size or type changes. +Wed Jan 28 13:41:26 1998 Ian Lance Taylor <ian@cygnus.com> -Sun Oct 1 01:34:41 1995 Jeff Law (law@hurl.cygnus.com) + * elf.c (_bfd_elf_close_and_cleanup): Only check the strtab if we + have a bfd_object. - * som.c (som_begin_writing): Don't write the symbol table or - symbol strings. - (som_finish_writing): Write them here. Place them after the - subspace data, but before the relocs. +Tue Jan 27 21:43:55 1998 Richard Henderson <rth@cygnus.com> -Fri Sep 29 11:01:55 1995 Ian Lance Taylor <ian@cygnus.com> + Sparc v9 ABI compliant PLT: + * elf64-sparc.c (PLT_HEADER_SIZE): V9 ABI uses 4 entries. + (plt_templates, sparc64_elf_build_plt_entry): Delete. + (LARGE_PLT_THRESHOLD): New define. + (GOT_RESERVED_ENTRIES): V9 ABI only uses 1. + (sparc64_elf_build_plt): New function. + (sparc64_elf_plt_entry_offset): Likewise. + (sparc64_elf_plt_ptr_offset): Likewise. + (sparc64_elf_adjust_dynamic_symbol): Change h->plt_offset to + contain the index for convenience. Skip the initial entries + in .rela.plt. + (sparc64_elf_size_dynamic_sections): Zero the allocated contents + memory for the benefit of .rela.plt. + (sparc64_elf_relocate_section): Call sparc64_elf_plt_entry_offset. + (sparc64_elf_finish_dynamic_symbol): Kill template stuff. Use + sparc64_elf_plt_entry_offset & sparc64_elf_plt_ptr_offset for reloc. + (sparc64_elf_finish_dynamic_sections): DT_PLTGOT points to .plt. + Call sparc64_elf_build_plt. + (elf_backend_want_got_plt): No. + (elf_backend_plt_readonly): No. + (elf_backend_plt_alignment): 8. - * sunos.c (sunos_add_one_symbol): Just pass false, not - info->shared_library, to sunos_create_dynamic_sections. - (sunos_scan_ext_relocs): Don't warn about a reloc in the .text - section. - (sunos_check_dynamic_reloc): Remove .text section assertion. - -Thu Sep 28 18:48:47 1995 Stan Shebs <shebs@andros.cygnus.com> - - * config.bfd: Add powerpc-*-macos*, powerpc-*-mpw*. - * configure, configure.in: Add pmac_xcoff_vec case. - * Makefile.in (BFD32_BACKENDS): Add coff-pmac.o. - * coff-pmac.c: New file, PowerMac XCOFF support. - * coffcode.h (coff_set_arch_mach_hook): Add PowerMac case. - * targets.c (pmac_xcoff_vec): Declare. - - * mpw-config.in: Various changes to be compatible with the - autoconf-based configury. - * mpw-make.sed: New file, sed commands to translate Unix - makefile into MPW syntax. - * mpw-make.in: Remove. - * hosts/mpw.h: Remove. - * bfd-in.h, bfd-in2.h: If MPW, include the file that defines - true and false as enums, then define TRUE_FALSE_ALREADY_DEFINED. - -Thu Sep 28 17:06:23 1995 steve chamberlain <sac@slash.cygnus.com> - - * binary.c (binary_get_symtab): Return an empty string on error. - * opncls.c (bfd_fdpenr): Change WIN32 restriction to WINGDB. - -Thu Sep 28 15:30:44 1995 Kim Knuttila <krk@nellie> - - * coff-ppc.c: Reformatted according to gnu conventions - Removed irrelevant "if 0" code - -Thu Sep 28 11:19:53 1995 Ian Lance Taylor <ian@cygnus.com> - - * hp300hpux.c (convert_sym_type): Treat secondary symbols as weak - symbols rather than as indirect symbols. - (MY(slurp_symbol_table)): Don't do anything special about - secondary symbols. - - * coffcode.h (coff_new_section_hook): Make sure that the alignment - of .ctors and .dtors sections is no larger than 2. - - * sunos.c (sunos_add_one_symbol): Don't change - bfd_link_hash_common to bfd_link_hash_new, since it may be on the - undef list. - (bfd_sunos_record_link_assignment): Don't put __DYNAMIC in the - dynamic symbols when creating a shared library. - (sunos_scan_ext_relocs): Handle relocs correctly when creating a - shared library. - (sunos_scan_dynamic_symbol): Don't mark the __DYNAMIC symbol as - written even if it is not defined in a regular object. - (sunos_write_dynamic_symbol): Use plt_offset for the address of - the jump table reloc. Add an assertion. Use RELOC_JMP_SLOT - rather than the constant 22. - (sunos_check_dynamic_reloc): Handle creating a shared library. - (sunos_finish_dynamic_link): Set the first entry in the GOT to - zero when creating a shared library. - * aoutx.h (NAME(aout,final_link)): If there is a symbol __DYNAMIC, - write it out at the start of the symbol table. - - * Makefile.in (BFD32_BACKENDS): Add coff-arm.o. - -Thu Sep 28 00:58:05 1995 Doug Evans <dje@deneb.cygnus.com> - - * config.bfd: Add arm-*-coff. - * configure.in, configure: Add armcoff_{little,big}_vec. - * targets.c (armcoff_{little,big}_vec): Declare. - (bfd_target_vector): Add armcoff_{little,big}_vec. - * coff-arm.c (armcoff_{little,big}_vec): Always define. - -Wed Sep 27 10:37:14 1995 Ian Lance Taylor <ian@cygnus.com> - - * targets.c (bfd_find_target): Remove debugging code. - -Wed Sep 27 07:23:39 1995 Kim Knuttila <krk@nellie> - - * coff-ppc.c, pe-ppc.c, pei-ppc.c: Initial bfd for coff/PE - support on powerpc. - * Makefile.in: added *-ppc files - * coffcode.h: ppc MAGIC, and use peicode.h rather than coffswap.h to - allow pe based .o's to be shared with other tools on ppc/NT - * config.bfd: added powerpc[le]-[pe|winnt] config support - * configure, configure.in: added bfd_powerpc[le]_pe[i]_vec - * peicode.h: Added more section flags for PE on ppc - Added coff_swap_filehdr_out to allow peicode.h to be - used for non-image PE files on ppc. - Check for image, or not, before copying pe_opthdr - * targets.c: Added new bfd's - * targets.c: Removed two inactive bfds that shouldn't have made it this - far. - -Tue Sep 26 14:06:41 1995 Michael Meissner <meissner@tiktok.cygnus.com> - - * elf32-ppc.c (ppc_reloc_type): Rename from reloc_type, and use - explicit values to initialize all relocs. Change all users. - (ppc_elf_brtaken_inner): New function to handle branch predicition - relocs. - (ppc_elf_brtaken_reloc): Ditto. - (ppc_elf_howto_raw): Use new functions. Make sure all unsupported - relocs use ppc_elf_unsupported_reloc. - (ppc_elf_merge_private_bfd_data): Keep track of whether an error - needs to be reported. - (ppc_elf_relocate_section): Support branch prediction relocs. - -Tue Sep 26 12:48:05 1995 Ian Lance Taylor <ian@cygnus.com> - - * bfd.c (bfd_assert): Remove \n from string passed to - _bfd_error_handler. - - * coff-i386.c: (TWO_DATA_SECS): Don't define. - * coffcode.h (bfd_coff_backend_data): Remove _bfd_make_section_hook. - (bfd_coff_make_section_hook): Don't define. - (coff_make_section_hook): Remove. - (sec_to_styp_flags): Remove TWO_DATA_SECS case. - (styp_to_sec_flags): Likewise. - (coff_write_object_contents): Likewise. - (bfd_coff_std_swap_table): Don't initialize make_section_hook - field. - * libcoff.h: Rebuild. - * coffgen.c (make_a_section_from_file): Just call - bfd_make_section_anyway, not bfd_make_section or - bfd_coff_make_section_hook. - * ecoff.c (_bfd_ecoff_make_section_hook): Remove. - * libecoff.h (_bfd_ecoff_make_section_hook): Don't declare. - * coff-alpha.c (alpha_ecoff_backend_data): Don't initialize - make_section_hook field. - * coff-mips.c (mips_ecoff_backend_data): Likewise. + * elf.c (_bfd_elf_close_and_cleanup): New function; free the shstrtab. + * elf-bfd.h (_bfd_elf_close_and_cleanup): Declare it. + * elfxx-target.h (bfd_elfNN_close_and_cleanup): Arrange for it + to be called. - * aoutx.h (translate_from_native_sym_flags): Don't try to stuff - pointers into value field for warning and indirect symbols; just - leave the value field alone. - * linker.c (generic_link_add_symbol_list): Use next symbol for - warning and indirect symbols, rather than looking in symbol value. - * ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr - parameter. Change all callers. Remove support for indirect - symbols; it didn't work anyhow. - (_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable. - * syms.c: Change comments about BSF_WARNING and BSF_INDIRECT. - * bfd-in2.h: Rebuild. +Tue Jan 27 21:45:15 1998 Jeffrey A Law (law@cygnus.com) -Mon Sep 25 16:04:09 1995 Michael Meissner <meissner@tiktok.cygnus.com> + * archures.c (bfd_mach_mips*): Add definitions for various MIPS + processors. + * cpu-mips.c (arch_info_struct): Add mips variants. + * bfd-in2.h: Rebuilt. - * elf32-ppc.c (ppc_elf_howto_raw): For all 14-bit branch relocs, - go back to telling the tools this reloc operates on 32 bits. +Tue Jan 27 15:06:04 1998 Nick Clifton <nickc@cygnus.com> -Mon Sep 25 11:48:02 1995 Ian Lance Taylor <ian@cygnus.com> + * coff-arm.c (coff_arm_relocate_section): Preserve the contents of + t2a3_b_insn. - * aout-adobe.c (aout_adobe_callback): Use _bfd_error_handler - rather than a direct fprintf. - * archive.c (_bfd_write_archive_contents): Likewise. - * coffcode.h (coff_slurp_symbol_table): Likewise. - * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Likewise. - (ppc_elf_unsupported_reloc): Likewise. - (ppc_elf_relocate_section): Likewise. - * i386linux.c (linux_tally_symbols): Likewise. - (linux_finish_dynamic_link): Likewise. - * osf-core.c (osf_core_core_file_p): Likewise. - * rs6000-core.c (rs6000coff_get_section_contents): Likewise. - * som.c (som_sizeof_headers): Likewise. - * srec.c (srec_bad_byte): Likewise. - * bfd.c (bfd_assert): Likewise. Also change file to be const. - * libbfd-in.h (bfd_assert): Declare first parameter const. - * libbfd.h: Rebuild. - * coff-a29k.c (a29k_reloc): Don't bother to fprintf; returning - bfd_reloc_overflow is enough. - * coff-h8300.c (rtype2howto): Don't bother to fprintf; just abort. - * coff-h8500.c (rtype2howto): Likewise. - * coff-z8k.c (rtype2howto): Likewise. - * coffcode.h (dummy_reloc16_extra_cases): Likewise. - * elf.c (_bfd_elf_get_lineno): Likewise. - (_bfd_elf_no_info_to_howto): Likewise. - (_bfd_elf_no_info_to_howto_rel): Likewise. - * hp300hpux.c (convert_sym_type): Likewise. - (MY(swap_std_reloc_in)): Likewise. - * elf.c (bfd_section_from_shdr): Remove #if 0 sections. - - * libaout.h (struct aoutdata): Add line_buf field. - * aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer - and filename_buffer. Instead, use a malloc buffer stored in the - new line_buf field. Remove length restrictions. - - * coffgen.c (string_size): Remove static variable. - (debug_string_size, debug_string_section): Likewise. - (coff_fix_symbol_name): Add string_size_p, debug_string_section_p, - and debug_string_size_p parameters. Use them instead of the - global variables. Change all callers. - (coff_write_symbol): Likewise. - (coff_write_alien_symbol, coff_write_native_symbol): Likewise. - (coff_write_symbols): Add local variables to replace removed - global variables. - - * libcoff-in.h (struct coff_section_tdata): Add offset, i, - function, and line_base fields. - * libcoff.h: Rebuild. - * coffgen.c (coff_find_nearest_line): Use section tdata to cache - information, rather than using static variables. +Tue Jan 27 12:47:27 1998 Robert Lipe <robertl@dgii.com> - * sunos.c (sunos_read_dynamic_info): Adjust offsets in an NMAGIC - file. From Peter DeWolf <pld@amt.tay1.dec.com>. + * config.bfd (i[3456]86-sco3.2v5*): ELF now the default. + (i[3456]86sco3.2v5*coff): New target. - * init.c (initialized): Remove static variable. - (bfd_init): Don't bother setting initialized. - (bfd_check_init): Remove. - * opncls.c (_bfd_new_bfd): Don't call bfd_check_init. - * libbfd.h: Rebuild. +Mon Jan 26 15:41:30 1998 Ian Lance Taylor <ian@cygnus.com> -Sat Sep 23 01:22:23 1995 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) - - * rs6000-core.c (rs6000coff_core_p): Don't check the core file - size for full core dumps. Copy core file header to private data. - (rs6000coff_core_file_failing_command, - rs6000coff_core_file_failing_signal): New functions to extract - the file name and terminating signal from the core file. - * coff-rs6000.c: Use them. - -Fri Sep 22 17:44:47 1995 Ian Lance Taylor <ian@cygnus.com> - - Change arch info to be const, initialized at compile time. - * archures.c: Reindent many functions. Change CONST to const. - (bfd_arch_info_type): Make arch_name const. Remove disassemble; - nothing set it anyhow. Make next const. - (bfd_arch_info_list): Remove. - (bfd_archures_list): Rename from archures_init_table. Change from - a table of function pointers to a table of bfd_arch_info_type - structure addresses. - (bfd_scan_arch): Rewrite accordingly. Return a const pointer. - (bfd_lookup_arch): Likewise. - (bfd_set_arch_info): Rewrite accordingly. Change argument to be a - const pointer. - (bfd_default_arch_struct): Make const. - (bfd_arch_init, bfd_arch_linkin): Remove. - (bfd_get_arch_info): Return a const pointer. - * init.c (bfd_init): Don't call bfd_arch_init. - * bfd.c (struct _bfd): Make arch_info const. - * bfd-in2.h: Rebuild. - * libbfd.h: Rebuild. - * configure.in: Put & before everything in $selarchs. - * configure: Rebuild. - * cpu-*.c: Change bfd_*_arch from a function which calls - bfd_arch_linkin to a const structure. - * ieee.c (ieee_object_p): Make arch const. + * bfd-in2.h: Rebuild with changes to chew--tab expansion. -Fri Sep 22 16:23:18 1995 Michael Meissner <meissner@tiktok.cygnus.com> +Thu Jan 22 21:26:48 1998 Richard Henderson <rth@cygnus.com> - * reloc.c (bfd_reloc_code_type): Add relocations to support all of - PowerPC V.4. + * bfd.c (bfd_get_error_handler): Add orthogonal function. * bfd-in2.h: Regenerate. - * libbfd.h: Regenerate. - - * elf32-ppc.c (reloc_type): Update names to match current draft. - (ppc_elf_howto_raw): Mark 14 bit relocs as short sized and PC - relative. Update names to current V.4 draft. - (ppc_elf_reloc_type_lookup): Add support for more relocations. - (ppc_elf_relocate_section): Rename relocations to match draft. - -Thu Sep 21 21:53:18 1995 Michael Meissner <meissner@cygnus.com> - - * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Allow modules - compiled with -mrelocatable-lib to be linked with either normal - modules or -mrelocatable modules. - -Wed Sep 20 12:03:26 1995 Ian Lance Taylor <ian@cygnus.com> - - * coffcode.h (coff_write_object_contents): Clear the vstamp field - in the a.out header. - - * aoutx.h (NAME(aout,swap_ext_reloc_out)): Don't set r_extern for - a reloc against a local symbol, even if it's not a section. - -Tue Sep 19 17:02:26 1995 Ian Lance Taylor <ian@cygnus.com> - - * targets.c (bfd_target): Remove unused align_power_min field. - * bfd-in2.h: Rebuild. - * All backends: Remove initialization of align_power_min. - -Tue Sep 19 14:02:21 1995 steve chamberlain <sac@slash.cygnus.com> - - * peicode.h (coff_swap_scnhdr_out): Get sizes for BSS right. - -Mon Sep 18 14:35:01 1995 Arne H. Juul <arnej@pvv.unit.no> - * config.bfd (mips-dec-netbsd*): New target. - * configure.host (mips-dec-netbsd*): New host. - * configure.in (mips-dec-netbsd*): New native. - * configure: Rebuild. - -Fri Sep 15 10:24:36 1995 Ian Lance Taylor <ian@cygnus.com> - - Make the COFF backend linker merge common types: - * cofflink.c (struct coff_debug_merge_element): Define. - (struct coff_debug_merge_type): Define. - (struct coff_debug_merge_hash_entry): Define. - (struct coff_debug_merge_hash_table): Define. - (coff_debug_merge_hash_table_init): Define. - (coff_debug_merge_hash_table_free): Define. - (coff_debug_merge_hash_lookup): Define. - (struct coff_final_link_info): Add debug_merge field. - (coff_debug_merge_hash_newfunc): New static function. - (_bfd_coff_final_link): Allocate and free debug_merge table. - (coff_link_input_bfd): Merge identical enum, struct and union - types. - -Thu Sep 14 14:53:58 1995 Ian Lance Taylor <ian@cygnus.com> - - Convert i960 COFF to use COFF backend linker. - * coff-i960.c (coff_i960_relocate): Use a coff_section_data - structure to store the symbol being used. - (coff_i960_start_final_link): New static function. - (coff_i960_relocate_section): New static function. - (coff_i960_adjust_symndx): New static function. - (coff_start_final_link): Define. - (coff_relocate_section): Define. - (coff_adjust_symndx): Define. - * coffcode.h (bfd_coff_backend_data): Add new callback function - _bfd_coff_start_final_link. - (bfd_coff_start_final_link): Define. - (coff_start_final_link): Define if not defined. - (bfd_coff_std_swap_table): Add coff_start_final_link. - * cofflink.c (_bfd_coff_internal_syment_name): Make globally - visible. - (_bfd_coff_final_link): Call bfd_coff_start_final_link if the - function callback is not NULL. - * libcoff-in.h (struct coff_section_tdata): Add tdata field. - (_bfd_coff_internal_syment_name): Declare. - * libcoff.h: Rebuild. - * configure.in (icoff_big_vec): Add cofflink.o. - (icoff_little_vec): Likewise. - * configure: Rebuild. - -Wed Sep 13 17:38:23 1995 Fred Fish <fnf@rtl.cygnus.com> - - * Makefile.in (clean-info): Remove extraneous tab from line - following action. - -Wed Sep 13 13:27:53 1995 Ian Lance Taylor <ian@cygnus.com> - - * cofflink.c (coff_link_input_bfd): Fail if a section with no - contents has relocs. - -Thu Sep 12 12:45:34 1995 steve chamberlain <sac@slash.cygnus.com> - - * coffcode.h (coff_compute_section_file_positions): Keep the - raw size safe. - (coff_write_object_contents): Remember if it's a relocatable - file. - * libcoff-in.h (pe_data_type): New member 'has_reloc_section' - * peicode.h (coff_swap_filehdr_out): Clear not-reloc flag - if relocatable file. Swap out saved raw size. - -Tue Sep 12 12:14:33 1995 Ian Lance Taylor <ian@cygnus.com> - - * Makefile.in (do_maintainer_clean): Rename from do_realclean. - (maintainer-clean): Rename from realclean, passing - maintainer-clean down to subdirectories, but leave realclean as a - synonym. - - * linker.c (_bfd_generic_link_add_one_symbol): Pass symbol name to - warning callback. - - * dep-in.sed: Remove config.h from generated dependencies. - - * sunos.c (sunos_slurp_dynamic_symtab): New static function, - broken out of sunos_canonicalize_dynamic_symtab. - (sunos_canonicalize_dynamic_symtab): Call new function - sunos_slurp_dynamic_symtab. - (sunos_add_dynamic_symbols): Add three new parameters. Return the - dynamic symbol table to the caller. - * aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols - callback to override the symbols being read. - * libaout.h (struct aout_backend_data): Add three new parameters - to add_dynamic_symbols callback. - - Extensive minor changes to avoid various gcc warnings. Also: - * Makefile.in (BFD32_BACKENDS): Remove coff-arm.o. - * archures.c (bfd_arch_info_type): Change mach field from long to - unsigned long. - (bfd_lookup_arch): Change machine parameter from long to unsigned - long. - -Mon Sep 11 10:55:47 1995 Ian Lance Taylor <ian@cygnus.com> - - * sunos.c (sunos_scan_std_relocs): Fix BFD_ASSERT: it's OK to find - a symbol with a non-zero plt_offset. - -Fri Sep 8 11:47:24 1995 Ian Lance Taylor <ian@cygnus.com> - - * elfcode.h (align_file_position): Remove; not used. - - * configure.in: Only check for <sys/procfs.h> on a native system, - and make sure it defines prstatus_t. - * configure: Rebuild. - -Thu Sep 7 12:48:01 1995 Ian Lance Taylor <ian@cygnus.com> - - * sunos.c (sunos_write_dynamic_symbol): Correct m68k abort test. - - * config.in: Rename from config.h.in. - * configure.in: Call AC_CONFIG_HEADER with config.h:config.in. - Check for config.h:config.in when creating stamp-h. - * configure: Rebuild. - * Makefile.in (stamp-h): Depend upon config.in rather than - config.h.in. Set CONFIG_HEADERS to config.h:config.in when - calling config.status. - - * Makefile.in (do_distclean): Remove config.h and stamp-h. - (Makefile): Just rebuild Makefile. - (config.h, stamp-h): New targets. - * configure.in: Create stamp-h when rebuilding config.h. - * configure: Rebuild. - -Wed Sep 6 15:00:33 1995 Ian Lance Taylor <ian@cygnus.com> - - * configure.in: Call AC_CONFIG_HEADER. Substitute - HOST_64BIT_LONG. Check that various header files exist. Check - that fcntl exists. Call BFD_BINARY_FOPEN. Check whether malloc - and/or free need to be declared. Don't make a link to sysdep.h. - Define TRAD_HEADER for various hosts. - * configure: Rebuild. - * configure.host: Don't set my_host. Add definitions taken from - host header files for various entries. Remove entries which now - do nothing. - * acconfig.h: New file. - * config.h.in: New file, built by autoheader. - * sysdep.h: New file. - * Makefile.in (do_distclean): Don't remove sysdep.h. - (RECONFIG): Remove. - (LOCAL_H_DEPS): New variable. - ($(BFD_LIBS)): Use $(LOCAL_H_DEPS) rather than libbfd.h and - $(RECONFIG). - ($(BFD_MACHINES), $(BFD_BACKENDS)): Likewise. - ($(OPTIONAL_BACKENDS)): Likewise. - (stmp-bfd.h): Just substitute for BFD_HOST_64BIT_LONG, rather than - looking through sysdep.h. - * bfd-in.h (BFD_HOST_64BIT_LONG): Define; set by Makefile. - (BFD_HOST_64_BIT): Define based on BFD_HOST_64BIT_LONG. - (fprintf_vma, sprintf_vma): Likewise. - (int64_type, uint64_type): Don't define. - * bfd-in2.h: Rebuild. - * archures.c, bfd.c, srec.c: Include <ctype.h>. - * elfcore.h: Check HAVE_SYS_PROCFS_H rather than HAVE_PROCFS. - * lynx-core.c: Include stuff from old hosts/lynx.h. - * opncls.c (bfd_fdopenr): Check HAVE_FNCTL and defined (F_GETFL), - rather than NO_FCNTL. - * targets.c (bfd_target_list): Check HOST_HPPAHPUX and ! __STDC__ - rather than NATIVE_HPPAHPUX_COMPILER. - * trad-core.c: Don't include <errno.h>. Include TRAD_HEADER if it - is defined. - * hosts/*.h: Remove all header files which merely include, - declare, and define things. Leave header files which define - information needed by trad-core.c. - - * aclocal.m4 (BFD_BINARY_FOPEN): Define. - (BFD_CC_FOR_BUILD): Define. - * configure.in: Use BFD_CC_FOR_BUILD. - * configure: Rebuild. - -Tue Sep 5 19:35:28 1995 Ian Lance Taylor <ian@cygnus.com> - - * aclocal.m4: Don't try to grep ../Makefile if it doesn't exist. - * configure: Rebuild. - - * coff-sparc.c (CALC_ADDEND): Don't set the addend to the value of - a global symbol. - -Tue Sep 5 12:48:26 1995 Jason Molenda (crash@phydeaux.cygnus.com) - - * config.bfd: i386pe_ve -> i386pe_vec. - -Mon Sep 4 14:02:43 1995 Ian Lance Taylor <ian@cygnus.com> +Thu Jan 22 21:13:39 1998 Richard Henderson <rth@cygnus.com> - * configure.host: Incorporate host Makefile fragments by setting - shell variables. - * configure.in: Call AC_PROG_CC. Substitute CFLAGS, HDEFINES and - AR. Call AC_PROG_INSTALL. Substitute CC_FOR_BUILD, choosing a - value based on whether the code is being compiled by a cross - compiler. Don't substitute host_makefile_frag or frags. - * aclocal.m4: New file to define local AC_PROG_CC. - * configure: Rebuild. - * Makefile.in (INSTALL): Set to @INSTALL@. - (INSTALL_PROGRAM): Set to @INSTALL_PROGRAM@. - (INSTALL_DATA): Set to @INSTALL_DATA@. - (AR): Set to @AR@. - (CC): Define as @CC@. - (CFLAGS): Set to @CFLAGS@. - (CC_FOR_BUILD): Set to @CC_FOR_BUILD@. - (@host_makefile_frag@): Remove. - (ALL_CFLAGS): Change $(HDEFINES) to @HDEFINES@. Move $(CFLAGS) - after other options. - (config.status): Remove dependency upon @frags@. - * config/*.mh, config/README: Remove. - - * config.bfd: Rewrite to incorporate the contents of the Makefile - fragments by setting shell variables, rather than merely returning - the name of a Makefile fragment. - * configure.in: Use shell variables set by config.bfd rather than - looking at the target Makefile fragment files. Don't substitute - target_makefile_frag. Do substitute TDEFINES. - * configure: Rebuild. - * Makefile.in (@target_makefile_frag@): Remove. - (ALL_CFLAGS): Change $(TDEFINES) to @TDEFINES@. - * config/*.mt: Remove. + * tekhex.c (tekhex_write_object_contents): Check for no symbols. -Mon Sep 4 03:13:28 1995 Ken Raeburn <raeburn@cygnus.com> +Wed Jan 21 21:19:03 1998 Ian Lance Taylor <ian@cygnus.com> - * configure.in: Put changequote lines around "i[345]86" patterns - section of core file support. + * coff-i386.c (coff_i386_rtype_to_howto): If COFF_WITH_PE, don't + adjust addend for an output common symbol (from Jimmy Blair + <jimmyb@wrs.com>). If COFF_WITH_PE, adjust addend for PC relative + defined symbol to counteract adjustment made in generic relocation + code. -Sun Sep 3 11:31:58 1995 Jeff Law (law@snake.cs.utah.edu) + * dwarf2.c: Include sysdep.h, not stdio.h and stdlib.h. - * som.c (som_bfd_print_private_bfd_data): Define to use the - generic version. +Wed Jan 21 21:16:06 1998 Manfred Hollstein <manfred@s-direktnet.de> -Fri Sep 1 17:08:40 1995 steve chamberlain <sac@slash.cygnus.com> + * coff-m88k.c (GET_SCNDHR_NRELOC): Fix typo in macro name. + (GET_SCNDHR_NLNNO): Likewise. - * peicode.h (coff_swap_aouthdr_in): Add ImageBase to - entry, text_start and data_start. +Mon Jan 19 12:49:52 1998 Ian Lance Taylor <ian@cygnus.com> -Fri Sep 1 18:06:28 1995 Ian Lance Taylor <ian@cygnus.com> + * cpu-sh.c (arch_info_struct): Correct next field of sh3e. - * Makefile.in (OFILES): Remove $(TDEPFILES). - * config/apollo.mt (TDEPFILES): Remove. - * config/README: Update. +Wed Jan 14 17:23:27 1998 Nick Clifton <nickc@cygnus.com> - * configure.in: For a native configuration, set COREFILE and - COREFLAG based on the canonical host name. - * configure: Rebuild. - * Makefile.in: Rebuild dependencies. - (ALL_CFLAGS): Add @COREFLAG@. - (OFILES): Replace $(HDEPFILES) with @COREFILE@. - * coff-rs6000.c: Check AIX_CORE rather than HOST_AIX for core file - support routines. Check LYNX_CORE rather than HOST_LYNX. - * lynx-core.c: Check LYNX_CORE rather than HOST_LYNX. - * i386lynx.c: Likewise. - * m68klynx.c: Likewise. - * sparclynx.c: Likewise. - * rs6000-core.c: Check AIX_CORE rather than HOST_AIX. - * *-core.c: Comment changes. - * config/decstation.mh (HDEPFILES): Remove. - (HDEFINES): Remove -DTRAD_CORE. - * config/irix3.mh (RANLIB): Remove. - * config/irix4.mh (HDEPFILES, RANLIB): Remove. - (HDEFINES): Remove -DIRIX_CORE. - * config/riscos.mh (RANLIB, HDEPFILES): Remove. - (HDEFINES): Remove -DTRAD_CORE. - * config/ncr3000.mh (AR_FLAGS, RANLIB): Remove. - * config/ultra3.mh (RANLIB): Remove. - * config/aix4.mh, config/alphaosf.mh, config/amix.mh: Remove. - * config/apollo.mh, config/delta68.mh, config/delta88.mh: Remove. - * config/dpx2.mh, config/esix.mh, config/harris.mh: Remove. - * config/hp300.mh, config/hp300bsd.mh, config/hppabsd.mh: Remove. - * config/hppahpux.mh, config/hppaosf.mh: Remove. - * config/i386aix.mh, config/i386bsd.mh: Remove. - * config/i386linux.mh, config/i386mach3.mh: Remove. - * config/i386sco.mh, config/i386v.mh, config/i386v4.mh: Remove. - * config/irix5.mh, config/m88kmach3.mh, config/mipsbsd.mh: Remove. - * config/mipsmach3.mh, config/news-mips.mh: Remove. - * config/news.mh, config/pc532mach.mh, config/riscix.mh: Remove. - * config/rs600.mh, config/rs6000lynx.mh: Remove. - * config/solaris2.mh, config/stratus.mh: Remove. - * config/symmetry.mh, config/sysv4.mh, config/tahoe.mh: Remove. - * config/vaxbsd.mh, config/vaxult.mh, config/vaxult2.mh: Remove. - -Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp> - - * elflink.h (elf_bfd_final_link): Don't change a DT_INIT or - DT_FINI entry if the appropriate symbol is not in the hash table. - - * libelf.h (struct elf_backend_data): Add create_program_headers - and want_hdr_in_seg fields. - * elfxx-target.h (elf_backend_want_hdr_in_seg): Define if not - defined. - (elf_backend_create_program_headers): Likewise. - (elfNN_bed): Initialize create_program_headers and - want_hdr_in_seg. - * elf.c (get_program_header_size): Call create_program_headers - backend routine. - (map_program_segments): Check want_hdr_in_seg backend field. Call - create_program_headers backend routine. - - * elf.c (assign_file_positions_except_relocs): Align non allocated - sections when creating an executable. - - * elfcode.h (elf_swap_phdr_in): Make non static. - (elf_swap_phdr_out): Make non static. - * libelf.h (bfd_elf32_swap_phdr_in): Declare. - (bfd_elf32_swap_phdr_out): Declare. - (bfd_elf64_swap_phdr_in): Declare. - (bfd_elf64_swap_phdr_out): Declare. - - * ecofflink.c (ecoff_collect_shuffle): New static function. - (_bfd_ecoff_get_accumulated_pdr): New function. - (_bfd_ecoff_get_accumulated_sym): New function. - (_bfd_ecoff_get_accumulated_ss): New function. - * libbfd-in.h (_bfd_ecoff_get_accumulated_pdr): Declare. - (_bfd_ecoff_get_accumulated_sym): Declare. - (_bfd_ecoff_get_accumulated_ss): Declare. - * libbfd.h: Rebuild. + * elf32-m32r.c: Add macros to handle NOP insertion. -Fri Sep 1 13:20:25 1995 Ian Lance Taylor <ian@cygnus.com> - - * libecoff.h (_bfd_ecoff_bfd_print_private_bfd_data): Fix typo. - - * elflink.h (elf_link_add_object_symbols): Handle indirect and - warning symbols. If any section is named .gnu.warning.XXX, treat - the contents as a warning to be issued if the symbol XXX is - referenced. - (elf_link_output_extsym): For an indirect or warning symbol, just - output the symbol it points to. - - * linker.c (_bfd_link_hash_newfunc): Don't bother to set bfd_error - if bfd_hash_allocate fails, since it will already be set. - (generic_link_hash_newfunc): Likewise. - (archive_hash_newfunc): Likewise. - (hash_entry_bfd): New static function. - (_bfd_generic_link_add_one_symbol): Pass new arguments to warning - callback. Allocate a new warning using the hash table newfunc. - Use bfd_hash_replace to update the entry in the hash table, rather - than assuming we can copy the fields with structure assignment. - - * hash.c (bfd_hash_replace): New function. - * bfd-in.h (bfd_hash_replace): Declare. - * bfd-in2.h: Rebuild. +Wed Jan 14 16:15:22 1998 Richard Henderson <rth@cygnus.com> -Fri Sep 1 08:12:50 1995 James G. Smith <jsmith@beauty.cygnus.com> + * xcofflink.c (xcoff_mark_symbol): Don't mark the absolute section. + (xcoff_mark): Likewise. + (xcoff_build_ldsyms): Mark absolute symbols. - * config.bfd: Add mips*vr4300-*-elf* target. - * config/mipsbvr4300.mt: Added. +Wed Jan 14 16:03:11 1998 Richard Henderson <rth@cygnus.com> -See file ChangeLog.2 + * bout.c (b_out_write_object_contents): Sort symbols before output + to keep {CALL,BAL}NAME symbols adjacent. + (b_out_symbol_cmp): New function. +For older changes see ChangeLog-9697 Local Variables: mode: change-log |