diff options
author | Jan Hubicka <jh@suse.cz> | 2010-06-30 23:35:37 +0000 |
---|---|---|
committer | Jan Hubicka <jh@suse.cz> | 2010-06-30 23:35:37 +0000 |
commit | ae76f6b33f74dba4216d2927fa768e095bc196de (patch) | |
tree | d78c22c285918a79b675750633c5ad580b95bd17 /contrib | |
parent | 0e4df37882ec2a25153a5dc96b79a67f77d4175a (diff) |
Merge from mainline.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/pretty-ipa@161647 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/ChangeLog | 17 | ||||
-rwxr-xr-x | contrib/compare-debug | 24 | ||||
-rwxr-xr-x | contrib/download_prerequisites | 38 | ||||
-rwxr-xr-x | contrib/gcc_update | 31 | ||||
-rwxr-xr-x | contrib/test_summary | 6 |
5 files changed, 104 insertions, 12 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 60afb708be4..12271531ddf 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,20 @@ +2010-06-20 Alexandre Oliva <aoliva@redhat.com> + + * compare-debug: Drop LTO sections. + +2010-06-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> + + * gcc_update: Support updating a git clone. + +2010-06-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * test_summary: Don't use diff -u. + Adapt egrep regex. + +2010-06-02 Andrew Haley <aph@redhat.com> + + * download_prerequisites: New script. + 2010-05-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * dg-extract-results.sh: Redirect grep output to /dev/null instead diff --git a/contrib/compare-debug b/contrib/compare-debug index 98c80f93e98..820721cd971 100755 --- a/contrib/compare-debug +++ b/contrib/compare-debug @@ -100,9 +100,11 @@ else done # If we found .eh_frame in one but not the other, or if we could not - # find a command to tell, try to strip off the .eh_frame section - # from both. - if test "x$cmp1" != "x$cmp2" || test "x$cmd" = "x"; then + # find a command to tell, or if there are LTO sections, try to strip + # off the .eh_frame and LTO sections from both. + if test "x$cmp1" != "x$cmp2" || test "x$cmd" = "x" || + $cmd --section-headers "$1.$suf1" | grep '.gnu.lto_' > /dev/null || + $cmd --section-headers "$2.$suf2" | grep '.gnu.lto_' > /dev/null ; then suf3=$suf1. while test -f "$1.$suf3"; do suf3=$suf3. @@ -115,21 +117,27 @@ else trap 'rm -f "$1.$suf1" "$2.$suf2" "$1.$suf3" "$2.$suf4"' 0 1 2 15 - echo stripping off .eh_frame, then retrying >&2 + echo stripping off .eh_frame and LTO sections, then retrying >&2 + + seclist=".eh_frame .rel.eh_frame .rela.eh_frame" + if test "x$cmd" != "x"; then + seclist="$seclist "`{ $cmd --section-headers "$1.$suf1"; $cmd --section-headers "$2.$suf2"; } | sed -n 's,.* \(\.gnu\.lto_[^ ]*\).*,\1,p' | sort -u` + fi + rsopts=`for sec in $seclist; do echo " --remove-section $sec"; done` if (objcopy -v) 2>&1 | grep ' --remove-section' > /dev/null; then - objcopy --remove-section .eh_frame --remove-section .rel.eh_frame --remove-section .rela.eh_frame "$1.$suf1" "$1.$suf3" + objcopy $rsopts "$1.$suf1" "$1.$suf3" mv "$1.$suf3" "$1.$suf1" - objcopy --remove-section .eh_frame --remove-section .rel.eh_frame --remove-section .rela.eh_frame "$2.$suf2" "$2.$suf4" + objcopy $rsopts "$2.$suf2" "$2.$suf4" mv "$2.$suf4" "$2.$suf2" elif (strip --help) 2>&1 | grep ' --remove-section' > /dev/null; then cp "$1.$suf1" "$1.$suf3" - strip --remove-section .eh_frame --remove-section .rel.eh_frame --remove-section .rela.eh_frame "$1.$suf3" + strip $rsopts "$1.$suf3" mv "$1.$suf3" "$1.$suf1" cp "$2.$suf2" "$2.$suf4" - strip --remove-section .eh_frame --remove-section .rel.eh_frame --remove-section .rela.eh_frame "$2.$suf4" + strip $rsopts "$2.$suf4" mv "$2.$suf4" "$2.$suf2" else echo failed to strip off .eh_frame >&2 diff --git a/contrib/download_prerequisites b/contrib/download_prerequisites new file mode 100755 index 00000000000..f86f5612135 --- /dev/null +++ b/contrib/download_prerequisites @@ -0,0 +1,38 @@ +#! /bin/sh + +# Download some prerequisites needed by gcc. +# Run this from the top level of the gcc source tree and the gcc +# build will do the right thing. +# +# (C) 2010 Free Software Foundation +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. + +MPFR=mpfr-2.4.2 +GMP=gmp-4.3.2 +MPC=mpc-0.8.1 + +wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2 || exit 1 +tar xjf $MPFR.tar.bz2 || exit 1 +ln -sf $MPFR mpfr || exit 1 + +wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2 || exit 1 +tar xjf $GMP.tar.bz2 || exit 1 +ln -sf $GMP gmp || exit 1 + +wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPC.tar.gz || exit 1 +tar xzf $MPC.tar.gz || exit 1 +ln -sf $MPC mpc || exit 1 + +rm $MPFR.tar.bz2 $GMP.tar.bz2 $MPC.tar.gz || exit 1 diff --git a/contrib/gcc_update b/contrib/gcc_update index 37e65af59c4..cfae86a50c6 100755 --- a/contrib/gcc_update +++ b/contrib/gcc_update @@ -245,8 +245,13 @@ p esac +is_git=0 # Check whether this indeed looks like a local SVN tree. -if [ ! -d .svn ]; then +if [ -d .git ]; then + GCC_GIT=${GCC_GIT-${GIT-git}} + GCC_SVN="true -" + is_git=1 +elif [ ! -d .svn ]; then echo "This does not seem to be a GCC SVN tree!" exit fi @@ -258,6 +263,7 @@ else set -- $UPDATE_OPTIONS ${1+"$@"} fi +if [ $is_git -eq 0 ]; then chat "Updating SVN tree" $GCC_SVN ${silent+-q} --non-interactive update ${1+"$@"} @@ -283,4 +289,27 @@ p echo "[$branch revision $revision]" > gcc/REVISION +else + chat "Updating GIT tree" + $GCC_GIT diff --quiet --exit-code HEAD + if [ $? -ne 0 ]; then + echo "Attempting to update a dirty git tree!" >&2 + echo "Commit or stash your changes first and retry." >&2 + exit 1 + fi + $GCC_GIT pull ${silent+-q} --rebase ${1+"$@"} + if [ $? -ne 0 ]; then + (touch_files_reexec) + echo "git pull of full tree failed." >&2 + exit 1 + fi + rm -f LAST_UPDATED gcc/REVISION + revision=`$GCC_GIT log -n1 --pretty=%p:%t:%H` + branch=`$GCC_GIT name-rev --name-only HEAD || :` + { + date + echo "`TZ=UTC date` (revision $revision)" + } > LAST_UPDATED + echo "[$branch revision $revision]" > gcc/REVISION +fi touch_files_reexec diff --git a/contrib/test_summary b/contrib/test_summary index c4b3c2c9369..5fc49f52bda 100755 --- a/contrib/test_summary +++ b/contrib/test_summary @@ -1,6 +1,6 @@ #! /bin/sh -# (C) 1998, 1999, 2000, 2002, 2003, 2004, 2007, 2009 +# (C) 1998, 1999, 2000, 2002, 2003, 2004, 2007, 2009, 2010 # Free Software Foundation # Originally by Alexandre Oliva <oliva@dcc.unicamp.br> @@ -75,9 +75,9 @@ for file in $files; do [ -f $file ] && anyfile=true && { $anychange || - anychange=`diff -u $file.sent $file 2>/dev/null | + anychange=`diff $file.sent $file 2>/dev/null | if test ! -f $file.sent || - egrep '^[-+](XPASS|FAIL)' >/dev/null; then + egrep '^[<>] (XPASS|FAIL)' >/dev/null; then echo true else echo false |