aboutsummaryrefslogtreecommitdiff
path: root/bfd
AgeCommit message (Collapse)AuthorFilesLines
1994-04-29 * cf-m68klynx.c (CALC_ADDEND): Check for PC relative relocs byIan Lance Taylor2-1/+9
enumerating them, since the reloc type can not serve as an index into the m68k COFF howto_table.
1994-04-29 * config.bfd (*-go32): Changed to coff.Steve Chamberlain2-1/+5
* coff-h8300.c (JMPL1): Get HOWTO right for 24bit branches. * srec.c (srec_write_symbols): Write out the correct number of symbols and don't stick in extra nulls.
1994-04-29 * coff-h8300.c (JMPL1): Get HOWTO right for 24bit branches.Steve Chamberlain1-0/+4
1994-04-26Tue Apr 26 15:07:24 1994 Stan Shebs (shebs@andros.cygnus.com)Stan Shebs2-0/+13
* cf-sparclynx.c (LYNXOS, COFF_LONG_FILENAMES): Define. * coff-sparc.c (BADMAG): Recognize LYNXCOFFMAGIC. (COFF_SPARC): Define. * coffcode.h (coff_new_section_hook): If COFF_SPARC, set alignment power of data and bss sections to 3. * hosts/lynx.h (__LYNXOS): Define. Brought over from 94Q1.
1994-04-26 * elf32-hppa.c (hppa_elf_reloc): Adjust the addend of relocationsJeff Law1-0/+19
against section symbols to avoid losing during ld -r.
1994-04-25 * elfcode.h (write_relocs): Undo patch of Apr 10; breaks Solaris.Ian Lance Taylor2-11/+2
1994-04-25 * elfcode.h (bfd_section_from_shdr): Use bfd_make_section_anywayIan Lance Taylor2-96/+142
to create sections. Check return value of recursive calls. (bfd_section_from_phdr): Check return value of bfd_make_section. (elf_symbol_from_bfd_symbol): Likewise. (elf_object_p): Check return value of bfd_section_from_shdr. (section_from_elf_index): Likewise. (elf_slurp_symbol_table): Check return value of section_from_elf_index. (bfd_prstatus): Return boolean value. Check return value of bfd_make_section. (bfd_fpregset): Likewise. (bfd_prpsinfo): Return boolean value. (elf_corefile_note): Check return values of bfd_prstatus, bfd_fpregset, and bfd_prpsinfo. (elf_core_file_p): Check return value of elf_corefile_note.
1994-04-22 Get rid of the ECOFF .reginfo section hack.Ian Lance Taylor1-0/+20
* ecoff.c (ecoff_mkobject_hook): Don't create a .reginfo section. (ecoff_new_section_hook): Don't handle the .reginfo section. (ecoff_sizeof_headers): Likewise. (ecoff_get_section_contents): Likewise. (ecoff_compute_section_file_positions): Likewise. (ecoff_compute_reloc_file_positions): Likewise. (ecoff_set_section_contents): Likewise. (ecoff_write_object_contents): Likewise. (ecoff_bfd_final_link): Likewise. (ecoff_bfd_copy_private_bfd_data): Copy the GP value and the register masks. (bfd_ecoff_get_gp_value): New function. (bfd_ecoff_set_gp_value): New function. (bfd_ecoff_set_regmasks): New function. * bfd-in.h (bfd_ecoff_get_gp_value): Declare. (bfd_ecoff_set_gp_value): Declare. (bfd_ecoff_set_regmasks): Declare. * bfd-in2.h: Rebuilt.
1994-04-22 Fix ECOFF objcopy to actually copy debugging information.Ian Lance Taylor2-7/+123
* ecoff.c (ecoff_bfd_copy_private_bfd_data): New function. (ecoff_get_extr): Assume that any ECOFF symbol with local clear is an external symbol, rather than checking the symbol flags. Only check the flags for non-ECOFF symbols. * ecofflink.c (bfd_ecoff_debug_externals): Don't crash if the output_section field of the symbol section is NULL. * libecoff.h (ecoff_bfd_copy_private_bfd_data): Declare as function rather than defining as macro.
1994-04-22 * targets.c (bfd_target_vector): Add bfd_elf32_powerpc_vec.Ian Lance Taylor1-0/+5
1994-04-22 * aout-adobe.c (aout_adobe_set_arch_mach): Check return value ofIan Lance Taylor2-16/+21
bfd_default_set_arch_mach. Accept bfd_arch_m68k as well as bfd_arch_unknown. * elfcode.h (elf_set_arch_mach): Don't check a list of ELF architectures, just see if the desired architecture matches what the ELF backend permits.
1994-04-22 Follow convention in which each NLM header has an 8 byte stampIan Lance Taylor1-0/+16
followed by a four byte length. * libnlm.h (struct nlm_obj_tdata): Rename nlm_cygnus_section_hdr to nlm_cygnus_ext_header, and change type to Nlm_Internal_Cygnus_Ext_Header. (nlm_cygnus_ext_header): Rename from nlm_cygnus_section_header. * nlmcode.h (nlm_swap_auxiliary_headers_in): Use CyGnUsEx instead of CyGnUsSeCs. Rename from cygnus_section to cygnus_ext. Require length word to be 8. (nlm_swap_auxiliary_headers_out): Rename from cygnus_section to cygnus_ext. Set length word to 8. (nlm_compute_section_file_positions): Rename from cygnus_section to cygnus_ext.
1994-04-22 * nlmcode.h (nlm_swap_auxiliary_headers_in): Keep section tableStu Grossman2-10/+10
(from CyGnUsSeCs) in more permanent memory to keep section names from getting trashed.
1994-04-21 Clean up uses of _bfd_dummy_target (from Peter Schauer).Ian Lance Taylor1-0/+9
* libbfd.c (_bfd_dummy_target): Set bfd_error_wrong_format. * nlm-target.h (nlm_core_file_p): Define as _bfd_dummy_target, not NULL. * srec.c (srec_vec): Use _bfd_dummy_target, not NULL, in _bfd_check_format. (symbolsrec_vec): Likewise. * tekhex.c (tekhex_vec): Likewise.
1994-04-21 * libelf.h (elf_obj_tdata): Add members for dynamic symbol tablePeter Schauer5-28/+122
handling. * elfcode.h (bfd_section_from_shdr): Handle dynamic symbol table. * elfcode.h (elf_slurp_symbol_table): Take additional parameter to select static or dynamic symbol table and return number of symbols slurped or -1 on error. * elfcode.h (elf_get_symtab): Set bfd symcount from elf_slurp_symbol_table result. * elfcode.h (elf_get_dynamic_symtab_upper_bound, elf_canonicalize_dynamic_symtab): New functions to handle dynamic symbol table. * elf32-target.h, elf64-target.h (BFD_JUMP_TABLE_DYNAMIC): Change to handle dynamic symbol table, provide default definitions for dynamic relocs. * aoutx.h (howto_table_std, NAME(aout,swap_std_reloc_out), NAME(aout,swap_std_reloc_in), aout_link_input_section_std, aout_link_reloc_link_order): Handle r_jmptable and r_relative relocations.
1994-04-21 * libnlm.h (struct nlm_obj_tdata): Add nlm_cygnus_section_hdrIan Lance Taylor3-20/+155
field. (nlm_cygnus_section_header): New accessor macro. * nlmcode.h (nlm_object_p): Free new tdata structure if failure. Add fixed sections before swapping in auxiliary headers. After adding sections, treat errors as real, not as wrong format. (nlm_swap_auxiliary_headers_in): Swap in the sections header; add sections to the BFD for each section it describes. (nlm_swap_auxiliary_headers_out): Swap out the sections header. (nlm_compute_section_file_positions): Account for the size of the sections header.
1994-04-20* coff-sparc.c (sparccoff_vec): Change minimum alignment power to 2, so thatKen Raeburn1-0/+3
stab sections can be multiples of 4 bytes only.
1994-04-20* hosts/i386aix.h: Changes to avoid prototypes conflicts with the ones definedKen Raeburn2-3/+6
in stdlib.h. (From Minh Tran-Le.)
1994-04-20start-sanitize-powerpc-netwareIan Lance Taylor3-14/+307
* nlm32-ppc.c: Complete rewrite for new version of PowerPC NetWare. Old code still present, but ifdeffed out. end-sanitize-powerpc-netware * nlmcode.h (nlm_swap_auxiliary_headers_in): Don't assume a particular format for the customer header. Allocate a block of memory and read it into that. (nlm_swap_auxiliary_headers_out): Write out the block of memory. (nlm_compute_section_file_positions): Include length of customer header when computing its size.
1994-04-18 * som.c (som_prep_headers): Get the space's number from theJeff Law1-0/+9
backend private section data rather than target_index. (bfd_som_set_section_attributes): Store the space's number in the backend private section data rather than target_index. * som.h (som_copyable_section_data_struct): Add space_number.
1994-04-15 * coff-a29k.c (reloc_processing): Always set the address of aIan Lance Taylor2-0/+21
R_IHCONST reloc to that of the immediately preceding R_IHIHALF. gas does this anyhow, but some other assemblers seem to leave garbage in the R_IHCONST address field.
1994-04-15 * bfd/archive.c: Consistently use ARFMAG; fromIan Lance Taylor1-0/+7
schwab@issan.informatik.uni-dortmund.de (Andreas Schwab). (_bfd_write_archive_contents): Use ARFMAG rather than '`' and '\012'. (bsd_write_armap): Likewise. (coff_write_armap): Likewise.
1994-04-15 * coff-mips.c (mips_relocate_section): When relaxing, adjust localIan Lance Taylor2-21/+54
relocs against the .text section as required. * ecofflink.c (bfd_ecoff_debug_accumulate): When relaxing, adjust PDR addresses as required.
1994-04-15 * ecoff.c (ecoff_emit_aggregate): Take fdr argument. Map fdrIan Lance Taylor2-46/+94
index through rfd map if it exists. Check for a couple of cases which gdb handles specially. Change all callers. (ecoff_type_to_string): Take fdr argument rather than aux_ptr and bigendian argument. Change all callers. (ecoff_print_symbol): Handle stStruct, stUnion and stEnum.
1994-04-14Wed Apr 13 11:50:07 1994 Stan Shebs (shebs@andros.cygnus.com)Stan Shebs2-1/+5
* coff-sparc.c (sparccoff_vec): Set minimum alignment power to 3.
1994-04-14 * coff-mips.c (mips_howto_table): Add dummy entries to account forIan Lance Taylor2-120/+505
numbering changes in include/coff/mips.h. Add entries for MIPS_R_RELHI and MIPS_R_RELLO. (mips_ecoff_swap_reloc_in): Handle an extra bit for the reloc type when little endian. Treat internal MIPS_R_RELLO or MIPS_R_RELHI relocs like MIPS_R_SWITCH, and convert r_offset from 24 to 32 bits. (mips_ecoff_swap_reloc_out): Likewise. (mips_adjust_reloc_in): Handle internal MIPS_R_RELLO or MIPS_R_RELHI relocs like MIPS_R_SWITCH. (mips_adjust_reloc_out): Likewise. (mips_relhi_addr, mips_relhi_addend): New static variables. (mips_relhi_reloc, mips_rello_reloc): New functions. (mips_bfd_reloc_type_lookup): Turn BFD_RELOC_PCREL_HI16_S into MIPS_R_RELHI and turn BFD_RELOC_PCREL_LO16 into MIPS_R_RELLO. (mips_relocate_hi): Rename from mips_relocate_refhi, and add pcrel argument. Changed all callers. (mips_relocate_section): Rename got_reflo to got_lo and reflo_int_rel to lo_int_rel. Handle MIPS_R_RELLO and MIPS_R_RELHI relocs. (mips_relax_section): Adjust MIPS_R_RELHI/MIPS_R_RELLO pairs when expanding a PC relative call.
1994-04-14 * reloc.c (bfd_reloc_code_real_type): Add BFD_RELOC_PCREL_HI16_SIan Lance Taylor1-0/+4
and BFD_RELOC_PCREL_LO16. * bfd-in2.h: Rebuilt.
1994-04-12 * som.c (som_write_fixups): Always emit at leastJeff Law2-3/+8
one relocation for any non-bss section.
1994-04-11 * elfcode.h (assign_file_positions_except_relocs): Don't requireIan Lance Taylor2-0/+7
the file alignment to correspond to the page size when linking with -N.
1994-04-10 * elfcode.h (write_relocs): For rela relocations, adjust theJeff Law2-0/+18
addend for relocations involving section symbols to account for the lossage of 1:1 mapping from input section symbols to output section symbols.
1994-04-08 * aoutx.h (NAME(aout,make_sections)): New function.Ian Lance Taylor2-31/+44
(NAME(aout,some_aout_object_p)): Call NAME(aout,make_sections) rather than making sections inline. (NAME(aout,mkobject)): Don't make any sections. (NAME(aout,adjust_sizes_and_vmas)): Call NAME(aout,make_sections). (NAME(aout,final_link)): Don't dereference obj_textsec (abfd) or obj_datasec (abfd) if they are NULL. * libaout.h (NAME(aout,make_sections)): Declare. * bout.c (b_out_mkobject): Don't make any sections. (b_out_write_object_contents): Call aout_32_make_sections. (b_out_set_section_contents): Likewise. * i386os9k.c (os9k_mkobject): Don't make any sections. (os9k_write_object_contents): Call aout_32_make_sections. (os9k_set_section_contents): Likewise.
1994-04-08 * aoutx.h (NAME(aout,new_section_hook)): Don't set N_EXT in targetIan Lance Taylor2-3/+8
index.
1994-04-08 * config.bfd, configure.host: Add mips-*-sysv4* support.Peter Schauer1-0/+4
1994-04-07 * coff-mips.c (mips_howto_table): Add entry for MIPS_R_SWITCH.Ian Lance Taylor2-44/+226
(mips_ecoff_swap_reloc_in): For MIPS_R_SWTICH, copy r_symndx into r_offset and set r_symndx to RELOC_SECTION_TEXT. (mips_ecoff_swap_reloc_out): For MIPS_R_SWITCH, get the r_symndx value from the r_offset field. (mips_adjust_reloc_in): Maximum r_type value is now MIPS_R_SWITCH. For MIPS_R_SWITCH, copy the r_offset field into the addend field. (mips_adjust_reloc_out): For MIPS_R_SWITCH, copy the addend field into the r_offset field. (mips_switch_reloc): New function. (mips_bfd_reloc_type_lookup): Translate BFD_RELOC_GPREL32 into MIPS_R_SWITCH. (mips_relocate_section): Handle MIPS_R_SWITCH. (mips_relax_section): Adjust MIPS_R_SWITCH offset if necessary.
1994-04-07Comment change.Ian Lance Taylor1-10/+13
1994-04-07 * elfcode.h (elf_set_section_contents): Support calling the backendJeff Law5-0/+50
function elf_backend_begin_write_processing when just beginning to write an object file. * libelf.h (elf_backend_begin_write_processing): Declare. * elf{32,64}-target.h (elf_backend_begin_write_processing): Provide a default definition. (elf{32,64}_bed): Add elf_backend_begin_write_processing. * elf32-hppa.h (elf_hppa_tc_symbol): Delete extern declaration. (elf_hppa_tc_make_sections): Likewise. * elf32-hppa.c (symext_chain_built): Delete. (symext_chain_size): Renamed from symextn_contents_real_size. (elf32_hppa_backend_{begin,final}_write_processing): New functions. (add_entry_to_symext_chain): New function. (hppa_elf_set_section_contents): Ignore writes to the symbol extension section until it's been rebuilt internally. (hppa_elf_get_section_contents): Symbol extension section is no longer special. (elf_backend_{begin,final}_write_processing): Define. (elf_hppa_tc_make_sections): Simplify now that much code has migrated into elf32_hppa_backend_{being,final}_write_processing.
1994-04-07 * All backends: Added BFD_JUMP_TABLE_DYNAMIC to target vector.Ian Lance Taylor14-11/+100
1994-04-07 * sunos.c (MY_read_dynamic_symbols): Don't define.Ian Lance Taylor2-129/+35
(MY_read_dynamic_relocs): Don't define. (MY_get_dynamic_symtab_upper_bound): Define. (MY_canonicalize_dynamic_symtab): Define. (MY_get_dynamic_reloc_upper_bound): Define. (MY_canonicalize_dynamic_reloc): Define. (struct sunos_dynamic_info): Change type of dynsym_count and dynrel_count to long. Add fields canonical_dynsym and canonical_dynrel. (sunos_read_dynamic_info): Check that BFD had DYNAMIC flag set. Clear info->canonical_dynsym and info->canonical_dynrel. (MY(read_dynamic_symbols)): Removed. (MY(read_dynamic_relocs)): Removed. (sunos_get_dynamic_symtab_upper_bound): New function. (sunos_canonicalize_dynamic_symtab): New function. (sunos_get_dynamic_reloc_upper_bound): New function. (sunos_canonicalize_dynamic_reloc): New function. * libaout.h: Declare struct reloc_ext_external and reloc_std_external to avoid prototype problems. (struct aout_backend_data): Remove fields read_dynamic_symbols and read_dynamic_relocs. (NAME(aout,translate_symbol_table)): Declare. (NAME(aout,swap_ext_reloc_in)): Declare. (NAME(aout,swap_std_reloc_in)): Declare. * aoutx.h (NAME(aout,translate_symbol_table)): Renamed from translate_symbol_table and made non-static. Changed all callers. (NAME(aout,slurp_symbol_table)): Don't read dynamic symbols. (NAME(aout,slurp_reloc_table)): Don't read dynamic relocs. (NAME(aout,get_reloc_upper_bound)): Don't count dynamic relocs. * aoutf1.h (aout_32_sunos4_write_object_contents): Don't bother to remove dynamic symbols and relocs. They will no longer be present. (MY_read_dynamic_symbols): Don't define. (MY_read_dynamic_relocs): Don't define. (sunos4_aout_backend): Don't initialize dynamic entry points. * aout-target.h (MY_read_dynamic_symbols): Don't define. (MY_read_dynamic_relocs): Don't define. (MY(backend_data)): Don't initialize dynamic entry points. (MY_get_dynamic_symtab_upper_bound): If not defined, define to _bfd_nodynamic version. (MY_canonicalize_dynamic_symtab): Likewise. (MY_get_dynamic_reloc_upper_bound): Likewise. (MY_canonicalize_dynamic_reloc): Likewise.
1994-04-07 * targets.c (bfd_target): Add fieldsIan Lance Taylor2-19/+65
_bfd_get_dynamic_symtab_upper_bound, _bfd_canonicalize_dynamic_symtab, _bfd_get_dynamic_reloc_upper_bound, _bfd_canonicalize_dynamic_reloc. (BFD_JUMP_TABLE_DYNAMIC): Define. * libbfd-in.h (_bfd_nodynamic_get_dynamic_symtab_upper_bound): Define. (_bfd_nodynamic_canonicalize_dynamic_symtab): Define. (_bfd_nodynamic_get_dynamic_reloc_upper_bound): Define. (_bfd_nodynamic_canonicalize_dynamic_reloc): Define. * bfd.c (bfd_get_dynamic_symtab_upper_bound): Define. (bfd_canonicalize_dynamic_symtab): Define. (bfd_get_dynamic_reloc_upper_bound): Define. (bfd_canonicalize_dynamic_reloc): Define. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt.
1994-04-07 * cf-m68klynx.c: Include sysdep.h.Ian Lance Taylor1-0/+1
1994-04-07Updated copyright (bfd-in2.h check in coming soon).Ian Lance Taylor1-1/+1
1994-04-06 * targets.c (bfd_target): Rearranged fields in target vector.Ian Lance Taylor49-1426/+1714
Removed _bfd_debug_info_start, _bfd_debug_info_end and _bfd_debug_info_accumulate, which were never used. (BFD_JUMP_TABLE_GENERIC, BFD_JUMP_TABLE_COPY): Defined. (BFD_JUMP_TABLE_CORE, BFD_JUMP_TABLE_ARCHIVE): Defined. (BFD_JUMP_TABLE_SYMBOLS, BFD_JUMP_TABLE_RELOCS): Defined. (BFD_JUMP_TABLE_WRITE, BFD_JUMP_TABLE_LINK): Defined. * All backends: Changed to use the new BFD_JUMP_TABLE_* macros rather than the single JUMP_TABLE macro. Removed many of the weird macro definitions needed to support the monolithic JUMP_TABLE. * bfd-in.h (JUMP_TABLE): Removed. * libbfd-in.h: Define a bunch of macros, and declare a few functions, for use with the new BFD_JUMP_TABLE_* macros. * libbfd.c (_bfd_dummy_new_section_hook): Removed. (bfd_false): Set bfd_error_invalid_operation. (bfd_nullvoidptr): Likewise. (bfd_n1): New function. (_bfd_nocore_core_file_matches_executable_p): Renamed from _bfd_dummy_core_file_matches_executable_p. (_bfd_nocore_core_file_failing_command): Similar rename. Set bfd_error_invalid_operation. (_bfd_nocore_core_file_failing_signal): Likewise. (_bfd_generic_get_section_contents): Renamed from bfd_generic_get_section_contents. Changed all callers. (_bfd_generic_set_section_contents): Similar rename. * ieee.c: #if 0 out ieee_bfd_debug_info_start, ieee_bfd_debug_info_end, ieee_bfd_debug_info_accumulate. They were never called. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt.
1994-04-06 * Crude support for examining dynamic libraries.Jeff Law2-15/+42
* som.c (som_object_setup): Set DYNAMIC flag for SHL_MAGIC and DL_MAGIC objects. (som_prep_headers): Preserve the system_id for DYNAMIC objects. Use SHL_MAGIC as the magic number of the DYNAMIC flag is set. Write exec headers for DYNAMIC objects. (som_begin_writing): DYNAMIC objects have the same alignment restrictions as D_PAGED objects. (bfd_section_from_som_symbol): Treat DYNAMIC objects like EXEC_P objects. (object_flags): Add DYNAMIC.
1994-04-06Tue Apr 5 17:54:07 1994 Stan Shebs (shebs@andros.cygnus.com)Stan Shebs2-0/+8
* hosts/mpw.h (CLOSE_BEFORE_UNLINK): Define.
1994-04-06Tue Apr 5 17:48:52 1994 Stan Shebs (shebs@andros.cygnus.com)Stan Shebs1-0/+5
* i386lynx.c, sparclynx.c (NAME): Remove embedded whitespace in macro uses, confuses some non-ANSI compilers.
1994-04-05 * som.c (som_bfd_free_cached_info): Add missing PARAMS decl.Jeff Law2-1/+11
Don't free anything if we don't have a bfd_object. (som_close_and_cleanup): Call som_bfd_free_cached_info.
1994-04-05 * elf32-mips.c (mips_elf_final_link): Don't remove empty sections.Ian Lance Taylor1-0/+6
It turns out not to be required on Irix 5, and it causes problems if the sections happen to contain symbols.
1994-04-05 * elfcode.h (write_shdrs_and_ehdr): Correct bfd_write check.Ian Lance Taylor1-1/+1
1994-04-05 * aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out ifIan Lance Taylor11-26/+26
section->relocation is NULL; malloc might have returned NULL when given a zero size if there were no relocations. * bout.c (b_out_canonicalize_reloc): Likewise. * coffcode.h (coff_canonicalize_reloc): Likewise. * ecoff.c (ecoff_canonicalize_reloc): Likewise. * elfcode.h (elf_canonicalize_reloc): Likewise. * mipsbsd.c (MY(canonicalize_reloc)): Likewise. * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise. * nlmcode.h (nlm_canonicalize_reloc): Likewise. * som.c (som_canonicalize_reloc): Likewise. * hp300hpux.c (MY(slurp_reloc_table)): Likewise. Also, if malloc returns NULL, don't report an error if we asked for zero bytes. * i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns NULL, don't report an error if we asked for zero bytes. * nlmcode.h (nlm_slurp_reloc_fixups): Likewise.
1994-04-04 * aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anythingIan Lance Taylor2-0/+6
if we don't have a bfd_object.