message instead of merely aborting.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_check_relocs): Use SEC_ALLOC to control
whether we output dynamic relocs instead of SEC_DEBUGGING.
(sparc64_elf_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_merge_private_bfd_data):
New function. Avoid mixing US1 and HAL R1 code.
Set resulting memory ordering to the strongest one used.
(sparc64_elf_object_p): Set bfd_mach correctly.
(sparc64_elf_check_relocs): Handle them.
(sparc64_elf_relocate_section): Likewise. Before emitting a dyn reloc,
check alignment and transmute R_SPARC_x<->R_SPARC_UAx.
* elf-bfd.h (struct elf_backend_data): Add plt_alignment member.
* elflink.c (_bfd_elf_create_got_section): Set .got alignment based
on arch_size.
(_bfd_elf_create_dynamic_sections): Likewise for .rel* sections.
Set .plt alignment from new plt_alignment.
* elflink.h (elf_link_create_dynamic_sections): Set version section
alignment to LOG_FILE_ALIGN.
* elfxx-target.h (elf_backend_plt_alignment): Provide default.
(elfXX_bed): Init plt_alignment.
* elf64-sparc.c (sparc64_elf_check_relocs,
sparc64_elf_adjust_dynamic_symbol, sparc64_elf_size_dynamic_sections,
sparc64_elf_adjust_dynindx, sparc64_elf_finish_dynamic_symbol,
sparc64_elf_finish_dynamic_sections): New functions.
(sparc64_elf_howto_table): Fix a few name strings.
(ELF_DYNAMIC_INTERPRETER): New definition.
(sparc64_elf_relocate_section): Handle shared libraries.
* elf64-sparc.c (struct plt_template, plt_*_header, plt_*_entry,
sparc64_elf_build_plt_entry, sparc64_elf_finish_dynamic_symbol):
PLT definitions sparc64-linux originally choose. These will go
away soon in favour of the official abi definitions.
(som_bfd_ar_write_symbol_stuff): New parameter elength. All callers
changed. Use passed in elength to determine size of the extended
name table instead of computing it again.
merge got and reloc entries from ind syms to their target.
(elf64_alpha_always_size_sections): Call it.
(elf64_alpha_check_relocs): Operate on the target of indirect symbols.
(elf64_alpha_can_merge_gots): Likewise.
(elf64_alpha_merge_gots): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section): Back out HJ's change,
as it is insufficient to handle the relocation changes as well.
* xcofflink.c (xcoff_link_add_symbols): Don't create the .debug
section if we are stripping.
(bfd_xcoff_size_dynamic_sections): Don't set the .debug section
size if we are stripping.
(_bfd_xcoff_bfd_final_link): Don't set SEC_RELOC or rel_filepos,
and don't write out relocs, if we are stripping.
(xcoff_link_input_bfd): Don't set up reloc if we are stripping.
(xcoff_write_global_symbol): Don't write out symbol or reloc if we
are stripping.
(bfd_perform_relocation, bfd_install_relocation): Use it.
(BFD_RELOC_SPARC_{DISP64,PLT64}): New relocs.
(BFD_RELOC_SPARC_{HIX22,LOX10,H44,M44,L44,REGISTER}): New relocs.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
(stmp-bfd-h): Rename from stmp-bfd.h.
(BFD_H_FILES, LIBBFD_H_FILES, LIBCOFF_H_FILES): New variables.
($(srcdir)/bfd-in2.h): Just depend upon stmp-bin2-h.
(stmp-bin2-h): New target.
($(srcdir)/libbfd.h): Just depend upon stmp-lbfd-h.
(stmp-lbfd-h): New target.
($(srcdir)/libcoff.h): Just depend upon stmp-lcoff-h.
(stmp-lcoff-h): New target.
(CLEANFILES): Change stmp-bfd.h to stmp-bfd-h. Add stmp-bin2.h,
stmp-lbfd-h, and stmp-lcoff-h.
* Makefile.in: Rebuild.
paged, don't put a loadable section after a nonloadable section.
(assign_file_positions_for_segments): Increment the file offset
for a section with contents, even if it is not loadable.
PR 13139.
the same as C_EXT syms.
(coff_link_add_symbols): Ditto.
(_bfd_coff_link_input_bfd): Ditto.
(_bfd_coff_write_task_globals): Add save_global_to_static. Use
it to preserve and restore state of global_to_static flag.
PR 13202
(GET_SCNHDR_ALIGN, PUT_SCNHDR_ALIGN): Define.
* coff-m88k.c (GET_SCNHDR_NRELOC, GET_SCNHDR_NLNNO): Define.
* coffcode.h (coff_set_alignment_hook): Conditionally compile in if
COFF_ALIGN_IN_SECTION_HEADER is defined. Convert alignment to power
of two for I960 only.
* coffswap.h (GET_SCNHDR_NRELOC, PUT_SCNHDR_NRELOC, GET_SCNDHR_NLNNO,
PUT_SCNHDR_NLNNO, GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Provide
default definitions.
(coff_swap_scnhdr_in): Use GET_SCNHDR_FLAGS, GET_SCNHDR_NRELOC,
GET_SCNHDR_NLNNO, and GET_SCNHDR_ALIGN.
(coff_swap_scnhdr_out): Use PUT_SCNHDR_FLAGS, PUT_SCNHDR_ALIGN.
start-sanitize-tic80
* Makefile.in (coff-tic80.o): Depends upon coffswap.h.
* coff-tic80.c (COFF_ALIGN_IN_SECTION_HEADER): Define to 1.
(GET_SCNHDR_FLAGS, PUT_SCNHDR_FLAGS): Define
*coffcode.h (coff_write_object_contents): Set alignment field in
section header for TIC80COFF files.
end-sanitize-tic80
PR 12215 and PR 13061
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.
* Makefile.in: Change stamp-* files to s-* files. Use bfdt.texi
rather than bfd.texi.
(DOCFILES): Change bfd.texi to bfdt.texi.
* bfd.texinfo: Include bfdt.texi, not bfd.texi.
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.