+2001-07-03 Mark Elbrecht <snowball3@softhome.net>
+
+ * bfd.c (bfd_get_sign_extend_vma): Support DJGPP COFF targets.
+
+ * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols from
+ sections being discarded.
+
+2001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * cofflink.c (_bfd_coff_link_input_bfd):
+
+2001-06-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elfcore.h (elf_core_file_p): Call bfd_section_from_phdr directly
+ instead of _bfd_elfcore_section_from_phdr.
+ * elf-bfd.h (_bfd_elfcore_section_from_phdr): Remove.
+ * elf.c (_bfd_elfcore_section_from_phdr): Remove.
+ (_bfd_elfcore_make_pseudosection): Expedite tail-call.
+ (elfcore_grok_prstatus): Likewise.
+ (elfcore_grok_lwpstatus): Likewise.
+ (bfd_get_elf_phdr_upper_bound): Likewise.
+ (elfcore_make_note_pseudosection): Formatting.
+ (_bfd_elfcore_strndup): Formatting.
+ * elf32-mips.c (mips_elf_sym_is_global): Formatting.
+ (_bfd_elf32_mips_grok_prstatus): Expedite tail-call.
+
+2001-06-29 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf-bfd.h: Add prototypes for _bfd_elfcore_make_pseudosection
+ and _bfd_elfcore_strndup.
+ (struct elf_backend_data): Add elf_backend_grok_prstatus
+ and elf_backend_grok_psinfo.
+ * elf.c (_bfd_elfcore_make_pseudosection): New function.
+ (elfcore_grok_prstatus): Use it.
+ (elfcore_make_note_pseudosection): Likewise.
+ (elfcore_strndup): Rename to...
+ (_bfd_elfcore_strndup): Here, and make global.
+ (elfcore_grok_psinfo): Use _bfd_elfcore_strndup.
+ (elfcore_grok_note): Call elf_backend_grok_prstatus
+ and elf_backend_grok_psinfo if available.
+ * elf32-mips.c (_bfd_elf32_mips_grok_prstatus): New function.
+ (_bfd_elf32_mips_grok_psinfo): New function.
+ (elf_backend_grok_prstatus): Define.
+ (elf_backend_grok_psinfo): Define.
+ * elfxx-target.h (elf_backend_grok_prstatus): Default to NULL.
+ (elf_backend_grok_psinfo): Likewise.
+ (elfNN_bed): Include elf_backend_grok_prstatus and
+ elf_backend_grok_psinfo.
+
+2001-06-29 H.J. Lu <hjl@gnu.org>
+
+ * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Check if
+ hplink->sgot is NULL before filling GOT. Checck if hplink->splt
+ is NULL before filling PLT.
+
+2001-06-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_output_extsym): Revert 1999-04-10.
+
+2001-06-27 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (elf32_hppa_check_relocs): Don't make syms dynamic
+ here..
+ (elf32_hppa_adjust_dynamic_symbol): ..nor here..
+ (allocate_plt_and_got_and_discard_relocs): .. instead do so here
+ after gc has run.
+
+ * elf32-hppa.c (RELATIVE_DYNAMIC_RELOCS): Delete.
+ (IS_ABSOLUTE_RELOC): Define.
+ (elf32_hppa_link_hash_entry): Always include reloc_entries field.
+ (hppa_link_hash_newfunc): Always init it.
+ (elf32_hppa_check_relocs): Mark symbols as ELF_LINK_NON_GOT_REF to
+ create COPY relocs only when the reloc is in a read-only section.
+ Instead, allocate space for a dynamic reloc to reference the
+ library symbol directly. Keep track of space we allocate using
+ relocs_entries.
+ (hppa_discard_copies): Delete, and move code to..
+ (allocate_plt_and_got): ..here. Rename to
+ allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic
+ relocs for non-shared link.
+ (elf32_hppa_size_dynamic_sections): Update calls to above.
+ (elf32_hppa_relocate_section): Write out the dynamic relocs used
+ in lieu of COPY relocs.
+
+ * elf32-i386.c (elf_i386_check_relocs): Don't make syms dynamic
+ here..
+ (elf_i386_adjust_dynamic_symbol): ..nor here..
+ (allocate_plt_and_got_and_discard_relocs): .. instead do so here
+ after gc has run.
+ (elf_i386_size_dynamic_sections): Fix a comment.
+ (elf_i386_relocate_section <R_386_32, R_386_PC32>): Rearrange code
+ involved in writing reloc out.
+
+2001-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_check_relocs <R_386_32, R_386_PC32>):
+ Ensure syms are dynamic if we might be emitting a reloc.
+ (allocate_plt_and_got_and_discard_relocs): Don't discard relocs
+ for undefweak or undefined syms..
+ (elf_i386_relocate_section <R_386_32, R_386_PC32>): .. and emit.
+
+ * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Discard
+ relocs without ELF_LINK_HASH_DEF_DYNAMIC set.
+ (elf_i386_relocate_section <R_386_32, R_386_PC32>): Remove
+ redundant bfd_link_hash_defined, bfd_link_hash_defweak test.
+
+2001-06-24 H.J. Lu <hjl@gnu.org>
+
+ * cpu-i960.c (scan_960_mach): Don't modify const char *. Use
+ strncasecmp/strcasecmp instead of strncmp/strcmp.
+
+2001-06-23 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_relocate_section <R_386_32, R_386_PC32>):
+ Check ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined
+ in the regular object file and treat the weak definition as
+ the normal one.
+
+2001-06-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_relocate_section <R_386_GOT32>): Tighten
+ unresolved_reloc test to exclude cases where we use "relocation"
+ before setting it to point into the .got. Reinstate fudge for
+ unresolved relocs in debugging sections.
+
+ * elf32-i386.c (elf_i386_relocate_section): Replace ugly
+ complicated tests for unresolvable relocs with a simple direct
+ scheme using "unresolved_reloc" var.
+
+ * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Rename to
+ elf_i386_dyn_relocs. Update comment.
+ (struct elf_i386_link_hash_entry): Rename pcrel_relocs_copied to
+ dyn_relocs.
+ (elf_i386_adjust_dynamic_symbol): Remove a BFD_ASSERT, change
+ others to aborts.
+ (allocate_plt_and_got_and_discard_relocs): Replace BFD_ASSERT with
+ abort.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ (elf_i386_finish_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise. Tidy R_386_GOT32 and error
+ handling code.
+
+ Avoid creating COPY relocs if possible.
+ * elf32-i386.c (elf_i386_check_relocs): Tweak condition under
+ which .got created. Mark symbols used by R_386_32 and R_386_PC32
+ relocs as ELF_LINK_NON_GOT_REF to create COPY relocs only when the
+ reloc is in a read-only section. Instead, allocate space for a
+ dynamic reloc to reference the library symbol directly. Keep
+ track of space we allocate using pcrel_relocs_copied.
+ (discard_copies): Delete, and move code to ..
+ (allocate_plt_and_got): ..here. Rename to
+ allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic
+ relocs for non-shared link.
+ (elf_i386_size_dynamic_sections): Update calls to above functions.
+ (elf_i386_relocate_section): Write out the dynamic relocs. Add
+ more ugly logic to avoid "unresolvable relocation" error. Use
+ htab shortcut in place of elf_hash_table macro.
+ (elf_i386_finish_dynamic_sections): Allow that dynamic .got may
+ not always be created now.
+
+2001-06-20 Bo Thorsen <bo@suse.co.uk>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix linking of
+ shared libraries.
+
+2001-06-18 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * configure.host (mips64-*-linux): Reformat.
+
+2001-06-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Always
+ allocate local .got space. Use shortcuts from hash table for .got
+ and .plt rather than comparing section names.
+ (elf32_hppa_check_relocs): Use local_plt_refcounts var rather than
+ adjusting index into local_got_refcounts to document what we are
+ really doing.
+ (elf32_hppa_relocate_section): Similarly for local_plt_offsets.
+ Tidy .got and .plt error checking.
+
+2001-06-20 Catherine Moore <clm@redhat.com>
+
+ * elf-bfd.h (struct elf_backend_data):
+ elf_backend_emit_relocs: New field: Function for emitting
+ relocs.
+ elf_backend_count_relocs: New field: Function for determining
+ the number of relocs to be emitted.
+ * elfxx-target.h: Provide default (NULL) values for
+ elf_backend_emit_relocs and elf_backend_count_relocs.
+ * elflink.h (elf_link_size_reloc_section): Make the hash table
+ big enough to hold the relocs counted by either reloc_count or
+ o->reloc_count.
+ (elf_bfd_final_link) emit_relocs: New boolean, set if relocs
+ should be emitted, either because of a command line option
+ stored in the info structure or because the target provides a
+ special reloc emitting function.
+ If the target provides a reloc counting function use it,
+ unless performing a relocatable link or emitting all relocs.
+ Also set the SEC_RELOC flag on any output section which will
+ contain relocs.
+ (elf_link_input_bfd): emit_relocs: New boolean, set if relocs
+ should be emitted, either because of a command line option
+ stored in the info structure or because the target provides a
+ special reloc emitting function.
+ If the target provides a reloc emitting function, use it,
+ unless performing a relocatable link or emitting all relocs.
+
+2001-06-20 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Always
+ allocate local .got space.
+
+2001-06-19 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix creation of
+ dynamic symbols.
+
+2001-06-18 Hans-Peter Nilsson <hp@axis.com>
+
+ * elflink.h (struct elf_assign_sym_version_info): Remove member
+ export_dynamic. All users changed to use info member.
+ NAME(bfd_elf,size_dynamic_sections)): Remove parameter
+ export_dynamic, instead use member in parameter info.
+ * bfd-in.h (bfd_elf32_size_dynamic_sections,
+ bfd_elf64_size_dynamic_sections): Update prototype.
+ * bfd-in2.h: Regenerate.
+
+2001-06-18 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_info_failed): Add a new field, verdefs.
+ (NAME(bfd_elf,size_dynamic_sections): Pass verdefs to
+ elf_export_symbol.
+ (elf_export_symbol): Check eif->verdefs to decide if a symbol
+ should be exported.
+
+2001-06-17 H.J. Lu <hjl@gnu.org>
+
+ * elf32-mips.c (mips_elf_link_hash_entry): Add a new field,
+ readonly_reloc, to record if a relocation in the .rel.dyn
+ section is against a read-only section.
+ (mips_elf_link_hash_newfunc): Initialize the readonly_reloc
+ field to false.
+ (_bfd_mips_elf_check_relocs): Record if there is a relocation
+ in the .rel.dyn section against a read-only section by setting
+ DF_TEXTREL or readonly_reloc.
+ (_bfd_mips_elf_copy_indirect_symbol): Copy readonly_reloc if
+ it is true.
+ (_bfd_mips_elf_adjust_dynamic_symbol): Record DF_TEXTREL if
+ there is a relocation in the .rel.dyn section against a
+ read-only section.
+ (_bfd_mips_elf_size_dynamic_sections): Set DT_TEXTREL if
+ DF_TEXTREL is set.
+
+2001-06-12 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coffcode.h (styp_flags_to_sec_flags): Change to a boolean
+ function. Move flagword result into parameter list. Remove
+ comment about setting bfd_error_handler to intercept failure
+ results.
+ * coffgen.c (make_a_section_from_file): Examine result of
+ calling bfd_coff_styp_to_sec_flags and pass a failure back to
+ caller.
+ * ecoff.h (styp_flags_to_sec_flags): Change to a boolean
+ function. Move flagword result into parameter list.
+ * libcoff.h: Regenerate.
+ * libecoff.h: Regenerate.
+
+2001-06-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * aoutx.h (adjust_z_magic): Only pad the tesxt section if the data
+ section is going to follow it.
+
+2001-06-12 Catherine Moore <clm@redhat.com>
+
+ * elflink.h (elf_gc_propagate_vtable_entries): Replace FILE_ALIGN
+ with the file_align entry from elf_backend_data.
+ (elf_gc_smash_unused_vtentry_relocs): Likewise.
+ (elf_gc_record_vtentry): Likewise.
+
+2001-06-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h: Whitespace changes.
+ (elf_link_read_relocs_from_section): Use "unsigned int" iterator
+ rather than "unsigned char".
+ (elf_link_output_relocs): Likewise.
+ (elf_link_input_bfd): Likewise.
+ (elf_reloc_link_order): LIkewise.
+ * elf.c: s/CONST/const/. Whitespace changes.
+ * elf32-mips.c: Formatting fix.
+
+ * Makefile.am (SOURCE_HFILES): Include xcoff-target.h, remove xcoff.h.
+ * Makefile.in: Regenerate.
+ * po/Make-in: Remove trailing tab.
+
+2001-06-09 Philip Blundell <philb@gnu.org>
+
+ * elf32-arm.h (elf32_arm_plt0_entry): Correct error in last
+ change.
+ (elf32_arm_plt_entry): Likewise.
+
+2001-06-08 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (swap_out_syms): Keep names for global section symbols.
+
2001-06-07 H.J. Lu <hjl@gnu.org>
* config.bfd: Put back ecoff for Linux/mips. Firmwares on some
2001-06-06 Christian Groessler <cpg@aladdin.de>
- * coff-z8k.c: Fix formatting.
+ * coff-z8k.c: Fix formatting.
Fix howtos: howto->size was always 1.
2001-06-05 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* elf32-i386.c (elf_i386_check_relocs): Don't allocate .got and
.relgot space here.
(elf_i386_gc_sweep_hook): ..and no need to deallocate here..
- (elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and
+ (elf_i386_adjust_dynamic_symbol): ..and don't allocate .plt and
.rel.plt here..
(allocate_plt_and_got): ..instead do it all here. New function.
(elf_i386_size_dynamic_sections): Allocate local .got space and
2001-05-24 Tom Rix <trix@redhat.com>
- * Makefile.am coff-pmac bfd now defined in coff-rs6000.c
+ * Makefile.am coff-pmac bfd now defined in coff-rs6000.c
xcoff-target.h not used to define rs6000 or ppc bfd.
* Makefile.in same
* reloc.c (bfd_reloc_code_real): Add MIPS ELF64 relocations.
* libbfd.h: Regenerate.
- * bfd0in2.h: Regenerate.
+ * bfd-in2.h: Regenerate.
* aoutx.h (aout_@var{size}_machine_type): Add MIPS r12k support.
* archures.c (bfd_mach_mips12000): Define.
* elf-bfd.h (NUM_SHDR_ENTRIES): New macro: compute the number
of entries in a structured section.
- * elf.c: Use new macro.
- * elf32-i386.c: Use new macro.
- * elf32-mips.c: Use new macro.
- * elf64-alpha.c: Use new macro.
- * elf64-sparc.c: Use new macro.
- * elfcode.h: Use new macro.
- * elflink.h: Use new macro.
+ * elf.c: Use new macro.
+ * elf32-i386.c: Use new macro.
+ * elf32-mips.c: Use new macro.
+ * elf64-alpha.c: Use new macro.
+ * elf64-sparc.c: Use new macro.
+ * elfcode.h: Use new macro.
+ * elflink.h: Use new macro.
2001-05-23 Nick Clifton <nickc@cambridge.redhat.com>
2001-05-04 Nick Clifton <nickc@cambridge.redhat.com>
* elf32-arm.h (elf32_arm_final_link_relocate): Set
- EF_ARM_HASENTRY if the start address is set.
+ EF_ARM_HASENTRY if the start address is set.
2001-05-03 Nick Clifton <nickc@cambridge.redhat.com>
2001-05-02 Johan Rydberg <jrydberg@opencores.org>
- * elf32-openrisc.c (openrisc_elf_howto_table): Do not complain
+ * elf32-openrisc.c (openrisc_elf_howto_table): Do not complain
about overflow in R_OPENRISC_LO_16_IN_INSN and
R_OPENRISC_HI_16_IN_INSN.Index: bfd/elf32-openrisc.c
2001-03-23 Nick Clifton <nickc@redhat.com>
* Makefile.am (BUILD_CFILES): New variable: List of C source
- files created in build directory.
- (BUILD_HFILES): New variable: List of header files created in
- build directory.
- (POTFILES): Delete.
- (po/POTFILES.in): Replace rule with empty entry.
- (po/SRC-POTFILES.in): New rule: Create a list of source files
- in the source directory.
- (po/BLD-POTFILES.in): New rule: Create a list of source files
- in the build directory.
- (MOSTLYCLEAN): Do not delete source files created in build
- directory.
- * Makefile.in: Regenerate.
- * configure.in: Insert SRC-POTFILES.in and BLD-POTFILES.in
- into po/Makefile.
- * configure: Regenerate.
-
- * po/Make-in: Replace occurrences of POTFILES with SRC-POTFILES
- and BLD_POTFILES.
+ files created in build directory.
+ (BUILD_HFILES): New variable: List of header files created in
+ build directory.
+ (POTFILES): Delete.
+ (po/POTFILES.in): Replace rule with empty entry.
+ (po/SRC-POTFILES.in): New rule: Create a list of source files
+ in the source directory.
+ (po/BLD-POTFILES.in): New rule: Create a list of source files
+ in the build directory.
+ (MOSTLYCLEAN): Do not delete source files created in build
+ directory.
+ * Makefile.in: Regenerate.
+ * configure.in: Insert SRC-POTFILES.in and BLD-POTFILES.in
+ into po/Makefile.
+ * configure: Regenerate.
+
+ * po/Make-in: Replace occurrences of POTFILES with SRC-POTFILES
+ and BLD_POTFILES.
Add .. to the search path when building bfd.pot.
- Delete POTFILES when performing distclean.
- Add comment describing why distclean is broken in maintainer mode.
+ Delete POTFILES when performing distclean.
+ Add comment describing why distclean is broken in maintainer mode.
* po/POTFILES.in: Delete.
* po/SRC-POTFILES.in: New file.
* po/BLD-POTFILES.in: New file.
- * po/bfd.pot: Regenerate.
+ * po/bfd.pot: Regenerate.
2001-03-22 Hans-Peter Nilsson <hp@axis.com>
of offset in BLX(1) instruction.
* coff-arm.c (coff_arm_relocate_section): Clear bit zero of
offset in BLX(1) instruction.
- Fix formatting.
+ Fix formatting.
2001-03-06 Nick Clifton <nickc@redhat.com>
* coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Tidy
up, replacing multiple if statements with a switch.
- (handle_COMDAT): New function.
+ (handle_COMDAT): New function.
2001-02-26 H.J. Lu <hjl@gnu.org>