aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.h
AgeCommit message (Collapse)AuthorFilesLines
1996-01-29 * elflink.h (elf_link_add_object_symbols): Only set weakdef to aIan Lance Taylor1-2/+1
real defined symbol, not to a weak defined symbol.
1996-01-25Add more eabi relocationsMichael Meissner1-2/+2
1996-01-22Make 64k .sdata and .sdata2 sections work; fix typosMichael Meissner1-5/+1
1996-01-22 * elflink.h (elf_finish_pointer_linker_section): Fix typo.David Edelsohn1-1/+1
1996-01-22snapshot of eabi relocation support.Michael Meissner1-0/+235
1996-01-15update copyrightsIan Lance Taylor1-1/+1
1996-01-15 * elf32-mips.c: Numerous changes to dynamic linking code, mostlyIan Lance Taylor1-5/+2
from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>. * elflink.h (elf_link_output_extsym): Remove special check for _rld_new_interface.
1996-01-11 * elf32-mips.c: Extensive changes for a start at dynamic linkingIan Lance Taylor1-50/+71
support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>. * 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.
1995-12-08 * elflink.h (elf_link_add_object_symbols): Set section_count to 0Ian Lance Taylor1-0/+1
when setting sections to NULL. PR 8600.
1995-12-04 * elflink.h (elf_link_output_extsym): Just ignore warning andIan Lance Taylor1-0/+6
indirect references to symbols which don't really exist.
1995-12-01 * libbfd.c (bfd_malloc, bfd_realloc): New functions.Ian Lance Taylor1-57/+31
(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.
1995-11-29 * opncls.c (bfd_alloc_by_size_t): Set bfd_error_no_memory ifIan Lance Taylor1-24/+6
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.
1995-11-17 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Only createIan Lance Taylor1-4/+11
DT_INIT and DT_FINI entries if the _init or _fini symbol is defined or mentioned in a regular file. PR 8462.
1995-11-15comment fixIan Lance Taylor1-2/+1
1995-10-16 * bfd-in.h (struct bfd_link_needed_list): Rename fromIan Lance Taylor1-4/+3
bfd_elf_link_needed_list. * bfd-in2.h: Rebuild. * elf.c, elflink.h, libelf.h: Corresponding changes.
1995-10-11 * elflink.h (elf_link_add_object_symbols): Correct conditionsIan Lance Taylor1-7/+18
under which type and size change warnings are issued.
1995-10-10 * elflink.h (elf_link_add_object_symbols): Don't warn aboutIan Lance Taylor1-2/+9
changing the size or type if the old definition was weak.
1995-10-02 * elflink.h (elf_link_add_object_symbols): Don't let a weakIan Lance Taylor1-8/+24
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.
1995-09-12 Extensive minor changes to avoid various gcc warnings. Also:Ian Lance Taylor1-1/+1
* 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.
1995-09-01Fri Sep 1 15:18:50 1995 Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>Ian Lance Taylor1-7/+10
* 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.
1995-09-01 * elflink.h (elf_link_add_object_symbols): Handle indirect andIan Lance Taylor1-8/+64
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.
1995-08-21 * linker.c (link_action): If an undefined reference follows anIan Lance Taylor1-1/+2
undefined weak reference, change the type to undefined. * elflink.h (elf_link_add_archive_symbols): Don't record an undefined weak reference as defined, in case it turns into a real undefined reference later in the same archive.
1995-08-14 * elflink.h (elf_link_add_object_symbols): If a symbol is a weakIan Lance Taylor1-5/+23
definition, add it to the dynamic symbol table if any dynamic object mentions it. If we do add it, make sure we add the corresponding real symbol. (elf_adjust_dynamic_symbol): Adjust a weak defined symbol which we put in the dynamic symbol table, even if no regular object refers to it. * elf32-i386.c (elf_i386_check_relocs): When creating a shared library, don't allocate space for a PC relative reloc against a local symbol. * elf32-m68k.c (elf_m68k_check_relocs): Likewise. * elf32-sparc.c (elf32_sparc_check_relocs): Likewise. * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Change assertion to accept symbol with weakdef set. * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise. * elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise. * elf32-m68k.c (elf_m68k_relocate_section): When creating a shared libary, don't copy over a PC relative reloc against a local symbol. * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. PR 7711.
1995-07-13 * aoutx.h (NAME(aout,slurp_reloc_table)): Cast argument to size_tIan Lance Taylor1-3/+3
for malloc. * coff-mips.c (mips_relocate_section): Likewise, for memmove. (mips_relax_section): Likewise, for malloc. * cofflink.c (process_embedded_commands): Likewise. (_bfd_coff_final_link): Likewise. * ecoff.c (_bfd_ecoff_write_object_contents): Likewise. (ecoff_final_link_debug_accumulate): Likewise. (ecoff_indirect_link_order): Likewise, for memcpy and malloc. (ecoff_reloc_link_order): Likewise, for malloc. * ecofflink.c (ecoff_align_debug): Likewise, for memset. (ecoff_write_symhdr): Likewise, for malloc. * elf32-hppa.c (elf32_hppa_read_symext_info): Likewise. * elf.c (assign_file_positions_except_relocs): Likewise, for qsort. * elf32-mips.c (mips_elf_read_ecoff_info): Likewise, for malloc. * elfcode.h (elf_slurp_reloc_table): Likewise. * elfcore.h (elf_corefile_note): Likewise. * elflink.h (elf_link_add_object_symbols): Likewise. (elf_link_read_relocs): Likewise. (NAME(bfd_elf,size_dynamic_sections)): Likewise, for memset. * i386linux.c (bfd_linux_size_dynamic_sections): Likewise. * ieee.c (do_with_relocs): Likewise. * linker.c (default_indirect_link_order): Likewise, for malloc. * nlmcode.h (nlm_object_p): Likewise. (nlm_write_object_contents): Likewise. * oasys.c (oasys_set_section_contents): Likewise, for memcpy. * reloc.c (bfd_generic_get_relocated_section_contents): Likewise, for malloc. * section.c (bfd_get_section_contents): Likewise, for memcpy. * srec.c (srec_get_section_contents): Likewise. (srec_set_section_contents): Likewise. * sunos.c (bfd_sunos_size_dynamic_sections): Likewise, for realloc and memset. (sunos_scan_relocs): Likewise, for malloc. (sunos_scan_dynamic_symbol): Likewise, for realloc. * syms.c (_bfd_generic_read_minisymbols): Likewise, for malloc. * versados.c (versados_get_section_contents): Likewise, for memcpy.
1995-07-12fix some compilation warnings from sun ccKen Raeburn1-2/+3
1995-07-11 * aoutx.h (NAME(aout,link_add_symbols)): Don't bother to checkIan Lance Taylor1-18/+0
that archives hold a.out objects. * cf-i386lynx.c (coff_bfd_link_add_symbols): Don't define. (lynx_link_add_symbols): Remove. * cf-m68klynx.c (coff_bfd_link_add_symbols): Don't define. (lynx_link_add_symbols): Remove. * elflink.h (elf_bfd_link_add_symbols): Don't bother to check that archives hold ELF objects.
1995-07-11 * libelf.h (struct elf_size_info): Change type of last argument toIan Lance Taylor1-4/+5
swap_symbol_out from char * to PTR. (bfd_elf32_swap_symbol_out): Update declaration. (bfd_elf64_swap_symbol_out): Likewise. * elfcode.h (elf_swap_symbol_out): Change type of cdst from char * to PTR. * elf.c (swap_out_syms): Cast to PTR, not char *, when calling swap_symbol_out routine. * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Likewise. (elf_link_output_sym): Likewise. (elf_link_output_extsym): Likewise. * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Likewise.
1995-07-10 Based on patches from Eric Youngdale <eric@aib.com>:Ian Lance Taylor1-0/+16
* 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.
1995-07-07fsf address update, but not in COPYING filesKen Raeburn1-1/+1
1995-07-06copyright noticesKen Raeburn1-0/+18
1995-07-06Added new files elflink.c, elflink.h, elfcore.h.Ken Raeburn1-0/+3018
Moved some mostly size-independent stuff from elfcode.h to elf.c, adding a data structure to elfcode.h with some misc data and callback functions. Added a pointer to that structure to the target back end data. More work can be done here. Renamed generic elf routines (not cpu-specific stuff) to start with bfd_elf or _bfd_elf. Updated most call sites, sometimes defined some macros. Moved some dynamic linking support code from m68k, sparc, i386 to common files, using target back end flags to control behavior. More work can probably be done here too. Moved core- and linker-support code out of elfcode.h to elf.c, elfcore.h, elflink.h, or elflink.c. Now elfcode.h contains only .o and executable support, plus #includes of elfcore.h and elflink.h. Much of the contents of these other header files can probably still be moved from the .h files to the .c files, to get compiled only once. Cleaned up some "gcc -Wall" warnings regarding unused or uninitialized variables, in generic and cpu-specific code.