diff options
Diffstat (limited to 'bfd/elf32-xstormy16.c')
-rw-r--r-- | bfd/elf32-xstormy16.c | 168 |
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 |