(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
COFF_IMAGE_WITH_PE, don't subtract the section VMA from the symbol
value.
* coffgen.c (fixup_symbol_value): Add abfd parameter. Change all
callers. If PE file, don't add section VMA.
(coff_write_alien_symbol): If PE file, don't add section VMA.
* cofflink.c (_bfd_coff_link_input_bfd): Likewise.
(_bfd_coff_write_global_sym): Likewise.
(_bfd_coff_generic_relocate_section): Likewise.
architecture variant in the BFD and COFF structures. This goes towards
fixing PRs 11709 and 11326 and will integrate with future updates to LD and
GCC.
(struct bfd_hash_table): Change memory field to PTR.
* bfd.c (struct _bfd): Change memory field to PTR.
* bfd-in2.h: Rebuild.
* libbfd-in.h (bfd_release): Declare as function, don't define as
macro.
* libbfd.h: Rebuild.
* opncls.c: Include "objalloc.h" rather than "obstack.h". Use
objalloc routines rather than obstack routines.
(obstack_chunk_alloc, obstack_chunk_free): Don't define.
(getpagesize): Don't define.
(_bfd_new_bfd): Don't set _bfd_chunksize.
(bfd_openr): Free new bfd and objalloc on failure.
(bfd_fdopenr, bfd_openstreamr, bfd_openw): Likewise.
(bfd_alloc_size): Remove.
(bfd_release): New function.
* hash.c: Include "objalloc.h" rather than "obstack.h". Use
objalloc routines rather than obstack routines.
(obstack_chunk_alloc, obstack_chunk_free): Don't define.
* ecofflink.c: Include "objalloc.h" rather than "obstack.h". Use
objalloc routines rather than obstack routines.
(obstack_chunk_alloc, obstack_chunk_free): Don't define.
(struct accumulate): Change memory to struct objalloc *.
* liboasys.h (oasys_data_type): Remove oasys_obstack field.
* dep-in.sed: Don't remove obstack.h from dependency list.
* Makefile.in: Rebuild dependencies.
(BFD_H_DEPS): Remove obstack.h.
(install): Don't install obstack.h.
* Many files: Don't include "obstack.h".
* VERSION: Bump.
old version of bfd_alloc.
* libbfd-in.h (bfd_alloc_by_size_t): Don't declare.
* libbfd.h: Rebuild.
* Several files: Call bfd_alloc rather than bfd_alloc_by_size_t.
* coff-tic80.c (rtype2howto): If passed a relocation type we don't
understand, just set the howto field to NULL, and the caller will
print an appropriate error message.
end-sanitize-tic80
* coffcode.h (coff_slurp_reloc_table): Pull duplicate declarations and
code fragment out of both legs of #ifdef RELOC_PROCESSING ... #endif
block. Use NULL for initializations of "ptr" rather than bare 0.
* coff-h8300.c: Fix typo in comment.
* coff-h8500.c: Ditto.
* coff-w65.c: Ditto
* coff-z8k.c: Ditto.
to _bfd_is_local_label_name.
(bfd_target): Likewise.
* syms.c (bfd_is_local_label): Define as function, not macro.
(bfd_is_local_name): Define.
* libbfd.c (bfd_generic_is_local_label_name): Rename from
bfd_generic_is_local_label, and take a string rather than a
symbol.
* libbfd-in.h (_bfd_nosymbols_bfd_is_local_label): Don't define.
(_bfd_nosymbols_bfd_is_local_label_name): Define.
(bfd_generic_is_local_label): Don't declare.
(bfd_generic_is_local_label_name): Declare.
* bfd-in2.h, libbfd.h: Rebuild.
* All backends: Change local_label to local_label_name.
* coff-tic80.c (tic80coff_vec): Data byte order is big endian and
header byte order is little endian. Use correct bfd_get and
bfd_put routines for little endian headers.
* coffcode.h (coff_set_arch_mach_hook): Set arch to
bfd_arch_tic80 for TIC80_ARCH_MAGIC number.
(ALL_MACHINES): Add cpu-tic80.o
(cpu-tic80.o, coff-tic80.o): Add dependencies.
* coff-tic80.c: Add skeleton, cloned from another coff config.
* coffcode.h (coff_write_object_contents): Set magic to TIC80MAGIC
for TIc80.
(SEC_LINK_DUPLICATES): Define.
(SEC_LINK_DUPLICATES_DISCARD): Define.
(SEC_LINK_DUPLICATES_ONE_ONLY): Define.
(SEC_LINK_DUPLICATES_SAME_SIZE): Define.
(SEC_LINK_DUPLICATES_SAME_CONTENTS): Define.
* bfd-in2.h: Rebuild.
* coffcode.h (sec_to_styp_flags): If COFF_WITH_PE, turn
SEC_LINK_ONCE into IMAGE_SCN_LNK_COMDAT.
(styp_to_sec_flags): If COFF_WITH_PE, turn IMAGE_SCN_LNK_REMOVE
into SEC_EXCLUDE. If IMAGE_SCN_LNK_COMDAT is set, set
SEC_LINK_ONCE, and look through the symbol table for the setting
for SEC_LINK_DUPLICATES.
(coff_write_object_contents): If COFF_WITH_PE, if SEC_LINK_ONCE is
set for a section, find the section symbol in the symbol table,
and set the aux entry based on SEC_LINK_DUPLICATES.
* coffgen.c (coff_print_symbol): Add a space before "checksum".
* coff-arm.c (armcoff_big_vec): If COFF_WITH_PE is defined, add
SEC_LINK_ONCE and SEC_LINK_DUPLICATES to section_flags.
* coff-i386.c (i386coff_vec): Likewise.
* coff-ppc.c (TARGET_LITTLE_SYM, TARGET_BIG_SYM): Likewise.
* libbfd.h: Rebuilt.
* linker.c (generic_link_hash_newfunc): No longer static.
* coffcode.h (coff_bfd_link_hash_create): Allow specific targets
to override.
* coff-h8300.c: Add two derived hash tables and their associated
funtions and #defines for use by the h8300 linker.
(h8300_reloc16_extra_cases, case R_MEM_INDIRECT): Create entries in
the function vector as needed. Place the address of the function
vector entry in the location specified by the R_MEM_INDIRECT reloc.
Rewrite the vectors section contents as necessary.
(h8300_bfd_link_add_symbols): New function for the h8300 linker.
(coff_bfd_link_add_symbols): Define to use h8300 specific version.
(coff_bfd_link_hash_table_create): Likewise.
Linker changes for function vectors. HMSE.
.lib section to work even if the entire section contents are
written at once. From Gvran Uddeborg <gvran@uddeborg.pp.se> and
Robert Lipe <robertl@arnet.com>.
obstack_alloc fails.
(bfd_alloc_finish): Set bfd_error_no_memory if obstack_finish
fails.
* libbfd.c (bfd_zmalloc): Set bfd_error_no_memory if malloc fails.
* Many files: don't set bfd_error_no_memory if one of the above
routines fails.
* coff-rs6000.c (rs6000coff_vec): Add conditional defines
TARGET_SYM and TARGET_NAME for vector and BFD name.
* coff-pmac.c (pmac_xcoff_vec): Remove.
(TARGET_SYM, TARGET_NAME): Define.
* coffcode.h (coff_set_arch_mach_hook) [POWERMAC]: Set the
machine to 0, not all PowerMacs are 601s.