Discussion:
[Open64-devel] r4035 - in trunk: . osprey-gcc-4.2.0/gcc
s***@open64.net
2012-10-09 07:45:29 UTC
Permalink
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

Loading...