Hi Suzuki, One more fix -- you forgot to apply the implied "sticky" target change for PPC. If you do an initial "make target=PPC", you shouldn't have to keep appending the "target=PPC" for all subsequent builds, i.e., you can just enter "make" from that point on. I've applied this patch to configure.c for that purpose: --- configure.c.orig 2012-01-09 16:10:18.522195102 -0500 +++ configure.c 2012-01-09 16:14:32.869958450 -0500 @@ -411,6 +411,17 @@ if ((target_data.target == X86) && (target_data.initial_gdb_target != X86)) arch_mismatch(sp); + + if ((target_data.initial_gdb_target == PPC) && + (target_data.target != PPC)) { + if (target_data.target == PPC64) + target_data.target = PPC; + else + arch_mismatch(sp); + } + if ((target_data.target == PPC) && + (target_data.initial_gdb_target != PPC)) + arch_mismatch(sp); } if ((fp = fopen("Makefile", "r")) == NULL) { Dave ----- Original Message ----- > > Hi Suzuki, > > Aside from the minor issues in my previous email, this feature works > nicely for ppc32! > > To avoid your having to send in another patch, I've modified your > first > 1/4 patch like so, where I've changed the top-level Makefile and the > gdb-7.3.1/Makefile.in to check for uppercase "PPC64", and changed the > define name passed to gdb from "TARGET" to "CRASH_TARGET": > > --- ppc1.patch.orig 2012-01-09 11:30:43.636707000 -0500 > +++ ppc1.patch 2012-01-09 15:29:56.808811000 -0500 > @@ -6,7 +6,7 @@ > > ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ > -e s/arm.*/arm/ -e s/sa110/arm/) > -ifeq ($(ARCH), ppc64) > -+ifeq (${TARGET}, ppc64) > ++ifeq (${TARGET}, PPC64) > CONF_FLAGS = -m64 > endif > > @@ -16,8 +16,8 @@ > --with-bugurl="" --with-expat=no --with-python=no; \ > - make --no-print-directory; echo ${TARGET} > crash.target) \ > - else (cd ${GDB}/gdb; make --no-print-directory;); fi > -+ make --no-print-directory TARGET=${TARGET}; echo ${TARGET} > > crash.target) \ > -+ else (cd ${GDB}/gdb; make --no-print-directory > TARGET=${TARGET};); fi > ++ make --no-print-directory CRASH_TARGET=${TARGET}; echo > ${TARGET} > crash.target) \ > ++ else (cd ${GDB}/gdb; make --no-print-directory > CRASH_TARGET=${TARGET};); fi > @if [ ! -f ${GDB}/gdb/libgdb.a ]; then \ > echo; echo "gdb build failed: ${GDB}/gdb/libgdb.a does not > exist"; \ > echo; exit 1; fi > @@ -74,7 +74,7 @@ > CC_FOR_BUILD = @CC_FOR_BUILD@ > CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ > -+ifeq ($(shell arch), ppc64) > -++ifeq (${TARGET}, ppc64) > +++ifeq (${CRASH_TARGET}, PPC64) > +CFLAGS_FOR_BUILD += -m64 -fPIC > +endif > CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@ > @@ -83,7 +83,7 @@ > > CFLAGS = @CFLAGS@ > -+ifeq ($(shell arch), ppc64) > -++ifeq (${TARGET}, ppc64) > +++ifeq (${CRASH_TARGET}, PPC64) > +CFLAGS += -m64 -fPIC > +endif > LDFLAGS = @LDFLAGS@ > > Presuming it works OK for both ppc64 and ppc32, consider it queued > for crash-6.0.3. > > Thanks! > Dave > -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility