aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.h
AgeCommit message (Collapse)AuthorFilesLines
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.