diff options
Diffstat (limited to 'bfd/coff-i960.c')
-rw-r--r-- | bfd/coff-i960.c | 75 |
1 files changed, 38 insertions, 37 deletions
diff --git a/bfd/coff-i960.c b/bfd/coff-i960.c index d8948be..eee6718 100644 --- a/bfd/coff-i960.c +++ b/bfd/coff-i960.c @@ -1,6 +1,6 @@ /* BFD back-end for Intel 960 COFF files. - Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1997, 1999, 2000, 2001 - Free Software Foundation, Inc. + Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1997, 1999, 2000, 2001, + 2002 Free Software Foundation, Inc. Written by Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -29,21 +29,22 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "coff/internal.h" #include "libcoff.h" /* to allow easier abstraction-breaking */ -static boolean coff_i960_is_local_label_name PARAMS ((bfd *, const char *)); +static bfd_boolean coff_i960_is_local_label_name + PARAMS ((bfd *, const char *)); static bfd_reloc_status_type optcall_callback PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); static bfd_reloc_status_type coff_i960_relocate PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **)); static reloc_howto_type *coff_i960_reloc_type_lookup PARAMS ((bfd *, bfd_reloc_code_real_type)); -static boolean coff_i960_start_final_link +static bfd_boolean coff_i960_start_final_link PARAMS ((bfd *, struct bfd_link_info *)); -static boolean coff_i960_relocate_section +static bfd_boolean coff_i960_relocate_section PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, struct internal_reloc *, struct internal_syment *, asection **)); -static boolean coff_i960_adjust_symndx +static bfd_boolean coff_i960_adjust_symndx PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, - struct internal_reloc *, boolean *)); + struct internal_reloc *, bfd_boolean *)); #define COFF_DEFAULT_SECTION_ALIGNMENT_POWER (3) #define COFF_ALIGN_IN_SECTION_HEADER 1 @@ -59,7 +60,7 @@ static boolean coff_i960_adjust_symndx /* This set of local label names is taken from gas. */ -static boolean +static bfd_boolean coff_i960_is_local_label_name (abfd, name) bfd *abfd ATTRIBUTE_UNUSED; const char *name; @@ -266,15 +267,15 @@ coff_i960_relocate (abfd, reloc_entry, symbol, data, input_section, } static reloc_howto_type howto_rellong = - HOWTO ((unsigned int) R_RELLONG, 0, 2, 32,false, 0, - complain_overflow_bitfield, coff_i960_relocate,"rellong", true, + HOWTO ((unsigned int) R_RELLONG, 0, 2, 32,FALSE, 0, + complain_overflow_bitfield, coff_i960_relocate,"rellong", TRUE, 0xffffffff, 0xffffffff, 0); static reloc_howto_type howto_iprmed = - HOWTO (R_IPRMED, 0, 2, 24,true,0, complain_overflow_signed, - coff_i960_relocate, "iprmed ", true, 0x00ffffff, 0x00ffffff, 0); + HOWTO (R_IPRMED, 0, 2, 24,TRUE,0, complain_overflow_signed, + coff_i960_relocate, "iprmed ", TRUE, 0x00ffffff, 0x00ffffff, 0); static reloc_howto_type howto_optcall = - HOWTO (R_OPTCALL, 0,2,24,true,0, complain_overflow_signed, - optcall_callback, "optcall", true, 0x00ffffff, 0x00ffffff, 0); + HOWTO (R_OPTCALL, 0,2,24,TRUE,0, complain_overflow_signed, + optcall_callback, "optcall", TRUE, 0x00ffffff, 0x00ffffff, 0); static reloc_howto_type * coff_i960_reloc_type_lookup (abfd, code) @@ -318,7 +319,7 @@ coff_i960_reloc_type_lookup (abfd, code) called at the start of the linking process, and it creates the necessary symbols. */ -static boolean +static bfd_boolean coff_i960_start_final_link (abfd, info) bfd *abfd; struct bfd_link_info *info; @@ -328,14 +329,14 @@ coff_i960_start_final_link (abfd, info) bfd_byte *esym; if (! info->relocateable) - return true; + return TRUE; esym = (bfd_byte *) bfd_malloc (symesz); if (esym == NULL) - return false; + return FALSE; if (bfd_seek (abfd, obj_sym_filepos (abfd), SEEK_SET) != 0) - return false; + return FALSE; for (o = abfd->sections; o != NULL; o = o->next) { @@ -353,7 +354,7 @@ coff_i960_start_final_link (abfd, info) if (bfd_bwrite (esym, symesz, abfd) != symesz) { free (esym); - return false; + return FALSE; } obj_raw_syment_count (abfd) += 1; @@ -361,12 +362,12 @@ coff_i960_start_final_link (abfd, info) free (esym); - return true; + return TRUE; } /* The reloc processing routine for the optimized COFF linker. */ -static boolean +static bfd_boolean coff_i960_relocate_section (output_bfd, info, input_bfd, input_section, contents, relocs, syms, sections) bfd *output_bfd ATTRIBUTE_UNUSED; @@ -392,7 +393,7 @@ coff_i960_relocate_section (output_bfd, info, input_bfd, input_section, bfd_vma val; reloc_howto_type *howto; bfd_reloc_status_type rstat = bfd_reloc_ok; - boolean done; + bfd_boolean done; symndx = rel->r_symndx; @@ -419,7 +420,7 @@ coff_i960_relocate_section (output_bfd, info, input_bfd, input_section, case 27: howto = &howto_optcall; break; default: bfd_set_error (bfd_error_bad_value); - return false; + return FALSE; } val = 0; @@ -458,12 +459,12 @@ coff_i960_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_vaddr - input_section->vma, true))) - return false; + rel->r_vaddr - input_section->vma, TRUE))) + return FALSE; } } - done = false; + done = FALSE; if (howto->type == R_OPTCALL && ! info->relocateable && symndx != -1) { @@ -485,7 +486,7 @@ coff_i960_relocate_section (output_bfd, info, input_bfd, input_section, _("uncertain calling convention for non-COFF symbol"), input_bfd, input_section, rel->r_vaddr - input_section->vma))) - return false; + return FALSE; break; case C_LEAFSTAT: case C_LEAFEXT: @@ -521,7 +522,7 @@ coff_i960_relocate_section (output_bfd, info, input_bfd, input_section, bfd_put_32 (input_bfd, (bfd_vma) word, contents + (rel->r_vaddr - input_section->vma)); - done = true; + done = TRUE; } break; case C_SCALL: @@ -559,47 +560,47 @@ coff_i960_relocate_section (output_bfd, info, input_bfd, input_section, { name = _bfd_coff_internal_syment_name (input_bfd, sym, buf); if (name == NULL) - return false; + return FALSE; } if (! ((*info->callbacks->reloc_overflow) (info, name, howto->name, (bfd_vma) 0, input_bfd, input_section, rel->r_vaddr - input_section->vma))) - return false; + return FALSE; } } } - return true; + return TRUE; } /* Adjust the symbol index of any reloc against a global symbol to instead be a reloc against the internal symbol we created specially for the section. */ -static boolean +static bfd_boolean coff_i960_adjust_symndx (obfd, info, ibfd, sec, irel, adjustedp) bfd *obfd ATTRIBUTE_UNUSED; struct bfd_link_info *info ATTRIBUTE_UNUSED; bfd *ibfd; asection *sec ATTRIBUTE_UNUSED; struct internal_reloc *irel; - boolean *adjustedp; + bfd_boolean *adjustedp; { struct coff_link_hash_entry *h; - *adjustedp = false; + *adjustedp = FALSE; h = obj_coff_sym_hashes (ibfd)[irel->r_symndx]; if (h == NULL || (h->root.type != bfd_link_hash_defined && h->root.type != bfd_link_hash_defweak)) - return true; + return TRUE; irel->r_symndx = h->root.u.def.section->output_section->target_index - 1; - *adjustedp = true; + *adjustedp = TRUE; - return true; + return TRUE; } #define coff_bfd_is_local_label_name coff_i960_is_local_label_name |