diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-11-06 15:35:36 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-11-06 15:35:36 +0000 |
commit | 7127cb0d2abad770a97a6dd86a97d316fda698ce (patch) | |
tree | 4656c13e437039089fed86a423ddcb2033c87b32 /gcc | |
parent | e3d5bc5b538a58ca65dd313ddf6e6f0c88bd36d0 (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/ChangeLog | 16 | ||||
-rwxr-xr-x | gcc/do_one | 193 | ||||
-rwxr-xr-x | gcc/gcc_status | 4 | ||||
-rwxr-xr-x | gcc/gccgo_status | 5 | ||||
-rwxr-xr-x | gcc/gccobjc_status | 61 | ||||
-rw-r--r-- | gcc/networkconfig.h | 26 | ||||
-rw-r--r-- | gcc/rtems_gccgo_init.c | 39 | ||||
-rwxr-xr-x | gcc/rundeja | 16 | ||||
-rwxr-xr-x | gcc/test_driver | 30 | ||||
-rw-r--r-- | gcc/testsuite/ada/acats/Makefile.rtems | 4 |
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. @@ -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 $$"'*' >> $@ |