aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
1994-09-07 * coff-go32.c (RTYPE2HOWTO): Fully parenthesize arguments.Ian Lance Taylor1-0/+30
* coff-i960.c (RTYPE2HOWTO): Likewise. * coff-m88k.c (RTYPE2HOWTO): Likewise. * coff-we32k.c (RTYPE2HOWTO): Likewise. Make i386 COFF use new COFF backend linker. * coff-i386.c (RTYPE2HOWTO): Fully parenthesize arguments. (coff_relocate_section): Define. (coff_i386_rtype_to_howto): New function. * configure.in (i386coff_vec): Use cofflink.o. (i386lynx_coff_vec): Likewise. * coffcode.h (bfd_coff_backend_data): Add new field _bfd_coff_rtype_to_howto. (bfd_coff_rtype_to_howto): Define. (coff_rtype_to_howto): Define to use RTYPE2HOWTO, if not already defined. (bfd_coff_std_swap_table): Initialize new field. * cofflink.c (_bfd_coff_final_link): Allocate section_count + 1 section_info structures, since the target_index is 1 based. (coff_link_input_bfd): Set *secpp to bfd_com_section_ptr for a common symbol. Adjust rel_hash by the output reloc count. (_bfd_coff_generic_relocate_section): New function. * libcoff-in.h (_bfd_coff_generic_relocate_section): Declare. * libcoff.h: Rebuild. * coff-alpha.c (alpha_ecoff_backend_data): Initialize new field. * coff-mips.c (mips_ecoff_backend_data): Likewise.
1994-09-07 * som.c (som_bfd_derive_misc_symbol_info): Treat undefined codeJeff Law1-0/+13
symbols and undefined symbols which no type in the same manner if the associated BFD symbol has BSF_FUNCTION set. For a defined symbol which no type, select a SOM type based on the flags of the section containing the symbol. (som_slurp_symbol_type): Set BSF_FUNCTION for undefined ST_STUB or ST_CODE symbols (importing a non-function code symbol is meaningless in SOM). (som_set_reloc_info): Don't set "offset" to the section's vma; it should always start at zero.
1994-09-06Minor tweaks to make COFF code support both new and old style linker.Ian Lance Taylor2-9/+16
1994-09-06 Add new style linker support to COFF backend. a29k only for now.Ian Lance Taylor11-245/+2788
* cofflink.c: New file. * libcoff-in.h: Include bfdlink.h. (obj_coff_external_syms, obj_coff_strings): Define accessor macro. (obj_coff_sym_hashes): Define accessor macro. (struct coff_tdata): Add fields external_syms, strings, and sym_hashes. (struct coff_link_hash_entry): Define. (struct coff_link_hash_table): Define. (coff_link_hash_lookup, coff_link_hash_traverse): Define. (coff_hash_table): Define. (_bfd_coff_link_hash_table_create): Declare. (_bfd_coff_link_add_symbols, _bfd_coff_final_link): Declare. * coffcode.h (bfd_coff_backend_data): Add fields _bfd_relsz, _bfd_coff_swap_reloc_in, _bfd_coff_sym_is_global, _bfd_coff_compute_section_file_positions, _bfd_coff_relocate_section. (bfd_coff_relsz, bfd_coff_swap_reloc_in): Define. (bfd_coff_sym_is_global): Define. (bfd_coff_compute_section_file_positions): Define. (bfd_coff_relocate_section): Define. (coff_mkobject_hook): Initialize obj_raw_syment_count and obj_conv_table_size. (coff_compute_section_file_positions): Set target_index of all sections. Set output_has_begun field. (coff_write_object_contents): Don't set target_index; now done by coff_compute_section_file_positions. Remove obsolete handling of scn_base and data_base. Don't bother to check that target_index is positive, since it always is. Remove use of pad, which is always zero. Check obj_raw_syment_count, not bfd_get_symcount, for the number of symbols, but only write them out if bfd_get_symcount is non-zero. (coff_slurp_symbol_table): Use obj_raw_syment_count, not bfd_get_symcount for the number of symbols. Don't set obj_conv_table_size. (coff_sym_is_global): New static function or macro. (coff_slurp_reloc_table): Call coff_swap_reloc_in, not bfd_swap_reloc_in. (coff_bfd_link_hash_table_create): If coff_relocate_section is defined, define as _bfd_coff_link_hash_table_create. (coff_bfd_link_add_symbols): Similar change. (coff_bfd_final_link): Similar change. (coff_relocate_section): Define as NULL if not defined. (bfd_coff_std_swap_table): Initialize new fields. * coffgen.c (coff_real_object_p): Don't set obj_raw_syment_count and obj_conv_table_size here. (coff_count_linenumbers): Reindent. If bfd_get_symcount is zero, add up the line numbers from the sections. (coff_write_symbols): Don't set bfd_get_symcount. (coff_pointerize_aux): Don't pointerize a nonpositive x_endndx field. (coff_get_normalized_symtab): Use obj_raw_syment_count, not bfd_get_symcount. (coff_print_symbol): If auxp->fix_end, print x_endndx value. * coffswap.h (coff_swap_reloc_in): Rename from bfd_swap_reloc_in. Reindent. Change argument type to PTR. * coff-a29k.c (coff_a29k_relocate_section): New static function. (coff_relocate_section): Define. * configure.in (a29kcoff_big_vec): Compile cofflink.o. * coff-alpha.c (alpha_ecoff_backend_data): Initialize new fields. * coff-mips.c (mips_ecoff_backend_data): Likewise. * libcoff.h: Rebuilt. * Makefile.in: Rebuilt dependencies. (BFD32_BACKENDS): Add cofflink.o. (CFILES): Add cofflink.c.
1994-09-06* coffgen.c (coff_print_symbol, case bfd_symbol_print_all): Check for sectionKen Raeburn2-1/+17
symbol, and print its aux fields with appropriate labels.
1994-09-06Makefile.in (ALL_MACHINES): ADded cpu-arm.o.Ken Raeburn2-2/+7
1994-09-05TiposIan Lance Taylor1-2/+2
1994-09-05ARM Acorn/RISCiX target and host patches from Richard EarnshawKen Raeburn2-14/+25
1994-09-02* reloc.c (enum bfd_reloc_code_real): Rewrote definition to use new "chew"Ken Raeburn4-302/+567
commands for simultaneous definition of enumerator and enumerator name table. (bfd_get_reloc_code_name): New function, for retrieving a symbolic name associated with an enumerator. * libbfd.h, bfd-in2.h: Regenerated.
1994-08-31 * som.c (som_write_fixups, case R_ENTRY): Handle case where noJeff Law2-4/+24
unwind descriptor information is available.
1994-08-30 * elfcode.h (NAME(bfd_elf,size_dynamic_sections)): Add sonameIan Lance Taylor3-23/+65
argument, and use it to set DT_SONAME dynamic entry. * bfd-in.h (bfd_elf32_size_dynamic_sections): Update prototype. (bfd_elf64_size_dynamic_sections): Update prototype. * bfd-in2.h: Rebuilt.
1994-08-26 * coffgen.c (coff_real_object_p): Set obj_raw_syment_count.Ian Lance Taylor2-2/+11
(coff_get_normalized_symtab): Verify obj_raw_syment_count, rather than setting it.
1994-08-25 * archive.c (bsd_write_armap): Remove host dependencies.Ian Lance Taylor1-0/+2
1994-08-25 * aoutx.h (add_to_stringtab): Check for _bfd_stringtab_add errorIan Lance Taylor2-3/+14
before adding BYTES_IN_WORD.
1994-08-25 * coffgen.c (coff_find_nearest_line): Look for the best C_FILE,Ian Lance Taylor2-19/+32
not merely the first.
1994-08-25 * coffgen.c (coff_write_alien_symbol): If we are not using theIan Lance Taylor2-1/+9
symbol, clear the name so that it is not put in the string table. From Antti.Miettinen@ntc.nokia.com.
1994-08-24 * coffgen.c (coff_print_symbol): Cast pointer different to longIan Lance Taylor2-1/+8
and use %ld to print it. * osf-core.c (osf_core_core_file_p): Remove unused variable dseccnt. * ecoffswap.h (ecoff_swap_ext_out): If ECOFF_64, clear remaining bytes in bits2.
1994-08-24 * configure.host, config.bfd: Change i[34]86 to i[345]86.Ian Lance Taylor3-41/+45
1994-08-24 * coffgen.c (coff_real_object_p): Set obj_conv_table_size here,Ian Lance Taylor2-13/+63
rather than waiting until coff_slurp_symbol_table. (coff_write_alien_symbol): Just ignore BSF_DEBUGGING symbols. From Antti.Miettinen@ntc.nokia.com.
1994-08-24 * section.c (bfd_make_section_anyway): Fix failure check ofIan Lance Taylor1-0/+3
bfd_make_empty_symbol. From Antti.Miettinen@ntc.nokia.com.
1994-08-24 * aoutx.h (translate_to_native_sym_flags): Use the output_sectionIan Lance Taylor2-290/+226
(and output_offset) if there is one. * aoutx.h (aout_link_check_archive_element): Discard the symbols if the archive element was not needed. * aoutx.h (aout_get_external_symbols): Ensure that a zero string index yields an empty string. (aout_link_write_symbols): If info->keep_memory is false, use name from original hash table entry, not from entry in *sym_hash. * aoutx.h (struct aout_final_link_info): Add fields contents, relocs, symbol_map and output_syms. (NAME(aout,final_link)): Work out the largest section size, reloc size, and number of symbols. Use them to preallocate buffers that are large enough for all cases. (aout_link_input_bfd): Use preallocated symbol_map. (aout_link_write_symbols): Remove symbol_map argument; use preallocated symbol_map instead. Change all callers. Use preallocated output_syms. (aout_link_input_section): Remove symbol_map argument. Change all callers. Use preallocated contents and relocs. (aout_link_input_section_std): Remove symbol_map argument; use preallocated symbol_map instead. Change all callers. (aout_link_input_section_ext): Likewise.
1994-08-22 * targets.c (BFD_JUMP_TABLE_ARCHIVE): Add _update_armap_timestamp.Ian Lance Taylor2-18/+28
(bfd_target): Add field _bfd_update_armap_timestamp. * bfd.c (bfd_update_armap_timestamp): Define. * bfd-in2.h: Rebuilt. * libbfd-in.h (_bfd_noarchive_update_armap_timestamp): Define. (_bfd_archive_bsd_update_armap_timestamp): Declare. (_bfd_archive_coff_update_armap_timestamp): Define. * libbfd.h: Rebuilt. * archive.c (_bfd_write_archive_contents): Call bfd_update_armap_timestamp instead of checking for a BSD archive and calling bsd_update_armap_timestamp. (_bfd_archive_bsd_update_armap_timestamp): Rename from _bsd_update_armap_timestamp. Don't assume that armap_datepos is already set. * aout-target.h (MY_update_armap_timestamp): Define if not already defined. * coff-rs6000.c (rs6000coff_update_armap_timestamp): Define. * ieee.c (ieee_update_armap_timestamp): Define. * libecoff.h (_bfd_ecoff_update_armap_timestamp): Define. * oasys.c (oasys_update_armap_timestamp): Define. * som.c (som_update_armap_timestamp): Define.
1994-08-22 * hash.c: Copy string hash functions from aoutx.h.Ian Lance Taylor3-36/+65
* aoutx.h: String hash functions moved to hash.c. Retain simplified versions of add_to_stringtab and emit_stringtab. Change all callers to use new function and structure names. * libbfd-in.h (_bfd_stringtab_init, _bfd_stringtab_free): Declare. (_bfd_stringtab_size, _bfd_stringtab_add): Declare. (_bfd_stringtab_emit): Declare. * libbfd.h: Rebuilt.
1994-08-22Mon Aug 22 10:49:37 1994 Eric Youngdale (ericy@cais.cais.com)Ian Lance Taylor1-0/+7
* i386linux.c (linux_add_one_symbol): Create a fixup for any defined absolute symbol, not just GOT or PLT symbols. (linux_tally_symbols): Correct handling of references to defined symbols.
1994-08-18 Get ld -x -r to handle a.out set symbols correctly.Ian Lance Taylor2-5/+62
* aoutx.h (adjust_o_magic): If the .bss VMA was set outside of BFD, pad the .data section up to the VMA of the .bss section. (aout_link_add_symbols): If a set symbol does not get modified, treat it as a local symbol. (aout_link_write_symbols): Set the value of set symbols correctly. Don't discard set symbols even if discarding local symbols. (aout_link_write_other_symbol): Don't abort on bfd_link_hash_new, since it can now happen for set symbols.
1994-08-18 * elfcode.h (elf_fake_sections): Just check for ".rela" andIan Lance Taylor1-0/+14
".rel", not ".rela." and ".rel."; make this work by checking use_rela_p. * elf32-i386.c (elf_i386_check_relocs): Just check for ".rel", not ".rel." (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Likewise. * elf32-sparc.c (elf32_sparc_check_relocs): Just check for ".rela", not ".rela." (elf32_sparc_size_dynamic_sections): Likewise. (elf32_sparc_relocate_section): Likewise.
1994-08-17 * linker.c (_bfd_generic_link_add_archive_symbols): InitializeIan Lance Taylor1-1/+4
PASS to the old value + 1.
1994-08-17 * coffgen.c (coff_get_normalized_symtab): If a C_FILE symbol hasIan Lance Taylor1-0/+9
no aux entries, use the symbol name as the file name. (coff_find_nearest_line): Look for the right C_FILE symbol, rather than always using the first one. If there is a debugging symbol after a function symbol, skip it. Add the section VMA to the line offset, since it was subtracted out in coff_slurp_line_table. PR 5010.
1994-08-16 * som.c (som_prep_headers): If writing some form of an executable,Jeff Law2-62/+89
allocate and attach an exec header to the BFD private data. (som_begin_writing): Don't fill fields of the exec header based on BFD private data here (like the exec flags). Do not write the exec header here. (som_write_headers): Instead do it here. * som.h (struct somdata): New field "exec_hdr" for the executable file header. (obj_som_exec_hdr): New accessor macro.
1994-08-16 * i386linux.c (linux_link_create_dynamic_sections): Create sectionIan Lance Taylor2-11/+21
named .linux-dynamic, not .dynamic. (linux_add_one_symbol): Use .linux-dynamic, not .dynamic. (bfd_linux_size_dynamic_sections): Likewise. (linux_finish_dynamic_link): Likewise.
1994-08-15 * coffgen.c (STRING_SIZE_SIZE): Define.Ian Lance Taylor2-14/+39
(coff_fix_symbol_name): Use STRING_SIZE_SIZE, not 4. (coff_write_symbols, build_string_table): Likewise. (coff_get_normalized_symtab): Likewise.
1994-08-15 * libcoff-in.h (obj_symbol_slew): Don't define.Ian Lance Taylor1-0/+7
(struct coff_tdata): Remove unused fields index_slew, raw_linenos, and flags. * libcoff.h: Rebuilt. * coffcode.h (coff_mkobject): Don't initialize raw_linenos. (coff_mkobject_hook): Don't initialize flags.
1994-08-15 * aout-target.h (MY_zmagic_contiguous): Define as 0 if not alreadyIan Lance Taylor3-30/+84
defined. (MY(backend_data)): Use MY_zmagic_contiguous, not hardcoded 0. * i386linux.c (MY_zmagic_contiguous): Define.
1994-08-15 * elfcode.h (bfd_section_from_shdr): If a SHT_SYMTAB section in aIan Lance Taylor2-0/+18
shared object has SHF_ALLOC set, create a BFD section for it. (elf_section_from_bfd_section): There may be a BFD section for a SHT_SYMTAB section.
1994-08-15 * coffcode.h (styp_to_sec_flags): Add name argument. If no flagsIan Lance Taylor5-28/+111
are recognized, chose section flags based on the name. (bfd_coff_backend_data): _bfd_styp_to_sec_flags_hook field: Add name argument. (bfd_coff_styp_to_sec_flags_hook): Add name argument. (coff_compute_section_file_positions): Don't adjust the section position by COFF_PAGE_SIZE unless SEC_ALLOC is set. * libcoff.h: Rebuilt. * coffgen.c (make_a_section_from_file): Pass section name to bfd_coff_styp_to_sec_flags_hook. * ecoff.c (_bfd_ecoff_styp_to_sec_flags): Add unused name argument. * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Add name argument to prototype.
1994-08-12 * elfcode.h (section_from_elf_index): Correct check for invalidIan Lance Taylor2-1/+4
section index.
1994-08-12 * elfcode.h (elf_link_add_object_symbols): If there is no symbolIan Lance Taylor2-0/+28
table, try using the dynamic symbol table. From Eric Youngdale <ericy@cais.cais.com>.
1994-08-12 * configure.host (sparc-*-solaris2*): Use solaris2, not sysv4.Ian Lance Taylor2-0/+2
The linker depends upon configuring for solaris2. * hosts/solaris2.h: New file; include hosts/sysv4.h. * config/solaris2.mh: New file; copy of config/sysv4.mh.
1994-08-11Remove aout-ns32k.h.Ian Lance Taylor1-1/+0
1994-08-10 * aoutx.h (adjust_z_magic): Make sure data section is padded toIan Lance Taylor2-11/+59
page boundary when the VMA is set by the calling program. From Eric Youngdale <ericy@cais.cais.com>.
1994-08-09 Update to ns32k support, from Ian Dall (dall@hfrd.dsto.gov.au).Stan Shebs3-97/+108
* aout-ns32k.c: Add declarations that were in aout-ns32k.h, change declarations to traditional form. (MY_reloc_howto, MY_put_reloc): Change from macro to function. (ns32k_relocate_contents): New function. * aout-ns32k.h: Remove. * cpu-ns32k.c: Add declarations that were in aout-ns32k.h, change declarations to traditional form. (ns32k_final_link_relocate): Call ns32k_relocate_contents. * netbsd532.c: Reformat to standards, add copyright notice. (ARCH): Don't define. (aout-ns32k.h): Don't include. * pc532-mach.c: Ditto.
1994-08-07 * irix-core.c (irix_core_core_file_p): Ignore sections thatPeter Schauer1-0/+5
are not contained in the core file.
1994-08-04Fix up namespace handling in last patch.Jean Marie Diaz2-1/+3
1994-08-04 * coff-m68k.c (_bfd_coff_m68k_reloc_type_lookup): New function.Jean Marie Diaz2-2/+34
(coff_bfd_reloc_type_lookup): Define.
1994-08-04 * elfcode.h (elf_bfd_final_link): Force the vma of sections whichJean Marie Diaz1-0/+6
do not have SEC_ALLOC set to be 0. This is needed to handle relocs against debugging sections.
1994-08-03 * coff-i960.c (coff_i960_relocate): Rewrote to change relocsJean Marie Diaz2-7/+47
against locally defined symbols into relocs against section symbols, for VxWorks 5.1.
1994-08-03Wed Aug 3 10:34:37 1994 Eric Youngdale (ericy@cais.cais.com)Jean Marie Diaz1-0/+10
* i386linux.c (linux_add_one_symbol): Only handle SHARABLE_CONFLICTS specially if BSF_CONSTRUCTOR is set. Set hashp for a GOT or PLT symbol. Set jump field of fixup for a PLT symbol. (linux_tally_symbols): Check section of real symbol. When looking for a builtin fixup, check builtin and jump flags. Create no more than one fixup, and always create one if the real symbol is in the absolute section. Only strip absolute symbols.
1994-08-03LynxOS changesDavid Henkel-Wallace1-0/+6
1994-08-02 * hp300hpux.c (BMAGIC): Define as HPUX_DOT_O_MAGIC, to make testJean Marie Diaz1-0/+3
in aoutx.h work correctly.
1994-08-02 * coff-i960.c (coff_i960_relocate): New function.Jean Marie Diaz2-5/+35
(howto_rellong, howto_iprmed): Use it as special_function.