Mercurial > hg > CbC > CbC_gcc
diff contrib/compare-debug @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children | 855418dad1a3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/contrib/compare-debug Fri Jul 17 14:47:48 2009 +0900 @@ -0,0 +1,76 @@ +#! /bin/sh + +# Compare stripped copies of two given object files. + +# Copyright (C) 2007 Free Software Foundation +# Originally by Alexandre Oliva <aoliva@redhat.com> + +# This file is part of GCC. + +# GCC 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, or (at your option) any later +# version. + +# GCC 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 GCC; see the file COPYING3. If not see +# <http://www.gnu.org/licenses/>. + +rm='rm -f' + +case $1 in +-p | --preserve) + rm='echo preserving' + shift + ;; +esac + +if test $# != 2; then + echo 'usage: compare-debug file1.o file2.o' >&2 + exit 1 +fi + +if test ! -f "$1"; then + echo "$1" does not exist >&2 + exit 1 +fi + +if test ! -f "$2"; then + echo "$2" does not exist >&2 + exit 1 +fi + +suf1=stripped +while test -f "$1.$suf1"; do + suf1=$suf1. +done + +suf2=stripped +while test -f "$2.$suf2"; do + suf2=$suf2. +done + +trap 'rm -f "$1.$suf1" "$2.$suf2"' 0 1 2 15 + +cp "$1" "$1.$suf1" +strip "$1.$suf1" + +cp "$2" "$2.$suf2" +strip "$2.$suf2" + +if cmp "$1.$suf1" "$2.$suf2"; then + status=0 +else + status=1 +fi + +$rm "$1.$suf1" "$2.$suf2" + +trap "exit $status; exit" 0 1 2 15 + +exit $status