X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2FChangeLog;h=c98c08d612d67f120fa155ff469895d26b6d4565;hb=e336470145cab9956a5e780edcc85f2471aadc36;hp=541611d884bcb6c32458cf3f52ff002aa31485c8;hpb=0f4161ddd0308c2b277d8f634aeb22149171bf9d;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 541611d884..c98c08d612 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,934 @@ +Mon Jul 10 11:45:55 1995 Ken Raeburn + + * makefile.dos (OBJS): Add binary.o and tekhex.o. From DJ + Delorie. + +Mon Jul 10 11:09:58 1995 Ian Lance Taylor + + * aoutx.h (NAME(aout,link_hash_table_create)): Allocate hash table + using bfd_alloc, not malloc. + * cofflink.c (_bfd_coff_link_hash_table_create): Likewise. + * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise. + * i386linux.c (linux_link_hash_table_create): Likewise. + * linker.c (_bfd_generic_link_hash_table_create): Likewise. + * sunos.c (sunos_link_hash_table_create): Likewise. + + Based on patches from Eric Youngdale : + * elflink.h (NAME(bfd_elf,size_dynamic_sections)): If -Bsymbolic, + output a DT_SYMBOLIC dynamic entry. + (elf_adjust_dynamic_symbol): If -Bsymbolic, don't require a PLT + entry for a locally defined symbol. + * elf32-i386.c (elf_i386_relocate_section): If -Bsymbolic, do warn + about undefined symbols, and fill in the GOT entry for a symbol + defined in a regular object file. + (elf_i386_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE + reloc rather than a GLOB_DAT reloc for a symbol defined in a + regular object file. + * elf32-m68k.c (elf_m68k_relocate_section): If -Bsymbolic, do warn + about undefined symbols, and fill in the GOT entry for a symbol + defined in a regular object file. + (elf_m68k_finish_dynamic_symbol): If -Bsymbolic, output a RELATIVE + reloc rather than a GLOB_DAT reloc for a symbol defined in a + regular object file. + * elf32-sparc.c (elf32_sparc_relocate_section): If -Bsymbolic, do + warn about undefined symbols, and fill in the GOT entry for a + symbol defined in a regular object file. + (elf32_sparc_finish_dynamic_symbol): If -Bsymbolic, output a + RELATIVE reloc rather than a GLOB_DAT reloc for a symbol defined + in a regular object file. + + * config/m68k-coff.mt (SELECT_VECS): Rename from SELECT_VECTORS. + Correct elements to be actual BFD vector names. + + * Makefile.in (Makefile): Don't depend upon @frags@. + (config.status): Depend upon @frags@. + +Fri Jul 7 17:36:44 1995 Ian Lance Taylor + + * coffgen.c (coff_renumber_symbols): Sort defined symbols that are + neither BSF_FUNCTION not BSF_NOT_AT_END just before undefined + symbols. + * coffcode.h (coff_slurp_symbol_table): Set BSF_FUNCTION as well + as BSF_NOT_AT_END. + +Fri Jul 7 17:16:15 1995 Ken Raeburn + + * Makefile.in (do_mostlyclean): Remove config.log. + (do_distclean): Remove config.cache. + +Thu Jul 6 14:37:43 1995 Ian Lance Taylor + + * elf32-i386.c (elf_i386_relocate_section): Revert May 24 patch. + Don't copy PC32 reloc against section into shared object. + + * Makefile.in: Rebuild dependencies. + (CFILES): Added elflink.c. + (Makefile): Depend upon config.status, not configure.in. + (config.status): New target; depend upon configure configure.host + and config.bfd. + +Wed Jul 5 20:17:14 1995 Ken Raeburn + + * elfcore.h, elflink.h, elfcode.h, elf.c, elflink.c: Moved some + primarily size-independent code from elfcode.h to elf.c and new + file elflink.c; moved out other core- or linker-related routines + into other new .h files for clarity. Renamed many routines to + start with bfd_elf or _bfd_elf. Added a structure of + size-dependent but target-independent info to elfcode.h. + * Makefile.in: Build elflink.o. Update dependencies. + * libelf.h: Updated some declarations. Added a definition for the + new structure in elfcode.h. Added more fields to elf backend data + structure. + * elfxx-target.h: Refer to the appropriate size-dependent info. + * elf32-*.c: Changed some function names. Moved common + create_dynamic_sections code from m68k, sparc, and i386 support + into elflink.c. Define some new macros to fill in new fields of + back end data. Also clean up some "gcc -Wall" warnings regarding + unused or uninitialized variables. + + * Makefile.in (BFD_LIBS): No, don't put elflink.o here. + * configure.in: Include it here whenever elf.o is specified. + +Wed Jul 5 10:31:47 1995 Ian Lance Taylor + + * elf32-mips.c (mips_elf_object_p): Unconditionally set + elf_bad_symtab, since sometimes the symbol table is messed up and + the last symbol is global. + + * ecoff.c (_bfd_ecoff_bfd_is_local_label): New function. + * libecoff.h (_bfd_ecoff_bfd_is_local_label): Declare. + * elf32-mips.c (mips_elf_is_local_label): New static function. + (bfd_elf32_bfd_is_local_label): Define. + + * configure.in: Use $ac_config_sub, not $configsub. + * configure: Likewise. + + Permit --enable-targets=ieee: + * config.bfd (*-*-ieee*): New target. + * config/ieee.mt: New file. + +Wed Jul 5 04:16:35 1995 Ken Raeburn + + * config/i386aix.mh (HDEFINES): Remove -DFASCIST_FDOPEN. + + Autoconfiscation: + * configure.in, Makefile.in, doc/Makefile.in: Switch from Cygnus + configure to autoconf ways of processing --enable arguments, + setting up symlinks, incorporating makefile fragments, printing + messages at configuration time, setting variables in Makefile. + Deleted some unused variables. Check for ranlib via autoconf. + For now, configure script removes doc/config.status. + * configure: New file. + * dep-in.sed: Use @SRCDIR@ instead of @srcdir@, so Makefile.in + line doesn't get broken by configure. + * doc/configure.in: Removed. + +Tue Jul 4 12:22:21 1995 Ian Lance Taylor + + * archive.c (_bfd_construct_extended_name_table): If + BFD_TRADITIONAL_FORMAT is set, limit the length of all file names + to ar_max_namelen. + (bfd_dont_truncate_arname): If BFD_TRADITIONAL_FORMAT is set, call + bfd_bsd_truncate_arname. + (_bfd_write_archive_contents): Revert June 1 change. + + * elfcode.h (NAME(bfd_elf,record_link_assignment)): Add provide + argument. + * bfd-in.h (bfd_elf32_record_link_assignment): Update prototype. + (bfd_elf64_record_link_assignment): Likewise. + * bfd-in2.h: Rebuild. + + * libelf.h (struct elf_link_hash_table): Add needed field. Remove + saw_needed field. + * elfcode.h (elf_link_add_object_symbols): If elf_dt_needed_name + is an empty string, don't make a DT_NEEDED entry in the output + file. Record all DT_NEEDED entries found in input dynamic + objects. + (elf_link_output_extsym): Don't check saw_needed when issuing + warnings. + * elf.c (_bfd_elf_link_hash_table_init): Initialize needed, not + saw_needed. + (bfd_elf_get_needed_list): New function. + * bfd-in.h (struct bfd_elf_link_needed_list): Define. + (bfd_elf_get_needed_list): Define. + * bfd-in2.h: Rebuild. + + * ecoff.c (_bfd_ecoff_find_nearest_line): Also initialize + find_buffer and fdrtab_len fields of newly allocated + find_line_info structure. + +Mon Jul 3 17:03:52 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (hppa_som_gen_reloc_type): New argument "sym_diff", + nonzero when we're generating relocations for an expression + using the difference of two symbols. All callers changed. + Handle difference of symbols for both R_HPPA and R_COMPLEX + cases. + (som_write_fixups): Handle R_COMP1, R_COMP2 and R_CODE_EXPR + fixups. + +Mon Jul 3 13:55:18 1995 Steve Chamberlain + + * config.bfd (win32): New configuration. + * configure.host (pe): Changed to i386win32. + * config/i386pe.mh: Deleted. + * config/i386win32.mh: New file. + +Mon Jul 3 11:30:45 1995 Ian Lance Taylor + + * ecoff.c (_bfd_ecoff_find_nearest_line): If we allocate + find_line_info, clear the fdrtab field. + + * targets.c (enum bfd_flavour): Add bfd_target_msdos_flavour here, + rather than in bfd-in2.h. + + * bfd.c (enum bfd_error): Define bfd_error_no_armap. + (bfd_errmsgs): Add string for bfd_error_no_armap. + * bfd-in2.h: Rebuild. + * ecoff.c (ecoff_link_add_archive_symbols): If an archive has no + armap, set bfd_error_no_armap rather than bfd_error_no_symbols. + * elfcode.h (elf_link_add_archive_symbols): Likewise. + * linker.c (_bfd_generic_link_add_archive_symbols): Likewise. + + * elfcode.h (elf_link_add_object_symbols): Permit common and + indirect symbols in weakdefs BFD_ASSERT. + * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Simplify + BFD_ASSERT to permit some legal, but odd, cases. + * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise. + * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. + + * Makefile.in: Rebuild dependencies. + (BFD32_BACKENDS): Add versados.o. + (CFILES): Add pe-i386.c, pei-i386.c, and versados.c. +start-sanitize-arc + (elf32-arc.o): New target. This target should be removed when + elf32-arc.c can be added to CFILES, after which the automatic + dependency building will handle it. +end-sanitize-arc + +Sun Jul 2 17:49:32 1995 Ian Lance Taylor + + * cofflink.c (_bfd_coff_generic_relocate_section): Cast base_file + to FILE * before using it. + * stab-syms.c: Revert yesterday's patch. + +Sat Jul 1 12:10:42 1995 Fred Fish + + * stab-syms.c (stdio.h): Include prior to libaout.h, which + includes bfdlink.h, which now uses FILE. + +Sat Jul 1 00:11:08 1995 Ken Raeburn + + * elfxx-target.h: New file. + + * libelf.h (struct elf_backend_data): Remove elf_64_p field. + * elfxx-target.h (elfNN_bed): Don't set it. + + * elf32-target.h, elf64-target.h: Deleted. + * Makefile.in (elf32-target.h, elf64-target.h): Build them from + elfxx-target.h. + +Fri Jun 30 16:07:18 1995 Steve Chamberlain + + * cofflink.c (_bfd_coff_generic_relocate_section): Compare + the full text of .reloc or .edata section names. + +Fri Jun 30 15:47:37 1995 Fred Fish + + * cofflink.c (_bfd_coff_generic_relocate_section): + Remove extra '+'. + +Thu Jun 29 17:24:52 1995 Steve Chamberlain + + * coff-h8300.c (COFF_LONG_FILENAMES): Define. + +Wed Jun 28 18:04:42 1995 Steve Chamberlain + + * Makefile.in: versados.o is now conditionally built. + * coffcode.h (add_data_entry): New function. + (coff_write_object_contents): Clean up. Calculate + data entries. + * cofflink.c (_bfd_coff_generic_relocate_section): + .reloc and .edata sections are IMAGE_BASED too. + If there's a base_file then write out base information. + * configure.host (i386-*-pe): New. + * syms.c (coff_section_type): Only scan prefixes. + * targets.c (bfd_target_vector): Versados is now conditionally + built. + * config/m68k-coff.mt: Build versados.o + * hosts/i386pe.h: New file. + +Mon Jun 26 13:53:49 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hpa.c (elf32_hppa_relocate_section): Close comment before + R_PARISC_DPREL21L handling. + +Thu Jun 22 19:28:36 1995 Ken Raeburn + + Sun May 7 11:53:41 MDT 1995 Bryan Ford + + * config/i386-moss.mt: created. + +Thu Jun 22 08:56:10 1995 Steve Chamberlain + + * reloc.c (bfd_perform_relocation): Add case for -ve words. + +Wed Jun 21 13:13:49 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_relocate_section): Don't try to apply a + relocation against an undefined symbols. + +Wed Jun 21 10:16:10 1995 Steve Chamberlain + + * versados.c: Second pass/rewrite. + +Mon Jun 19 08:40:45 1995 Steve Chamberlain + + * syms.c (coff_section_type): Compare only the front part + of a section name. (bfd/7238) + +Sat Jun 17 09:40:44 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_size_stubs): Set the size of the stub + section if we get an error. + + * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Don't mess + with the operands of an R_PARISC_DPREL21L relocation if the insn + is not "addil ,%r27". + +Fri Jun 16 15:04:47 1995 Stan Shebs + + * bfd-in.h (NT_subsystem, NT_stack_heap): Declare but don't + define. + * bfd-in2.h: Rebuilt. + * bfd.c (NT_subsystem, NT_stack_heap): Define. + +Fri Jun 16 00:07:25 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_bfd_link_link_relocate): Use the right + type field (there are two!) when checking to see if $global$ is + defined. + +Thu Jun 15 14:03:47 1995 Stan Shebs + + * bfd-in.h, bfd-in2.h (bfd_boolean): Rename bfd_true, bfd_false + to bfd_tttrue, bfd_fffalse so as not to conflict with functions. + * coffswap.h (coff_swap_scnhdr_out): Remove version that was + hacked for MPW C. + * mpw-config.in: Set shell vars instead of pasting to makefile + for each configuration, edit coffswap.h to make MPW C not choke. + (i386-unknown-coff, sh-hitachi-hms): Recognize. + * mpw-make.in (BFD_LIBS): Add versados.c.o. + + * versados.c (versados_scan): Properly cast results from bfd_alloc. + +Wed Jun 14 15:27:32 1995 Steve Chamberlain + + * cofflink.c (process_embedded_commands): New function + reads and handles .drectve sections for PE. + (coff_link_input_bfd): Call new function if PE. + +Mon Jun 12 12:09:39 1995 Jeff Law (law@snake.cs.utah.edu) + + * bfd-in.h (bfd_set_section_vma): Case true to a boolean. + (bfd_set_cacheable): Likewise. + * bfd-in2.h: Rebuilt. + +Fri Jun 9 12:20:28 1995 Steve Chamberlain + + * elfcode.h (elf_sort_hdrs): Rewrite to be symmetrical. + +Fri Jun 9 12:49:00 1995 Jeff Law (law@snake.cs.utah.edu) + + * targets.c: Add copy_private_symbol_data and link_split_section + to the target vector. + * libbfd-in.h (_bfd_generic_bfd_copy_private_symbol_data): Define. + (_bfd_nolink_bfd_link_split_section): Likewise. + (bfd_generic_link_split_section): Declare. + * syms.c (bfd_copy_private_symbol_data): Define. + * linker.c (bf_link_split_section): Likewise. + * som.c (som_bfd_copy_private_symbol_data): New function + (som_bfd_link_split_section): Likewise. + * All other targets updated with default versions of new routines. + + * Take out my braindamaged bfd_true/bfd_false changes from earlier + today. Replace with just: + * bfd-in.h: (TRUE_FALSE_ALREADY_DEFINED): Define this if + compiling with g++-2.6 or later. + * bfd-in2.h: Rebuilt. + +Fri Jun 9 07:54:29 1995 Steve Chamberlain + + * versados.c (struct esd, get_4): Lint; use unsigned chars. + + * coff-i960.c (coff_i960_relocate): Compare output section names + when converting for vxworks. + +Wed Jun 7 19:01:30 1995 Ken Raeburn + + * elfcode.h (elf_fake_sections): Permit .scommon or COMMON + sections as random SHT_NOBITS sections, in case a linker script is + strange. + +Tue Jun 6 17:29:32 1995 Steve Chamberlain + + * bfd-in.h (NT_subsystem, NT_stack_heap): Moved from pe.h + * coff-i386.c (coff_i386_rtype_to_howto): Get PE relocs right. + * coffcode.h (coff_mkobject): Set pe tdata bit when using PE. + * cofflink.c (COFF_WITH_PE code): Test on obj_pe bit rather + than conditional compile. + * configure.in: Fix PE dependencies. + * libcoff-in.h (obj_pe): New. + (coff_tdata): Added pe entry. + * libcoff.h: Regenerated. + +Mon Jun 5 09:07:13 1995 Steve Chamberlain + + * coff-a29k.c (coff_a29k_adjust_symndx): Completely parenthesize + macro. + +Mon Jun 5 02:15:20 1995 Ken Raeburn + + Linker support for m68k-elf from Andreas Schwab + : + * elfcode.h (elf_link_add_object_symbols): Check for NULL when + looping through the symbol hashes. + (elf_bfd_final_link): When looking for _init and _fini don't use + the symbol if it is imported from another object. + * elf32-m68k.c: Relocation type changed from REL to RELA. Regular + and dynamic linking support functions added, similar to other elf + targets. + + * config.bfd (i[345]86-*-gnu*): Use ELF configuration. + +Fri Jun 2 18:54:59 1995 Steve Chamberlain + + * versados.c: New file. + * bfd-in2.h (struct _bfd): New field. + * bfd.c (struct _bfd): New field. + * configure.in (versados_vec): New field. + * targets.c (bfd_flavor): Added versados. + +Thu Jun 1 13:51:49 1995 Steve Chamberlain + + * coffcode.h (sec_to_styp_flags, styp_to_sec_flags, + coff_new_section_hook): Any section that starts ".stab" + is now marked as debugging. + +Thu Jun 1 16:15:16 1995 Ken Raeburn + + * archive.c (_bfd_write_archive_contents): Disable extended name + table until it can be made optional, so that native AR has half a + chance on SunOS and HP/UX. + + * linker.c (_bfd_generic_link_output_symbols, case + bfd_link_hash_indirect): Add cast to correct pointer types. + +Sat May 27 21:37:31 1995 J.T. Conklin + + * config.bfd (m68k-bull-sysv*): Added strip_underscore=yes. + (m68k-est-coff): Removed. target does not effect object format. + +Wed May 24 10:52:01 1995 Steve Chamberlain + + * linker.c (_bfd_generic_link_output_symbols): Cope with + indirect symbols. + + * elf32-i386.c (elf_i386_relocate_section): Give error + message when linking to a shared reloc which isn't there. + +Wed May 24 10:40:00 1995 Steve Chamberlain + + Support for ARM-PE. + + * Makefile.in, coffcode.h, config.bfd, configure.in, pe-arm.c, + pei-arm.c, reloc.c, targets.c, config/arm-pe.mt: + Support for ARM COFF/PE. + +Tue May 23 19:24:58 1995 Ken Raeburn + + * bfd.c (bfd_get_relocated_section_contents): Now a function, + tries calling routine from input bfd target vector for + bfd_indirect_link_order. Put a declaration into the header file. + * bfd-in2.h: Regenerated. + * elf32-mips.c (gprel16_with_gp): New function, split out from + mips_elf_gprel16_reloc. + (mips_elf_gprel16_reloc): Call it. If output bfd target vector + isn't elf flavoured, abort, since it's assumed to be elf in some + of this code, including the code that looks up the gp value. + (elf32_mips_get_relocated_section_contents): New function, + modified from bfd_generic_get_relocated_section_contents to deal + with passing gp to gprel16_with_gp. + (bfd_elf32_bfd_get_relocated_section_contents): New macro. + * elf32-target.h (bfd_elf32_bfd_get_relocated_section_contents): + Don't define if already defined. + +Tue May 23 15:58:15 1995 Jeff Law (law@snake.cs.utah.edu) + + * Makefile.in: Install bfdlink.h too. + +Sun May 21 22:25:09 1995 Jeff Law (law@snake.cs.utah.edu) + + * elf32-hppa.c (elf32_hppa_relocate_section): Handle undefined and + notsupported return codes from final_link_relocate (used when + $global$ is undefined or nonexistant). + (elf32_hppa_bfd_link_link_relocate): If $global$ exists, but is + not defined,then return bfd_reloc_undefined. + +Fri May 19 10:00:14 1995 Steve Chamberlain + + * coffswap.h: (IMAGE_BASE): Define to 0 if not. + +Thu May 18 04:24:01 1995 Ken Raeburn + + Wed May 10 14:28:16 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + + * aoutx.h (aout_link_input_section_standard): If defined, call + MY_relocatable_reloc before doing a partial relocation. + + * aout-arm.c: (WRITE_HEADERS): Delete. + (NAME): Define version to override default in aoutx.h + (MY(howto_table)): Reformat. Alter some entries slightly. + (RELOC_ARM_BITS_NEG_{BIG,LITTLE}): Define. + (MY(reloc_howto), MY(put_reloc), MY(relocatable_reloc)): New functions. + (MY_reloc_howto, MY_put_reloc, MY_relocatable_reloc): Define. + (MY(fix_pcrel_26)): Renamed from aoutarm_fix_pcrel_26, return + bfd_reloc_ok not bfd_reloc_continue. + (MY(fix_pcrel_26_done)): Likewise. + (MY(bfd_reloc_type_lookup)): Renamed from aoutarm_reloc_type_lookup. + (MY_bfd_link_hash_table_create, MY_bfd_link_add_symbols, + MY_bfd_final_link): Delete. + (MY_swap_std_reloc_in, MY_swap_std_reloc_out, MY_get_section_contents): + Define. + (aoutx.h): Include it. + (MY(swap_std_reloc_{in,out})): New functions. + Use RELOC_ARM_BITS_NEG_{BIG,LITTLE} to extract negative reloc bit. + (aoutarm_squirt_out_relocs): Delete. + + From: David Taylor (dtaylor@armltd.co.uk) + * config/arm[lb]-aout.mt: New files. + * aout-arm.c: New file. + * config.bfd: Handle arm{,e[lb]}-*-aout + * configure.in: Add vetor for aout_arm_{big,little}_vec. + * reloc.c: New relocation types for the ARM. + * targets.c (aout_arm_{big,little}_vec): declare. + +Tue May 16 10:29:51 1995 Jim Kingdon + + * libbfd.c (bfd_stat): If bfd_cache_lookup returns an error, + return an error to the caller. Call bfd_set_error on errors. + +Tue May 16 14:44:45 1995 Ken Raeburn + + * libcoff-in.h (coff_renumber_symbols): Modified prototypes in + accordance with 11 May libcoff.h change. + +Thu May 11 16:43:14 1995 Steve Chamberlain + + tekhex.c (first_phase): Understand type 0 symbols. + (tekhex_write_object_contents): Fix typo in final record. + +Thu May 11 16:43:14 1995 Steve Chamberlain + + * coff-i960.c (optcall_callback): don't try and optimize + undefined refs. + (coff_write_relocs): Search for broken relocs on the way + out and fix them up. + (coff_renumber_symbols): Calculate and return index of + first undefined symbol. + (coff_write_object_contents): Call coff_renumber_symbols + and coff_write_relocs with the new args. + * libcoff.h: (coff_renumber_symbols, coff_renumber_symbols): + Modified prototypes. + +Thu May 11 16:43:14 1995 Steve Chamberlain + Tom Griest + + Initial support for PE format. + + * Makefile.in, targets.c, configure.in, config.bfd: + Add support for i386-*-winnt and i386-*-pe. + * archive.c (do_slurp_coff_armap): Understand NTPE format + archives. + (_bfd_slurp_extended_name_table): Turn \ in a filename + into /. + * bfd-in.h (bfd_link_subsystem, _bfd_link_stack_heap): New. + * coff-i386.c (howto_table): Conditionalize PCRELOFFSET. + * coffcode.h (IMAGE_BASE): New. + (coff_compute_section_file_positions): Throw away .junk + sections for PE, align symbols. + (coff_write_object_contents): Throw away .junk sections + for PE. Remember info on .idata and .rsrc sections. + Fill in the PE header. + (coff_slurp_symbol_table): PE uses C_SECTION class. + * cofflink.c (_bfd_coff_final_link): Keep PE info up to date. + (_bfd_coff_generic_relocate_section): Cope with PE relocs. + * coffswap.h (coff_swap_{aout/file/scn/sym}hdr_{in/out}): + New code for PE headers. + +Tue May 9 17:01:38 1995 Michael Meissner + + * config.bfd: Add little endian PowerPC support. + * configure.in: Ditto. + * targets.c: Ditto. + * config/ppcle-elf.mt: New file, for little endian PowerPC + support. + * config/ppc-elf.mt: Add little endian powerpc to the BFD + selection vectors. + * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Complain if + linking a different endian object than we expect. + (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME): Define, to provide little + endian support. + +Tue May 2 16:32:24 1995 Jeff Law (law@snake.cs.utah.edu) + + * config.bfd (hppa*-*-lites*): Treat just like hppa*-*-*elf*. + +Tue Apr 25 19:38:43 1995 Ken Raeburn + + * coffgen.c (make_a_section_from_file): Initialize lma same as + vma. + +Tue Apr 25 11:03:21 1995 Jason Molenda (crash@phydeaux.cygnus.com) + + * hosts/std-host.h: #include ansidecl.h 'cause PTR is used in + std-host.h. + +Mon Apr 24 23:56:44 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * hosts/i386linux.h (HAVE_PROCFS): Don't define it. Added lengthy + comment explaining why. + +Mon Apr 24 10:34:02 1995 Michael Meissner + + * hosts/i386linux.h (HAVE_PROCFS): If NO_PROCFS is defined, don't + define HAVE_PROCFS. + +Mon Apr 24 08:33:12 1995 Michael Meissner + + * elf32-ppc.c (ppc_elf_relocate_section): Do not continue + processing unknown symbols to prevent a cascade of errors. + +Fri Apr 21 12:48:48 1995 Ken Raeburn + + Patches from H.J. Lu for Linux ELF core file support. + * elfcode.h (elf_core_file_matches_executable_p) [HAVE_PROCFS]: + Use prpsinfo_t instead of struct prpsinfo, for consistency. + * hosts/i386linux.h (HAVE_PROCFS): Define. + +Thu Apr 20 09:07:39 1995 Steve Chamberlain + + * linker.c (link_action): Do the right thing when a undefined + strong symbol appears after an undefined weak symbol. + +Fri Apr 14 16:51:17 1995 Michael Meissner + + * elf32-ppc.c (ppc_elf_relocate_section): New function to relocate + a whole section for the linker, bypassing bfd_perform_relocation. + (ppc_elf_reloc_type_lookup): New function to map the BFD + enumeration code into a howto structure. + (ppc_elf_howto_raw): Rename from ppc_elf_howto_table. + (ppc_elf_howto_table): New array that maps PowerPC relocation + numbers to howto structures without a linear search. Change from + using bfd_elf_generic_reloc to use ppc_elf_std_reloc. + (ppc_elf_howto_init): Initialize ppc_elf_howto_table from + ppc_elf_howto_raw. + (ppc_elf_reloc_type_lookup): Use a case statement instead of a + loop. + (ppc_elf_std_reloc): Replacement for bfd_elf_generic_reloc. + (ppc_elf_unsupported_reloc): Print a real error message, instead + of calling abort. + (ppc_elf_addr16_ha_inner): Abstract getting adjustment from + ppc_elf_addr16_ha_reloc, so ppc_elf_relocate_section can use it + too. + (ppc_elf_addr16_ha_reloc): Call it. + (ppc_elf_got16_inner): Abstract getting adjustment from + ppc_elf_got16_reloc, so ppc_elf_relocate_section can use it too. + (ppc_elf_got16_reloc): Call it. + (ppc_elf_info_to_howto): Rename from powerpc_info_to_howto. + + * elfcode.h (elf_symbol_from_bfd_symbol): Omit space in debugging + output. + (elf_symbol_flags): Add debug function to decode flags so that + defining DEBUG to be 4 will compile again. + (elf_debug_section): Fix typo in debug output. + +Fri Apr 14 16:03:04 1995 Ken Raeburn + + * config.bfd: Add m68*-*-elf*. + * elf32-m68k.c: Filled out implementation, except for dynamic + linking support. + * reloc.c (enum bfd_reloc_code_real): Added *_GOT_PCREL, *_GOTOFF, + *_PLT_PCREL, *_PLTOFF, *_68K_* relocations for ELF. + * libbfd.h, bfd-in2.h: Regenerated. + +Thu Apr 13 14:28:04 1995 Torbjorn Granlund + + * coff-m68k.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from + 1 to 2. + (bfd_target): Change minimum section alignment from 1 to 2. + +Wed Apr 12 12:40:04 1995 Ken Raeburn + + * aoutx.h (machine_type, case bfd_arch_mips): Treat R8000 like + R6000 and R4000 for now. + +Tue Apr 4 12:28:25 1995 Stan Shebs + + * mpw-config.in: New file, MPW version of configure.in. + * mpw-make.in: New file, MPW version of Makefile.in. + * hosts/mpw.h: New file, MPW host definitions. + * ecoffswap.h (ecoff_swap_pdr_in, ecoff_swap_pdr_in) [MPW_C]: + Alternate versions without ECOFF_64 that chokes MPW C. + * coffswap.h (coff_swap_scnhdr_out): Add alternative version with + partly-expanded macros. + +Thu Mar 30 14:56:21 1995 Ian Lance Taylor + + * reloc.c (bfd_perform_relocation): Don't bother to check for + overflow if the symbol is undefined. + +Thu Mar 30 14:32:26 1995 H.J. Lu (hjl@nynexst.com) + + * config.bfd: Change linux to default to elf. Using + i[345]86-*-linuxaout will build a library which defaults to a.out. + * config/i386-laout.mt: Rename from old config/i386-linux.mt. + * config/i386-linux.mt: Rename from old config/i386-lelf.mt. + Comment out EXTRALIBS. + * config/i386-lelf.mt: Remove. + +Wed Mar 29 12:01:30 1995 Ian Lance Taylor + + * coff-i960.c (coff_i960_relocate): Cache the section symbol in + the used_by_bfd field of the section, to avoid looping for each + reloc. + + * cpu-h8500.c (arch_info_struct): Change name from "H8/300" to + "h8300" for consistency with other cpu-* files. + +Tue Mar 28 15:14:11 1995 Ian Lance Taylor + + * bout.c (b_out_canonicalize_reloc): Handle SEC_CONSTRUCTOR + sections. + (b_out_get_reloc_upper_bound): Likewise. + + * linker.c (generic_link_add_symbol_list): Skip constructor + symbols which the main linker code did not do anything with. + (_bfd_generic_link_output_symbols): Use udata.p if it is set, + rather than looking the symbol up in the hash table. Just pass + through constructor symbols for which udata.p is not set. If the + linker defined the symbol, clear the constructor flag. + +Tue Mar 21 10:50:32 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_set_reloc_info): Sign extend constants from + R_DATA_OVERRIDE fixups. + * libhppa.h (sign_extend): Renamed from sign_ext. Fix. + (low_sign_extend): Likewise. + +Mon Mar 20 22:39:10 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_slurp_symbol_table): Tighten test to determine + what symbols are section symbols. + +Sat Mar 18 01:54:45 1995 Ian Lance Taylor + + * elfcode.h (elf_bfd_link_add_symbols): An empty archive is OK. + +Fri Mar 17 16:29:02 1995 Jeff Law (law@snake.cs.utah.edu) + + * som.c (som_bfd_copy_private_section_data): Just return true when + either the input or output section isn't attached to a SOM BFD. + (som_bfd_copy_private_bfd_data): Similarly for BFD private data. + +Fri Mar 17 11:50:34 1995 Ian Lance Taylor + + * elfcode.h (elf_link_add_object_symbols): Check whether a dynamic + object has already been included, and ignore it the second time. + +Wed Mar 15 11:56:40 1995 Ian Lance Taylor + + * elf32-sparc.c (elf_sparc_howto_table): Change R_SPARC_GOT13 from + complain_overflow_bitfield to complain_overflow_signed. + + * libelf.h (bfd_elf32__write_relocs): Don't declare. + (bfd_elf64__write_relocs): Don't declare. + +Tue Mar 14 05:54:33 1995 Ken Raeburn (raeburn@kr-pc.cygnus.com) + + * stab-syms.c (aout_stab_name): Moved aout_stab_names to be local + to this function. Recoded function to stop using table, to + improve performance (on i486-netbsd host). Left old version + intact under "#if 0" for further performance testing. + +Mon Mar 13 13:48:49 1995 Ian Lance Taylor + + * elfcode.h (write_relocs): Make static. Use PTR argument as a + pointer to a boolean variable set to true if something fails. + Cast to PTR rather than void *. + (sym_is_global): Rewrite for clarity. + (map_program_segments): If the program header size is too small, + call _bfd_error_handler and return failure rather than aborting. + (NAME(bfd_elf,write_object_contents)): Pass boolean variable when + calling write_relocs. + (elf_symbol_from_bfd_symbol): Use BFD_ASSERT rather than abort. + (struct elf_info_failed): Define. + (NAME(bfd_elf,size_dynamic_sections)): Declare variables in inner + blocks. Pass elf_info_failed structure when calling + elf_export_symbol and elf_adjust_dynamic_symbol. + (elf_export_symbol): Treat data argument as elf_info_failed rather + than bfd_link_info. Set failed field on error. + (elf_adjust_dynamic_symbol): Likewise. + (struct elf_finfo_failed): Define. + (elf_bfd_final_link): Pass elf_finfo_failed structure when calling + elf_link_output_extsym. Use BFD_ASSERT rather than abort. + (elf_link_output_extsym): Treat data argument as elf_finfo_failed + rather than elf_final_link_info. Set failed field on error. + (elf_link_input_bfd): Use BFD_ASSERT rather than abort. + (elf_reloc_link_order): Likewise. + + * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Only write + out PLTRELSZ, PLTREL and JMPREL relocs if there is a .rela.plt + section. Solaris 2.4 apparently does not handle empty reloc + information correctly. + + * archive.c (bsd_write_armap): Cast getuid and getgid results to + long, and print with %ld. + +start-sanitize-arc +Sun Mar 12 05:22:10 1995 Doug Evans + + * elf32-arc.c (elf_arc_howto_table): Relocs with implicit addends + don't work too well with zero src_masks. Correct values. +end-sanitize-arc + +Fri Mar 10 16:41:05 1995 Ian Lance Taylor + + * aoutx.h (translate_to_native_sym_flags): Always use the output + section if it is not NULL. + +Thu Mar 9 15:06:25 1995 Ian Lance Taylor + + * coffswap.h (coff_swap_scnhdr_out): If the line number count or + the reloc count does not fit, print an error and return 0. + * coffcode.h (coff_write_object_contents): Check return value of + coff_swap_scnhdr_out. + * ecoff.c (_bfd_ecoff_write_object_contents): Check return value + of bfd_coff_swap_scnhdr_out. + + * bfd.c: Include or , depending upon + ANSI_PROTOTYPES. + (bfd_error_handler_type): New global type. + (_bfd_error_program_name): New static variable. + (_bfd_default_error_handler): New static function. + (_bfd_error_handler): New BFD private global variable. + (bfd_set_error_handler): New globally visible function. + (bfd_set_error_program_name): New globally visible function. + * libbfd-in.h (_bfd_error_handler): Declare. + * bfd-in2.h, libbfd.h: Rebuild. + + * aoutx.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter, + and use it instead of bfd_get_symcount. Check r_index after + setting r_extern based on whether this is a base relative reloc. + (NAME(aout,swap_std_reloc_IN)): Add symcount parameter, and use it + instead of bfd_get_symcount. + (NAME(aout,slurp_reloc_table)): Pass bfd_get_symcount to reloc + swap routines. + * libaout.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter + to declaration. + (NAME(aout,swap_std_reloc_in)): Likewise. + * sunos.c (sunos_canonicalize_dynamic_reloc): Pass + info->dynsym_count to reloc swap routines. + * aout-ns32k.c (MY_swap_std_reloc_in): Add symcount parameter. + * hp300hpux.c (MY(swap_std_reloc_in)): Likewise. + (MY(slurp_reloc_table)): Pass bfd_get_symcount to reloc swap + routine. + * i386lynx.c (NAME(lynx,swap_ext_reloc_in)): Add symcount + parameter. + (NAME(lynx,swap_std_reloc_in)): Likewise. + (NAME(lynx,slurp_reloc_table)): Pass bfd_get_symcount to reloc + swap routines. + +Thu Mar 9 12:04:05 1995 Michael Meissner + + * bfd.c (bfd_merge_private_bfd_data): New function vector to be + called by the linker to merge any private bfd data of the input + files and the output file. Used by the PowerPC ELF support to + check whether -mrelocatable is used for all modules. + (bfd_set_private_flags): New function vector to be called by the + assembler to set private flags. Used by the PowerPC ELF support + to set that a particular object file was assembled with the + -mrelocatable option. + + * targets.c (BFD_JUMP_TABLE_COPY): Add intiialization of the + bfd_merge_private_bfd_data and bfd_set_private_flags function + vectors. + + * bfd-in2.h, libbfd-in.h: Rebuild with bfd.c and targets.c + changes. + + * elf32-ppc.c (ppc_elf_set_private_flags): New function to set the + ELF e_flags field. + (ppc_elf_copy_private_bfd_data): Copy the e_flags field from the + input file to the output file. + (ppc_elf_merge_private_bfd_data): Check for a mismatch between the + e_flags field of all of the linker input files. + + * libelf.h (elf_obj_tdata): Add ppc_flags_init field so that the + PowerPC support can check if compataible e_flags are present. + + * aout-target.h: Add NOP for the bfd_merge_private_bfd_data + and bfd_set_private_flags function vectors. + * coffcode.h: Ditto. + * elf32-target.h: Ditto. + * elf64-target.h: Ditto. + * libbfd.h: Ditto. + * libecoff.h: Ditto. + * som.c: Ditto. + +Wed Mar 8 00:53:54 1995 Ian Lance Taylor + + * cpu-mips.c (arch_info_struct): Add mips:8000 entry. + + * elfcode.h (swap_out_syms): Mark an undefined BSF_WEAK symbol as + STB_WEAK rather than STB_GLOBAL. + +start-sanitize-arc +Tue Mar 7 20:34:43 1995 Doug Evans + + * configure.in (SELECT_VECS): Split bfd_elf32_arc_vec into big/little. + * targets.c (bfd_target_vector): Likewise. + * elf32-arc.c (TARGET_BIG_SYM): Define. + (TARGET_BIG_NAME): Define. + * config/arc-elf.mt (DEFAULT_VECTOR): Set to bfd_elf32_littlearc_vec. + (SELECT_VECS): Add bfd_elf32_bigarc_vec. +end-sanitize-arc + +Tue Mar 7 12:23:47 1995 Ian Lance Taylor + + * coffcode.h (bfd_coff_backend_data): Add new field + _bfd_coff_adjust_symndx. + (bfd_coff_adjust_symndx): Define. + (coff_adjust_symndx): Define as NULL if not already defined. + (bfd_coff_std_swap_table): Initialize new field to + coff_adjust_symndx. + * cofflink.c (coff_link_input_bfd): Call coff_adjust_symndx if it + is defined. + * coff-a29k.c (coff_a29k_adjust_symndx): New static function. + (coff_adjust_symndx): Define before including coffcode.h. + * libcoff.h: Rebuild. + + * format.c (bfd_check_format_matches): Skip binary_vec when + searching through bfd_target_vector. + + * elfcode.h (elf_sort_hdrs): Check SHT_NOBITS before checking + sh_size. + +Mon Mar 6 23:31:36 1995 Doug Evans + + * elfcode.h (elf_sort_hdrs): Keep SHT_NOBITS sections after + !SHT_NOBITS ones. + Mon Mar 6 09:53:08 1995 Jeff Law (law@snake.cs.utah.edu) * cpu-hppa.c (arch_info_struct): Support both PA1.0 and PA1.1