to the core file bfd.
(rs6000coff_core_p): Use make_bfd_asection to add the core file
sections.
Use BFD routines to seek, read and stat the core file.
Handle .data sections from loaded objects and anonymously mmapped
regions, these are available in AIX 4 core files.
* acinclude.m4: New file, copied from old aclocal.m4.
* configure.in: Define and call AM_PROG_LIBTOOL and friends.
Remove shared library handling; now handled by libtool. Replace
AC_CONFIG_HEADER with AM_CONFIG_HEADER. Call AM_MAINTAINER_MODE,
AM_CYGWIN32, and AM_EXEEXT. Change all .o files to .lo. Remove
stamp-h handling in AC_OUTPUT.
* acconfig.h: Mention PACKAGE and VERSION.
* stamp-h.in: New file.
* dep-in.sed: Change .o to .lo.
* Makefile.in: Now built with automake.
* aclocal.m4: Now built with aclocal.
* config.in, configure: Rebuild.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Don't set TEXTREL
if there is only a relocation to a read-only but not allocatable
section (like .stab).
* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
* elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
* elf32-ppc.c (ppc_elf_howto_raw): Correct various comments.
(ppc_elf_create_linker_section): These sections are not
created by the linker (that is, they are created by the user
putting data in them). In particular, they can be the source
and target of relocations.
(ppc_elf_adjust_dynamic_symbol): Check postcondition of
bfd_elf32_link_record_dynamic_symbol. Align 16-byte common
objects (for instance, 'long double') to 16-byte boundaries.
(ppc_elf_size_dynamic_sections): Make the code that generates
section symbols exactly the same as for sparc, reducing the
number of section symbols output.
(ppc_elf_check_relocs): Check postcondition of
bfd_elf32_link_record_dynamic_symbol. Make default case the
same as corresponding code for sparc, fixing bug involving
.rela.stabs.
(ppc_elf_finish_dynamic_symbol): Fix case involving GOT symbols
forced to be local because of versioning (by replicating
corresponding change in sparc). Treat R_PPC_RELATIVE RELA relocs
as usual in ELF, not as pseudo-REL relocs (as the sparc linker
does).
(ppc_elf_relocate_section): Add handy debugging code for when
assertion fails. Add some more 'symbol made local because of
versioning' cases.
* elf32-ppc.c (ppc_elf_relocate_section): Cope with addend when
processing a GOT relocation as required by ABI.
* elflink.h (NAME(bfd_elf,record_link_assignment)): Remove any
version info if this symbol came from a dynamic object.
(elf_link_add_object_symbols): Set the version info of a symbol
only if the object actually contains version definitions and
defines this symbol.
* configure.in: Use CYGWIN and EXEEXT autoconf macro to look for
win32 dependencies.
* configure: Regenerated with autoconf 2.12.
* doc/Makefile.in: Add $(EXEEXT) to chew executable.
difference of two symbols if the relocation size is 32 bits.
(som_write_fixups): Handle R_DATA_EXPR.
Useful stuff from one of the aborted attempts to fix 12912.
* coffswap.h (coff_swap_filehdr_in): Invoke
COFF_ADJUST_FILEHDR_IN_PRE and COFF_ADJUST_FILEHDR_IN_POST if they
are defined.
(coff_swap_filehdr_out): Invoke COFF_ADJUST_FILEHDR_OUT_PRE and
COFF_ADJUST_FILEHDR_OUT_POST if they are defined.
(coff_swap_aux_in): Invoke COFF_ADJUST_AUX_IN_PRE and
COFF_ADJUST_AUX_IN_POST if they are defined.
(coff_swap_aux_out): Invoke COFF_ADJUST_AUX_OUT_PRE and
COFF_ADJUST_AUX_OUT_POST if they are defined.
(coff_swap_scnhdr_in): Invoke COFF_ADJUST_SCNHDR_IN_PRE and
COFF_ADJUST_SCNHDR_IN_POST if they are defined.
(coff_swap_scnhdr_out): Invoke COFF_ADJUST_SCNHDR_OUT_PRE and
COFF_ADJUST_SCNHDR_OUT_POST if they are defined.
target id field to TIC80_TARGET_ID.
* coffswap.h (coff_swap_filehdr_out): Swap out target id field
if used.
(coff_swap_filehdr_in): Swap in target id field if used.
symbol overriding an old defined symbol, return the hash table
entry which we modify, even if it is the target of an
indirection.
(elf_link_add_object_symbols): If the real name of the symbol gets
overridden, convert the versioned symbol into an indirect symbol
to the real symbol.
* elf32-ppc.c (ppc_elf_relocate_section): Don't emit R_PPC_REL*
relocs in shared libraries which refer to local symbols. Cope
with addend when processing a GOT relocation.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Only create symbols
for sections that the linker didn't create.
(ppc_elf_finish_dynamic_sections): Only try to write out a section
symbol if it was created in ppc_elf_size_dynamic_sections.
(ppc_elf_relocate_section): Complain if we have to generate a reloc
relative to a section for which we didn't output a symbol.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Clean up. PLT
relocs are 'rela' relocs, like everything else. .rela.plt is not
a read-only section, so we don't have to special-case it.
* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Entries in the
.rela.bss section are (of course) 'rela' relocs not 'rel' relocs.
* elf32-ppc.c (ppc_elf_check_relocs): Initialise srelgot.
(ppc_elf_relocate_section): @got offsets are 4 from start of the
actual .got section.
* elflink.c (_bfd_elf_create_got_section): The three reserved
words start from the symbol '_GLOBAL_OFFSET_TABLE_'.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): '.rela' is 5
characters, not 4.
* elf32-ppc.c (ppc_elf_check_relocs): Use
_bfd_elf_create_got_section to create the GOT rather than
ppc_elf_create_linker_section. Create the '.rela.got' section
ourselves.
(ppc_elf_finish_dynamic_symbol): Set up GOT relocations when a
symbol has a GOT entry.
(ppc_elf_relocate_section): Record when a symbol is used through
the GOT, and allocate space in the GOT for each such symbol.
(ppc_elf_adjust_dynamic_symbol): Delete unused .got.plt stuff.
(ppc_elf_create_linker_section): Delete unused LINKER_SECTION_GOT
stuff.
* elf32-ppc.c (ppc_elf_howto_raw): GOT16_HA relocs should be
treated in a similar way to ADDR16_HA relocs.
(ppc_elf_relocate_section): PLTREL24 relocs do not get copied into
shared objects; the linker must deal with them.
(ppc_elf_create_linker_section): Stop setting
_GLOBAL_OFFSET_TABLE_ to the wrong value; delete unused
LINKER_SECTION_PLT stuff.
(ppc_elf_check_relocs): Delete unused LINKER_SECTION_PLT stuff.
(ppc_elf_finish_dynamic_sections): Use BFD calls to get GOT
section, not ELF-specific calls.
(elf_backend_plt_not_loaded): Set to 1.
(elf_backend_got_symbol_offset): Set to 4.
* elf-bfd.h (elf_backend_data): Add 'plt_not_loaded' member
for when ld.so fills in the PLT; and 'got_symbol_offset' member.
* elflink.c (_bfd_elf_create_dynamic_sections): Apply
plt_not_loaded member.
(_bfd_elf_create_got_section): Apply got_symbol_offset.
* elfxx-target.h (elf_backend_plt_not_loaded): Set default to
'loaded'.
(elf_backend_G_O_T_offset): Set default to 0.
(elfNN_bed): Set added fields.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Was setting
DT_RELENT in shared objects; should be DT_RELAENT.
* elf32-ppc.c (ppc_elf_relocate_section): Propagate
R_PPC_ADDR16_HA relocs to shared objects. Cope with case where
such a reloc (in a non-shared object) refers to a symbol that's
not defined.
* elfcode.h (put_signed_word): Define.
(get_signed_word): Define.
(elf_swap_reloca_in): Use get_signed_word for the r_addend field.
(elf_swap_reloca_out): Use put_signed_word for the r_addend
field.
* elf32-m68k.c (elf_m68k_finish_dynamic_symbol): Use
bfd_get_signed_32 to set the r_addend field.
* elf64-mips.c (mips_elf64_swap_reloca_in): Use
bfd_h_get_signed_64 to set the r_addend field.
elf_link_assign_sym_version before elf_adjust_dynamic_symbol.
(elf_fix_symbol_flags): New static function, broken out of
elf_adjust_dynamic_symbol.
(elf_adjust_dynamic_symbol): Call elf_fix_symbol_flags.
(elf_link_assign_sym_version): Likewise. Permit a symbol to be
forced local even if NEEDS_PLT is set. When forcing a symbol to
be local, clear NEEDS_PLT.
(elf_link_output_extsym): Remove unused local bed.