summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2011-11-06 15:35:36 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2011-11-06 15:35:36 +0000
commit7127cb0d2abad770a97a6dd86a97d316fda698ce (patch)
tree4656c13e437039089fed86a423ddcb2033c87b32 /gcc
parente3d5bc5b538a58ca65dd313ddf6e6f0c88bd36d0 (diff)
2011-11-06 Joel Sherrill <joel.sherrill@oarcorp.com>
* do_one: do_cleanup defaults to "no". Add initial support for Objective-C and FORTRAN. - Objective-C needs work on run-time support - FORTRAN needs to be tested * gcc_status: Use BUILDDIR not BASEDIR. * gccgo_status: Use BUILDDIR not BASEDIR. * networkconfig.h: Update. * rtems_gccgo_init.c: Switch to unlimited objects configuration. * rundeja: Add Objective-C. * test_driver: Add -C to check options and exit. Add --enable-watchdog to PPL configuration. * testsuite/ada/acats/Makefile.rtems: Correct uC5282. * gccobjc_status: New file.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog16
-rwxr-xr-xgcc/do_one193
-rwxr-xr-xgcc/gcc_status4
-rwxr-xr-xgcc/gccgo_status5
-rwxr-xr-xgcc/gccobjc_status61
-rw-r--r--gcc/networkconfig.h26
-rw-r--r--gcc/rtems_gccgo_init.c39
-rwxr-xr-xgcc/rundeja16
-rwxr-xr-xgcc/test_driver30
-rw-r--r--gcc/testsuite/ada/acats/Makefile.rtems4
10 files changed, 285 insertions, 109 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f4137c2..2d61dbd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,19 @@
+2011-11-06 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * do_one: do_cleanup defaults to "no".
+ Add initial support for Objective-C and FORTRAN.
+ - Objective-C needs work on run-time support
+ - FORTRAN needs to be tested
+ * gcc_status: Use BUILDDIR not BASEDIR.
+ * gccgo_status: Use BUILDDIR not BASEDIR.
+ * networkconfig.h: Update.
+ * rtems_gccgo_init.c: Switch to unlimited objects configuration.
+ * rundeja: Add Objective-C.
+ * test_driver: Add -C to check options and exit.
+ Add --enable-watchdog to PPL configuration.
+ * testsuite/ada/acats/Makefile.rtems: Correct uC5282.
+ * gccobjc_status: New file.
+
2011-11-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
* test_driver: Spacing.
diff --git a/gcc/do_one b/gcc/do_one
index 806bd1b..4cc3620 100755
--- a/gcc/do_one
+++ b/gcc/do_one
@@ -1,4 +1,3 @@
-#! /bin/sh
#
# Execution Times (for sparc-rtems${RTEMS_VERSION})
#
@@ -31,7 +30,7 @@ source ${vfile}
######################## Set defaults #############################
# Remove Build Directories
-do_cleanup=yes
+do_cleanup=no
# Install Binutils (from rpm or source)
do_binutils=no
do_binutils_method=source
@@ -47,6 +46,7 @@ do_stage1=no
do_multilib=yes
# Build the Objective-C language cross compiler.
do_objc=no
+ do_native_objc=yes
# Build the Ada language cross compiler.
do_ada=no
do_ada_multilib=yes
@@ -56,6 +56,9 @@ do_gccgo=no
# Build the GCC Java language cross compiler.
do_gcj=no
do_gcj_multilib=yes
+# Build the GCC FORTRAN language cross compiler.
+do_fortran=no
+ do_fortran_multilib=yes
# Build RTEMS for a particular CPU/BSP combination
do_rtems=no
# Which test suites do we attempt
@@ -65,16 +68,19 @@ run_acats=no
run_gccgotests=no
run_libgotests=no
run_libjavatests=no
+run_fortrantests=no
# Do we send email to gcc-testresults with the test results?
do_mail=yes
# Are we noisy when running?
-verbose=no
+verbose=yes
######################## Parse arguments ###########################
usage()
{
cat <<EOF
do_one [options] CPU BSP
+ -A - binutils, stage 1, C++, C/C++ multilib, Ada, GCC Go, ObjC, RTEMS
+ -T - run GCC, Ada, GCC Go, and ObjC tests
-A - binutils, stage 1, C++, C/C++ multilib, Ada, GCC Go, GCJ, RTEMS
-T - run GCC, Ada, GCC Go and GCJ tests
-b - install binutils (from source or copy installed RPM contents)
@@ -86,10 +92,12 @@ do_one [options] CPU BSP
-a - stage 2 Ada compiler
-G - stage 2 GCC Go compiler
-J - stage 2 GCC Java compiler
+ -f - stage 2 GCC FORTRAN compiler
+ -F - run FORTRAN tests
-r - build RTEMS
-g - run GCC C/C++ tests
-C - run ACATS
- -d - do not clean up (delete build directories)
+ -d - do not clean up (delete build directories) (default=no)
-v - verbose
-M - do NOT email test results to gcc-testresults
-O - Build Objective-C
@@ -115,7 +123,7 @@ toggle()
esac
}
-while getopts bdDnv1cmargiotCATMGOP OPT
+while getopts bdDnv1cmargiotCfFAJTMGOP OPT
do
case "$OPT" in
A) do_binutils="yes"
@@ -127,6 +135,7 @@ do
do_gccgo="yes"
do_gcj="yes"
do_objc="yes"
+ #do_fortran="yes"
do_rtems="yes"
;;
d) do_cleanup=`toggle ${do_cleanup}` ;;
@@ -148,6 +157,7 @@ do
a) do_ada=`toggle ${do_ada}` ;;
G) do_gccgo=`toggle ${do_gccgo}` ;;
J) do_gcj=`toggle ${do_gcj}` ;;
+ f) do_fortran=`toggle ${do_fortran}` ;;
# Build RTEMS
r) do_rtems=`toggle ${do_rtems}` ;;
# Testsuites to run
@@ -156,10 +166,11 @@ do
v) verbose=`toggle ${verbose}` ;;
M) do_mail=`toggle ${do_mail}` ;;
O) do_objc=`toggle ${do_objc}` ;;
- P) run_objctests=`toggle ${do_objc}` ;;
+ P) run_objctests=`toggle ${run_objctests}` ;;
o) run_gccgotests=`toggle ${run_gccgotests}` ;;
t) run_libgotests=`toggle ${run_libgotests}` ;;
j) run_libjavatests=`toggle ${run_libjavatests}` ;;
+ F) run_fortrantests=`toggle ${run_fortrantests}` ;;
*) fatal ;;
esac
done
@@ -218,6 +229,17 @@ if [ ${do_gcj} = "yes" ] ; then
esac
fi
+# Which CPUs do not support FORTRAN
+if [ ${do_fortran} = "yes" ] ; then
+ case ${cpu} in
+ arm|i386|m68k|mips|powerpc|sparc) ;;
+ *)
+ do_fortran=no
+ echo ${cpu} does not support Ada
+ ;;
+ esac
+fi
+
# When verbose, print settings
if [ ${verbose} = yes ] ; then
echo "Target : " ${cpu}
@@ -236,6 +258,7 @@ if [ ${verbose} = yes ] ; then
echo " Go Multilib : " ${do_gccgo_multilib}
echo " GCJ : " ${do_gcj}
echo " GCJ Multilib : " ${do_gccgcj_multilib}
+ echo " FORTRAN : " ${do_fortran}
echo "Build RTEMS : " ${do_rtems}
echo "Run GCC Tests : " ${run_gcctests}
echo "Run ObjC Tests : " ${run_objctests}
@@ -255,7 +278,8 @@ needCPU=no
if [ ${do_binutils} = yes -o ${do_gdb} = yes -o \
${do_stage1} = yes -o ${do_ada} = yes -o \
- ${do_gccgo} = yes -o ${do_gcj} = yes ] ; then
+ ${do_gccgo} = yes -o ${do_gcj} = yes -o \
+ ${do_fortran} = yes ] ; then
needCPU=yes
fi
@@ -391,9 +415,9 @@ j_binutils()
;;
source)
echo "Building Binutils from source"
- rm -rf b-${cpu}-binutils
- mkdir b-${cpu}-binutils
- cd b-${cpu}-binutils
+ rm -rf ${BUILDDIR}/b-${cpu}-binutils
+ mkdir ${BUILDDIR}/b-${cpu}-binutils
+ cd ${BUILDDIR}/b-${cpu}-binutils
(${BINUTILSDIR}/configure --target=${TARGET} --prefix=$INSTALL \
--disable-werror && \
make ${MAKEJOBS} && make install) >${LOGDIR}/${cpu}-binutils.log 2>&1
@@ -405,7 +429,7 @@ j_binutils()
make check >${LOGDIR}/${cpu}-binutils-check.log 2>&1
grep ^FAIL ${LOGDIR}/${cpu}-binutils-check.log
cd ..
- test ${do_cleanup} = "yes" && rm -rf b-${cpu}-binutils
+ test ${do_cleanup} = "yes" && rm -rf ${BUILDDIR}/b-${cpu}-binutils
;;
*)
echo "Where do I get the binutils from?"
@@ -456,9 +480,9 @@ j_gdb()
source)
echo "Building GDB from source"
cd ${BASEDIR}
- rm -rf b-${cpu}-gdb
- mkdir b-${cpu}-gdb
- cd b-${cpu}-gdb
+ rm -rf ${BUILDDIR}/b-${cpu}-gdb
+ mkdir ${BUILDDIR}/b-${cpu}-gdb
+ cd ${BUILDDIR}/b-${cpu}-gdb
(${GDBDIR}/configure --target=${GDBTARGET} \
--enable-sim --enable-sim-hardware \
--disable-werror \
@@ -469,7 +493,7 @@ j_gdb()
exit 1
fi
cd ..
- test ${do_cleanup} = "yes" && rm -rf b-${cpu}-gdb
+ test ${do_cleanup} = "yes" && rm -rf ${BUILDDIR}/b-${cpu}-gdb
;;
*)
echo "Where do I get the gdb from?"
@@ -487,26 +511,27 @@ fi
j_native()
{
test ${do_native_ada} = "yes" && AdaArg=",ada"
+ test ${do_native_objc} = "yes" && ObjCArg=",objc"
${GCCDIR}/configure \
${NATIVE_GCC_EXTRA_ARGS} \
--disable-werror \
- --enable-languages=c,c++${AdaArg} --prefix=$INSTALL &&
+ --enable-languages=c,c++${AdaArg}${ObjCArg} --prefix=$INSTALL &&
make ${MAKEJOBS} && make install
}
if [ ${do_native} = "yes" ] ; then
echo "Building native compiler..."
cd ${BASEDIR} && \
- rm -rf b-native && \
- mkdir b-native && \
- cd b-native
+ rm -rf ${BUILDDIR}/b-native && \
+ mkdir ${BUILDDIR}/b-native && \
+ cd ${BUILDDIR}/b-native
time j_native >${LOGDIR}/native.log 2>&1
if [ $? -ne 0 ] ; then
echo "Failed to build native gcc"
exit 1
fi
cd ..
- test ${do_cleanup} = "yes" && rm -rf b-native
+ test ${do_cleanup} = "yes" && rm -rf ${BUILDDIR}/b-native
else
echo Skipping native
fi
@@ -573,9 +598,9 @@ j_gcc()
if [ ${do_stage1} = "yes" ] ; then
echo "Building Stage 1 compiler (C/C++)..."
(cd ${BASEDIR} && \
- rm -rf b-${cpu}-gcc && \
- mkdir b-${cpu}-gcc && \
- cd b-${cpu}-gcc && \
+ rm -rf ${BUILDDIR}/b-${cpu}-gcc && \
+ mkdir ${BUILDDIR}/b-${cpu}-gcc && \
+ cd ${BUILDDIR}/b-${cpu}-gcc && \
time j_gcc ${cpu} >${LOGDIR}/${cpu}-gcc.log 2>&1 && cd ..) || exit 1
else
echo Skipping Stage 1 for ${cpu}
@@ -587,7 +612,7 @@ j_rtems()
{
cpuArg=$1
bspArg=$2
- bspdir=b-${cpuArg}-${bspArg}
+ bspdir=${BUILDDIR}/b-${cpuArg}-${bspArg}
cd ${BASEDIR}
rm -rf ${bspdir}
@@ -638,7 +663,8 @@ if [ ${do_rtems} = "yes" ] ; then
echo "Failed to build RTEMS for ${cpu}/${bsp}"
exit 1
fi
- test ${do_cleanup} = "yes" && rm -rf b-${cpu}-${bsp} b-${cpu}-multilib
+ test ${do_cleanup} = "yes" && \
+ rm -rf ${BUILDDIR}/b-${cpu}-${bsp} ${BUILDDIR}/b-${cpu}-multilib
else
echo Skipping RTEMS for ${cpu}/${bsp}
fi
@@ -647,7 +673,7 @@ pwd
##### Do the gcc tests
if [ ${run_gcctests} = "yes" ] ; then
echo "Running GCC Tests..."
- cd ${BASEDIR}/b-${cpu}-gcc || exit 1
+ cd ${BUILDDIR}/b-${cpu}-gcc || exit 1
time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} gcc \
>${LOGDIR}/${cpu}-gcctests-${bsp}.log 2>&1
@@ -677,7 +703,7 @@ if [ ${run_gcctests} = "yes" ] ; then
else
echo Skipping GCC DejaGNU tests for ${cpu}/${bsp}
fi
-test ${do_cleanup} = "yes" && rm -rf b-${cpu}-gcc
+test ${do_cleanup} = "yes" && rm -rf ${BUILDDIR}/b-${cpu}-gcc
##### Build an Objective-C compiler now that we have a cross installed
j_gccobjc()
@@ -716,9 +742,9 @@ objc_fail="no"
if [ ${do_objc} = "yes" ] ; then
echo "Building Stage 2 cross Objective-C compiler for ${1} ..."
(cd ${BASEDIR} && \
- rm -rf b-${cpu}-objc && \
- mkdir b-${cpu}-objc && \
- cd b-${cpu}-objc && \
+ rm -rf ${BUILDDIR}/b-${cpu}-objc && \
+ mkdir ${BUILDDIR}/b-${cpu}-objc && \
+ cd ${BUILDDIR}/b-${cpu}-objc && \
time j_gccobjc ${cpu} >${LOGDIR}/${cpu}-objc.log 2>&1 && cd ..) || \
objc_fail="yes"
else
@@ -727,11 +753,11 @@ fi
#### Run the Objective-C tests
if [ ${run_objctests} = "yes" -a \
- -d ${BASEDIR}/b-${cpu}-objc -a ${objc_fail} = "no" ] ; then
+ -d ${BUILDDIR}/b-${cpu}-objc -a ${objc_fail} = "no" ] ; then
echo "Running Objective-C Tests..."
- cd ${BASEDIR}/b-${cpu}-gcc || exit 1
- time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} gcc\
+ cd ${BUILDDIR}/b-${cpu}-objc || exit 1
+ time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} objc \
>${LOGDIR}/${cpu}-gcctests-${bsp}.log 2>&1
#RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
@@ -762,7 +788,7 @@ else
fi
if [ ${do_ada} = "yes" ] ; then
- test ${do_cleanup} = "yes" && rm -rf b-${cpu}-ada
+ test ${do_cleanup} = "yes" && rm -rf ${BUILDDIR}/b-${cpu}-ada
fi
##### Build an Ada compiler now that we have a cross installed
@@ -804,15 +830,16 @@ j_gccada()
if [ $status -ne 0 ] ; then
echo "Failed building Ada"
fi
+ return $status
}
ada_fail="no"
if [ ${do_ada} = "yes" ] ; then
echo "Building Stage 2 cross Ada compiler for ${1} ..."
(cd ${BASEDIR} && \
- rm -rf b-${cpu}-ada && \
- mkdir b-${cpu}-ada && \
- cd b-${cpu}-ada && \
+ rm -rf ${BUILDDIR}/b-${cpu}-ada && \
+ mkdir ${BUILDDIR}/b-${cpu}-ada && \
+ cd ${BUILDDIR}/b-${cpu}-ada && \
time j_gccada ${cpu} >${LOGDIR}/${cpu}-ada.log 2>&1 && cd ..) || \
ada_fail="yes"
else
@@ -821,7 +848,7 @@ fi
#### Run the Ada ACATS tests
if [ ${run_acats} = "yes" -a \
- -d ${BASEDIR}/b-${cpu}-ada -a ${ada_fail} = "no" ] ; then
+ -d ${BUILDDIR}/b-${cpu}-ada -a ${ada_fail} = "no" ] ; then
echo "Running ACATS..."
cd ${GCCDIR}/gcc/testsuite/ada/acats/ || exit 1
@@ -844,7 +871,7 @@ else
fi
if [ ${do_ada} = "yes" ] ; then
- test ${do_cleanup} = "yes" && rm -rf b-${cpu}-ada
+ test ${do_cleanup} = "yes" && rm -rf ${BUILDDIR}/b-${cpu}-ada
fi
##### Build a GCC Go compiler now that we have a cross installed
@@ -899,9 +926,9 @@ go_fail="no"
if [ ${do_gccgo} = "yes" ] ; then
echo "Building Stage 2 cross GCC Go compiler for ${1} ..."
(cd ${BASEDIR} && \
- rm -rf b-${cpu}-go && \
- mkdir b-${cpu}-go && \
- cd b-${cpu}-go && \
+ rm -rf ${BUILDDIR}/b-${cpu}-go && \
+ mkdir ${BUILDDIR}/b-${cpu}-go && \
+ cd ${BUILDDIR}/b-${cpu}-go && \
time j_gccgo ${cpu} >${LOGDIR}/${cpu}-go.log 2>&1 && cd ..) || \
go_fail="yes"
else
@@ -910,9 +937,9 @@ fi
##### Do the gccgo tests
if [ $a ${run_gccgotests} = "yes" -a \
- -d ${BASEDIR}/b-${cpu}-go -a ${go_fail} = "no" ] ; then
+ -d ${BUILDDIR}/b-${cpu}-go -a ${go_fail} = "no" ] ; then
echo "Running GCC Go Tests..."
- cd ${BASEDIR}/b-${cpu}-go/gcc || exit 1
+ cd ${BUILDDIR}/b-${cpu}-go/gcc || exit 1
time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} gccgo \
>${LOGDIR}/${cpu}-gccgotests-${bsp}.log 2>&1
@@ -942,22 +969,22 @@ fi
##### Do the libgo tests
if [ $a ${run_libgotests} = "yes" -a \
- -d ${BASEDIR}/b-${cpu}-go -a ${go_fail} = "no" ] ; then
+ -d ${BUILDDIR}/b-${cpu}-go -a ${go_fail} = "no" ] ; then
echo "Running libgo DejaGNU tests..."
- cd ${BASEDIR}/b-${cpu}-go || exit 1
+ cd ${BUILDDIR}/b-${cpu}-go || exit 1
time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} libgo \
>${LOGDIR}/${cpu}-libgotests-${bsp}.log 2>&1
RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
mkdir -p ${RDIR}
- cp ${TARGET}-${bsp}/libgo/testsuite/libgo-all.log \
- ${TARGET}-${bsp}/libgo/testsuite/libgo-all.sum ${RDIR}
+ cp ${TARGET}/libgo/testsuite/libgo-all.log \
+ ${TARGET}/libgo/testsuite/libgo-all.sum ${RDIR}
else
echo Skipping libgo DejaGNU tests for ${cpu}/${bsp}
fi
if [ ${do_gccgo} = "yes" ] ; then
- test ${do_cleanup} = "yes" && rm -rf b-${cpu}-go
+ test ${do_cleanup} = "yes" && rm -rf ${BUILDDIR}/b-${cpu}-go
fi
exit 0
@@ -1041,4 +1068,72 @@ fi
if [ ${do_gcj} = "yes" ] ; then
test ${do_cleanup} = "yes" && rm -rf b-${cpu}-gcj
fi
+
+##### Build a FORTRAN compiler now that we have a cross installed
+j_fortran()
+{
+ if [ X${1} = X ] ; then
+ echo Usage: $0 TARGET_CPU
+ exit 1
+ fi
+ TARGET=${1}-rtems${RTEMS_VERSION}
+
+ if [ ! -d ${INSTALL} ] ; then
+ echo ${INSTALL} does not exist
+ exit 1
+ fi
+
+ ${GCCDIR}/configure \
+ ${GCC_EXTRA_ARGS} \
+ CFLAGS_FOR_TARGET="-B${BSP_INSTALL}/${TARGET}/${BSP_BUILT}/lib/ ${F_FLAGS}" \
+ --with-ppl=/users/joel/test-gcc/install-svn/ \
+ --enable-threads=rtems --with-gnu-as \
+ --with-gnu-ld --disable-newlib --verbose \
+ --with-system-zlib --disable-nls \
+ --enable-version-specific-runtime-libs \
+ --enable-languages=c,fortran --target=$TARGET --prefix=$INSTALL && \
+ make ${MAKEJOBS} &&
+ make install
+ status=$?
+ if [ $status -ne 0 ] ; then
+ echo "Failed building FORTRAN"
+ fi
+ exit $status
+}
+
+fortran_fail="no"
+if [ ${do_fortran} = "yes" ] ; then
+ echo "Building Stage 2 cross GCC FORTRAN compiler for ${1} ..."
+ (cd ${BASEDIR} && \
+ rm -rf b-${cpu}-fortran && \
+ mkdir b-${cpu}-fortran && \
+ cd b-${cpu}-fortran && \
+ time j_fortran ${cpu} >${LOGDIR}/${cpu}-fortran.log 2>&1 && cd ..) || \
+ fortran_fail="yes"
+else
+ echo Skipping GCC FORTRAN compiler for ${cpu}
+fi
+
+##### Do the FORTRAN tests
+if [ $a ${run_fortrantests} = "yes" -a \
+ -d ${BASEDIR}/b-${cpu}-fortran -a ${fortran_fail} = "no" ] ; then
+ echo "Running fortran DejaGNU tests..."
+ cd ${BASEDIR}/b-${cpu}-fortran || exit 1
+ time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} fortran \
+ >${LOGDIR}/${cpu}-fortrantests-${bsp}.log 2>&1
+
+ RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
+ mkdir -p ${RDIR}
+ #cp ${TARGET}-${bsp}/libjava/testsuite/libjava-all.log \
+ # ${TARGET}-${bsp}/libjava/testsuite/libjava-all.sum ${RDIR}
+else
+ echo Skipping FORTRAN DejaGNU tests for ${cpu}/${bsp}
+fi
+
+if [ ${do_fortran} = "yes" ] ; then
+ test ${do_cleanup} = "yes" && rm -rf b-${cpu}-fortran
+fi
+
+
+
exit 0
diff --git a/gcc/gcc_status b/gcc/gcc_status
index 1ed5b58..e84c192 100755
--- a/gcc/gcc_status
+++ b/gcc/gcc_status
@@ -22,12 +22,12 @@ else
fi
-if [ ! -d ${BASEDIR}/b-${cpu}-gcc/gcc/testsuite ] ; then
+if [ ! -d ${BUILDDIR}/b-${cpu}-gcc/gcc/testsuite ] ; then
echo Test directory not found
exit 1
fi
-cd ${BASEDIR}/b-${cpu}-gcc/gcc/testsuite
+cd ${BUILDDIR}/b-${cpu}-gcc/gcc/testsuite
while :
do
for BASE in gcc g++
diff --git a/gcc/gccgo_status b/gcc/gccgo_status
index b13d8e7..448c9a4 100755
--- a/gcc/gccgo_status
+++ b/gcc/gccgo_status
@@ -21,13 +21,12 @@ else
exit 1
fi
-
-if [ ! -d ${BASEDIR}/b-${cpu}-go/gcc/testsuite ] ; then
+if [ ! -d ${BUILDDIR}/b-${cpu}-go/gcc/testsuite ] ; then
echo Test directory not found
exit 1
fi
-cd ${BASEDIR}/b-${cpu}-go/gcc/testsuite
+cd ${BUILDDIR}/b-${cpu}-go/gcc/testsuite
while :
do
for BASE in go
diff --git a/gcc/gccobjc_status b/gcc/gccobjc_status
new file mode 100755
index 0000000..dbf4695
--- /dev/null
+++ b/gcc/gccobjc_status
@@ -0,0 +1,61 @@
+#! /bin/sh
+#
+# gccobjc_status
+#
+
+vfile=`dirname $0`/../VERSIONS
+if [ ! -r ${vfile} ] ; then
+ echo VERSIONS file not found
+ exit 1
+fi
+
+source ${vfile}
+
+cpu=$1
+if [ $# -eq 1 ] ; then
+ limit=0
+elif [ $# -eq 2 ] ; then
+ limit=$2
+else
+ echo usage "$0 CPU [seconds]"
+ exit 1
+fi
+
+
+if [ ! -d ${BUILDDIR}/b-${cpu}-objc/gcc/testsuite ] ; then
+ echo Test directory not found
+ exit 1
+fi
+
+cd ${BUILDDIR}/b-${cpu}-objc/gcc/testsuite
+while :
+do
+ for BASE in objc
+ do
+ LFILE=${BASE}/${BASE}.log
+ SFILE=${BASE}/${BASE}.sum
+ if [ ! -r ${LFILE} ] ; then
+ continue
+ fi
+ loglines=`cat ${LFILE} | wc -l`
+ failed=`grep ^FAIL: ${SFILE} | wc -l`
+ passed=`grep ^PASS: ${SFILE} | wc -l`
+ unsupp=`grep ^UNSUPP ${SFILE} | wc -l`
+ unresolved=`grep ^UNRESOL ${SFILE} | wc -l`
+ untested=`grep ^UNTESTED ${SFILE} | wc -l`
+
+ printf "Lines in ${LFILE}: %5d\n" $loglines
+ printf "PASSED: %5d\n" $passed
+ printf "FAILED: %5d\n" $failed
+ printf "UNSUPPORTED: %5d\n" $unsupp
+ printf "UNRESOLVED: %5d\n" $unresolved
+ printf "UNTESTED: %5d\n" $untested
+ done
+
+ if [ ${limit} -eq 0 ] ; then
+ break
+ fi
+ sleep ${limit}
+done
+exit 0
+
diff --git a/gcc/networkconfig.h b/gcc/networkconfig.h
index 46ae205..bf303cb 100644
--- a/gcc/networkconfig.h
+++ b/gcc/networkconfig.h
@@ -22,10 +22,9 @@
#include <bsp.h>
/*
- * Default network interface
+ * Network configuration
*/
-static struct rtems_bsdnet_ifconfig netdriver_config = {
- NULL, /* Loop back interface only */
+struct rtems_bsdnet_config rtems_bsdnet_config = {
NULL, /* Loop back interface only */
NULL, /* do not use bootp */
0, /* Default network task priority */
@@ -42,28 +41,7 @@ static struct rtems_bsdnet_ifconfig netdriver_config = {
0, /* udp_rx_buf_size */
0, /* tcp_tx_buf_size */
0 /* tcp_rx_buf_size */
-};
-/*
- * Network configuration
- */
-struct rtems_bsdnet_config rtems_bsdnet_config = {
- &netdriver_config,
- NULL, /* do not use bootp */
- 0, /* Default network task priority */
- 0, /* Default mbuf capacity */
- 0, /* Default mbuf cluster capacity */
- "localhost", /* Host name -- match expectations for 127.0.0.1 */
- "nodomain.com", /* Domain name */
- "127.0.0.1", /* Gateway */
- "127.0.0.1", /* Log host */
- {"127.0.0.1" }, /* Name server(s) */
- {"127.0.0.1" }, /* NTP server(s) */
- 0, /* sb_efficiency */
- 0, /* udp_tx_buf_size */
- 0, /* udp_rx_buf_size */
- 0, /* tcp_tx_buf_size */
- 0 /* tcp_rx_buf_size */
};
/*
diff --git a/gcc/rtems_gccgo_init.c b/gcc/rtems_gccgo_init.c
index 2d81c38..e621287 100644
--- a/gcc/rtems_gccgo_init.c
+++ b/gcc/rtems_gccgo_init.c
@@ -1,5 +1,7 @@
/*
* Init for Go testing.
+ *
+ * $Id$
*/
#include <bsp.h>
@@ -127,41 +129,38 @@ void _flush_cache()
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_POSIX_INIT_THREAD_TABLE
-// Works with 32 Mb too, this is faster
-//#define CONFIGURE_EXECUTIVE_RAM_SIZE (5 * 1024 * 1024)
-#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 500
-#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES 500
-#define CONFIGURE_MAXIMUM_POSIX_THREADS 400
-#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 500
-#define CONFIGURE_MAXIMUM_TASK_VARIABLES (2 * 400)
+#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES \
+ rtems_resource_unlimited(10) /* 500 */
+#define CONFIGURE_MAXIMUM_POSIX_MUTEXES \
+ rtems_resource_unlimited(10) /* 500 */
+#define CONFIGURE_MAXIMUM_POSIX_THREADS \
+ rtems_resource_unlimited(10) /* 400 */
+#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES \
+ rtems_resource_unlimited(10) /* 500 */
+#define CONFIGURE_MAXIMUM_TASK_VARIABLES \
+ rtems_resource_unlimited(10) /* (2 * 400) */
#define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE (32 * 1024)
#define CONFIGURE_MINIMUM_TASK_STACK_SIZE (4 * 1024)
-//#define CONFIGURE_MEMORY_OVERHEAD (4 * 1024)
-//#define CONFIGURE_MICROSECONDS_PER_TICK 1000
-#define CONFIGURE_TICKS_PER_TIMESLICE 50
-#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(1000)
+#define CONFIGURE_MICROSECONDS_PER_TICK \
+ RTEMS_MILLISECONDS_TO_MICROSECONDS(1000)
-#define CONFIGURE_MAXIMUM_TASKS 20
-#define CONFIGURE_MAXIMUM_SEMAPHORES 20
-//#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 20
+#define CONFIGURE_MAXIMUM_TASKS rtems_resource_unlimited(10) /* 20 */
+#define CONFIGURE_MAXIMUM_SEMAPHORES rtems_resource_unlimited(10) /* 20 */
#define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 20
#define CONFIGURE_PIPES_ENABLED TRUE
#define CONFIGURE_MAXIMUM_PIPES 20
-//#define CONFIGURE_MAXIMUM_BARRIERS 20
-#define CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY TRUE
-//#define BSP_ZERO_WORKSPACE_AUTOMATICALLY 1
-#define CONFIGURE_UNIFIED_WORK_AREAS
//#define CONFIGURE_MALLOC_DIRTY
-//#define CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY 1
+#define CONFIGURE_UNIFIED_WORK_AREAS
+#define CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY TRUE
#define CONFIGURE_STACK_CHECKER_ENABLED TRUE
+#define CONFIGURE_CONFDEFS_DEBUG
#define CONFIGURE_INIT
#include <rtems/confdefs.h>
-
/* end of file */
diff --git a/gcc/rundeja b/gcc/rundeja
index 4846da7..f32f4fb 100755
--- a/gcc/rundeja
+++ b/gcc/rundeja
@@ -146,6 +146,22 @@ case $2 in
--target_board=rtems-${CPU}-${DEJABSP} \
"
;;
+ objc)
+ RTEMS_MAKEFILE_PATH=${rtemsdir} \
+ SCRIPTDIR=${SCRIPTDIR} \
+ make -f ${SCRIPTDIR}/gcc/Makefile.rtems_gccmain
+ if [ $? -ne 0 ] ; then
+ echo unable to compile RTEMS GCC Main
+ exit 1
+ fi
+ rtems_config=`pwd`/rtems_gcc_main.o
+ make check-objc RUNTESTFLAGS="\
+ SIM=${BSP_SIM} \
+ RTEMS_MAKEFILE_PATH=${rtemsdir} \
+ RTEMS_CONFIG_OBJ=${rtems_config} \
+ --target_board=rtems-${CPU}-${DEJABSP} \
+ "
+ ;;
libjava)
RTEMS_MAKEFILE_PATH=${rtemsdir} \
SCRIPTDIR=${SCRIPTDIR} \
diff --git a/gcc/test_driver b/gcc/test_driver
index bd0135f..58efa9d 100755
--- a/gcc/test_driver
+++ b/gcc/test_driver
@@ -2,6 +2,8 @@
#
# Test Driver
#
+# test_driver CPUs|all
+#
# $Id$
#
@@ -76,8 +78,9 @@ doGcj="yes"
doMail="yes"
doTests="yes"
justTests="no"
+checkOptionsAndExit="no"
-while getopts j1AacmnuGTUv OPT
+while getopts J1AacmnuCGTUv OPT
do
case "$OPT" in
A) doCleanInstallPoint=`toggle ${doCleanInstallPoint}`
@@ -87,6 +90,7 @@ do
;;
1) doBasicTools=`toggle ${doBasicTools}` ;;
a) doAda=`toggle ${doAda}` ;;
+ C) checkOptionsAndExit=`toggle ${checkOptionsAndExit}` ;;
G) doGccGo=`toggle ${doGccGo}` ;;
J) doGcj=`toggle ${doGcj}` ;;
c) doCleanInstallPoint=`toggle ${doCleanInstallPoint}` ;;
@@ -120,15 +124,17 @@ CPUS_PART1="avr arm h8300 i386 m32c mips sh sparc64"
CPUS_PART2="bfin lm32 m32r m68k powerpc sparc"
ALL_CPUs="${CPUS_PART1} ${CPUS_PART2}"
-if [ "X${CPUs}" = "X" ] ; then
+if [ "X${CPUs}" = "Xall" -o "X${CPUs}" = "X all" ] ; then
CPUs="${ALL_CPUs}"
elif [ "X${CPUs}" = "X part1" ] ; then
CPUs="${CPUS_PART1}"
elif [ "X${CPUs}" = "X part2" ] ; then
CPUs="${CPUS_PART2}"
+elif [ "X${CPUs}" = "X" -a ${doNative} = "no" ] ; then
+ echo "No CPUs specified to test"
+ exit 1
fi
-
if [ ${verbose} = "yes" ] ; then
echo "Clean Install Point: " ${doCleanInstallPoint}
echo "Install Autotools: " ${doCleanInstallPoint}
@@ -144,6 +150,8 @@ if [ ${verbose} = "yes" ] ; then
echo "CPUs to Build: " ${CPUs}
fi
+test ${checkOptionsAndExit} = "yes" && exit 0
+
test ${doMail} = "no" && mailArg="-M"
test ${doTests} = "yes" && testArg="-T"
test ${doAda} = "yes" && adaArg="-a"
@@ -213,12 +221,12 @@ install_auto()
install_ppl()
{
if [ x${PPL} != x ] ; then
- if [ -r ${INSTALL}/lib/libppl.a ] ; then
+ if [ ! -r ${INSTALL}/lib/libppl.a ] ; then
echo "*** Building PPL ***"
cd ${PPL}
make distclean
- ./configure --prefix=${INSTALL}
- make all install
+ ./configure --enable-watchdog --prefix=${INSTALL}
+ make ${MAKEJOBS} all install
fi
fi
}
@@ -240,7 +248,7 @@ update_others()
done
}
-do_cpus()
+build_cpu()
{
bsp=
@@ -308,16 +316,20 @@ wait
fi
wait
+do_cpus=yes
if [ ${doNative} = "yes" ]; then
# Build the native compiler as a baseline to build the others
time sh -x ${SCRIPTDIR}/gcc/do_one -n >${BASEDIR}/native.log 2>&1
+ if [ $? -ne 0 ] ; then
+ do_cpus=no
+ fi
fi
# Now cycle over all these CPUs
-if [ $? -eq 0 ] ; then
+if [ ${do_cpus} = yes ] ; then
for cpu in ${CPUs}
do
- do_cpus ${cpu}
+ build_cpu ${cpu}
done
fi
diff --git a/gcc/testsuite/ada/acats/Makefile.rtems b/gcc/testsuite/ada/acats/Makefile.rtems
index 331d65f..58d97a1 100644
--- a/gcc/testsuite/ada/acats/Makefile.rtems
+++ b/gcc/testsuite/ada/acats/Makefile.rtems
@@ -68,8 +68,8 @@ stamp-targetrun:
endif # qemuppc
ifeq ($(RTEMS_BSP),uC5282)
echo " $(OBJCOPY) -O binary $$"'*' "$$"'*'.ralf >>$@
- echo " uC5282 -C -l 90 $$"'*'.ralf >> $@
- echo " rm -f "$$'*'.ralf >>$@
+ echo " uC5282 -C -l 90 $$"'*' >> $@
+ #echo " rm -f "$$'*'.ralf >>$@
endif # uC5282
ifeq ($(RTEMS_BSP),mcf5206elite)
echo " nosim $$"'*' >> $@