This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Error building 64 bit gcc in sparcv9-sun-solaris2.8


Hi,
	Thanks for the reply. I did a cleanup only in toplevel libiberty
directory and not in pic directory inside and built libiberty with
stage1/xgcc and then did the bootstrap again, this time it failed in the
stage comparison saying the object files differs (error below), need the cp
directory to be rebuilt with stage2 xgcc.

Thanks,
Karthik

***********Error********************
Bootstrap complete - make "quickstrap" to redo last build,
"restage1" through "restage3" to rebuild specific stages,
or "cleanstrap" to redo the bootstrap from scratch.
Comparing stage2 and stage3 of the compiler
rm -f .bad_compare
case "compare" in compare | compare-lean ) stage=2 ;; * ) stage=`echo
compare | sed -e 's,^compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
for file in *.o; do \
  tail +16c ./$file > tmp-foo1; \
  tail +16c stage$stage/$file > tmp-foo2 \
    && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $file differs >>
.bad_compare) || true; \
done
case "compare" in compare | compare-lean ) stage=2 ;; * ) stage=`echo
compare | sed -e 's,^compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
for dir in tmp-foo intl cp; do \
  if [ "`echo $dir/*.o`" != "$dir/*.o" ] ; then \
    for file in $dir/*.o; do \
      tail +16c ./$file > tmp-foo1; \
      tail +16c stage$stage/$file > tmp-foo2 \
        && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $file differs >>
.bad_compare) || true; \
    done; \
  else true; fi; \
done
rm -f tmp-foo*
case "compare" in compare | compare-lean ) stage=2 ;; * ) stage=`echo
compare | sed -e 's,^compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
if [ -f .bad_compare ]; then \
  echo "Bootstrap comparison failure!"; \
  cat .bad_compare; \
  exit 1; \
else \
  case "compare" in \
    *-lean ) rm -rf stage$stage ;; \
    *) ;; \
  esac; true; \
fi
Bootstrap comparison failure!
alias.o differs
alloca.o differs
bb-reorder.o differs
bitmap.o differs
builtins.o differs
c-aux-info.o differs
c-common.o differs
c-convert.o differs
c-decl.o differs
c-dump.o differs
.....................
.....................
cp/tree.o differs
cp/typeck.o differs
cp/typeck2.o differs
cp/xref.o differs
*** Error code 1
make: Fatal error: Command failed for target `compare'
Current working directory /tmp/fs/gcc-sparc-64bit-obj/gcc
*** Error code 1
make: Fatal error: Command failed for target `bootstrap'
	

> -----Original Message-----
> From:	Rupert Wood [SMTP:me@rupey.net]
> Sent:	Wednesday, April 03, 2002 19:45
> To:	'Karthikeyan M. D'
> Cc:	gcc-help@gcc.gnu.org
> Subject:	RE: Error building 64 bit gcc in sparcv9-sun-solaris2.8
> 
> Karthik wrote:
> 
> > ld: warning: file ../libiberty/libiberty.a(getpwd.o): wrong ELF class:
> > ELFCLASS32
> 
> You told it the build system is sparcv9 so it assumed that the bootstrap
> compiler generated sparcv9 code. It didn't; your bootstrap compiler
> generates 32-bit sparc code. Hence the top level libiberty was generated
> as 32-bit and you're now attempting to link it to 64-bit code.
> 
> Clean out the top level libiberty directory and reconfigure and build
> using the xgcc you've just built, i.e. something along the lines of:
> 
>    CC="../gcc/stage1/xgcc -B../gcc/stage1/" \
>        <srcdir>/libiberty/configure <etc>
>    make CC="../gcc/stage1/xgcc -B../gcc/stage1/"
> 
> (or throw in stage1/ as necessary; can't remember)
> Go back and restart the bootstrap; it should then complete (or, at
> least, it has for me before from this situation.)
> 
> Other ways of building sparcv9:
> 
>   1. Install a multilibbed 32-bit gcc which understands -m64 (3+, I
>      think). Then:
> 
>       CC="gcc -m64" ../gcc-3.0/configure <etc> sparcv9-sun-solaris2.8
>       make bootstrap CC="gcc -m64"
> 
>      This will build the top level libiberty (and stage1) as 64-bit
>      straight off.
> 
>   2. Generate a cross-compiler to sparcv9 then use that as the build
>      compiler to bootstrap a 64-bit gcc. (Don't know if you'd need a
>      complete toolchain or not - never tried this.)
> 
> In my opinion, you'd probably do better with a multilibbed sparc
> compiler and the '-m64' switch than a sparcv9 compiler. But, as you say,
> lots of people build sparcv9. And if you want 64-bit sparc, you'd be
> better off with a gcc 3.1 snapshot; 3.0x has (I think) incomplete
> support for the 64-bit sparc ABI.
> 
> Rup.


This message is confidential and may also be legally privileged. If you are not the intended recipient, please notify us immediately. You should not copy it or use it for any purpose, nor disclose it's contents to any other person. The views and opinions expressed in this e-mail message are the author's own and may not reflect the views and opinions of Wilco International.


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