Changeset e8cc0db in rtems-testing


Ignore:
Timestamp:
Aug 20, 2011, 6:37:29 PM (8 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.11, 8895273c193787f84c4585a10f6d6aceb3b25dc4
Children:
6332f68
Parents:
d4094ec
Message:

2011-08-21 Jie Liu <lj8175@…>

  • gcc/rtems_gcj_init.c: New file for rtems/gcj testing.
  • gcc/Makefile.rtems_gcjinit: The Makefile for gcc/rtems_gcj_init.c
  • gcc/rundeja: Add options for libjava test.
  • gcc/test_driver: Add GCJ options.
  • gcc/do_one: Add GCJ build and test options.
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • ChangeLog

    rd4094ec re8cc0db  
     12011-08-21      Jie Liu <lj8175@gmail.com>
     2
     3        * gcc/rtems_gcj_init.c: New file for rtems/gcj testing.
     4        * gcc/Makefile.rtems_gcjinit: The Makefile for
     5        gcc/rtems_gcj_init.c
     6        * gcc/rundeja: Add options for libjava test.
     7        * gcc/test_driver: Add GCJ options.
     8        * gcc/do_one: Add GCJ build and test options.
     9
    1102011-03-13      Joel Sherrill <joel.sherrilL@OARcorp.com>
    211
  • gcc/do_one

    rd4094ec re8cc0db  
    1111#   - building Ada (multilib)              - ?
    1212#   - building Go (multilib)               - ?
     13#   - building GCJ (multilib)              - ?
    1314#   - Running GCC Test Suite (sis)         - 122m47.289s
    1415#   - Running Objective-C Test Suite (sis) - ?
    1516#   - Running ACAT           (sis)         - ?
    1617#   - Running Go Test Suite  (sis)         - ?
     18#   - Running GCJ Test Suite  (sis)        - ?
    1719#
    1820# Computer Info
     
    5254do_gccgo=no
    5355        do_gccgo_multilib=yes
     56# Build the GCC Java language cross compiler.
     57do_gcj=no
     58        do_gcj_multilib=yes
    5459# Build RTEMS for a particular CPU/BSP combination
    5560do_rtems=no
     
    6065run_gccgotests=no
    6166run_libgotests=no
     67run_libjavatests=no
    6268# Do we send email to gcc-testresults with the test results?
    6369do_mail=yes
     
    7076cat <<EOF
    7177do_one [options] CPU BSP
    72   -A - binutils, stage 1, C++, C/C++ multilib, Ada, GCC Go, RTEMS
    73   -T - run GCC, Ada and GCC Go tests
     78  -A - binutils, stage 1, C++, C/C++ multilib, Ada, GCC Go, GCJ, RTEMS
     79  -T - run GCC, Ada, GCC Go and GCJ tests
    7480  -b - install binutils (from source or copy installed RPM contents)
    7581  -D - install gdb (from source or copy installed RPM contents)
     
    8086  -a - stage 2 Ada compiler
    8187  -G - stage 2 GCC Go compiler
     88  -J - stage 2 GCC Java compiler
    8289  -r - build RTEMS
    8390  -g - run GCC C/C++ tests
     
    9097  -o - run GCC Go tests
    9198  -t - run libgo tests
     99  -j - run libjava tests
    92100EOF
    93101}
     
    118126           do_ada="yes"
    119127           do_gccgo="yes"
     128           do_gcj="yes"
    120129           do_objc="yes"
    121130           do_rtems="yes"
     
    139148        a) do_ada=`toggle ${do_ada}` ;;
    140149        G) do_gccgo=`toggle ${do_gccgo}` ;;
     150        J) do_gcj=`toggle ${do_gcj}` ;;
    141151        # Build RTEMS
    142152        r) do_rtems=`toggle ${do_rtems}` ;;
     
    150160        o) run_gccgotests=`toggle ${run_gccgotests}` ;;
    151161        t) run_libgotests=`toggle ${run_libgotests}` ;;
     162        j) run_libjavatests=`toggle ${run_libjavatests}` ;;
    152163        *) fatal ;;
    153164    esac
     
    197208fi
    198209
     210# Which CPUs do not support GCJ
     211if [ ${do_gcj} = "yes" ] ; then
     212  case ${cpu} in
     213    avr|h8300|m32c)
     214      do_gcj=no
     215      echo ${cpu} does not support GCJ
     216      ;;
     217    *);;
     218  esac
     219fi
     220
    199221# When verbose, print settings
    200222if [ ${verbose} = yes ] ; then
    201   echo "Target        : " ${cpu}
    202   echo "BSP           : " ${bsp}
    203   echo "Binutils      : " ${do_binutils}
    204   echo "GDB           : " ${do_gdb}
    205   echo "Build Native  : " ${do_native}
    206   echo "Build Stage 1 : " ${do_stage1}
    207   echo "  C++         : " ${do_cxx}
    208   echo "  Multilib    : " ${do_multilib}
    209   echo "Stage 2       : " ${do_ada}
    210   echo "  Objective-C : " ${do_objc}
    211   echo "  Ada         : " ${do_ada}
    212   echo "  Multilib    : " ${do_ada_multilib}
    213   echo "  GCC Go      : " ${do_gccgo}
    214   echo "  Multilib    : " ${do_gccgo_multilib}
    215   echo "Build RTEMS   : " ${do_rtems}
    216   echo "Run GCC Tests : " ${run_gcctests}
    217   echo "Run ObjC Tests: " ${run_objctests}
    218   echo "Run ACATS     : " ${run_acats}
    219   echo "Run Go Tests  : " ${run_gccgotests}
    220   echo "Do libgo Tests: " ${run_libgotests}
    221   echo "Email Tests   : " ${do_mail}
    222   echo "Native GCC    : " `type gcc`
    223   echo "PATH          : " ${PATH}
    224   echo "Clean up      : " ${do_cleanup}
     223  echo "Target          : " ${cpu}
     224  echo "BSP             : " ${bsp}
     225  echo "Binutils        : " ${do_binutils}
     226  echo "GDB             : " ${do_gdb}
     227  echo "Build Native    : " ${do_native}
     228  echo "Build Stage 1   : " ${do_stage1}
     229  echo "  C++           : " ${do_cxx}
     230  echo "  Multilib      : " ${do_multilib}
     231  echo "Stage 2         : " ${do_ada}
     232  echo "  Objective-C   : " ${do_objc}
     233  echo "  Ada           : " ${do_ada}
     234  echo "  Multilib      : " ${do_ada_multilib}
     235  echo "  GCC Go        : " ${do_gccgo}
     236  echo "  Go Multilib   : " ${do_gccgo_multilib}
     237  echo "  GCJ           : " ${do_gcj}
     238  echo "  GCJ Multilib  : " ${do_gccgcj_multilib}
     239  echo "Build RTEMS     : " ${do_rtems}
     240  echo "Run GCC Tests   : " ${run_gcctests}
     241  echo "Run ObjC Tests  : " ${run_objctests}
     242  echo "Run ACATS       : " ${run_acats}
     243  echo "Run Go Tests    : " ${run_gccgotests}
     244  echo "Do libgo Tests  : " ${run_libgotests}
     245  echo "Do libjava Tests: " ${run_libjavatests}
     246  echo "Email Tests     : " ${do_mail}
     247  echo "Native GCC      : " `type gcc`
     248  echo "PATH            : " ${PATH}
     249  echo "Clean up        : " ${do_cleanup}
    225250fi
    226251
     
    230255
    231256if [ ${do_binutils} = yes -o ${do_gdb} = yes -o \
    232      ${do_stage1} = yes -o ${do_ada} = yes -o ${do_gccgo} = yes ] ; then
     257     ${do_stage1} = yes -o ${do_ada} = yes -o \
     258     ${do_gccgo} = yes -o ${do_gcj} = yes ] ; then
    233259  needCPU=yes
    234260fi
     
    239265fi
    240266
     267if [ ${do_native} = yes -a ${do_gcj} = yes ] ; then
     268  echo "Warning! GCJ requires native C++ to build."
     269  do_cxx=yes
     270fi
     271
    241272if [ ${do_rtems} = yes -o ${run_gcctests} = yes -o \
    242      ${run_acats} = yes -o ${run_gccgotests} = yes ] ; then
     273     ${run_acats} = yes -o ${run_gccgotests} = yes -o \
     274     ${run_libjavatests} = yes ] ; then
    243275  needBSP=yes
    244276  needCPU=yes
     
    929961fi
    930962exit 0
     963
     964##### Build a GCJ compiler now that we have a cross installed
     965j_gcj()
     966{
     967  if [ X${1} = X ] ; then
     968    echo Usage: $0 TARGET_CPU
     969    exit 1
     970  fi
     971  TARGET=${1}-rtems${RTEMS_VERSION}
     972
     973  if [ ! -d ${INSTALL} ] ; then
     974    echo ${INSTALL} does not exist
     975    exit 1
     976  fi
     977
     978  if [ ${verbose} = yes ] ; then
     979    echo "Cross GCC ==>" `type ${TARGET}-gcc`
     980  fi
     981
     982  if [ ${do_gcj_multilib} = yes ] ; then
     983     gcj_multilib="--enable-multilib"
     984  else
     985     gcj_multilib="--disable-multilib"
     986  fi
     987
     988  case ${TARGET} in
     989    i386*) GOFLAGS="-march=i486" ;;
     990    *)     GOFLAGS="" ;;
     991  esac
     992#    CFLAGS_FOR_TARGET=-B${BSP_INSTALL}/${TARGET}/${BSP_BUILT}/lib/
     993
     994  ${GCCDIR}/configure \
     995   ${GCC_EXTRA_ARGS} \
     996   CFLAGS_FOR_TARGET="-B${BSP_INSTALL}/${TARGET}/${BSP_BUILT}/lib/ ${GOFLAGS}" \
     997     --enable-threads=rtems --with-gnu-as ${gcj_multilib} \
     998     --with-gnu-ld --disable-newlib  --verbose \
     999     --with-system-zlib --disable-nls \
     1000     --enable-version-specific-runtime-libs \
     1001     --with-host-libstdcxx=-static-libstdc++ \
     1002     --enable-languages=c,c++,java --target=$TARGET --prefix=$INSTALL &&
     1003  make ${MAKEJOBS} &&
     1004  make install
     1005  status=$?
     1006  if [ $status -ne 0 ] ; then
     1007    echo "Failed building GCJ"
     1008  fi
     1009  exit $status
     1010}
     1011
     1012gcj_fail="no"
     1013if [ ${do_gcj} = "yes" ] ; then
     1014  echo "Building Stage 2 cross GCC Java compiler for ${1} ..."
     1015  (cd ${BASEDIR} && \
     1016   rm -rf b-${cpu}-gcj && \
     1017   mkdir  b-${cpu}-gcj && \
     1018   cd b-${cpu}-gcj && \
     1019   time j_gcj ${cpu} >${LOGDIR}/${cpu}-gcj.log 2>&1 && cd ..) || \
     1020     gcj_fail="yes"
     1021else
     1022  echo Skipping GCC Java compiler for ${cpu}
     1023fi
     1024
     1025##### Do the libjava tests
     1026if [ $a ${run_libjavatests} = "yes" -a \
     1027     -d ${BASEDIR}/b-${cpu}-gcj -a ${gcj_fail} = "no" ] ; then
     1028  echo "Running libjava DejaGNU tests..."
     1029  cd ${BASEDIR}/b-${cpu}-gcj || exit 1
     1030  time sh -x ${SCRIPTDIR}/gcc/rundeja ${bsp} libjava \
     1031    >${LOGDIR}/${cpu}-libjavatests-${bsp}.log 2>&1
     1032
     1033  RDIR=${RESULTSDIR}/${TARGET}-${bsp}/`date +%Y-%m-%d-%H-%M-%S`
     1034  mkdir -p ${RDIR}
     1035  cp ${TARGET}-${bsp}/libjava/testsuite/libjava-all.log \
     1036    ${TARGET}-${bsp}/libjava/testsuite/libjava-all.sum ${RDIR}
     1037else
     1038  echo Skipping libjava DejaGNU tests for ${cpu}/${bsp}
     1039fi
     1040
     1041if [ ${do_gcj} = "yes" ] ; then
     1042  test ${do_cleanup} = "yes" && rm -rf b-${cpu}-gcj
     1043fi
     1044exit 0
  • gcc/rundeja

    rd4094ec re8cc0db  
    147147    "
    148148    ;;
     149  libjava)
     150    RTEMS_MAKEFILE_PATH=${rtemsdir} \
     151    SCRIPTDIR=${SCRIPTDIR} \
     152      make -f ${SCRIPTDIR}/gcc/Makefile.rtems_gcjinit
     153    if [ $? -ne 0 ] ; then
     154      echo unable to compile RTEMS GCC Java Init File
     155      exit 1
     156    fi
     157    rtems_config=`pwd`/rtems_gcj_init.o
     158    make check-gcc-java RUNTESTFLAGS="\
     159    SIM=${BSP_SIM} \
     160    RTEMS_MAKEFILE_PATH=${rtemsdir} \
     161    RTEMS_CONFIG_OBJ=${rtems_config} \
     162    --target_board=rtems-${CPU}-${DEJABSP} \
     163    "
     164    ;;
    149165  gcc)
    150166    RTEMS_MAKEFILE_PATH=${rtemsdir} \
  • gcc/test_driver

    rd4094ec re8cc0db  
    5454  -a - build Ada (default=yes)
    5555  -G - build GCC Go (default=yes)
     56  -J - build GCJ (default=yes)
    5657  -c - clean install point (also installs auto tools)
    5758  -m - mail results to lists (default=yes)
     
    7273doAda="yes"
    7374doGccGo="yes"
     75doGcj="yes"
    7476doMail="yes"
    7577doTests="yes"
     
    8789    a) doAda=`toggle ${doAda}` ;;
    8890    G) doGccGo=`toggle ${doGccGo}` ;;
     91    J) doGcj=`toggle ${doGcj}` ;;
    8992    c) doCleanInstallPoint=`toggle ${doCleanInstallPoint}` ;;
    9093    j) justTests=`toggle ${justTests}` ;;
     
    136139  echo "Build Ada:           " ${doAda}
    137140  echo "Build GCC Go:        " ${doGccGo}
     141  echo "Build GCJ:           " ${doGcj}
    138142  echo "Email Results:       " ${doMail}
    139143  echo "Run Tests:           " ${doTests}
     
    145149test ${doAda}   = "yes"      && adaArg="-a"
    146150test ${doGccGo} = "yes"      && gccgoArg="-G"
     151test ${doGcj} = "yes"        && gcjArg="-J"
    147152test ${doBasicTools} = "yes" && basicArgs="-b -D -1 -r"
    148153
     
    151156  adaArg=""
    152157  gccgoArg=""
     158  gcjArg=""
    153159  basicArgs=""
    154160fi
     
    266272    echo "Building ${cpu}/${bsp}..."
    267273    echo "time sh -x ${doOne} -v -d ${basicArgs}  \
    268         ${gccgoArg} ${adaArg} ${mailArg} ${testArg} \
     274        ${gccgoArg} ${gcjArg} ${adaArg} ${mailArg} ${testArg} \
    269275        ${cpu} ${bsp} >${BASEDIR}/${bsp}.log 2>&1"
    270276    time sh -x ${doOne} -v -d ${basicArgs}  \
    271         ${gccgoArg} ${adaArg} ${mailArg} ${testArg} \
     277        ${gccgoArg} ${gcjArg} ${adaArg} ${mailArg} ${testArg} \
    272278        ${cpu} ${bsp} >${BASEDIR}/${bsp}.log 2>&1
    273279    echo $?
Note: See TracChangeset for help on using the changeset viewer.