[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gclcvs



Thiemo Seufer wrote:
> Camm Maguire wrote:
> > Greetings!  I've recently put in native object code relocation on mips
> > for gclcvs following the lush example, and tested on an Indy locally
> > (which has since died.)  mipsel autobuilds just fine, while mips give
> > a bus error right at the end.  Could this possibly be related to some
> > physicall error on the machine?
> 
> Yes, this is quite possible.
> 
> > Is there a way in which code which
> > makes no reference to byte order might logically fail on only one of
> > mips/mipsel?  Lastly, if the fault is with gclcvs and this needs
> > debugging, can anyone arrange ssh access to a remote mips machine?
> 
> Hm, I'll have a look.

It built with the appended patch. I appears the mipsel version succeded
to build because it didn't select native object relocation (the mips
pattern matched first). Generally, canonical GNU host ids should be
checked with at least a cpu-vendor-os pattern to avoid mismatches, that
is *-*-* as the minimum catch-all.

(What I used below matches also for e.g. mipsisa32el-unknown-linux-uclibc.)


Thiemo


diff -urpN gclcvs-2.7.0.orig/configure.in gclcvs-2.7.0/configure.in
--- gclcvs-2.7.0.orig/configure.in	2005-04-14 23:06:33.000000000 +0200
+++ gclcvs-2.7.0/configure.in	2005-04-19 15:10:43.000000000 +0200
@@ -109,12 +109,12 @@ case $canonical in
      alpha*linux*)
      	use=alpha-linux;;
 
-     mips*linux*)
-     	use=mips-linux;;
-
-     mipsel*linux*)
+     mips*el-*-linux*)
      	use=mipsel-linux;;
 
+     mips*-*-linux*)
+     	use=mips-linux;;
+
      sparc*linux*)
      	use=sparc-linux;;
 
diff -urpN gclcvs-2.7.0.orig/o/sfaslbfd_mips.c gclcvs-2.7.0/o/sfaslbfd_mips.c
--- gclcvs-2.7.0.orig/o/sfaslbfd_mips.c	2005-04-14 23:19:59.000000000 +0200
+++ gclcvs-2.7.0/o/sfaslbfd_mips.c	2005-04-19 05:32:32.000000000 +0200
@@ -471,7 +471,7 @@ mipself_fix_relocs(bfd *b,asymbol ** sym
       gpdisp = symbols[i];
       gpdisp->value = 0;
       gpdisp->flags = BSF_LOCAL|BSF_SECTION_SYM;
-      gpdisp->section = info->sgot ? info->sgot : info->sgot : bfd_abs_section_ptr;
+      gpdisp->section = info->sgot ? info->sgot : bfd_abs_section_ptr;
       gpdisp->udata.p = NULL;
       break;
     }



Reply to: