aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-xstormy16.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elf32-xstormy16.c')
-rw-r--r--bfd/elf32-xstormy16.c168
1 files changed, 84 insertions, 84 deletions
diff --git a/bfd/elf32-xstormy16.c b/bfd/elf32-xstormy16.c
index 30b152e..a729514 100644
--- a/bfd/elf32-xstormy16.c
+++ b/bfd/elf32-xstormy16.c
@@ -1,5 +1,5 @@
/* XSTORMY16-specific support for 32-bit ELF.
- Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -33,24 +33,24 @@ static bfd_reloc_status_type xstormy16_elf_24_reloc
PARAMS ((bfd *abfd, arelent *reloc_entry, asymbol *symbol,
PTR data, asection *input_section, bfd *output_bfd,
char **error_message));
-static boolean xstormy16_elf_check_relocs
+static bfd_boolean xstormy16_elf_check_relocs
PARAMS ((bfd *, struct bfd_link_info *, asection *,
const Elf_Internal_Rela *));
-static boolean xstormy16_relax_plt_check
+static bfd_boolean xstormy16_relax_plt_check
PARAMS ((struct elf_link_hash_entry *, PTR));
-static boolean xstormy16_relax_plt_realloc
+static bfd_boolean xstormy16_relax_plt_realloc
PARAMS ((struct elf_link_hash_entry *, PTR));
-static boolean xstormy16_elf_relax_section
+static bfd_boolean xstormy16_elf_relax_section
PARAMS ((bfd *abfd, asection *sec, struct bfd_link_info *link_info,
- boolean *again));
-static boolean xstormy16_elf_always_size_sections
+ bfd_boolean *again));
+static bfd_boolean xstormy16_elf_always_size_sections
PARAMS ((bfd *, struct bfd_link_info *));
-static boolean xstormy16_elf_relocate_section
+static bfd_boolean xstormy16_elf_relocate_section
PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
Elf_Internal_Rela *, Elf_Internal_Sym *, asection **));
-static boolean xstormy16_elf_finish_dynamic_sections
+static bfd_boolean xstormy16_elf_finish_dynamic_sections
PARAMS((bfd *, struct bfd_link_info *));
-static boolean xstormy16_elf_gc_sweep_hook
+static bfd_boolean xstormy16_elf_gc_sweep_hook
PARAMS ((bfd *, struct bfd_link_info *, asection *,
const Elf_Internal_Rela *));
static asection * xstormy16_elf_gc_mark_hook
@@ -64,150 +64,150 @@ static reloc_howto_type xstormy16_elf_howto_table [] =
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
- false, /* pc_relative */
+ FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_XSTORMY16_NONE", /* name */
- false, /* partial_inplace */
+ FALSE, /* partial_inplace */
0, /* src_mask */
0, /* dst_mask */
- false), /* pcrel_offset */
+ FALSE), /* pcrel_offset */
/* A 32 bit absolute relocation. */
HOWTO (R_XSTORMY16_32, /* type */
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
- false, /* pc_relative */
+ FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_XSTORMY16_32", /* name */
- false, /* partial_inplace */
+ FALSE, /* partial_inplace */
0, /* src_mask */
0xffffffff, /* dst_mask */
- false), /* pcrel_offset */
+ FALSE), /* pcrel_offset */
/* A 16 bit absolute relocation. */
HOWTO (R_XSTORMY16_16, /* type */
0, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
- false, /* pc_relative */
+ FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_XSTORMY16_16", /* name */
- false, /* partial_inplace */
+ FALSE, /* partial_inplace */
0, /* src_mask */
0xffffffff, /* dst_mask */
- false), /* pcrel_offset */
+ FALSE), /* pcrel_offset */
/* An 8 bit absolute relocation. */
HOWTO (R_XSTORMY16_8, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
- false, /* pc_relative */
+ FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_XSTORMY16_8", /* name */
- false, /* partial_inplace */
+ FALSE, /* partial_inplace */
0, /* src_mask */
0xffffffff, /* dst_mask */
- false), /* pcrel_offset */
+ FALSE), /* pcrel_offset */
/* A 32 bit pc-relative relocation. */
HOWTO (R_XSTORMY16_PC32, /* type */
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
32, /* bitsize */
- true, /* pc_relative */
+ TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_XSTORMY16_PC32", /* name */
- false, /* partial_inplace */
+ FALSE, /* partial_inplace */
0, /* src_mask */
0xffffffff, /* dst_mask */
- true), /* pcrel_offset */
+ TRUE), /* pcrel_offset */
/* A 16 bit pc-relative relocation. */
HOWTO (R_XSTORMY16_PC16, /* type */
0, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
- true, /* pc_relative */
+ TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_XSTORMY16_PC16", /* name */
- false, /* partial_inplace */
+ FALSE, /* partial_inplace */
0, /* src_mask */
0xffffffff, /* dst_mask */
- true), /* pcrel_offset */
+ TRUE), /* pcrel_offset */
/* An 8 bit pc-relative relocation. */
HOWTO (R_XSTORMY16_PC8, /* type */
0, /* rightshift */
0, /* size (0 = byte, 1 = short, 2 = long) */
8, /* bitsize */
- true, /* pc_relative */
+ TRUE, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_XSTORMY16_PC8", /* name */
- false, /* partial_inplace */
+ FALSE, /* partial_inplace */
0, /* src_mask */
0xffffffff, /* dst_mask */
- true), /* pcrel_offset */
+ TRUE), /* pcrel_offset */
/* A 12-bit pc-relative relocation suitable for the branch instructions. */
HOWTO (R_XSTORMY16_REL_12, /* type */
1, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
11, /* bitsize */
- true, /* pc_relative */
+ TRUE, /* pc_relative */
1, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_XSTORMY16_REL_12", /* name */
- true, /* partial_inplace */
+ TRUE, /* partial_inplace */
0, /* src_mask */
0x0fff, /* dst_mask */
- true), /* pcrel_offset */
+ TRUE), /* pcrel_offset */
/* A 24-bit absolute relocation suitable for the jump instructions. */
HOWTO (R_XSTORMY16_24, /* type */
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
24, /* bitsize */
- false, /* pc_relative */
+ FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_unsigned, /* complain_on_overflow */
xstormy16_elf_24_reloc, /* special_function */
"R_XSTORMY16_24", /* name */
- true, /* partial_inplace */
+ TRUE, /* partial_inplace */
0, /* src_mask */
0xffff00ff, /* dst_mask */
- true), /* pcrel_offset */
+ TRUE), /* pcrel_offset */
/* A 16 bit absolute relocation to a function pointer. */
HOWTO (R_XSTORMY16_FPTR16, /* type */
0, /* rightshift */
1, /* size (0 = byte, 1 = short, 2 = long) */
16, /* bitsize */
- false, /* pc_relative */
+ FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
"R_XSTORMY16_FPTR16", /* name */
- false, /* partial_inplace */
+ FALSE, /* partial_inplace */
0, /* src_mask */
0xffffffff, /* dst_mask */
- false), /* pcrel_offset */
+ FALSE), /* pcrel_offset */
};
static reloc_howto_type xstormy16_elf_howto_table2 [] =
@@ -217,30 +217,30 @@ static reloc_howto_type xstormy16_elf_howto_table2 [] =
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
0, /* bitsize */
- false, /* pc_relative */
+ FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
NULL, /* special_function */
"R_XSTORMY16_GNU_VTINHERIT", /* name */
- false, /* partial_inplace */
+ FALSE, /* partial_inplace */
0, /* src_mask */
0, /* dst_mask */
- false), /* pcrel_offset */
+ FALSE), /* pcrel_offset */
/* GNU extension to record C++ vtable member usage */
HOWTO (R_XSTORMY16_GNU_VTENTRY, /* type */
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
0, /* bitsize */
- false, /* pc_relative */
+ FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
_bfd_elf_rel_vtable_reloc_fn, /* special_function */
"R_XSTORMY16_GNU_VTENTRY", /* name */
- false, /* partial_inplace */
+ FALSE, /* partial_inplace */
0, /* src_mask */
0, /* dst_mask */
- false), /* pcrel_offset */
+ FALSE), /* pcrel_offset */
};
@@ -361,7 +361,7 @@ xstormy16_elf_24_reloc (abfd, reloc_entry, symbol, data, input_section,
-relax switch is given, as otherwise we have no idea where the
sections will fall in the address space. */
-static boolean
+static bfd_boolean
xstormy16_elf_check_relocs (abfd, info, sec, relocs)
bfd *abfd;
struct bfd_link_info *info;
@@ -376,7 +376,7 @@ xstormy16_elf_check_relocs (abfd, info, sec, relocs)
bfd *dynobj;
if (info->relocateable)
- return true;
+ return TRUE;
symtab_hdr = &elf_tdata(abfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (abfd);
@@ -433,7 +433,7 @@ xstormy16_elf_check_relocs (abfd, info, sec, relocs)
| SEC_READONLY
| SEC_CODE))
|| ! bfd_set_section_alignment (dynobj, splt, 1))
- return false;
+ return FALSE;
}
}
@@ -449,7 +449,7 @@ xstormy16_elf_check_relocs (abfd, info, sec, relocs)
size = symtab_hdr->sh_info * sizeof (bfd_vma);
local_plt_offsets = (bfd_vma *) bfd_alloc (abfd, size);
if (local_plt_offsets == NULL)
- return false;
+ return FALSE;
elf_local_got_offsets (abfd) = local_plt_offsets;
for (i = 0; i < symtab_hdr->sh_info; i++)
@@ -469,19 +469,19 @@ xstormy16_elf_check_relocs (abfd, info, sec, relocs)
Reconstruct it for later use during GC. */
case R_XSTORMY16_GNU_VTINHERIT:
if (!_bfd_elf32_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
- return false;
+ return FALSE;
break;
/* This relocation describes which C++ vtable entries are actually
used. Record for later use during GC. */
case R_XSTORMY16_GNU_VTENTRY:
if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
- return false;
+ return FALSE;
break;
}
}
- return true;
+ return TRUE;
}
/* A subroutine of xstormy16_elf_relax_section. If the global symbol H
@@ -490,10 +490,10 @@ xstormy16_elf_check_relocs (abfd, info, sec, relocs)
struct relax_plt_data
{
asection *splt;
- boolean *again;
+ bfd_boolean *again;
};
-static boolean
+static bfd_boolean
xstormy16_relax_plt_check (h, xdata)
struct elf_link_hash_entry *h;
PTR xdata;
@@ -519,17 +519,17 @@ xstormy16_relax_plt_check (h, xdata)
{
h->plt.offset = -1;
data->splt->_cooked_size -= 4;
- *data->again = true;
+ *data->again = TRUE;
}
}
- return true;
+ return TRUE;
}
/* A subroutine of xstormy16_elf_relax_section. If the global symbol H
previously had a plt entry, give it a new entry offset. */
-static boolean
+static bfd_boolean
xstormy16_relax_plt_realloc (h, xdata)
struct elf_link_hash_entry *h;
PTR xdata;
@@ -545,33 +545,33 @@ xstormy16_relax_plt_realloc (h, xdata)
*entry += 4;
}
- return true;
+ return TRUE;
}
-static boolean
+static bfd_boolean
xstormy16_elf_relax_section (dynobj, splt, info, again)
bfd *dynobj;
asection *splt;
struct bfd_link_info *info;
- boolean *again;
+ bfd_boolean *again;
{
struct relax_plt_data relax_plt_data;
bfd *ibfd;
/* Assume nothing changes. */
- *again = false;
+ *again = FALSE;
if (info->relocateable)
- return true;
+ return TRUE;
/* We only relax the .plt section at the moment. */
if (dynobj != elf_hash_table (info)->dynobj
|| strcmp (splt->name, ".plt") != 0)
- return true;
+ return TRUE;
/* Quick check for an empty plt. */
if (splt->_raw_size == 0)
- return true;
+ return TRUE;
/* If this is the first time we have been called for this section,
initialize the cooked size. */
@@ -606,7 +606,7 @@ xstormy16_elf_relax_section (dynobj, splt, info, again)
symtab_hdr->sh_info, 0,
NULL, NULL, NULL);
if (isymbuf == NULL)
- return false;
+ return FALSE;
}
for (idx = 0; idx < symtab_hdr->sh_info; ++idx)
@@ -635,7 +635,7 @@ xstormy16_elf_relax_section (dynobj, splt, info, again)
{
local_plt_offsets[idx] = -1;
splt->_cooked_size -= 4;
- *again = true;
+ *again = TRUE;
}
}
@@ -680,10 +680,10 @@ xstormy16_elf_relax_section (dynobj, splt, info, again)
}
splt->_raw_size = splt->_cooked_size;
- return true;
+ return TRUE;
}
-static boolean
+static bfd_boolean
xstormy16_elf_always_size_sections (output_bfd, info)
bfd *output_bfd ATTRIBUTE_UNUSED;
struct bfd_link_info *info;
@@ -692,20 +692,20 @@ xstormy16_elf_always_size_sections (output_bfd, info)
asection *splt;
if (info->relocateable)
- return true;
+ return TRUE;
dynobj = elf_hash_table (info)->dynobj;
if (dynobj == NULL)
- return true;
+ return TRUE;
splt = bfd_get_section_by_name (dynobj, ".plt");
BFD_ASSERT (splt != NULL);
splt->contents = (bfd_byte *) bfd_zalloc (dynobj, splt->_raw_size);
if (splt->contents == NULL)
- return false;
+ return FALSE;
- return true;
+ return TRUE;
}
/* Relocate an XSTORMY16 ELF section.
@@ -738,7 +738,7 @@ xstormy16_elf_always_size_sections (output_bfd, info)
section, which means that the addend must be adjusted
accordingly. */
-static boolean
+static bfd_boolean
xstormy16_elf_relocate_section (output_bfd, info, input_bfd, input_section,
contents, relocs, local_syms, local_sections)
bfd * output_bfd ATTRIBUTE_UNUSED;
@@ -758,7 +758,7 @@ xstormy16_elf_relocate_section (output_bfd, info, input_bfd, input_section,
asection *splt;
if (info->relocateable)
- return true;
+ return TRUE;
symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr;
sym_hashes = elf_sym_hashes (input_bfd);
@@ -831,8 +831,8 @@ xstormy16_elf_relocate_section (output_bfd, info, input_bfd, input_section,
{
if (! ((*info->callbacks->undefined_symbol)
(info, h->root.root.string, input_bfd,
- input_section, rel->r_offset, true)))
- return false;
+ input_section, rel->r_offset, TRUE)))
+ return FALSE;
relocation = 0;
}
}
@@ -923,7 +923,7 @@ xstormy16_elf_relocate_section (output_bfd, info, input_bfd, input_section,
case bfd_reloc_undefined:
r = info->callbacks->undefined_symbol
(info, name, input_bfd, input_section, rel->r_offset,
- true);
+ TRUE);
break;
case bfd_reloc_outofrange:
@@ -948,16 +948,16 @@ xstormy16_elf_relocate_section (output_bfd, info, input_bfd, input_section,
(info, msg, name, input_bfd, input_section, rel->r_offset);
if (! r)
- return false;
+ return FALSE;
}
}
- return true;
+ return TRUE;
}
/* This must exist if dynobj is ever set. */
-static boolean
+static bfd_boolean
xstormy16_elf_finish_dynamic_sections (abfd, info)
bfd *abfd ATTRIBUTE_UNUSED;
struct bfd_link_info *info;
@@ -980,7 +980,7 @@ xstormy16_elf_finish_dynamic_sections (abfd, info)
}
}
- return true;
+ return TRUE;
}
/* Return the section that should be marked against GC for a given
@@ -1025,14 +1025,14 @@ xstormy16_elf_gc_mark_hook (sec, info, rel, h, sym)
/* Update the got entry reference counts for the section being removed. */
-static boolean
+static bfd_boolean
xstormy16_elf_gc_sweep_hook (abfd, info, sec, relocs)
bfd * abfd ATTRIBUTE_UNUSED;
struct bfd_link_info * info ATTRIBUTE_UNUSED;
asection * sec ATTRIBUTE_UNUSED;
const Elf_Internal_Rela * relocs ATTRIBUTE_UNUSED;
{
- return true;
+ return TRUE;
}
#define ELF_ARCH bfd_arch_xstormy16