Age | Commit message (Collapse) | Author | Files | Lines |
|
Added some new interfaces, and a new entry in the target vector. Under the new
interfaces, mmap will be used if available, otherwise malloc/seek/read, as
before. Old interfaces all still intact.
Most configurations (including all used by "--enable-targets=all") simply
changed to call the default routine for that entry in the target vector. I
might've missed some targets only included in special configurations.
Support for a.out symbol and string table reading now goes through new
interfaces, and will use mmap when available.
Linker hooks (e.g., avoiding reallocation under malloc) not ready yet.
|
|
|
|
pointers into value field for warning and indirect symbols; just
leave the value field alone.
* linker.c (generic_link_add_symbol_list): Use next symbol for
warning and indirect symbols, rather than looking in symbol value.
* ecoff.c (ecoff_set_symbol_info): Remove indirect_ptr_ptr
parameter. Change all callers. Remove support for indirect
symbols; it didn't work anyhow.
(_bfd_ecoff_slurp_symbol_table): Remove indirect_ptr variable.
* syms.c: Change comments about BSF_WARNING and BSF_INDIRECT.
* bfd-in2.h: Rebuild.
|
|
* aoutx.h (NAME(aout,find_nearest_line)): Remove statics buffer
and filename_buffer. Instead, use a malloc buffer stored in the
new line_buf field. Remove length restrictions.
|
|
a reloc against a local symbol, even if it's not a section.
|
|
broken out of sunos_canonicalize_dynamic_symtab.
(sunos_canonicalize_dynamic_symtab): Call new function
sunos_slurp_dynamic_symtab.
(sunos_add_dynamic_symbols): Add three new parameters. Return the
dynamic symbol table to the caller.
* aoutx.h (aout_link_add_symbols): Permit add_dynamic_symbols
callback to override the symbols being read.
* libaout.h (struct aout_backend_data): Add three new parameters
to add_dynamic_symbols callback.
|
|
* 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.
|
|
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.
|
|
_minisymbol_to_symbol.
(BFD_JUMP_TABLE_SYMBOLS): Add _read_minisymbols and
_minisymbol_to_symbol.
(bfd_read_minisymbols): Define.
(bfd_minisymbol_to_symbol): Define.
* syms.c (_bfd_generic_read_minisymbols): Define.
(_bfd_generic_minisymbol_to_symbol): Define.
* libbfd-in.h (_bfd_nosymbols_read_minisymbols): Define.
(_bfd_nosymbols_minisymbol_to_symbol): Define.
(_bfd_generic_read_minisymbols): Declare.
(_bfd_generic_minisymbol_to_symbol): Declare.
* bfd-in2.h: Rebuild.
* libbfd.h: Rebuild.
* aoutx.h (MINISYM_THRESHOLD): Define.
(NAME(aout,read_minisymbols)): New function.
(NAME(aout,minisymbol_to_symbol)): New function.
* libaout.h (NAME(aout,read_minisymbols)): Declare.
(NAME(aout,minisymbol_to_symbol)): Declare.
* aout-target.h (MY_read_minisymbols): Define.
(MY_minisymbol_to_symbol): Define.
* All targets: Define read_minisymbols and minisymbol_to_symbol.
PR 5332.
|
|
|
|
and use it instead of bfd_get_symcount. Check r_index after
setting r_extern based on whether this is a base relative reloc.
(NAME(aout,swap_std_reloc_IN)): Add symcount parameter, and use it
instead of bfd_get_symcount.
(NAME(aout,slurp_reloc_table)): Pass bfd_get_symcount to reloc
swap routines.
* libaout.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter
to declaration.
(NAME(aout,swap_std_reloc_in)): Likewise.
* sunos.c (sunos_canonicalize_dynamic_reloc): Pass
info->dynsym_count to reloc swap routines.
* aout-ns32k.c (MY_swap_std_reloc_in): Add symcount parameter.
* hp300hpux.c (MY(swap_std_reloc_in)): Likewise.
(MY(slurp_reloc_table)): Pass bfd_get_symcount to reloc swap
routine.
* i386lynx.c (NAME(lynx,swap_ext_reloc_in)): Add symcount
parameter.
(NAME(lynx,swap_std_reloc_in)): Likewise.
(NAME(lynx,slurp_reloc_table)): Pass bfd_get_symcount to reloc
swap routines.
|
|
caller is writing to a valid section.
PR 5996 cleanup.
|
|
* linker.c (enum link_action): Add DEFW.
(link_action): Add bfd_link_hash_defweak column.
(_bfd_generic_link_add_one_symbol): Add DEFW case. Handle
bfd_link_hash_defweak in a few other cases.
* Many files (bfd_link_hash_undefweak): Renamed from
bfd_link_hash_weak.
* aoutx.h (aout_link_write_symbols): Handle bfd_link_hash_defweak.
(aout_link_write_other_symbol): Likewise.
(aout_link_input_section_std): Likewise.
(aout_link_input_section_ext): Likewise.
* bout.c (get_value): Likewise.
* coff-a29k.c (coff_a29k_relocate_section): Likewise.
* coff-alpha.c (alpha_convert_external_reloc): Likewise.
(alpha_relocate_section): Likewise.
* coff-mips.c (mips_relocate_section): Likewise.
(mips_relax_section): Likewise.
(bfd_mips_ecoff_create_embedded_relocs): Likewise.
* cofflink.c (coff_write_global_sym): Likewise.
(_bfd_coff_generic_relocate_section): Likewise.
* ecoff.c (ecoff_link_add_externals): Likewise.
(ecoff_link_write_external): LIkewise.
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
(elf32_hppa_size_stubs): Likewise.
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
(elf_i386_relocate_section): Likewise.
(elf_i386_finish_dynamic_symbol): Likewise.
* elf32-mips.c (mips_elf_output_extsym): Likewise.
(mips_elf_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_adjust_dynamic_symbol): Likewise.
(elf32_sparc_relocate_section): Likewise.
* elfcode.h (elf_link_add_object_symbols): Likewise.
(elf_adjust_dynamic_symbol): Likewise.
(elf_bfd_final_link): Likewise.
(elf_link_output_extsym): Likewise.
* i386linux.c (linux_add_one_symbol): Likewise.
(linux_tally_symbols): Likewise.
(linux_finish_dynamic_link): Likewise.
* linker.c (_bfd_generic_link_output_symbols): Likewise.
(set_symbol_from_hash): Likewise.
* reloc16.c (bfd_coff_reloc16_get_value): Likewise.
(bfd_perform_slip): Likewise.
* sunos.c (sunos_add_one_symbol): Likewise.
(sunos_scan_std_relocs): Likewise.
(sunos_scan_ext_relocs): Likewise.
(sunos_scan_dynamic_symbol): Likewise.
(sunos_write_dynamic_symbol): Likewise.
|
|
|
|
should be) anyways.
|
|
the relocs if there aren't any.
|
|
if there are no symbols.
* coffgen.c (coff_get_normalized_symtab): Likewise.
* hp300hpux.c (MY(slurp_symbol_table)): Likewise.
|
|
skip_next. If we find an N_WARNING symbol which has already been
written out, set skip_next.
PR 5634.
|
|
files are a.out.
|
|
before adding BYTES_IN_WORD.
|
|
(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.
|
|
* 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.
|
|
page boundary when the VMA is set by the calling program. From
Eric Youngdale <ericy@cais.cais.com>.
|
|
STAT_FOR_EXEC, don't check MACH.
* m88kmach3.c (MACH): Don't define.
* config/i386-mach3.mt (TDEFINES): Define STAT_FOR_EXEC.
* config/m88k-mach3.mt (TDEFINES): Likewise.
* config/mips-mach3.mt (TDEFINES): Likewise.
|
|
It's the wrong way to do things.
(HOWTO): Change accordingly.
(HOWTO2): Remove.
(_bfd_final_link_relocate): Remove references to
special_function1.
* bfd-in2.h: Rebuilt.
* aoutx.h (aout_link_input_section_std): Remove references to
special_function1.
(aout_link_reloc_link_order): Likewise.
|
|
* aout0.c, aoutx.h, gen-aout.c, hp300bsd.c, hp300hpux.c: Likewise.
* i386aout.c, i386bsd.c, i386dynix.c, i386linux.c: Likewise.
* i386lynx.c, m68klynx.c, mipsbsd.c, netbsd386.c: Likewise.
* newsos3.c, sparclynx.c, sunos.c: Likewise.
|
|
* aoutx.h (bfd_free_cached_info): Change name of FREE to BFCI_FREE
in order not to collide with LynxOS's definition of FREE in
/usr/include/sys/proc.h
|
|
* config.bfd (m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*):
New targets.
* configure.host (i[34]86-*-mach3*, ns32k-*-mach3*): Recognize
"mach3" instead of "mach".
(m88*-*-mach3*, mips*-dec-mach3*, mips*-*-mach3*): New hosts.
* targets.c (m88kmach3_vec): New target vector.
(bfd_target_vector): Add i386mach3_vec and m88kmach3_vec, but
inside #if 0.
* aoutx.h (some_aout_object_p) [MACH]: Recognize executables by
checking for execute permission, instead of looking at entry
point.
* i386mach3.c: Update, define MACH, N_TXTOFF, N_TXTADDR,
N_SHARED_LIB, don't include aout/*.h files, etc.
* m88kmach3.c: New file, m88k Mach 3 target.
* config/m88k-mach3.mt, config/mips-mach3.mt: New files, target
makefile fragments.
* config/i386mach3.mh, config/m88kmach3.mh, config/mipsmach3.mh:
New files, host makefile fragments.
* hosts/m88kmach3.h, hosts/mipsmach3.h: New files, host definitions.
|
|
* libaout.h (struct aoutdata): Add field zmagic_disk_block_size.
* aout-target.h (MY(callback)): Only set alignment according to
architecture if the section sizes are aligned to that alignment,
for backward compatibility.
(MY(set_sizes)): Initialize zmagic_disk_block_size field.
* aoutx.h (adjust_z_magic): Set ztih if using q_magic_format. Set
text section filepos to zmagic_disk_block_size if not ztih. Use a
different padding algorithm if not ztih.
* i386linux.c (MY_text_includes_header): Don't define.
|
|
symbols; don't look them up in the hash table. From
ralphc@pyramid.com (Ralph Campbell).
|
|
all uses of bfd_target * to be const bfd_target *. Change
bfd_target_vector and bfd_default_vector arrays to be const
bfd_target * const *.
|
|
when computing reloc sizes. From Eric Youngdale
<ericy@cais.cais.com>.
* elfcode.h (elf_bfd_final_link): Don't try to compute maximum
reloc count or size for a non-ELF file.
|
|
and treat them as OMAGIC.
|
|
as N_DATA symbols.
(aout_link_add_symbols): Likewise.
|
|
|
|
tables.
(struct stringtab_entry, struct stringtab_data): Remove.
(HASHMAXLEN, HASH_CHAR, hash, compare, log2, emit_strtab): Remove.
(struct strtab_hash_entry, struct strtab_hash): Define.
(strtab_hash_newfunc, strtab_hash_lookup): Define.
(stringtab_free, emit_stringtab): Define.
(stringtab_init, add_to_stringtab): Rewrite.
(NAME(aout,write_syms)): Use new stringtab code.
(struct aout_final_link_info, NAME(aout,final_link)): Likewise.
(aout_link_write_symbols, aout_link_write_other_symbol): Likewise.
|
|
enum.
* aout-target.h (MY_bfd_copy_private_bfd_data): Define as function
if not already defined. Copy subformat information.
(MY_text_includes_header): Define as 0 if not already defined.
(MY(backend_data)): Use MY_text_includes_header rather than 0.
(MY_final_link_callback): Rename from final_link_callback, and
define only if MY_final_link_callback is not already defined.
(MY_bfd_final_link): Rename use of final_link_callback to
MY_final_link_callback.
* aoutx.h (NAME(aout,some_aout_object_p)): Handle QMAGIC like
ZMAGIC, but set the subformat to q_magic_format. Abort if the
magic number if not recognized.
(adjust_z_magic): Use QMAGIC if q_magic_format.
* i386linux.c (MY_text_includes_header): Define as 1.
(i386linux_bfd_final_link): New static function.
(MY_bfd_final_link): Define as i386linux_bfd_final_link.
* aoutx.h (translate_to_native_sym_flags): Check both section and
output_section against sections of abfd.
|
|
machine type of 68000.
* aoutx.h (NAME(aout,machine_type)): Add new argument unknown.
Set *unknown to true if machine type is really unknown, as opposed
to M_UNKNOWN for the 68000.
(NAME(aout,set_arch_mach)): Change NAME(aout,machine_type) call
accordingly.
* libaout.h (NAME(aout,machine_type)): Add new argument to
prototype.
|
|
* aoutx.h (sym_in_text_section): Don't define.
(sym_in_data_section, sym_in_bss_section): Likewise.
(sym_is_undefined, sym_is_global_defn): Likewise.
(sym_is_debugger_info, sym_is_fortrancommon): Likewise.
(sym_is_absolute, sym_is_indirect): Likewise.
(translate_from_native_sym_flags): Rewrite for clarity. Rearrange
arguments and change caller. Handle weak symbols.
(translate_to_native_sym_flags): Likewise.
(aout_link_check_ar_symbols): Don't ignore weak symbols. Pull
object in from archive if a weak defintion is found for an
existing undefined symbol.
(aout_link_add_symbols): Put all cases in switch. Set flags of an
undefined symbol to 0. Handle weak symbols.
(aout_link_write_symbols): Handle weak symbols.
(aout_link_write_other_symbol): Likewise.
(aout_link_input_section_std): Likewise.
(aout_link_input_section_ext): Likewise.
* sunos.c (sunos_write_dynamic_symbol): Likewise.
|
|
(NAME(aout,get_reloc_upper_bound)): Likewise.
|
|
|
|
Quick <stuck@cs.man.ac.uk>.
* linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
(link_action): Change UNDEF_ROW/def and UNDEFW_ROW/def from NOACT
to REF. Change UNDEF_ROW/indr and UNDEFW_ROW/indr from CYCLE to
REFC. Change DEF_ROW/indr and COMMON_ROW/indr from CYCLE to MDEF.
Change DEFW_ROW/indr from CYCLE to NOACT. Change INDR_ROW/indr
from MDEF to MIND. Change INDR_ROW/warn from WARNC to CYCLE.
Change WARN_ROW/def and WARN_ROW/indr from MWARN to CWARN. Change
WARN_ROW/com from MWARN to WARN. Change WARN_ROW/warn from NOACT
to CYCLE. Change SET_ROW/warn from WARNC to CYCLE>
(_bfd_generic_link_add_one_symbol): Handle REF, MIND, CWARN and
REFC. If a new indirect symbol has been referenced, push the
reference down to the symbol it points to. FIx handling of WARN.
* aoutx.h (translate_from_native_sym_flags): If N_WARNING, don't
clobber e_type of next symbol.
(translate_to_native_sym_flags): Likewise.
(aout_link_write_symbols): Loop on bfd_link_hash_warning as well
as bfd_link_hash_indirect.
|
|
* aoutx.h (NAME(aout,link_hash_newfunc)): Initialize written.
(aout_link_write_symbols): Use written, not root.written.
(aout_link_write_other_symbol): Likewise.
* sunos.c (sunos_scan_dynamic_symbol): Likewise.
* libecoff.h (struct ecoff_link_hash_entry): New field written.
* ecoff.c (ecoff_link_hash_newfunc): Initialize written.
(ecoff_link_write_external): use written, not root.written.
* genlink.h (struct generic_link_hash_entry): New field written.
* linker.c (_bfd_link_hash_newfunc): Don't initialize written.
(generic_link_hash_newfunc): Initialize written.
(_bfd_generic_link_output_symbols): Use written, not root.written.
(_bfd_generic_link_write_global_symbol): Likewise.
(_bfd_generic_reloc_link_order): Likewise.
|
|
* sunos.c: Include bfdlink.h. Add many new functions and
definitions for SunOS shared library support.
* bfd-in.h (bfd_sunos_record_link_assignment): Declare.
(bfd_sunos_size_dynamic_sections): Declare.
* bfd-in2.h: Rebuilt.
* aoutx.h (struct aout_link_hash_entry): Move to libaout.h.
(struct aout_link_hash_table): Likewise.
(aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
(aout_hash_table): Likewise.
(NAME(aout,link_hash_newfunc)): Rename from aout_link_hash_newfunc
and make externally visible.
(NAME(aout,link_hash_table_init)): New function.
(NAME(aout,link_hash_table_create)): Call
NAME(aout,link_hash_table_init), not _bfd_link_hash_table_init.
(aout_link_add_symbols): Don't fail if no symbols. If it exists,
call add_dynamic_symbols backend entry point for dynamic objects.
Use add_one_symbol backend entry point if it exists.
(NAME(aout,final_link)): Call finish_dynamic_link backend entry
point, if it exists.
(aout_link_input_bfd): For a dynamic object, call
link_dynamic_object backend entry point, if it exists.
(aout_link_write_other_symbol): Call write_dynamic_symbol backend
entry point, if it exists.
(aout_link_input_section): Don't read the relocs if they have
already been read.
(aout_link_input_section_std): When doing a final link, for a
reloc against an external symbol, call check_dynamic_reloc backend
entry point, if it exists.
(aout_link_input_section_ext): Likewise.
* libaout.h: Protect against multiple inclusion. Include
bfdlink.h.
(struct aout_link_hash_entry): Move in from aoutx.h.
(struct aout_link_hash_table): Likewise.
(aout_link_hash_lookup, aout_link_hash_traverse): Likewise.
(aout_hash_table): Likewise.
(struct aout_backend_data): Add fields add_dynamic_symbols,
add_one_symbol, link_dynamic_object, write_dynamic_symbol,
check_dynamic_reloc, and finish_dynamic_link.
(struct aout_section_data_struct): Define new structure.
(aout_section_data): Define new accessor macro.
(NAME(aout,link_hash_newfunc)): Declare.
(NAME(aout,link_hash_table_init)): Declare.
* aoutf1.h (sunos4_aout_backend): Initialize new aout_backend_data
fields.
* aout-target.h (MY(backend_data)): Likewise.
* i386aout.c (MY(backend_data)): Likewise.
* i386mach3.c (MY(backend_data)): Likewise.
* mipsbsd.c (MY(backend_data)): Likewise.
* sparclynx.c (sparclynx_aout_backend): Likewise.
|
|
avoids __eprintf troubles.
|
|
(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.
|
|
index.
|
|
(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.
|
|
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.
|
|
if we don't have a bfd_object.
|