2009-04-16 16:18:12 +02:00
|
|
|
#! /bin/bash
|
|
|
|
|
|
|
|
# Compare the assembly language output for all the gcc tests.
|
MAINTAINERS (crx port, [...]): Remove.
* MAINTAINERS (crx port, m68hc11 port): Remove. Move maintainers
to Write After Approval.
* config-ml.in: Don't handle arc-*-elf*.
* configure.ac (arc-*-*, crx-*-*, i[[3456789]]86-*-pe,
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*, mcore-*-pe*): Don't
handle GCC libraries.
* configure: Regenerate.
contrib:
* compare-all-tests (all_targets): Remove crx and m68hc11.
fixincludes:
* mkfixinc.sh: Don't handle i?86-moss-msdos* or i?86-*-pe.
gcc:
* config/alpha/gnu.h: Remove.
* config/arc: Remove directory.
* config/arm/netbsd.h: Remove.
* config/arm/t-pe: Remove.
* config/crx: Remove directory.
* config/i386/netbsd.h: Remove.
* config/m68hc11: Remove directory.
* config/m68k/uclinux-oldabi.h: Remove.
* config/mcore/mcore-pe.h: Remove.
* config/mcore/t-mcore-pe: Remove.
* config/netbsd-aout.h: Remove.
* config/rs6000/gnu.h: Remove.
* config/sh/sh-symbian.h: Remove.
* config/sh/symbian-base.c: Remove.
* config/sh/symbian-c.c: Remove.
* config/sh/symbian-cxx.c: Remove.
* config/sh/symbian-post.h: Remove.
* config/sh/symbian-pre.h: Remove.
* config/sh/t-symbian: Remove.
* config/svr3.h: Remove.
* config/vax/netbsd.h: Remove.
* config.build: Don't handle i[34567]86-*-pe.
* config.gcc: Remove handling of deprecations for most deprecated
targets.
(m68k-*-uclinuxoldabi*): Add to second deprecated list.
(alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
Remove cases.
* config.host: Don't handle i[34567]86-*-pe.
* config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
(ASM_SPEC32): Don't handle -mcall-gnu.
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
-mcall-gnu.
(ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
(LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
(SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
* config/sh/sh-protos.h, config/sh/sh.c: Remove all code
conditional on SYMBIAN.
* configure.ac: Don't handle powerpc*-*-gnu*.
* configure: Regenerate.
* doc/extend.texi (interrupt attribute): Don't mention CRX.
* doc/install-old.texi (m6811, m6812): Don't mention.
* doc/install.texi (arc-*-elf*): Don't document multilib option.
(arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
(m68k-uclinuxoldabi): Don't mention.
* doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
Remove.
(-mcall-gnu): Remove.
* doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
families): Remove constraint documentation.
gcc/testsuite:
* gcc.c-torture/execute/920501-8.x: Remove.
* gcc.c-torture/execute/930513-1.x: Remove.
* gcc.c-torture/execute/960312-1.x: Remove.
* gcc.c-torture/compile/20000804-1.c,
gcc.c-torture/compile/20001205-1.c,
gcc.c-torture/compile/20001226-1.c,
gcc.c-torture/compile/20010518-2.c,
gcc.c-torture/compile/20020312-1.c,
gcc.c-torture/compile/20020604-1.c,
gcc.c-torture/compile/920501-12.c,
gcc.c-torture/compile/920501-4.c,
gcc.c-torture/compile/920520-1.c,
gcc.c-torture/compile/980506-1.c,
gcc.c-torture/execute/980709-1.x,
gcc.c-torture/execute/990826-0.x: Don't XFAIL or use special
options for m68hc11.
* gcc.dg/cpp/assert4.c: Don't handle ARC.
* gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c: Don't XFAIL for arc or
m68hc11.
libgcc:
* config.host (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*,
arm-*-pe*, crx-*-elf, i[34567]86-*-netbsd*, i[34567]86-*-pe,
m68hc11-*-*|m6811-*-*, m68hc12-*-*|m6812-*-*, mcore-*-pe*,
powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
Remove cases.
libstdc++-v3:
* configure.ac: Don't handle powerpc*-*-gnu*.
* configure: Regenerate.
From-SVN: r171302
2011-03-22 20:58:18 +01:00
|
|
|
# Copyright (C) 2009, 2011 Free Software Foundation, Inc.
|
2009-04-16 16:18:12 +02:00
|
|
|
# Contributed by Paolo Bonzini.
|
|
|
|
#
|
|
|
|
# Invoke it as "bash compare-all-tests target1 target2 ... targetN".
|
|
|
|
# Assumptions are:
|
|
|
|
#
|
|
|
|
# 1) that the base and patched compilers reside respectively in
|
|
|
|
# base-$target-build and $target-build, where $target is the commandline
|
|
|
|
# argument to compare-all-tests, and should match the variables in the
|
|
|
|
# script itself so that the correct set of options is tested. Both
|
|
|
|
# compilers should be fully built (including target libraries).
|
|
|
|
#
|
|
|
|
# 2) that the testsuite has been run on the base compiler (since it's
|
|
|
|
# just compilation testing, using RUNTESTFLAGS=--target_board=basic-sim
|
|
|
|
# usually suffices).
|
|
|
|
#
|
|
|
|
# Tests that fail to compile on the base compiler are not compared.
|
|
|
|
|
|
|
|
alpha_opts='-mlong-double-64/-mieee -mlong-double-64 -mlong-double-128/-mieee -mlong-double-128'
|
|
|
|
arm_opts='-mthumb/-march=armv5t -mthumb/-march=armv6t2 -march=armv5 -mthumb/-march=armv6t2/-mfpu=vfp/-mfloat-abi=softfp -march=armv5/-mfpu=vfp/-mfloat-abi=softfp'
|
|
|
|
cris_opts='-march=v32 -march=v1'
|
|
|
|
h8300_opts='/ -mh -mh/-mn -ms -ms/-mn -msx -msx/-mn -mint32 -mh/-mint32 -mh/-mn/-mint32 -ms/-mint32 -ms/-mn/-mint32 -msx/-mint32 -msx/-mn/-mint32'
|
|
|
|
i386_opts='-m32 -m64 -m32/-msse/-msse2/-mfpmath=sse'
|
|
|
|
m32c_opts='-mcpu=r8c -mcpu=m16c -mcpu=m32c'
|
|
|
|
m68k_opts='-m68000 -m68020 -m68020/-m68881 -m68040/-m68881 -m68060/-m68881 -mcfv4e'
|
|
|
|
mips_opts='-msoft-float/-mgp32/-mips16 -mabi=32/-mfp32/-mgp32/-mips16 -mabi=o64/-mfp64/-mgp64/-mips16 -msoft-float/-mgp32 -mfp32/-mgp32 -march=mips64r2/-mabi=32/-mfp64/-mgp32 -msoft-float/-mgp64 -msingle-float/-mfp32/-mgp64 -mfp64/-mgp64'
|
|
|
|
mn10300_opts='-mam33 -mam33-2'
|
|
|
|
pa_opts='-march=2.0 -march=1.0 -march=1.1'
|
|
|
|
ppc_opts='-m32 -m64'
|
|
|
|
s390_opts='-m31 -m31/-mzarch -m64'
|
|
|
|
sh_opts='-m3 -m3e -m4 -m4a -m4al -m4/-mieee -m1 -m1/-mno-cbranchdi -m2a -m2a/-mieee -m2e -m2e/-mieee'
|
|
|
|
sparc_opts='-mcpu=v8/-m32 -mcpu=v9/-m32 -m64'
|
|
|
|
|
2016-04-30 11:11:03 +02:00
|
|
|
all_targets='alpha arm avr bfin cris fr30 frv h8300 ia64 iq2000 m32c m32r m68k mcore mips mmix mn10300 pa pdp11 ppc sh sparc spu v850 vax xstormy16 xtensa' # e500
|
2009-04-16 16:18:12 +02:00
|
|
|
|
|
|
|
test_one_file ()
|
|
|
|
{
|
|
|
|
local bdir pdir opts bline pline
|
|
|
|
bdir=base-$1-gcc-build
|
|
|
|
pdir=$1-gcc-build
|
|
|
|
bline=$2
|
|
|
|
pline=${2//$bdir/$pdir}
|
|
|
|
opts=${3//\// }
|
|
|
|
echo "$pline $opts"
|
|
|
|
$bline $opts 2>/dev/null >/dev/null || return 0
|
|
|
|
diff -L "$bdir/gcc/cc1 $opts" -L "$pdir/gcc/cc1 $opts" -u \
|
|
|
|
<( $bline $opts 2>&1 ) <( $pline $opts 2>&1 ) || { echo -n . >&2; return 1; }
|
|
|
|
}
|
|
|
|
|
|
|
|
test_all_opts ()
|
|
|
|
{
|
|
|
|
eval opts=\$${1}_opts
|
|
|
|
if test -z "$opts"; then
|
|
|
|
test_one_file $1 "$2"
|
|
|
|
else
|
|
|
|
for opt in $opts; do
|
|
|
|
test_one_file $1 "$2" $opt
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
for target in ${*-$all_targets}; do
|
|
|
|
mkdir -p $target-gcc-build/gcc/testsuite/gcc
|
|
|
|
cp -R base-$target-gcc-build/gcc/testsuite/gcc/gcc.dg-struct-layout-1 \
|
|
|
|
$target-gcc-build/gcc/testsuite/gcc/gcc.dg-struct-layout-1
|
|
|
|
|
|
|
|
# Provide targ-include files for newlib
|
|
|
|
# for newlib_path in `echo base-$target-gcc-build/*/newlib`; do
|
|
|
|
# test -d $newlib_path && ln -sf ../../$newlib_path ${newlib_path/base-}
|
|
|
|
# done
|
|
|
|
|
|
|
|
echo -n Testing $target >&2
|
|
|
|
sed '/^Executing on host: /!d
|
|
|
|
/xgcc -B/!d
|
|
|
|
/ -E /d
|
|
|
|
/ -g/d
|
|
|
|
/ -print-prog-name=/d
|
|
|
|
s/^Executing on host: //
|
|
|
|
s/ *(timeout.*//
|
|
|
|
s/ -fverbose-asm / /
|
|
|
|
s/ -frtl-abstract-sequences / /
|
|
|
|
s/ -fdump[-a-z0-9]* / /g
|
|
|
|
s/ -da / /g
|
|
|
|
s/ -\{1,2\}save-temps / /
|
|
|
|
s/ -c / -S /
|
|
|
|
/ -S /! s/ -o / -S -o /
|
|
|
|
s/ -o [^ ]*/ -frandom-seed=0 -o -/' base-$target-gcc-build/gcc/testsuite/gcc/gcc.log | while read line; do
|
|
|
|
case "$line" in
|
|
|
|
*" -m"*) test_one_file $target "$line" "" ;;
|
|
|
|
*) test_all_opts $target "$line" ;;
|
|
|
|
esac
|
|
|
|
done > compare-$target.log
|
|
|
|
echo >&2
|
|
|
|
done
|