aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
1997-03-13 * coff-tic80.c (coff_rtype_to_howto): DefineFred Fish2-5/+87
(coff_tic80_rtype_to_howto): Clone generic coff version and add code to handle the funky TI "internal relocations".
1997-03-13 * elflink.h (elf_link_add_object_symbols): Don't warn about typeIan Lance Taylor2-2/+7
or size changes because of a weak symbol. PR 11827.
1997-03-13 * cisco-core.c (SIGEMT): Define if not defined.Ian Lance Taylor1-0/+4
1997-03-13 * elflink.h (elf_link_add_object_symbols): Use extsymoff whenIan Lance Taylor3-38/+274
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.
1997-03-13 * elf32-mips.c (mips_elf_add_symbol_hook): Don't set the owner ofIan Lance Taylor1-21/+49
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.
1997-03-11 From Eric Youngdale <eric@andante.jic.com>:Ian Lance Taylor1-46/+197
* 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.
1997-03-10 From Eric Youngdale <eric@andante.jic.com>:Ian Lance Taylor4-56/+344
* 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.
1997-03-07 * coffcode.h (bfd_coff_backend_data): ChangeIan Lance Taylor1-0/+8
_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. PR 11806.
1997-03-07Fri Mar 7 11:55:31 1997 H.J. Lu <hjl@gnu.ai.mit.edu>Ian Lance Taylor1-0/+4
* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Fully parenthesize.
1997-03-07 * xcofflink.c (_bfd_xcoff_bfd_final_link): Always allocate spaceIan Lance Taylor2-42/+215
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. PR 11793.
1997-03-07Update copyrights.Jeff Law2-2/+2
1997-03-07xIan Lance Taylor1-0/+1
1997-03-07 * Makefile.in ($(SHLINK)): Just use ln -s, not ln -sf, sinceIan Lance Taylor1-0/+4
Solaris doesn't like the combined options, and the -f is unnecessary.
1997-03-07 * elf32-mips.c (mips_elf_relocate_section): Correct R_MIPS16_26Ian Lance Taylor1-0/+5
handling when little endian.
1997-03-07Update copyright dates.Jeff Law1-1/+1
1997-03-06 * elf32-mn10300.c (mn10300_elf_final_link_relocate): New function.Jeff Law2-0/+253
(mn10300_elf_relocate_section): Likewise. (elf_backend_relocate_section): Define. New style linker for the mn10300.
1997-03-06 * elf32-mn10300.c (reloc_type): Remove PCREL{8,16,32}_{1,2}BYTEJeff Law2-156/+31
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. Simplify the mn10300 port. Stuff I noticed while working on the mn10200.
1997-03-06start-sanitize-tic80Fred Fish2-14/+30
* coff-tic80.c (rtype2howto): If passed a relocation type we don't understand, just set the howto field to NULL, and the caller will print an appropriate error message. end-sanitize-tic80 * 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.
1997-03-05 * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc): Fix overflow calc.David Edelsohn1-0/+15
(m32r_elf_relax_section, m32r_elf_relax_delete_bytes, m32r_elf_get_relocated_section_contents): First pass at relax support.
1997-03-03(elf_link_add_object_symbols): Use correct sh_sizeUlrich Drepper1-4/+4
entry for reading verdef records. Use correct braces for computing increments of extverdaux and exteverdef record pointers.
1997-03-03 * coff-tic80.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Set this to 2Fred Fish1-0/+7
instead of 4.
1997-03-03Correct d10v sanitization errors.Jim Wilson1-8/+2
1997-03-03 * elflink.h (elf_link_find_version_dependencies): Check thatIan Lance Taylor2-0/+7
DEF_REGULAR is not set as well as checking that DEF_DYNAMIC is set.
1997-02-28 * coffcode.h (coff_set_flags): Add case for TIC80_ARCH_MAGIC.Fred Fish2-1/+7
1997-02-28 * targets.c (bfd_default_vector): Make non-const.Ian Lance Taylor1-0/+9
(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.
1997-02-28 * syms.c (bfd_is_local_label): Return false if the symbol has noIan Lance Taylor2-1/+18
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.
1997-02-28 * aoutx.h (aout_link_write_symbols): Use bfd_is_local_label_nameIan Lance Taylor2-2/+22
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.
1997-02-28 * elfxx-target.h (bfd_elfNN_bfd_is_local_label_name): Define asIan Lance Taylor1-3/+460
_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.
1997-02-28 * coffcode.h (coff_bfd_is_local_label_name): Define asIan Lance Taylor1-1/+1
_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.
1997-02-28 * targets.c (BFD_JUMP_TABLE_SYMBOLS): Change _bfd_is_local_labelIan Lance Taylor9-40/+104
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.
1997-02-27 * elf32-mips.c (struct mips_got_info): Add assigned_gotno field.Ian Lance Taylor2-30/+211
(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.
1997-02-26Wed Feb 26 15:19:51 1997 Martin M. Hunt <hunt@pizza.cygnus.com>Martin Hunt1-0/+7
* elf32-d30v.c (bfd_elf_d30v_reloc): Add code to do 32-bit relocations.
1997-02-26 * targets.c (bfd_target_vector): Add ecoff_biglittle_vec.Stan Shebs2-4/+3
1997-02-26 * elflink.h (elf_link_input_bfd): Don't skip symbols from sectionsIan Lance Taylor2-3/+20
that have no contents merely because linker_mark is not set.
1997-02-25 * elf.c (elf_fake_sections): Use SHT_NOTE for any section whoseIan Lance Taylor1-0/+6
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.
1997-02-25 * elf32-mips.c (mips_elf_relocate_section): Check for misalignedIan Lance Taylor1-0/+70
jal and for jal overflow.
1997-02-24 From Eric Youngdale <eric@andante.jic.com>:Ian Lance Taylor1-74/+1025
* 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.
1997-02-24Update some comments to reflect current reality.Jeff Law1-5/+5
1997-02-21 * elf32-mn10200.c (mn10200_elf_final_link_relocate): SimplifyJeff Law2-16/+281
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. Another 1.3% size reduction for hello world. Only relaxing left todo is imm16 -> imm8 and d16 -> d8 where applicable.
1997-02-21 * elf32-m32r.c: Rewrite to use ELF backend linker.David Edelsohn2-0/+14
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.
1997-02-21Twiddle some comments to more accurately reflect reality.Jeff Law1-3/+6
1997-02-21Remove debugging printf.Jeff Law1-1/+0
1997-02-21 * elf32-mn10200.c (mn10200_elf_relax_section): New function.Jeff Law2-3/+780
(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. First cut at relaxing linker for the mn10200: jsr:24 -> jsr:16 jmp:24 -> jmp:16 jmp:16 -> bra:8 bCC .+4;bra:8 -> bCC':8 Reduces code size by about 2.5% for hello world.
1997-02-20fix with make headersIan Lance Taylor1-0/+1
1997-02-20 * elf32-mn10200.c (mn10200_elf_final_link_relocate): New function.Jeff Law2-0/+276
(mn10200_elf_relocate_section): Likewise. (elf_backend_relocate_section): Define. New style linker for the mn10200.
1997-02-20Since d10v is public now, remove all sanitization statementsMichael Meissner6-52/+1
1997-02-19Tue Feb 18 17:22:59 1997 Martin M. Hunt <hunt@pizza.cygnus.com>Martin Hunt14-437/+830
* Makefile.in, archures.c, config.bfd, configure.in, elf.c, reloc.c, targets.c: New target, elf-*-D30V. * bfd-in2.h, configure, libbfd.h: Rebuilt. * cpu-d30v.c, elf32-d30v.c: New files.
1997-02-18 * reloc.c (struct reloc_howto_struct): Fix typo in comment.Fred Fish3-3/+27
* bfd-in2.h: Regenerated. start-sanitize-tic80 * coff-tic80.c (RTYPE2HOWTO): Replace abort with real function. (rtype2howto): Add function. (tic80_howto_table): Add. end-sanitize-tic80
1997-02-18 * elf32-v850.c (v850_elf_relocate_section): Make sure r_symndxJeff Law1-0/+7
is initialized before it is used. Something Doug noticed.
1997-02-17 * hp300hpux.c (convert_sym_type): Don't convert a secondary commonIan Lance Taylor1-0/+5
symbol into a weak undefined symbol; leave it as a common symbol.