(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.
fields to bitfields. Added fields fix_value and fix_scnlen.
(sec_to_styp_flags): If STYP_DEBUG is defined, use it rather than
STYP_INFO for the type of a section named .debug.
(coff_add_missing_symbols): Don't define if RS6000COFF_C.
(coff_write_object_contents): If RS6000COFF_C, don't call
coff_add_missing_symbols.
(coff_slurp_symbol_table): If RS6000COFF_C, then if the last aux
entry has type STY_LD change the x_scnlen into a pointer to a
symbol and set fix_scnlen. Also, for a C_BSTAT symbol, change the
value into a pointer to a symbol and set fix_value.
* libcoff.h: Rebuilt.
* coffgen.c (coff_mangle_symbols): Reindent. If fix_value is set,
get the symbol offset. Likewise for fix_scnlen.
(string_size): Change type to bfd_size_type.
(debug_string_size, debug_string_section): New static variables.
(coff_fix_symbol_name): If bfd_coff_symname_in_debug returns true,
write the symbol name into the .debug section; assume that the
section has already been created with the right size.
(coff_write_symbols): Initialize debug_string_size to 0. If
bfd_coff_symname_in_debug returns true, don't put symbol name in
usual string table. After writing out all symbols, if
debug_string_size is not 0, check that it matches the size of the
.debug section.
(coff_get_normalized_symtab): Clear new fix_value and fix_scnlen
fields. If the string offset is 0, always use an empty string as
the name.
(coff_make_empty_symbol): Zero out the symbol structure.
(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.