Author: luohuan
Date: 2012-10-09 03:45:28 -0400 (Tue, 09 Oct 2012)
New Revision: 4035
Modified:
trunk/Makefile.in
trunk/configure
trunk/configure.ac
trunk/install_compiler.sh
trunk/osprey-gcc-4.2.0/gcc/c-tree.h
Log:
Configure-based build system for PPC native compiler. Reviewed by David Coakley
Modified: trunk/Makefile.in
===================================================================
--- trunk/Makefile.in 2012-10-04 21:05:24 UTC (rev 4034)
+++ trunk/Makefile.in 2012-10-09 07:45:28 UTC (rev 4035)
@@ -152,8 +152,7 @@
$(NATIVE_BUILD_DIR)/libelfutil \
$(NATIVE_BUILD_DIR)/libdwarf \
$(NATIVE_BUILD_DIR)/libunwindP \
- $(NATIVE_BUILD_DIR)/libcif \
- $(NATIVE_BUILD_DIR)/arith
+ $(NATIVE_BUILD_DIR)/libcif
NATIVE_COMPONENTS = $(BASIC_COMPONENTS) $(TARGET_EXTRA_OBJ) \
$(GNU4_FE_COMPONENTS) $(FORT_FE_COMPONENTS) \
@@ -455,8 +454,8 @@
ifeq ($(BUILD_FORTRAN), YES)
$(MAKE) -C $(NATIVE_BUILD_DIR)/crayf90 clobber
$(MAKE) -C $(NATIVE_BUILD_DIR)/whirl2f clobber
-endif
$(MAKE) -C $(NATIVE_BUILD_DIR)/arith clobber
+endif
$(MAKE) -C $(NATIVE_BUILD_DIR)/include clobber
$(MAKE) -C $(NATIVE_BUILD_DIR)/libspin_4_2_0 clobber
ifeq ($(MACHINE_TYPE), ia64)
Modified: trunk/configure
===================================================================
--- trunk/configure 2012-10-04 21:05:24 UTC (rev 4034)
+++ trunk/configure 2012-10-09 07:45:28 UTC (rev 4035)
@@ -1597,6 +1597,8 @@
CYGNUS_CONFIGURE_HOST=ia64-linux-gnu
GCC_CONFIGURE_HOST=ia64-redhat-linux
;;
+ powerpc-*-linux*)
+ ;;
*)
{ { echo "$as_me:$LINENO: error: \"open64 is not supported on
$target\"" >&5
echo "$as_me: error: \"open64 is not supported on $target\"" >&2;}
@@ -1649,10 +1651,7 @@
;;
powerpc-*-linux*)
MACHINE_TYPE=PPC32
- CROSS_TARGET="$target"
BUILD_ABI=I32BIT
- BUILD_ARCH=IA32
- BUILD_HOST=IA32
BUILD_TARGET=PPC32
BUILD_MULTILIB=NO
BUILD_VENDOR=OSP
@@ -1660,9 +1659,22 @@
GCC_CONFIGURE_HOST=powerpc-redhat-linux
GCC_CONFIGURE_BUILD=powerpc-redhat-linux
CYGNUS_CONFIGURE_TARG=mipsel-elf-linux
+ GCC_CONFIGURE_COMPILER+=" -m32"
GCC_CONFIGURE_CFLAGS+=" -DTARG_PPC32"
- GCC_CONFIGURE_COMPILER+=" -m32"
- ;;
+ case "$host" in
+ powerpc-*-linux*)
+ BUILD_ARCH=PPC32
+ BUILD_HOST=PPC32
+ BUILD_SKIP_IPA=YES
+ GCC_CONFIGURE_CFLAGS+=" -DTARG_PPC"
+ ;;
+ *)
+ BUILD_SKIP_IPA=NO
+ BUILD_ARCH=IA32
+ BUILD_HOST=IA32
+ CROSS_TARGET="$target"
+ ;;
+ esac ;;
sl*-*-linux*)
MACHINE_TYPE=SL
BUILD_TARGET=SL
@@ -1692,7 +1704,6 @@
if test "${BUILD_TARGET}" = "PPC32"; then
BUILD_GNU3="NO"
BUILD_FORTRAN="NO"
- BUILD_SKIP_IPA="NO"
fi
UNAME_MACHINE=`uname -m`
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac 2012-10-04 21:05:24 UTC (rev 4034)
+++ trunk/configure.ac 2012-10-09 07:45:28 UTC (rev 4035)
@@ -224,6 +224,8 @@
CYGNUS_CONFIGURE_HOST=ia64-linux-gnu
GCC_CONFIGURE_HOST=ia64-redhat-linux
;;
+ powerpc-*-linux*)
+ ;;
*)
AC_MSG_ERROR(["open64 is not supported on $target"])
;;
@@ -274,10 +276,7 @@
;;
powerpc-*-linux*)
MACHINE_TYPE=PPC32
- CROSS_TARGET="$target"
BUILD_ABI=I32BIT
- BUILD_ARCH=IA32
- BUILD_HOST=IA32
BUILD_TARGET=PPC32
BUILD_MULTILIB=NO
BUILD_VENDOR=OSP
@@ -285,9 +284,22 @@
GCC_CONFIGURE_HOST=powerpc-redhat-linux
GCC_CONFIGURE_BUILD=powerpc-redhat-linux
CYGNUS_CONFIGURE_TARG=mipsel-elf-linux
+ GCC_CONFIGURE_COMPILER+=" -m32"
GCC_CONFIGURE_CFLAGS+=" -DTARG_PPC32"
- GCC_CONFIGURE_COMPILER+=" -m32"
- ;;
+ case "$host" in
+ powerpc-*-linux*)
+ BUILD_ARCH=PPC32
+ BUILD_HOST=PPC32
+ BUILD_SKIP_IPA=YES
+ GCC_CONFIGURE_CFLAGS+=" -DTARG_PPC"
+ ;;
+ *)
+ BUILD_SKIP_IPA=NO
+ BUILD_ARCH=IA32
+ BUILD_HOST=IA32
+ CROSS_TARGET="$target"
+ ;;
+ esac ;;
sl*-*-linux*)
MACHINE_TYPE=SL
BUILD_TARGET=SL
@@ -315,7 +327,6 @@
if test "${BUILD_TARGET}" = "PPC32"; then
BUILD_GNU3="NO"
BUILD_FORTRAN="NO"
- BUILD_SKIP_IPA="NO"
fi
UNAME_MACHINE=`uname -m`
Modified: trunk/install_compiler.sh
===================================================================
--- trunk/install_compiler.sh 2012-10-04 21:05:24 UTC (rev 4034)
+++ trunk/install_compiler.sh 2012-10-09 07:45:28 UTC (rev 4035)
@@ -58,6 +58,9 @@
if [ -z "$3" ]; then
CROSS_TARGET=""
+ if [ $1 = "PPC32" ]; then
+ ARCH="ppc"
+ fi
else
CROSS_TARGET=$3
fi
@@ -91,6 +94,7 @@
ppc )
BUILD_HOST="ppc32"
TARG_HOST="ppc32"
+ INSTALL_FORTRAN="NO"
AREA="osprey/targppc32_ppc32"
PHASE_DIR_PREFIX="ppc32"
PREBUILD_INTERPOS="ppc32-linux"
@@ -197,7 +201,6 @@
if [ "$ARCH" = "PPC32" ]; then
INSTALL_EXEC_SUB ${AREA}/driver/driver ${BIN_DIR}/powercc
INSTALL_EXEC_SUB ${AREA}/driver/driver ${BIN_DIR}/powercc-${VERSION}
- ln -sf ${BIN_DIR}/powercc ${BIN_DIR}/${CROSS_TARGET}-opencc
else
INSTALL_EXEC_SUB ${AREA}/driver/driver ${BIN_DIR}/opencc
INSTALL_EXEC_SUB ${AREA}/driver/driver ${BIN_DIR}/openCC
@@ -274,7 +277,7 @@
# GNU 4.2.0 based FE
INSTALL_EXEC_SUB ${AREA}/wgen/wgen42 ${PHASEPATH}/wgen42
- if [ "$ARCH" = "PPC32" ]; then
+ if [ "$TARG_HOST" = "ppc32" ]; then
LIBEXEC=libexec/gcc/powerpc-redhat-linux/4.2.0
else
LIBEXEC=libexec/gcc/${PHASE_DIR_PREFIX}-redhat-linux/4.2.0
Modified: trunk/osprey-gcc-4.2.0/gcc/c-tree.h
===================================================================
--- trunk/osprey-gcc-4.2.0/gcc/c-tree.h 2012-10-04 21:05:24 UTC (rev 4034)
+++ trunk/osprey-gcc-4.2.0/gcc/c-tree.h 2012-10-09 07:45:28 UTC (rev 4035)
@@ -34,7 +34,7 @@
know how big it is. This is sanity-checked in c-decl.c. */
/* Bug 12755: On mips native, there is a extra four bytes (of alignment
* padding?) somewhere */
-#ifdef ARCH_MIPS || defined(ARCH_PPC)
+#if defined(ARCH_MIPS) || defined(TARG_PPC)
#define C_SIZEOF_STRUCT_LANG_IDENTIFIER \
(sizeof (struct c_common_identifier) + 3 * sizeof (void *) + 4)
#else
------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Open64-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/open64-devel