diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-03-14 14:39:47 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-03-14 14:39:47 +0000 |
commit | 797494cd5d6397bf6f6b8206349432d02aa8cdc2 (patch) | |
tree | 10df28f79f09195ad0fd4ca9f2468593df108fa2 /gcc | |
parent | de50b144cc0c7e23fa9892537d6ab6ee377eee4f (diff) |
2011-03-14 Joel Sherrill <joel.sherrill@oarcorp.com>
* do_one, rundeja, test_driver: Updates and add initial support for
running Objective-C tests.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rwxr-xr-x | gcc/do_one | 155 | ||||
-rwxr-xr-x | gcc/rundeja | 106 | ||||
-rwxr-xr-x | gcc/test_driver | 34 |
4 files changed, 224 insertions, 76 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f7d63b8..5e573e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-03-14 Joel Sherrill <joel.sherrill@oarcorp.com> + + * do_one, rundeja, test_driver: Updates and add initial support for + running Objective-C tests. + 2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com> * do_one, gcc_status, gccgo_status, rtems_gccgo_init.c, rundeja, @@ -2,16 +2,18 @@ # # Execution Times (for sparc-rtems${RTEMS_VERSION}) # -# - building native - TBD -# - building binutils - 1m31.310s -# - building GDB - 1m39.318s -# - building stage1 (multilib) - 10m22.371s -# - building RTEMS (multilib + BSP) - 22m47.048s -# - building Ada (multilib) - ? -# - building Go (multilib) - ? -# - Running GCC Test Suite (sis) - 122m47.289s -# - Running ACAT (sis) - ? -# - Running Go Test Suite (sis) - ? +# - building native - ? +# - building binutils - 1m31.310s +# - building GDB - 1m39.318s +# - building stage1 (multilib) - 10m22.371s +# - building RTEMS (multilib + BSP) - 22m47.048s +# - building Objective-C (multilib) - 6m45.532s +# - building Ada (multilib) - ? +# - building Go (multilib) - ? +# - Running GCC Test Suite (sis) - 122m47.289s +# - Running Objective-C Test Suite (sis) - ? +# - Running ACAT (sis) - ? +# - Running Go Test Suite (sis) - ? # # Computer Info # Fedora 14 on Intel Core2 Duo Q6600 (4 core) @ 2.40GHz w/ 4GB RAM @@ -41,6 +43,8 @@ do_native=no do_stage1=no do_cxx=yes do_multilib=yes +# Build the Objective-C language cross compiler. +do_objc=no # Build the Ada language cross compiler. do_ada=no do_ada_multilib=yes @@ -51,6 +55,7 @@ do_gccgo=no do_rtems=no # Which test suites do we attempt run_gcctests=no +run_objctests=no run_acats=no run_gccgotests=no run_libgotests=no @@ -80,6 +85,8 @@ do_one [options] CPU BSP -d - do not clean up (delete build directories) -v - verbose -M - do NOT email test results to gcc-testresults + -O - Build Objective-C + -P - Run Objective-C Tests -o - run GCC Go tests -t - run libgo tests EOF @@ -100,7 +107,7 @@ toggle() esac } -while getopts bdDnv1cmargiotCATMG OPT +while getopts bdDnv1cmargiotCATMGOP OPT do case "$OPT" in A) do_binutils="yes" @@ -109,13 +116,14 @@ do do_cxx="yes" do_multilib="yes" do_ada="yes" - # do_gccgo="yes" - # do_gccgo_multilib="yes" + do_gccgo="yes" + do_objc="yes" do_rtems="yes" ;; d) do_cleanup=`toggle ${do_cleanup}` ;; D) do_gdb=`toggle ${do_gdb}` ;; T) run_gcctests="yes" + run_objctests="yes" run_acats="yes" run_gccgotests="yes" ;; @@ -137,6 +145,8 @@ do C) run_acats=`toggle ${run_acats}` ;; v) verbose=`toggle ${verbose}` ;; M) do_mail=`toggle ${do_mail}` ;; + O) do_objc=`toggle ${do_objc}` ;; + P) run_objctests=`toggle ${do_objc}` ;; o) run_gccgotests=`toggle ${run_gccgotests}` ;; t) run_libgotests=`toggle ${run_libgotests}` ;; *) fatal ;; @@ -197,12 +207,14 @@ if [ ${verbose} = yes ] ; then echo " C++ : " ${do_cxx} echo " Multilib : " ${do_multilib} echo "Stage 2 : " ${do_ada} + echo " Objective-C : " ${do_objc} echo " Ada : " ${do_ada} echo " Multilib : " ${do_ada_multilib} echo " GCC Go : " ${do_gccgo} echo " Multilib : " ${do_gccgo_multilib} echo "Build RTEMS : " ${do_rtems} echo "Run GCC Tests : " ${run_gcctests} + echo "Run ObjC Tests: " ${run_objctests} echo "Run ACATS : " ${run_acats} echo "Run Go Tests : " ${run_gccgotests} echo "Do libgo Tests: " ${run_libgotests} @@ -472,7 +484,6 @@ fi j_gcc() { -set -x if [ X${1} = X ] ; then echo Usage: $0 TARGET_CPU exit 1 @@ -567,26 +578,34 @@ j_rtems() *) ;; esac case ${cpu} in - m32c) RTEMS_ARGS="--disable-ada --disable-posix --disable-networking" ;; - *) RTEMS_ARGS="--enable-ada --enable-posix --enable-networking" ;; + m32c|h8300) + RTEMS_ARGS="--disable-ada --disable-posix --disable-networking" ;; + *) + RTEMS_ARGS="--enable-ada --enable-posix --enable-networking" ;; esac ${RTEMSDIR}/configure --target=${TARGET} ${ENABLE_BSP} \ ${RTEMS_ARGS} --enable-maintainer-mode --disable-tests \ --prefix=${BSP_INSTALL} && make ${MAKEJOBS} ${MAKE_ARG} && make install status=$? + cd .. if [ $status -ne 0 ] ; then - echo "Failed building RTEMS for ${cpuArg}/${bspArg}" + echo "Failed building RTEMS for ${cpuArg}/${bspArg}" + exit $status fi - cd .. - exit $status } if [ ${do_rtems} = "yes" ] ; then echo "Building RTEMS for ${cpu} ${bsp} ..." - time j_rtems ${cpu} multilib >${LOGDIR}/${cpu}-rtems-multilib.log 2>&1 || \ + time j_rtems ${cpu} multilib >${LOGDIR}/${cpu}-rtems-multilib.log 2>&1 + if [ $? -ne 0 ] ; then + echo "Failed to build RTEMS multilib for ${cpu}" exit 1 - time j_rtems ${cpu} ${bsp} >${LOGDIR}/${cpu}-rtems-${bsp}.log 2>&1 || \ + fi + time j_rtems ${cpu} ${bsp} >${LOGDIR}/${cpu}-rtems-${bsp}.log 2>&1 + if [ $? -ne 0 ] ; then + echo "Failed to build RTEMS for ${cpu}/${bsp}" exit 1 + fi test ${do_cleanup} = "yes" && rm -rf b-${cpu}-${bsp} b-${cpu}-multilib else echo Skipping RTEMS for ${cpu}/${bsp} @@ -597,7 +616,7 @@ pwd if [ ${run_gcctests} = "yes" ] ; then echo "Running GCC Tests..." cd ${BASEDIR}/b-${cpu}-gcc || exit 1 - time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} gcc\ + time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} gcc \ >${LOGDIR}/${cpu}-gcctests-${bsp}.log 2>&1 RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S` @@ -628,6 +647,92 @@ else fi test ${do_cleanup} = "yes" && rm -rf b-${cpu}-gcc +##### Build an Objective-C compiler now that we have a cross installed +j_gccobjc() +{ + 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 + + if [ ${verbose} = yes ] ; then + echo "Cross GCC for Objective-C ==>" `type ${TARGET}-gcc` + fi + + ${GCCDIR}/configure \ + ${GCC_EXTRA_ARGS} \ + --enable-threads=rtems --with-gnu-as --enable-multilib \ + --with-gnu-ld --disable-newlib --verbose --with-system-zlib --disable-nls \ + CFLAGS_FOR_TARGET=-B${BSP_INSTALL}/${TARGET}/${BSP_BUILT}/lib/ \ + --enable-version-specific-runtime-libs \ + --enable-languages=c,objc --target=$TARGET --prefix=$INSTALL && + make ${MAKEJOBS} && + make install + status=$? + if [ $status -ne 0 ] ; then + echo "Failed building Objective-C" + fi +} + +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 && \ + time j_gccobjc ${cpu} >${LOGDIR}/${cpu}-objc.log 2>&1 && cd ..) || \ + objc_fail="yes" +else + echo Skipping Stage 2 Objective-C for ${cpu} +fi + +#### Run the Objective-C tests +if [ ${run_objctests} = "yes" -a \ + -d ${BASEDIR}/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\ + >${LOGDIR}/${cpu}-gcctests-${bsp}.log 2>&1 + + #RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S` + #mkdir -p ${RDIR} + #cp gcc/testsuite/gcc/gcc.log gcc/testsuite/gcc/gcc.sum ${RDIR} + #if [ -r gcc/testsuite/g++/g++.log ] ; then + # cp gcc/testsuite/g++/g++.log gcc/testsuite/g++/g++.sum ${RDIR} + #fi + + if [ ${do_mail} = "yes" ] ; then + echo Sending Objective-C test results to GCC community.. + ${GCCDIR}/contrib/test_summary -m gcc-testresults@gcc.gnu.org | sh + if [ $? -ne 0 ] ; then + echo "Failed to email Objective-C Test Results to GCC Community .. bailing" + exit 1 + fi + + echo Sending test results to RTEMS community.. + ${GCCDIR}/contrib/test_summary -o -m rtems-tooltestresults@rtems.org | sh + if [ $? -ne 0 ] ; then + echo "Failed to email Objective-C Test Results to RTEMS Community .. bailing" + exit 1 + fi + fi + cd .. || exit 1 +else + echo Skipping Objective-C Tests for ${cpu} +fi + +if [ ${do_ada} = "yes" ] ; then + test ${do_cleanup} = "yes" && rm -rf b-${cpu}-ada +fi + ##### Build an Ada compiler now that we have a cross installed j_gccada() { @@ -643,7 +748,7 @@ j_gccada() fi if [ ${verbose} = yes ] ; then - echo "Cross GCC ==>" `type ${TARGET}-gcc` + echo "Cross GCC for Ada ==>" `type ${TARGET}-gcc` fi if [ ${do_ada_multilib} = yes ] ; then @@ -665,7 +770,7 @@ j_gccada() make install status=$? if [ $status -ne 0 ] ; then - echo "Failed building Go" + echo "Failed building Ada" fi } @@ -713,7 +818,6 @@ fi ##### Build a GCC Go compiler now that we have a cross installed j_gccgo() { -set -x if [ X${1} = X ] ; then echo Usage: $0 TARGET_CPU exit 1 @@ -773,7 +877,6 @@ else fi ##### Do the gccgo tests -set -x if [ $a ${run_gccgotests} = "yes" -a \ -d ${BASEDIR}/b-${cpu}-go -a ${go_fail} = "no" ] ; then echo "Running GCC Go Tests..." diff --git a/gcc/rundeja b/gcc/rundeja index 544f863..690130f 100755 --- a/gcc/rundeja +++ b/gcc/rundeja @@ -117,48 +117,70 @@ else echo "set boards_dir ${SCRIPTDIR}/dejagnu/boards" >${dfile} fi -if [ $2 = libgo ] ; then - rtems_libgo_init=${SCRIPTDIR}/gcc/rtems_libgo_init.c - rtems_bin2c=${INSTALL}/bin/rtems-bin2c - make check-target-libgo RUNTESTFLAGS="\ - SIM=${BSP_SIM} \ - RTEMS_MAKEFILE_PATH=${rtemsdir} \ - RTEMS_LIBGO_INIT=${rtems_libgo_init} \ - RTEMS_BIN2C=${rtems_bin2c} \ - RTEMS_CONFIG_OBJ= \ - --target_board=rtems-${CPU}-${DEJABSP} \ - " -elif [ $2 = gccgo ] ; then - RTEMS_MAKEFILE_PATH=${rtemsdir} \ - SCRIPTDIR=${SCRIPTDIR} \ - make -f ${SCRIPTDIR}/gcc/Makefile.rtems_gccgoinit - if [ $? -ne 0 ] ; then - echo unable to compile RTEMS GCC Go Init File - exit 1 - fi - rtems_config=`pwd`/rtems_gccgo_init.o - make check-go RUNTESTFLAGS="\ - SIM=${BSP_SIM} \ - RTEMS_MAKEFILE_PATH=${rtemsdir} \ - RTEMS_CONFIG_OBJ=${rtems_config} \ - --target_board=rtems-${CPU}-${DEJABSP} \ - " -else - 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-gcc RUNTESTFLAGS="\ - SIM=${BSP_SIM} \ - RTEMS_MAKEFILE_PATH=${rtemsdir} \ - RTEMS_CONFIG_OBJ=${rtems_config} \ - --target_board=rtems-${CPU}-${DEJABSP} \ - " -fi +case $2 in + libgo) + rtems_libgo_init=${SCRIPTDIR}/gcc/rtems_libgo_init.c + rtems_bin2c=${INSTALL}/bin/rtems-bin2c + make check-target-libgo RUNTESTFLAGS="\ + SIM=${BSP_SIM} \ + RTEMS_MAKEFILE_PATH=${rtemsdir} \ + RTEMS_LIBGO_INIT=${rtems_libgo_init} \ + RTEMS_BIN2C=${rtems_bin2c} \ + RTEMS_CONFIG_OBJ= \ + --target_board=rtems-${CPU}-${DEJABSP} \ + " + ;; + gccgo) + RTEMS_MAKEFILE_PATH=${rtemsdir} \ + SCRIPTDIR=${SCRIPTDIR} \ + make -f ${SCRIPTDIR}/gcc/Makefile.rtems_gccgoinit + if [ $? -ne 0 ] ; then + echo unable to compile RTEMS GCC Go Init File + exit 1 + fi + rtems_config=`pwd`/rtems_gccgo_init.o + make check-go RUNTESTFLAGS="\ + SIM=${BSP_SIM} \ + RTEMS_MAKEFILE_PATH=${rtemsdir} \ + RTEMS_CONFIG_OBJ=${rtems_config} \ + --target_board=rtems-${CPU}-${DEJABSP} \ + " + ;; + gcc) + 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-gcc RUNTESTFLAGS="\ + SIM=${BSP_SIM} \ + RTEMS_MAKEFILE_PATH=${rtemsdir} \ + RTEMS_CONFIG_OBJ=${rtems_config} \ + --target_board=rtems-${CPU}-${DEJABSP} \ + " + ;; + *) + 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 + echo make check RUNTESTFLAGS="\ + SIM=${BSP_SIM} \ + RTEMS_MAKEFILE_PATH=${rtemsdir} \ + RTEMS_CONFIG_OBJ=${rtems_config} \ + --target_board=rtems-${CPU}-${DEJABSP} \ + " +exit 0 + ;; +esac + # "execute.exp=pr206*" # vect.exp=vect* # powerpc.exp=405* diff --git a/gcc/test_driver b/gcc/test_driver index 99d724a..c759703 100755 --- a/gcc/test_driver +++ b/gcc/test_driver @@ -50,8 +50,9 @@ usage() cat <<EOF test_driver [options] CPU .. CPU -A - enable clean, native, and update + -1 - build basic tools (default=yes) -a - build Ada (default=yes) - -G - build GCC Go (default=no) + -G - build GCC Go (default=yes) -c - clean install point (also installs auto tools) -m - mail results to lists (default=yes) -n - build native @@ -66,13 +67,15 @@ doCleanInstallPoint="no" doUpdateTools="no" doUpdateRTEMS="no" doNative="no" +doBasicTools="yes" verbose="no" doAda="yes" -doGccGo="no" +doGccGo="yes" doMail="yes" doTests="yes" +justTests="no" -while getopts AacmnuGTUv OPT +while getopts j1AacmnuGTUv OPT do case "$OPT" in A) doCleanInstallPoint=`toggle ${doCleanInstallPoint}` @@ -80,9 +83,11 @@ do doUpdateTools=`toggle ${doUpdateTools}` doUpdateRTEMS=`toggle ${doUpdateRTEMS}` ;; + 1) doBasicTools=`toggle ${doBasicTools}` ;; a) doAda=`toggle ${doAda}` ;; G) doGccGo=`toggle ${doGccGo}` ;; c) doCleanInstallPoint=`toggle ${doCleanInstallPoint}` ;; + j) justTests=`toggle ${justTests}` ;; m) doMail=`toggle ${doMail}` ;; n) doNative=`toggle ${doNative}` ;; T) doTests=`toggle ${doTests}` ;; @@ -120,12 +125,14 @@ elif [ "X${CPUs}" = "X part2" ] ; then CPUs="${CPUS_PART2}" fi + if [ ${verbose} = "yes" ] ; then echo "Clean Install Point: " ${doCleanInstallPoint} echo "Install Autotools: " ${doCleanInstallPoint} echo "Install Native: " ${doNative} echo "Update Tool Source: " ${doUpdateTools} echo "Update RTEMS: " ${doUpdateRTEMS} + echo "Build Basic Tools: " ${doBasicTools} echo "Build Ada: " ${doAda} echo "Build GCC Go: " ${doGccGo} echo "Email Results: " ${doMail} @@ -133,10 +140,18 @@ if [ ${verbose} = "yes" ] ; then echo "CPUs to Build: " ${CPUs} fi -test ${doMail} = "no" && mailArg="-M" -test ${doTests} = "yes" && testArg="-T" -test ${doAda} = "yes" && adaArg="-a" -test ${doGccGo} = "yes" && gccgoArg="-G" +test ${doMail} = "no" && mailArg="-M" +test ${doTests} = "yes" && testArg="-T" +test ${doAda} = "yes" && adaArg="-a" +test ${doGccGo} = "yes" && gccgoArg="-G" +test ${doBasicTools} = "yes" && basicArgs="-b -D -1 -r" + +echo "Checking for just tests override" +if [ ${justTests} = "yes" ] ; then + adaArg="" + gccgoArg="" + basicArgs="" +fi start=`date` echo Started at: ${start} @@ -249,7 +264,10 @@ do_cpus() doOne=${SCRIPTDIR}/gcc/do_one echo "Building ${cpu}/${bsp}..." - time sh -x ${doOne} -v -b -D -1 -d -r \ + echo "time sh -x ${doOne} -v -d ${basicArgs} \ + ${gccgoArg} ${adaArg} ${mailArg} ${testArg} \ + ${cpu} ${bsp} >${BASEDIR}/${bsp}.log 2>&1" + time sh -x ${doOne} -v -d ${basicArgs} \ ${gccgoArg} ${adaArg} ${mailArg} ${testArg} \ ${cpu} ${bsp} >${BASEDIR}/${bsp}.log 2>&1 echo $? |