/* 8 and 16 bit COFF relocation functions, for BFD.
- Copyright (C) 1990-2015 Free Software Foundation, Inc.
+ Copyright (C) 1990-2021 Free Software Foundation, Inc.
Written by Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
/* Most of this hacked by Steve Chamberlain <sac@cygnus.com>. */
-/* These routines are used by coff-h8300 and coff-z8k to do
- relocation.
+/* These routines are used by coff-z8k to do relocation.
FIXME: This code should be rewritten to support the new COFF
linker. Basically, they need to deal with COFF relocs rather than
the generic symbols. */
h = bfd_wrapped_link_hash_lookup (input_section->owner, link_info,
bfd_asymbol_name (symbol),
- FALSE, FALSE, TRUE);
+ false, false, true);
if (h != (struct bfd_link_hash_entry *) NULL
&& (h->type == bfd_link_hash_defined
|| h->type == bfd_link_hash_defweak))
value = 0;
else
{
- if (!((*link_info->callbacks->undefined_symbol)
- (link_info, bfd_asymbol_name (symbol),
- input_section->owner, input_section, reloc->address,
- TRUE)))
- abort ();
+ (*link_info->callbacks->undefined_symbol)
+ (link_info, bfd_asymbol_name (symbol),
+ input_section->owner, input_section, reloc->address, true);
value = 0;
}
}
}
}
-bfd_boolean
+bool
bfd_coff_reloc16_relax_section (bfd *abfd,
asection *input_section,
struct bfd_link_info *link_info,
- bfd_boolean *again)
+ bool *again)
{
/* Get enough memory to hold the stuff. */
bfd *input_bfd = input_section->owner;
/* We only do global relaxation once. It is not safe to do it multiple
times (see discussion of the "shrinks" array below). */
- *again = FALSE;
+ *again = false;
if (reloc_size < 0)
- return FALSE;
+ return false;
reloc_vector = (arelent **) bfd_malloc ((bfd_size_type) reloc_size);
if (!reloc_vector && reloc_size > 0)
- return FALSE;
+ return false;
/* Get the relocs and think about them. */
reloc_count =
if (reloc_count < 0)
{
free (reloc_vector);
- return FALSE;
+ return false;
}
/* The reloc16.c and related relaxing code is very simple, the price
input_section->rawsize = input_section->size;
input_section->size -= shrink;
free ((char *) reloc_vector);
- return TRUE;
+ return true;
}
bfd_byte *
struct bfd_link_info *link_info,
struct bfd_link_order *link_order,
bfd_byte *data,
- bfd_boolean relocatable,
+ bool relocatable,
asymbol **symbols)
{
/* Get enough memory to hold the stuff. */