Summary
* "make check-gcc" for linux gcc, cygwin gcc and native windows gcc.

Details:
1. "make check-gcc" on linux.
 * One more failed case (gcc.dg/visibility-d) for the toolchain
generated from crosstool-ng based on embedded toolchain code base. But
logs show the .s files are the same.

2. "make check-gcc" on windows.
 * Dir format issue:
  Native windows programs require the disk symbol format as c:, d:,
etc. But in cygwin, it is changed to /cygdrive/c, /cygdrive/d. Need
wrapper to convert it.
 * qemu output in cygwin (Qemu-0.15.1-windows-Medium.zip from
http://lassauge.free.fr/qemu/)
  qemu can not output the result like "*** EXIT 0" on screen. Need
wrapper to handle it.
 * "make check-gcc" for cygwin toolchain (build from scratch in cygwin).
  You can run make check like it on linux.
 * "make check-gcc" for pre-installed binary toolchain (installed as
native windows programs)
  a. configure gcc from the source package. (Only need the config*,
Makefile to make sure "make check" work)
  b. reset the TEST_GCC_EXEC_PREFIX (site.exp) to the correct dir
(INSTALL DIR) with the right format.
  c. wrap gcc/xgcc to use the pre-installed gcc and change the dir format.
  d. handle /usr/share/dejagnu/testglue.c (cp it to current test dir
or convert it to windows path)

Plan:
* Handle g++ test on windows.
* Work out a formal document or wiki page on how to "make check-gcc" on windows.
* Test and analyze the failed cases.

Best regards!
-Zhenqiang

PS:
1) qemu-system-arm.exe sample
#!/bin/sh
dir=`dirname $0`
run ()
{
  # Change /cygdrive/e to e:
  para=`echo $* | sed -e 's/\/cygdrive\/e/e\:/'`

  # arm.exe is the real qemu-system-arm.exe
  # output to stdout.txt or stderror.txt.
  $dir/arm.exe $para | tee

  # output to screen
  cat $dir/stdout.txt
}
run $*

2) xgcc.exe sample
#!/bin/sh
run ()
{
  # Change /cygdrive/e to e:
  para=`echo $* | sed -e 's/\/cygdrive\/e/e\:/'`

  # Use a local copy of testglue.c rather than /usr/share/dejagnu/testglue.c
  para=`echo $para | sed -e 's/\/usr\/share\/dejagnu\/testglue.c/testglue.c/g'`

  # run the test with preinstalled binary toolchain
  #TBD: handle g++
  arm-none-eabi-gcc.exe $para
}
run $*

3) TEST_GCC_EXEC_PREFIX in site.exp sample
# Toolchain is installed at e:/Dec/RC3.
TEST_GCC_EXEC_PREFIX "e:/Dec/RC3/lib/gcc/"

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to