* dw2gencfi.c, dw2gencfi.h: New files.
[binutils-gdb.git] / bfd / elf32-vax.c
index 4cc18e56745f39723590b416ab8ab25bb7563e76..1aca042c61c6669f1efc59e7aef03909615c77d0 100644 (file)
@@ -1,23 +1,23 @@
 /* VAX series support for 32-bit ELF
-   Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+   Copyright 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
    Free Software Foundation, Inc.
    Contributed by Matt Thomas <matt@3am-software.com>.
 
-This file is part of BFD, the Binary File Descriptor library.
+   This file is part of BFD, the Binary File Descriptor library.
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 #include "bfd.h"
 #include "sysdep.h"
@@ -34,33 +34,33 @@ static struct bfd_hash_entry *elf_vax_link_hash_newfunc
   PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *));
 static struct bfd_link_hash_table *elf_vax_link_hash_table_create
   PARAMS ((bfd *));
-static boolean elf_vax_check_relocs
+static bfd_boolean elf_vax_check_relocs
   PARAMS ((bfd *, struct bfd_link_info *, asection *,
           const Elf_Internal_Rela *));
 static asection *elf_vax_gc_mark_hook
   PARAMS ((asection *, struct bfd_link_info *, Elf_Internal_Rela *,
           struct elf_link_hash_entry *, Elf_Internal_Sym *));
-static boolean elf_vax_gc_sweep_hook
+static bfd_boolean elf_vax_gc_sweep_hook
   PARAMS ((bfd *, struct bfd_link_info *, asection *,
           const Elf_Internal_Rela *));
-static boolean elf_vax_adjust_dynamic_symbol
+static bfd_boolean elf_vax_adjust_dynamic_symbol
   PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
-static boolean elf_vax_size_dynamic_sections
+static bfd_boolean elf_vax_size_dynamic_sections
   PARAMS ((bfd *, struct bfd_link_info *));
-static boolean elf_vax_relocate_section
+static bfd_boolean elf_vax_relocate_section
   PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
           Elf_Internal_Rela *, Elf_Internal_Sym *, asection **));
-static boolean elf_vax_finish_dynamic_symbol
+static bfd_boolean elf_vax_finish_dynamic_symbol
   PARAMS ((bfd *, struct bfd_link_info *, struct elf_link_hash_entry *,
           Elf_Internal_Sym *));
-static boolean elf_vax_finish_dynamic_sections
+static bfd_boolean elf_vax_finish_dynamic_sections
   PARAMS ((bfd *, struct bfd_link_info *));
 
-static boolean elf32_vax_set_private_flags
+static bfd_boolean elf32_vax_set_private_flags
   PARAMS ((bfd *, flagword));
-static boolean elf32_vax_merge_private_bfd_data
+static bfd_boolean elf32_vax_merge_private_bfd_data
   PARAMS ((bfd *, bfd *));
-static boolean elf32_vax_print_private_bfd_data
+static bfd_boolean elf32_vax_print_private_bfd_data
   PARAMS ((bfd *, PTR));
 
 static reloc_howto_type howto_table[] = {
@@ -68,113 +68,113 @@ static reloc_howto_type howto_table[] = {
         0,                     /* rightshift */
         0,                     /* 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_generic_reloc, /* special_function */
         "R_VAX_NONE",          /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0x00000000,            /* dst_mask */
-        false),                /* pcrel_offset */
+        FALSE),                /* pcrel_offset */
 
   HOWTO (R_VAX_32,             /* type */
         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_VAX_32",            /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0xffffffff,            /* dst_mask */
-        false),                /* pcrel_offset */
+        FALSE),                /* pcrel_offset */
 
   HOWTO (R_VAX_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_VAX_16",            /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0x0000ffff,            /* dst_mask */
-        false),                /* pcrel_offset */
+        FALSE),                /* pcrel_offset */
 
   HOWTO (R_VAX_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_VAX_8",             /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0x000000ff,            /* dst_mask */
-        false),                /* pcrel_offset */
+        FALSE),                /* pcrel_offset */
 
   HOWTO (R_VAX_PC32,           /* type */
         0,                     /* rightshift */
         2,                     /* size (0 = byte, 1 = short, 2 = long) */
         32,                    /* bitsize */
-        true,                  /* pc_relative */
+        TRUE,                  /* pc_relative */
         0,                     /* bitpos */
         complain_overflow_bitfield, /* complain_on_overflow */
         bfd_elf_generic_reloc, /* special_function */
         "R_VAX_PC32",          /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0xffffffff,            /* dst_mask */
-        true),                 /* pcrel_offset */
+        TRUE),                 /* pcrel_offset */
 
   HOWTO (R_VAX_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_VAX_PC16",          /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0x0000ffff,            /* dst_mask */
-        true),                 /* pcrel_offset */
+        TRUE),                 /* pcrel_offset */
 
   HOWTO (R_VAX_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_VAX_PC8",           /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0x000000ff,            /* dst_mask */
-        true),                 /* pcrel_offset */
+        TRUE),                 /* pcrel_offset */
 
   HOWTO (R_VAX_GOT32,          /* type */
         0,                     /* rightshift */
         2,                     /* size (0 = byte, 1 = short, 2 = long) */
         32,                    /* bitsize */
-        true,                  /* pc_relative */
+        TRUE,                  /* pc_relative */
         0,                     /* bitpos */
         complain_overflow_bitfield, /* complain_on_overflow */
         bfd_elf_generic_reloc, /* special_function */
         "R_VAX_GOT32",         /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0xffffffff,            /* dst_mask */
-        true),                 /* pcrel_offset */
+        TRUE),                 /* pcrel_offset */
 
   EMPTY_HOWTO (-1),
   EMPTY_HOWTO (-1),
@@ -186,15 +186,15 @@ static reloc_howto_type howto_table[] = {
         0,                     /* rightshift */
         2,                     /* size (0 = byte, 1 = short, 2 = long) */
         32,                    /* bitsize */
-        true,                  /* pc_relative */
+        TRUE,                  /* pc_relative */
         0,                     /* bitpos */
         complain_overflow_bitfield, /* complain_on_overflow */
         bfd_elf_generic_reloc, /* special_function */
         "R_VAX_PLT32",         /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0xffffffff,            /* dst_mask */
-        true),                 /* pcrel_offset */
+        TRUE),                 /* pcrel_offset */
 
   EMPTY_HOWTO (-1),
   EMPTY_HOWTO (-1),
@@ -206,87 +206,87 @@ static reloc_howto_type howto_table[] = {
         0,                     /* rightshift */
         0,                     /* 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_generic_reloc, /* special_function */
         "R_VAX_COPY",          /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0xffffffff,            /* dst_mask */
-        false),                /* pcrel_offset */
+        FALSE),                /* pcrel_offset */
 
   HOWTO (R_VAX_GLOB_DAT,       /* 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_VAX_GLOB_DAT",      /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0xffffffff,            /* dst_mask */
-        false),                /* pcrel_offset */
+        FALSE),                /* pcrel_offset */
 
   HOWTO (R_VAX_JMP_SLOT,       /* 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_VAX_JMP_SLOT",      /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0xffffffff,            /* dst_mask */
-        false),                /* pcrel_offset */
+        FALSE),                /* pcrel_offset */
 
   HOWTO (R_VAX_RELATIVE,       /* 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_VAX_RELATIVE",      /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0xffffffff,            /* dst_mask */
-        false),                /* pcrel_offset */
+        FALSE),                /* pcrel_offset */
 
   /* GNU extension to record C++ vtable hierarchy */
   HOWTO (R_VAX_GNU_VTINHERIT,  /* 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 */
         NULL,                  /* special_function */
         "R_VAX_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_VAX_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_VAX_GNU_VTENTRY",   /* name */
-        false,                 /* partial_inplace */
+        FALSE,                 /* partial_inplace */
         0,                     /* src_mask */
         0,                     /* dst_mask */
-        false),                /* pcrel_offset */
+        FALSE),                /* pcrel_offset */
 };
 
 static void
@@ -414,12 +414,12 @@ struct elf_vax_link_hash_table
 
 /* Declare this now that the above structures are defined.  */
 
-static boolean elf_vax_discard_copies
+static bfd_boolean elf_vax_discard_copies
   PARAMS ((struct elf_vax_link_hash_entry *, PTR));
 
 /* Declare this now that the above structures are defined.  */
 
-static boolean elf_vax_instantiate_got_entries
+static bfd_boolean elf_vax_instantiate_got_entries
   PARAMS ((struct elf_link_hash_entry *, PTR));
 
 /* Traverse an VAX ELF linker hash table.  */
@@ -427,7 +427,7 @@ static boolean elf_vax_instantiate_got_entries
 #define elf_vax_link_hash_traverse(table, func, info)                  \
   (elf_link_hash_traverse                                              \
    (&(table)->root,                                                    \
-    (boolean (*) PARAMS ((struct elf_link_hash_entry *, PTR))) (func), \
+    (bfd_boolean (*) PARAMS ((struct elf_link_hash_entry *, PTR))) (func), \
     (info)))
 
 /* Get the VAX ELF linker hash table from a link_info structure.  */
@@ -491,19 +491,19 @@ elf_vax_link_hash_table_create (abfd)
 }
 
 /* Keep vax-specific flags in the ELF header */
-static boolean
+static bfd_boolean
 elf32_vax_set_private_flags (abfd, flags)
      bfd *abfd;
      flagword flags;
 {
   elf_elfheader (abfd)->e_flags = flags;
-  elf_flags_init (abfd) = true;
-  return true;
+  elf_flags_init (abfd) = TRUE;
+  return TRUE;
 }
 
 /* Merge backend specific data from an object file to the output
    object file when linking.  */
-static boolean
+static bfd_boolean
 elf32_vax_merge_private_bfd_data (ibfd, obfd)
      bfd *ibfd;
      bfd *obfd;
@@ -513,22 +513,22 @@ elf32_vax_merge_private_bfd_data (ibfd, obfd)
 
   if (   bfd_get_flavour (ibfd) != bfd_target_elf_flavour
       || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
-    return true;
+    return TRUE;
 
   in_flags  = elf_elfheader (ibfd)->e_flags;
   out_flags = elf_elfheader (obfd)->e_flags;
 
   if (!elf_flags_init (obfd))
     {
-      elf_flags_init (obfd) = true;
+      elf_flags_init (obfd) = TRUE;
       elf_elfheader (obfd)->e_flags = in_flags;
     }
 
-  return true;
+  return TRUE;
 }
 
 /* Display the flags field */
-static boolean
+static bfd_boolean
 elf32_vax_print_private_bfd_data (abfd, ptr)
      bfd *abfd;
      PTR ptr;
@@ -556,13 +556,13 @@ elf32_vax_print_private_bfd_data (abfd, ptr)
 
   fputc ('\n', file);
 
-  return true;
+  return TRUE;
 }
 /* Look through the relocs for a section during the first phase, and
    allocate space in the global offset table or procedure linkage
    table.  */
 
-static boolean
+static bfd_boolean
 elf_vax_check_relocs (abfd, info, sec, relocs)
      bfd *abfd;
      struct bfd_link_info *info;
@@ -579,7 +579,7 @@ elf_vax_check_relocs (abfd, info, sec, relocs)
   asection *sreloc;
 
   if (info->relocateable)
-    return true;
+    return TRUE;
 
   dynobj = elf_hash_table (info)->dynobj;
   symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
@@ -616,7 +616,7 @@ elf_vax_check_relocs (abfd, info, sec, relocs)
              /* Create the .got section.  */
              elf_hash_table (info)->dynobj = dynobj = abfd;
              if (!_bfd_elf_create_got_section (dynobj, info))
-               return false;
+               return FALSE;
            }
 
          if (sgot == NULL)
@@ -641,7 +641,7 @@ elf_vax_check_relocs (abfd, info, sec, relocs)
                                                  | SEC_LINKER_CREATED
                                                  | SEC_READONLY))
                      || !bfd_set_section_alignment (dynobj, srelgot, 2))
-                   return false;
+                   return FALSE;
                }
            }
 
@@ -752,7 +752,7 @@ elf_vax_check_relocs (abfd, info, sec, relocs)
                           elf_elfheader (abfd)->e_shstrndx,
                           elf_section_data (sec)->rel_hdr.sh_name));
                  if (name == NULL)
-                   return false;
+                   return FALSE;
 
                  BFD_ASSERT (strncmp (name, ".rela", 5) == 0
                              && strcmp (bfd_get_section_name (abfd, sec),
@@ -771,7 +771,7 @@ elf_vax_check_relocs (abfd, info, sec, relocs)
                                                      | SEC_LINKER_CREATED
                                                      | SEC_READONLY))
                          || !bfd_set_section_alignment (dynobj, sreloc, 2))
-                       return false;
+                       return FALSE;
                    }
                  if (sec->flags & SEC_READONLY)
                    info->flags |= DF_TEXTREL;
@@ -783,7 +783,7 @@ elf_vax_check_relocs (abfd, info, sec, relocs)
                 PC relative relocations we have entered for this symbol,
                 so that we can discard them again if the symbol is later
                 defined by a regular object.  Note that this function is
-                only called if we are using an vaxelf linker hash table,
+                only called if we are using a vaxelf linker hash table,
                 which means that h is really a pointer to an
                 elf_vax_link_hash_entry.  */
              if ((ELF32_R_TYPE (rel->r_info) == R_VAX_PC8
@@ -805,7 +805,7 @@ elf_vax_check_relocs (abfd, info, sec, relocs)
                      p = ((struct elf_vax_pcrel_relocs_copied *)
                           bfd_alloc (dynobj, (bfd_size_type) sizeof *p));
                      if (p == NULL)
-                       return false;
+                       return FALSE;
                      p->next = eh->pcrel_relocs_copied;
                      eh->pcrel_relocs_copied = p;
                      p->section = sreloc;
@@ -822,14 +822,14 @@ elf_vax_check_relocs (abfd, info, sec, relocs)
             Reconstruct it for later use during GC.  */
        case R_VAX_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_VAX_GNU_VTENTRY:
          if (!_bfd_elf32_gc_record_vtentry (abfd, sec, h, rel->r_addend))
-           return false;
+           return FALSE;
          break;
 
        default:
@@ -837,7 +837,7 @@ elf_vax_check_relocs (abfd, info, sec, relocs)
        }
     }
 
-  return true;
+  return TRUE;
 }
 
 /* Return the section that should be marked against GC for a given
@@ -882,7 +882,7 @@ elf_vax_gc_mark_hook (sec, info, rel, h, sym)
 
 /* Update the got entry reference counts for the section being removed.  */
 
-static boolean
+static bfd_boolean
 elf_vax_gc_sweep_hook (abfd, info, sec, relocs)
      bfd *abfd;
      struct bfd_link_info *info;
@@ -901,7 +901,7 @@ elf_vax_gc_sweep_hook (abfd, info, sec, relocs)
 
   dynobj = elf_hash_table (info)->dynobj;
   if (dynobj == NULL)
-    return true;
+    return TRUE;
 
   relend = relocs + sec->reloc_count;
   for (rel = relocs; rel < relend; rel++)
@@ -939,7 +939,7 @@ elf_vax_gc_sweep_hook (abfd, info, sec, relocs)
        }
     }
 
-  return true;
+  return TRUE;
 }
 
 /* Adjust a symbol defined by a dynamic object and referenced by a
@@ -948,7 +948,7 @@ elf_vax_gc_sweep_hook (abfd, info, sec, relocs)
    change the definition to something the rest of the link can
    understand.  */
 
-static boolean
+static bfd_boolean
 elf_vax_adjust_dynamic_symbol (info, h)
      struct bfd_link_info *info;
      struct elf_link_hash_entry *h;
@@ -991,7 +991,7 @@ elf_vax_adjust_dynamic_symbol (info, h)
             reloc instead.  */
          BFD_ASSERT ((h->elf_link_hash_flags & ELF_LINK_HASH_NEEDS_PLT) != 0);
          h->plt.offset = (bfd_vma) -1;
-         return true;
+         return TRUE;
        }
 
       /* GC may have rendered this entry unused.  */
@@ -999,14 +999,14 @@ elf_vax_adjust_dynamic_symbol (info, h)
        {
          h->elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT;
          h->plt.offset = (bfd_vma) -1;
-         return true;
+         return TRUE;
        }
 
       /* Make sure this symbol is output as a dynamic symbol.  */
       if (h->dynindx == -1)
        {
          if (! bfd_elf32_link_record_dynamic_symbol (info, h))
-           return false;
+           return FALSE;
        }
 
       s = bfd_get_section_by_name (dynobj, ".plt");
@@ -1049,7 +1049,7 @@ elf_vax_adjust_dynamic_symbol (info, h)
       BFD_ASSERT (s != NULL);
       s->_raw_size += sizeof (Elf32_External_Rela);
 
-      return true;
+      return TRUE;
     }
 
   /* Reinitialize the plt offset now that it is not used as a reference
@@ -1065,7 +1065,7 @@ elf_vax_adjust_dynamic_symbol (info, h)
                  || h->weakdef->root.type == bfd_link_hash_defweak);
       h->root.u.def.section = h->weakdef->root.u.def.section;
       h->root.u.def.value = h->weakdef->root.u.def.value;
-      return true;
+      return TRUE;
     }
 
   /* This is a reference to a symbol defined by a dynamic object which
@@ -1076,7 +1076,7 @@ elf_vax_adjust_dynamic_symbol (info, h)
      For such cases we need not do anything here; the relocations will
      be handled correctly by relocate_section.  */
   if (info->shared)
-    return true;
+    return TRUE;
 
   /* We must allocate the symbol in our .dynbss section, which will
      become part of the .bss section of the executable.  There will be
@@ -1117,7 +1117,7 @@ elf_vax_adjust_dynamic_symbol (info, h)
   if (power_of_two > bfd_get_section_alignment (dynobj, s))
     {
       if (!bfd_set_section_alignment (dynobj, s, power_of_two))
-       return false;
+       return FALSE;
     }
 
   /* Define the symbol as being at this point in the section.  */
@@ -1127,21 +1127,21 @@ elf_vax_adjust_dynamic_symbol (info, h)
   /* Increment the section size to make room for the symbol.  */
   s->_raw_size += h->size;
 
-  return true;
+  return TRUE;
 }
 
 /* Set the sizes of the dynamic sections.  */
 
-static boolean
+static bfd_boolean
 elf_vax_size_dynamic_sections (output_bfd, info)
      bfd *output_bfd;
      struct bfd_link_info *info;
 {
   bfd *dynobj;
   asection *s;
-  boolean plt;
-  boolean relocs;
-  boolean reltext;
+  bfd_boolean plt;
+  bfd_boolean relocs;
+  bfd_boolean reltext;
 
   dynobj = elf_hash_table (info)->dynobj;
   BFD_ASSERT (dynobj != NULL);
@@ -1184,7 +1184,7 @@ elf_vax_size_dynamic_sections (output_bfd, info)
                                elf_vax_discard_copies,
                                (PTR) NULL);
 
-  /* If this is a -Bsymbolic shared link or a static link, we need to 
+  /* If this is a -Bsymbolic shared link or a static link, we need to
      discard all the got entries we've recorded.  Otherwise, we need to
      instantiate (allocate space for them).  */
   elf_link_hash_traverse (elf_hash_table (info),
@@ -1194,13 +1194,13 @@ elf_vax_size_dynamic_sections (output_bfd, info)
   /* The check_relocs and adjust_dynamic_symbol entry points have
      determined the sizes of the various dynamic sections.  Allocate
      memory for them.  */
-  plt = false;
-  relocs = false;
-  reltext = false;
+  plt = FALSE;
+  relocs = FALSE;
+  reltext = FALSE;
   for (s = dynobj->sections; s != NULL; s = s->next)
     {
       const char *name;
-      boolean strip;
+      bfd_boolean strip;
 
       if ((s->flags & SEC_LINKER_CREATED) == 0)
        continue;
@@ -1209,7 +1209,7 @@ elf_vax_size_dynamic_sections (output_bfd, info)
         of the dynobj section names depend upon the input files.  */
       name = bfd_get_section_name (dynobj, s);
 
-      strip = false;
+      strip = FALSE;
 
       if (strcmp (name, ".plt") == 0)
        {
@@ -1217,12 +1217,12 @@ elf_vax_size_dynamic_sections (output_bfd, info)
            {
              /* Strip this section if we don't need it; see the
                  comment below.  */
-             strip = true;
+             strip = TRUE;
            }
          else
            {
              /* Remember whether there is a PLT.  */
-             plt = true;
+             plt = TRUE;
            }
        }
       else if (strncmp (name, ".rela", 5) == 0)
@@ -1238,7 +1238,7 @@ elf_vax_size_dynamic_sections (output_bfd, info)
                 adjust_dynamic_symbol is called, and it is that
                 function which decides whether anything needs to go
                 into these sections.  */
-             strip = true;
+             strip = TRUE;
            }
          else
            {
@@ -1250,7 +1250,7 @@ elf_vax_size_dynamic_sections (output_bfd, info)
                {
                  const char *outname;
 
-                 relocs = true;
+                 relocs = TRUE;
 
                  /* If this relocation section applies to a read only
                     section, then we probably need a DT_TEXTREL
@@ -1262,7 +1262,7 @@ elf_vax_size_dynamic_sections (output_bfd, info)
                  if (target != NULL
                      && (target->flags & SEC_READONLY) != 0
                      && (target->flags & SEC_ALLOC) != 0)
-                   reltext = true;
+                   reltext = TRUE;
                }
 
              /* We use the reloc_count field as a counter if we need
@@ -1285,7 +1285,7 @@ elf_vax_size_dynamic_sections (output_bfd, info)
       /* Allocate memory for the section contents.  */
       s->contents = (bfd_byte *) bfd_alloc (dynobj, s->_raw_size);
       if (s->contents == NULL && s->_raw_size != 0)
-       return false;
+       return FALSE;
     }
 
   if (elf_hash_table (info)->dynamic_sections_created)
@@ -1301,7 +1301,7 @@ elf_vax_size_dynamic_sections (output_bfd, info)
       if (!info->shared)
        {
          if (!add_dynamic_entry (DT_DEBUG, 0))
-           return false;
+           return FALSE;
        }
 
       if (plt)
@@ -1310,7 +1310,7 @@ elf_vax_size_dynamic_sections (output_bfd, info)
              || !add_dynamic_entry (DT_PLTRELSZ, 0)
              || !add_dynamic_entry (DT_PLTREL, DT_RELA)
              || !add_dynamic_entry (DT_JMPREL, 0))
-           return false;
+           return FALSE;
        }
 
       if (relocs)
@@ -1318,18 +1318,18 @@ elf_vax_size_dynamic_sections (output_bfd, info)
          if (!add_dynamic_entry (DT_RELA, 0)
              || !add_dynamic_entry (DT_RELASZ, 0)
              || !add_dynamic_entry (DT_RELAENT, sizeof (Elf32_External_Rela)))
-           return false;
+           return FALSE;
        }
 
       if (reltext || (info->flags & DF_TEXTREL) != 0)
        {
          if (!add_dynamic_entry (DT_TEXTREL, 0))
-           return false;
+           return FALSE;
        }
     }
 #undef add_dynamic_entry
 
-  return true;
+  return TRUE;
 }
 
 /* This function is called via elf_vax_link_hash_traverse if we are
@@ -1339,7 +1339,7 @@ elf_vax_size_dynamic_sections (output_bfd, info)
    routine, but we won't fill them in in the relocate_section routine.  */
 
 /*ARGSUSED*/
-static boolean
+static bfd_boolean
 elf_vax_discard_copies (h, ignore)
      struct elf_vax_link_hash_entry *h;
      PTR ignore ATTRIBUTE_UNUSED;
@@ -1351,12 +1351,12 @@ elf_vax_discard_copies (h, ignore)
 
   /* We only discard relocs for symbols defined in a regular object.  */
   if ((h->root.elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0)
-    return true;
+    return TRUE;
 
   for (s = h->pcrel_relocs_copied; s != NULL; s = s->next)
     s->section->_raw_size -= s->count * sizeof (Elf32_External_Rela);
 
-  return true;
+  return TRUE;
 }
 
 /* This function is called via elf_link_hash_traverse.  It looks for entries
@@ -1367,7 +1367,7 @@ elf_vax_discard_copies (h, ignore)
    will be reserved for the symbol.  */
 
 /*ARGSUSED*/
-static boolean
+static bfd_boolean
 elf_vax_instantiate_got_entries (h, infoptr)
      struct elf_link_hash_entry *h;
      PTR infoptr;
@@ -1376,14 +1376,14 @@ elf_vax_instantiate_got_entries (h, infoptr)
   bfd *dynobj;
   asection *sgot;
   asection *srelgot;
-  
+
   /* We don't care about non-GOT (and non-PLT) entries.  */
   if (h->got.refcount <= 0 && h->plt.refcount <= 0)
-    return true;
+    return TRUE;
 
   dynobj = elf_hash_table (info)->dynobj;
   if (dynobj == NULL)
-    return true;
+    return TRUE;
 
   sgot = bfd_get_section_by_name (dynobj, ".got");
   srelgot = bfd_get_section_by_name (dynobj, ".rela.got");
@@ -1402,7 +1402,7 @@ elf_vax_instantiate_got_entries (h, infoptr)
       if (h->dynindx == -1)
        {
          if (!bfd_elf32_link_record_dynamic_symbol (info, h))
-           return false;
+           return FALSE;
        }
 
       /* Allocate space in the .got and .rela.got sections.  */
@@ -1410,12 +1410,12 @@ elf_vax_instantiate_got_entries (h, infoptr)
       srelgot->_raw_size += sizeof (Elf32_External_Rela);
     }
 
-  return true;
+  return TRUE;
 }
 
 /* Relocate an VAX ELF section.  */
 
-static boolean
+static bfd_boolean
 elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
                           contents, relocs, local_syms, local_sections)
      bfd *output_bfd;
@@ -1441,7 +1441,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
   Elf_Internal_Rela *relend;
 
   if (info->relocateable)
-    return true;
+    return TRUE;
 
   dynobj = elf_hash_table (info)->dynobj;
   symtab_hdr = &elf_tdata (input_bfd)->symtab_hdr;
@@ -1470,7 +1470,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
       if (r_type < 0 || r_type >= (int) R_VAX_max)
        {
          bfd_set_error (bfd_error_bad_value);
-         return false;
+         return FALSE;
        }
       howto = howto_table + r_type;
 
@@ -1539,7 +1539,6 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
          else if (h->root.type == bfd_link_hash_undefweak)
            relocation = 0;
          else if (info->shared
-                  && (!info->symbolic || info->allow_shlib_undefined)
                   && !info->no_undefined
                   && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
            relocation = 0;
@@ -1550,7 +1549,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
                     input_section, rel->r_offset,
                     (!info->shared || info->no_undefined
                      || ELF_ST_VISIBILITY (h->other)))))
-               return false;
+               return FALSE;
              relocation = 0;
            }
        }
@@ -1694,12 +1693,11 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
            {
              Elf_Internal_Rela outrel;
              bfd_byte *loc;
-             boolean skip, relocate;
+             bfd_boolean skip, relocate;
 
              /* When generating a shared object, these relocations
                 are copied into the output file to be resolved at run
                 time.  */
-
              if (sreloc == NULL)
                {
                  const char *name;
@@ -1709,7 +1707,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
                           elf_elfheader (input_bfd)->e_shstrndx,
                           elf_section_data (input_section)->rel_hdr.sh_name));
                  if (name == NULL)
-                   return false;
+                   return FALSE;
 
                  BFD_ASSERT (strncmp (name, ".rela", 5) == 0
                              && strcmp (bfd_get_section_name (input_bfd,
@@ -1720,16 +1718,16 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
                  BFD_ASSERT (sreloc != NULL);
                }
 
-             skip = false;
-             relocate = false;
+             skip = FALSE;
+             relocate = FALSE;
 
              outrel.r_offset =
                _bfd_elf_section_offset (output_bfd, info, input_section,
                                         rel->r_offset);
              if (outrel.r_offset == (bfd_vma) -1)
-               skip = true;
+               skip = TRUE;
              if (outrel.r_offset == (bfd_vma) -2)
-               skip = true, relocate = true;
+               skip = TRUE, relocate = TRUE;
              outrel.r_offset += (input_section->output_section->vma
                                  + input_section->output_offset);
 
@@ -1750,7 +1748,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
                {
                  if (r_type == R_VAX_32)
                    {
-                     relocate = true;
+                     relocate = TRUE;
                      outrel.r_info = ELF32_R_INFO (0, R_VAX_RELATIVE);
                      BFD_ASSERT (bfd_get_signed_32 (input_bfd,
                                                     &contents[rel->r_offset]) == 0);
@@ -1774,7 +1772,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
                      else if (sec == NULL || sec->owner == NULL)
                        {
                          bfd_set_error (bfd_error_bad_value);
-                         return false;
+                         return FALSE;
                        }
                      else
                        {
@@ -1835,7 +1833,7 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
          break;
        }
 
-      /* VAX PCREL relocations are from the end of relocation, not the start.  
+      /* VAX PCREL relocations are from the end of relocation, not the start.
          So subtract the difference from the relocation amount since we can't
          add it to the offset.  */
       if (howto->pc_relative && howto->pcrel_offset)
@@ -1864,27 +1862,27 @@ elf_vax_relocate_section (output_bfd, info, input_bfd, input_section,
                                                            symtab_hdr->sh_link,
                                                            sym->st_name);
                    if (name == NULL)
-                     return false;
+                     return FALSE;
                    if (*name == '\0')
                      name = bfd_section_name (input_bfd, sec);
                  }
                if (!(info->callbacks->reloc_overflow
                      (info, name, howto->name, (bfd_vma) 0,
                       input_bfd, input_section, rel->r_offset)))
-                 return false;
+                 return FALSE;
              }
              break;
            }
        }
     }
 
-  return true;
+  return TRUE;
 }
 
 /* Finish up dynamic symbol handling.  We set the contents of various
    dynamic sections here.  */
 
-static boolean
+static bfd_boolean
 elf_vax_finish_dynamic_symbol (output_bfd, info, h, sym)
      bfd *output_bfd;
      struct bfd_link_info *info;
@@ -1908,7 +1906,6 @@ elf_vax_finish_dynamic_symbol (output_bfd, info, h, sym)
 
       /* This symbol has an entry in the procedure linkage table.  Set
         it up.  */
-
       BFD_ASSERT (h->dynindx != -1);
 
       splt = bfd_get_section_by_name (dynobj, ".plt");
@@ -1975,7 +1972,6 @@ elf_vax_finish_dynamic_symbol (output_bfd, info, h, sym)
 
       /* This symbol has an entry in the global offset table.  Set it
         up.  */
-
       sgot = bfd_get_section_by_name (dynobj, ".got");
       srela = bfd_get_section_by_name (dynobj, ".rela.got");
       BFD_ASSERT (sgot != NULL && srela != NULL);
@@ -2014,7 +2010,6 @@ elf_vax_finish_dynamic_symbol (output_bfd, info, h, sym)
       bfd_byte *loc;
 
       /* This symbol needs a copy reloc.  Set it up.  */
-
       BFD_ASSERT (h->dynindx != -1
                  && (h->root.type == bfd_link_hash_defined
                      || h->root.type == bfd_link_hash_defweak));
@@ -2037,12 +2032,12 @@ elf_vax_finish_dynamic_symbol (output_bfd, info, h, sym)
       || strcmp (h->root.root.string, "_GLOBAL_OFFSET_TABLE_") == 0)
     sym->st_shndx = SHN_ABS;
 
-  return true;
+  return TRUE;
 }
 
 /* Finish up the dynamic sections.  */
 
-static boolean
+static bfd_boolean
 elf_vax_finish_dynamic_sections (output_bfd, info)
      bfd *output_bfd;
      struct bfd_link_info *info;
@@ -2157,7 +2152,7 @@ elf_vax_finish_dynamic_sections (output_bfd, info)
 
   elf_section_data (sgot->output_section)->this_hdr.sh_entsize = 4;
 
-  return true;
+  return TRUE;
 }
 
 #define TARGET_LITTLE_SYM              bfd_elf32_vax_vec