This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: 3 testsuite failures under hpux 10.20



Yep, it was a silly thinko, SOM instead of OBJ_SOM.  Committing the
following to fix it.

Regards, Alan Modra
-- 
Linuxcare.  Support for the Revolution.

gas/ChangeLog
	* 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.

Index: gas/config/tc-hppa.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-hppa.c,v
retrieving revision 1.60
diff -u -p -r1.60 tc-hppa.c
--- tc-hppa.c	2000/07/15 12:57:14	1.60
+++ tc-hppa.c	2000/07/19 06:14:05
@@ -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
+     .		ldw	RR%foo+4(%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
+     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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]