#ifdef OBJ_SOM, not #ifdef SOM
authorAlan Modra <amodra@gmail.com>
Wed, 19 Jul 2000 06:30:49 +0000 (06:30 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 19 Jul 2000 06:30:49 +0000 (06:30 +0000)
gas/ChangeLog
gas/config/tc-hppa.c

index 8ea090b..391fa47 100644 (file)
@@ -1,3 +1,9 @@
+2000-07-19  Alan Modra  <alan@linuxcare.com.au>
+
+       * config/tc-hppa.c (hppa_fix_adjustable): Correct LR%/RR% comment.
+       (arg_reloc_stub_needed): #ifdef OBJ_SOM, not #ifdef SOM.
+       (pa_type_args): Same here.
+
 2000-07-17  Mark Elbrecht  <snowball3@bigfoot.com>
 
        * config/obj-coff.c (obj_frob_symbol): Don't merge labels. Don't
index 67eb611..ab227ea 100644 (file)
@@ -4390,7 +4390,7 @@ md_undefined_symbol (name)
   return 0;
 }
 
-#if defined (SOM) || defined (ELF_ARG_RELOC)
+#if defined (OBJ_SOM) || defined (ELF_ARG_RELOC)
 #define arg_reloc_stub_needed(CALLER, CALLEE) \
   ((CALLEE) && (CALLER) && ((CALLEE) != (CALLER)))
 #else
@@ -6715,7 +6715,7 @@ pa_type_args (symbolP, is_export)
          name = input_line_pointer;
          c = get_symbol_end ();
          arg_reloc = pa_align_arg_reloc (temp, pa_build_arg_reloc (name));
-#if defined (SOM) || defined (ELF_ARG_RELOC)
+#if defined (OBJ_SOM) || defined (ELF_ARG_RELOC)
          symbol_arg_reloc_info (symbolP) |= arg_reloc;
 #endif
          *input_line_pointer = c;
@@ -6729,7 +6729,7 @@ pa_type_args (symbolP, is_export)
          name = input_line_pointer;
          c = get_symbol_end ();
          arg_reloc = pa_build_arg_reloc (name);
-#if defined (SOM) || defined (ELF_ARG_RELOC)
+#if defined (OBJ_SOM) || defined (ELF_ARG_RELOC)
          symbol_arg_reloc_info (symbolP) |= arg_reloc;
 #endif
          *input_line_pointer = c;
@@ -8373,19 +8373,20 @@ hppa_fix_adjustable (fixp)
      eg. Suppose we have
      .         ldil    LR%foo+0,%r21
      .         ldw     RR%foo+0(%r21),%r26
-     .         ldw     RR%foo+10(%r21),%r25
-
-     If foo is at address 4090 (decimal) in section `sect', then after
-     reducing to the section symbol, we get
-     .                 LR%sect+4090 == L%sect+0
-     .                 RR%sect+4090 == R%sect+4090
-     .                 RR%sect+4100 == R%sect-4092 (4100 - 8192)
-     and the last address loses.
-
-     Obviously, 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 addends involved in LR% field selectors to work around a
-     HP linker bug.  ie. We often have addresses like the last case
+     .         ldw     RR%foo+4(%r21),%r25
+
+     If foo is at address 4092 (decimal) in section `sect', then after
+     reducing to the section symbol we get
+     .                 LR%sect+4092 == (L%sect)+0
+     .                 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.
+
+     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
+     addends involved in LR% field selectors to work around a HP
+     linker bug.  ie. We often have addresses like the last case
      above where the LR% expression is offset from the RR% one.  */
 
   if (hppa_fix->fx_r_field == e_lrsel