#ifdef OBJ_ELF
 #include "dwarf2dbg.h"
 
-/* A "convient" place to put object file dependencies which do
+/* A "convenient" place to put object file dependencies which do
    not need to be seen outside of tc-hppa.c.  */
 
 /* Object file formats specify relocation types.  */
 
 static struct pa_it the_insn;
 
-/* Points to the end of an expression just parsed by get_expressoin
+/* Points to the end of an expression just parsed by get_expression
    and friends.  FIXME.  This shouldn't be handled with a file-global
    variable.  */
 static char *expr_end;
     continue; \
   }
 
-/* Simple range checking for FIELD againt HIGH and LOW bounds.
+/* Simple range checking for FIELD against HIGH and LOW bounds.
    IGNORE is used to suppress the error message.  */
 
 #define CHECK_FIELD(FIELD, HIGH, LOW, IGNORE) \
       } \
   }
 
-/* Simple alignment checking for FIELD againt ALIGN (a power of two).
+/* Simple alignment checking for FIELD against ALIGN (a power of two).
    IGNORE is used to suppress the error message.  */
 
 #define CHECK_ALIGN(FIELD, ALIGN, IGNORE) \
   /* Assemble the instruction.  Results are saved into "the_insn".  */
   pa_ip (str);
 
-  /* Get somewhere to put the assembled instrution.  */
+  /* Get somewhere to put the assembled instruction.  */
   to = frag_more (4);
 
   /* Output the opcode.  */
       /* If this instruction is specific to a particular architecture,
         then set a new architecture.  */
       /* But do not automatically promote to pa2.0.  The automatic promotion
-        crud is for compatability with HP's old assemblers only.  */
+        crud is for compatibility with HP's old assemblers only.  */
       if (insn->arch < 20
          && bfd_get_mach (stdoutput) < insn->arch)
        {
          /* There is where we'd come for an undefined symbol
             or for an empty string.  For an empty string we
             will return zero.  That's a concession made for
-            compatability with the braindamaged HP assemblers.  */
+            compatibility with the braindamaged HP assemblers.  */
          if (*name == 0)
            num = 0;
          else
   expression (&insn->exp);
   /* This is not perfect, but is a huge improvement over doing nothing.
 
-     The PA assembly syntax is ambigious in a variety of ways.  Consider
+     The PA assembly syntax is ambiguous in a variety of ways.  Consider
      this string "4 %r5"  Is that the number 4 followed by the register
      r5, or is that 4 MOD r5?
 
-     If we get a modulo expresion When looking for an absolute, we try
+     If we get a modulo expression when looking for an absolute, we try
      again cutting off the input string at the first whitespace character.  */
   if (insn->exp.X_op == O_modulus)
     {
 }
 
 /* Parse a non-negated compare/subtract completer returning the
-   number (for encoding in instrutions) of the given completer.  */
+   number (for encoding in instructions) of the given completer.  */
 
 static int
 pa_parse_nonneg_cmpsub_cmpltr (s)
 }
 
 /* Parse a negated compare/subtract completer returning the
-   number (for encoding in instrutions) of the given completer.  */
+   number (for encoding in instructions) of the given completer.  */
 
 static int
 pa_parse_neg_cmpsub_cmpltr (s)
 }
 
 /* Parse a 64 bit compare and branch completer returning the number (for
-   encoding in instrutions) of the given completer.
+   encoding in instructions) of the given completer.
 
    Nonnegated comparisons are returned as 0-7, negated comparisons are
    returned as 8-15.  */
 }
 
 /* Parse a 64 bit compare immediate and branch completer returning the number
-   (for encoding in instrutions) of the given completer.  */
+   (for encoding in instructions) of the given completer.  */
 
 static int
 pa_parse_cmpib_64_cmpltr (s)
 }
 
 /* Parse a non-negated addition completer returning the number
-   (for encoding in instrutions) of the given completer.  */
+   (for encoding in instructions) of the given completer.  */
 
 static int
 pa_parse_nonneg_add_cmpltr (s)
 }
 
 /* Parse a negated addition completer returning the number
-   (for encoding in instrutions) of the given completer.  */
+   (for encoding in instructions) of the given completer.  */
 
 static int
 pa_parse_neg_add_cmpltr (s)
 }
 
 /* Parse a 64 bit wide mode add and branch completer returning the number (for
-   encoding in instrutions) of the given completer.  */
+   encoding in instructions) of the given completer.  */
 
 static int
 pa_parse_addb_64_cmpltr (s)
 {
 
 #ifdef OBJ_SOM
-  /* The BRTAB relocations are only availble in SOM (to denote
+  /* The BRTAB relocations are only available in SOM (to denote
      the beginning and end of branch tables).  */
   char *where = frag_more (0);
 
   if (! begin)
     expression (&exp);
 
-  /* The TRY relocations are only availble in SOM (to denote
+  /* The TRY relocations are only available in SOM (to denote
      the beginning and end of exception handling regions).  */
 
   fix_new_hppa (frag_now, where - frag_now->fr_literal, 0,
 }
 
 /* Process a .ENTRY pseudo-op.  .ENTRY marks the beginning of the
-   procesure.  */
+   procedure.  */
 static void
 pa_entry (unused)
      int unused ATTRIBUTE_UNUSED;
 #endif
          *input_line_pointer = c;
        }
-      /* Privelege level.  */
+      /* Privilege level.  */
       else if ((strncasecmp (name, "priv_lev", 8)) == 0)
        {
          p = input_line_pointer;
        }
       else
        {
-         /* Sigh.  To be compatable with the HP assembler and to help
+         /* Sigh.  To be compatible with the HP assembler and to help
             poorly written assembly code, we assign a type based on
             the current segment.  Note only BSF_FUNCTION really
             matters, we do not need to set the full SYMBOL_TYPE_* info.  */
   demand_empty_rest_of_line ();
 }
 
-/* Process the syntatical end of a procedure.  Make sure all the
+/* Process the syntactical end of a procedure.  Make sure all the
    appropriate pseudo-ops were found within the procedure.  */
 
 static void
   /* If create_flag is nonzero, then create the new space with
      the attributes computed above.  Else set the values in
      an already existing space -- this can only happen for
-     the first occurence of a built-in space.  */
+     the first occurrence of a built-in space.  */
   if (create_flag)
     space = create_new_space (space_name, spnum, loadable, defined,
                              private, sort, seg, 1);
      .                 RR%sect+4092 == (R%sect)+4092
      .                 RR%sect+4096 == (R%sect)-4096
      and the last address loses because rounding the addend to 8k
-     mutiples takes us up to 8192 with an offset of -4096.
+     multiples takes us up to 8192 with an offset of -4096.
 
      In cases where the LR% expression is identical to the RR% one we
      will never have a problem, but is so happens that gcc rounds
 
       next_literal_pool_place++;
     }
 
-  /* ???_poolP points to the begining of the literal pool.
-   * X_add_number is the offset from the begining of the
+  /* ???_poolP points to the beginning of the literal pool.
+   * X_add_number is the offset from the beginning of the
    * literal pool to this expr minus the location of the most
    * recent .using directive.  Thus, the grand total value of the
    * expression is the distance from .using to the literal.
                }
              cons_len = (hex_len+1) /2;
            }
-         /* I beleive this works even for =XL8'dada0000beeebaaa'
+         /* I believe this works even for =XL8'dada0000beeebaaa'
           * which should parse out to X_op == O_big
           * Note that floats and doubles get represented as
           * 0d3.14159265358979  or 0f 2.7
 #define EMIT_ADDR_CONS_SYMBOLS
 #ifdef EMIT_ADDR_CONS_SYMBOLS
              /* create a bogus symbol, add it to the pool ...
-              * For the most part, I think this is a useless excercise,
+              * For the most part, I think this is a useless exercise,
               * except that having these symbol names in the objects
               * is vaguely useful for debugging ...
               */
     *star = '.';
 
   /* the first arg to using will usually be ".", but it can
-   * be a more complex exprsssion too ...  */
+   * be a more complex expression too ...  */
   expression (&baseaddr);
   if (star)
     *star = '*';
 
       /* Check for an address constant expression.  */
       /* We will put PSW-relative addresses in the text section,
-       * and adress literals in the .data (or other) section.  */
+       * and address literals in the .data (or other) section.  */
       else if (i370_addr_cons (&ex))
        use_other=1;
       else if (i370_addr_offset (&ex))
 
 
 typedef void (*vbyte_func) PARAMS ((int, char *, char *));
 
-/* Forward delarations:  */
+/* Forward declarations:  */
 static int ar_is_in_integer_unit PARAMS ((int regnum));
 static void set_section PARAMS ((char *name));
 static unsigned int set_regstack PARAMS ((unsigned int, unsigned int,
 
 /* Given a complete record list, process any records which have
    unresolved fields, (ie length counts for a prologue).  After
-   this has been run, all neccessary information should be available
+   this has been run, all necessary information should be available
    within each record to generate an image.  */
 
 static void
   int x, extra = 0;
   valueT flag_value;
 
-  /* pad to pointer-size boundry.  */
+  /* pad to pointer-size boundary.  */
   x = size % md.pointer_size;
   if (x != 0)
     extra = md.pointer_size - x;
 
   bfd_set_section_alignment (stdoutput, text_section, 4);
 
-  /* Make sure fucntion pointers get initialized.  */
+  /* Make sure function pointers get initialized.  */
   target_big_endian = -1;
   dot_byteorder (TARGET_BYTES_BIG_ENDIAN);