[Crash-utility] PPC64 compiler question

Dave Anderson anderson at redhat.com
Thu Jun 28 16:10:56 UTC 2012



----- Original Message -----
> 
> 
> 
> Yes, The default user space for RHEL 5 and SLES10 is 32bit, but we
> always build 64bit crash since PPC64 support is added. Top level
> makefile should have something like:
> 
> ifeq (${TARGET}, PPC64)
> CONF_FLAGS = -m64
> endif
> 
> So, this change has to be modified to support cross-compile.
> 
> Thanks
> Haren

Actually the crash-6.0.3 Makefile change that set "ifeq (${TARGET}, PPC64)"
is the problem at hand.  The very first time that "make" is run on a virgin
crash source tree the "TARGET" is not known/set.  So on a RHEL5 system,
configure.c is compiled as a 32-bit binary, and therefore thinks it's 
32-bit host.  The Makefile needs to be restored to the way it used to
work -- by checking "ifeq (${ARCH}, ppc64)" -- where ARCH gets set in the
Makefile just above it based upon a "uname -m" shell call.  When I originally
tested the crash-6.0.3 patches that were posted, I used a RHEL6 ppc64 host,
where it worked by luck.

For cross-compile, if the user enters "make target=PPC", then the configure
program will override the host ARCH.  And upon subsequent builds, it will
override the host ARCH by checking the "gdb-7.3.1/crash.target" file
that was created by the first build.  That way, the target is "sticky"
so that you don't have to keep entering "make target=PPC" after it
has been done the first time.

Dave




More information about the Crash-utility mailing list