(alpha_howto_table): Use it as special_function to prevent certain relocs from
being adjusted by bfd_perform_relocation. IGNORE reloc should be
partial_inplace.
(alpha_ecoff_get_relocated_section_contents): Accept a LITERAL reloc on an
"ldl" instruction too.
configuration.
(hppa*-*-*elf*): This configuration used hppa-elf now.
* som.c: This file is also used for HOST_HPPAOSF.
* targets.c (bfd_target_vector): Enable som_vec for HOST_HPPAOSF.
* hosts/hppaosf.h: New host configuration file.
* config/hppabsd.mt (SELECT_VECS): Add bfd_elf32_hppa_vec as
BSD handles both SOM and ELF object files.
* config/hppaosf.mh (HDEFINES): Delete. No longer needed.
(RANLIB): Doesn't do anything, define it to be "echo".
* config/hppaosf.mt: New target makefile fragment for a PA running
OSF1.
"unsigned", some compilers don't like it after "unsigned".
* libcoff.h, libcoff-in.h (bfd_perform_slip): Rename "value" to
"val" in prototype declaration because some compilers don't like
arguments whose names are the same as types.
with another: actually look at the target name to avoid the broken
COFF check.
(bfd_reloc_code_real_type): Add BFD_RELOC_PPC_B26,
BFD_RELOC_PPC_BA26 and BFD_RELOC_PPC_TOC16.
* bfd-in2.h: Rebuilt.
(bfd_xmalloc, bfd_xmalloc_by_size_t): Functions deleted.
* libbfd-in.h: Define them as macros calling xmalloc and declare
xmalloc.
* libbfd.h: Rebuilt.
* ecofflink.c hash.c ieee.c opncls.c (obstack_chunk_alloc): Define
to be xmalloc, not bfd_xmalloc_by_size_t.
and size correctly.
(coff_swap_aux_in): If RS6000COFF_C, change x_csect.x_scnlen to
x_csect.x_scnlen.l to match change in coff/internal.h.
(coff_swap_aux_out): Likewise.
in the internal_reloc itself, not the type.
* coff-apollo.c, coff-h8300.c, coff-h8500.c, coff-i386.c,
coff-m68k.c, coff-sh.c, coff-we32k.c, coff-z8k.c: Changed
definition of SELECT_RELOC accordingly.
_bfd_coff_swap_aux_in and _bfd_coff_swap_aux_out: aux index number
and number of aux entries.
(bfd_coff_swap_aux_in, bfd_coff_swap_aux_out): Changed
accordingly.
* libcoff.h: Rebuilt.
* coffswap.h (coff_swap_aux_in, coff_swap_aux_out): Accept new
arguments. If RS6000COFF_C, only treat C_EXT and C_HIDEXT
specially if this is the last aux entry.
* coffgen.c (coff_write_symbol, coff_get_normalized_symtab): Pass
new arguments to swap_aux functions.
(only testing for m68k and vax at the moment); do verify that the
preprocessor didn't trash the arch name inside the string version.
Don't print out "pagesize =" line that prevents output from
compiling. Derive BYTES_IN_WORD and ARCH values from sizeof
results.
* Makefile.in (aout-params.h): Pass gen-aout a dummy target name.
bfd_som_set_subsection_attributes): Change parameters from char
to int. Following a prototype with an old-style function definition
in the presence of widened parameters is a GCC-ism not supported
by the HP compiler in ANSI mode.
.pdata section based on lnnoptr field, not section header.
(alpha_relocate_section): Don't bother to check if r_symndx >= 0,
since it is unsigned.
(ecoffalpha_little_vec): Use alpha_ecoff_object_p rather than
coff_object_p.
* ecoff.c (ecoff_new_section_hook): Set alignment_power field of
.pdata section to 3.
(ecoff_compute_section_file_positions): Save the size of the
.pdata section in the line_filepos field, and actually align the
.pdata section to an alignment power of 4.
(ecoff_compute_reloc_file_positions): Set output_has_begun after
calling ecoff_compute_section_file_positions.
(ecoff_write_object_contents): Set s_lnnoptr for the .pdata
section from the line_filepos field. Set vstamp for the optional
header from the vstamp of the symbolic header.
(ecoff_bfd_final_link): Set vstamp of the symbolic header to the
vstamp used by the first object file in the link.
(bfd_check_format): Call it.
(bfd_matching_formats): Function removed.
* targets.c: Replace the vector added on Jan 21 with a count of
entries in default_vector.
* bfd-in2.h: Regenerated.
the symbol value and check for undefined symbols.
(get_value): If the symbol is undefined, look it up in the linker
hash table.
(b_out_get_relocated_section_contents): For PCREL24 and PCREL13
use get_value to get the symbol value and check for undefined
symbols.
* reloc16.c (bfd_coff_reloc16_get_value): If the symbol is
undefined, look it up in the linker hash table.
Remove decl of type symclass; wasn't used.
* bfd.c: Document error handling, including code fragments
containing the error decls that were in bfd-in.h.
Remove DEFUNs.
* bfd-in2.h: Regenerated.
oasys.c (oasys_write_sections): Rename
bfd_error_nonrepresentable_section to nonrepresentable_section.
None of the other bfd error names start with "bfd_error".
Remove errors symbol_not_found and no_relocation_info, which seem
to be unused.
* bfd-in2.h: Regenerated.
(bfd_print_symbol_vandf): Print it.
* bfd-in2.h: Rebuilt.
* libaout.h (struct aout_backend_data): New read_dynamic_symbols
and read_dynamic_relocs fields.
(struct aoutdata): New dynamic_info field.
(obj_aout_dynamic_info): New accessor macro.
* sunos.c (struct sunos_dynamic_info): New structure.
(sunos_read_dynamic_info, MY(read_dynamic_symbols),
MY(read_dynamic_relocs)): New functions to read dynamic symbols
and relocs.
* aoutx.h (NAME(aout,some_aout_object_p)): If the object is
dynamically linked, set SEC_RELOC for both the .text and .data
sections.
(translate_from_native_sym_flags): Don't set BSF_LOCAL for an
undefined symbol.
(translate_symbol_table): New function, split out of
slurp_symbol_table; set the BSF_DYNAMIC flag appropriately.
(NAME(aout,slurp_symbol_table)): Read dynamic symbols, if any.
(NAME(aout,slurp_reloc_table)): Read dynamic relocs, if any.
(NAME(aout,get_reloc_upper_bound)): Include dynamic reloc count in
return value.
* aoutf1.h (NAME(aout,sunos4_write_object_contents)): Don't write
out dynamic symbols or relocs against reloc symbols, since they
are already in the .text section and we wouldn't know where to
write them anyhow.
(sunos4_aout_backend): Initialize read_dynamic_symbols and
read_dynamic_relocs fields.
* aout-target.h (MY(backend_data)): Initialize
read_dynamic_symbols and read_dynamic_relocs fields.
for an indirect or warning symbol.
(aout_link_write_symbols): Update sym_hash with the target of an
indirect symbol. If an indirect symbol is defined, output the
calculated value and don't output the target symbol.
the DYNAMIC flag for the BFD.
(NAME(bfd_elf,write_object_contents)): Don't try to write out a
BFD with the DYNAMIC flag set, since we don't generate the program
header table correctly.
* libbfd.c (bfd_generic_set_section_contents): Remove range check
for section size, it is already done in bfd_set_section_contents
with bfd_get_section_size_now.
* aix386-core.c, hppabsd-core.c, hpux-core.c, irix-core.c,
osf-core.c, ptrace-core.c, trad-core.c (*_set_section_contents):
Use bfd_generic_set_section_contents instead of bfd_false.
information, and to write some of out directly rather than saving
it in memory. Several new functions and structures, and new
arguments to existing functions.
* ecoff.c (ecoff_compute_reloc_file_positions): Compute
sym_filepos as well.
(ecoff_get_extr): Use ifdmap instead of ifdbase.
(ecoff_write_object_contents): Don't compute sym_filepos here.
Only output symbols if outsymbols is not NULL.
(ecoff_bfd_final_link): Adjust for changes in ecoff_debug_info and
bfd_ecoff_debug functions. Write out debugging information here.
(ecoff_final_link_debug_accumulate): Adjust for changes in
bfd_ecoff_debug functions.
(ecoff_link_write_external): Use ifdmap rather than ifdbase.
* elf32-mips.c (mips_elf_read_ecoff_info): Read external symbols
first, to put them in the first memory buffer. Clear fdr field.
(mips_elf_get_extr): Use pointer to unswapped external symbol.
(mips_elf_final_link): Adjust for changes in bfd_ecoff functions.
Preserve .text, .data and .bss even if they are empty. Save
pointer to unswapped external symbol rather than copying it.
Don't free up the external symbols.
* libelf.h (elf_symbol_type): Change mips_extr to PTR.
* bfd-in.h (bfd_ecoff_debug_init, bfd_ecoff_debug_free): Declare.
(bfd_ecoff_debug_accumulate): Update declaration.
(bfd_ecoff_debug_accumulate_other): Rename declaration from
bfd_ecoff_debug_link_other and update.
(bfd_ecoff_write_accumulated_debug): Declare.
* bfd-in2.h: Rebuilt.
* Makefile.in: Rebuilt dependencies.
* bfd-in.h: (bfd_boolean): Add workaround for systems that also
define true and false as enums.
(ALMOST_STDC): Add as alternative to __STDC__.
* bfd-in2.h: Rebuilt.
* syms.c (bfd_print_symbol_vandf): Convert a PTR to FILE*.
* aoutf1.h (NAME(aout,sunos4_write_object_contents)):
If the DYNAMIC flag is set, set it in the exec header.
* aoutx.h (NAME(aout,some_aout_object_p)): If the object is
dynamically linked, set the DYNAMIC flag in the BFD.
* libaout.h (N_SET_DYNAMIC): New macro.
(N_DYNAMIC): Add missing 0 in mask.
(_bfd_add_bfd_to_archive_cache): Declare.
(_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
* libbfd.h: Rebuilt.
* archive.c: Cleaned up some more.
(_bfd_generic_mkarchive, bfd_generic_archive_p): Initialize
pointer elements of artdata.
(_bfd_add_bfd_to_archive_cache): Renamed from add_bfd_to_cache.
(_bfd_snarf_ar_hdr): Renamed from snarf_ar_hdr.
(get_extended_arelt_filename, get_elt_at_filepos,
bfd_construct_extended_name_table, bfd_ar_hdr_from_filesystem,
compute_and_write_armap): Made static.
* ecoff.c: Some comment changes.
(ecoff_slurp_armap): Handle rename of snarf_ar_hdr. Set
ardata->tdata to raw_armap.
(ecoff_archive_p): Initialize pointer elements of artdata.
* coff-rs6000.c (rs6000coff_get_elt_at_filepos): Handle rename of
add_bfd_to_cache.