blob: e056f8904d0a42869be07429352175f3401882c5 [file] [log] [blame]
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00001#! /bin/sh
Roland McGrath521c47d2008-04-11 07:01:58 +00002# Copyright (C) 1999, 2000, 2002, 2003, 2005, 2007, 2008 Red Hat, Inc.
Ulrich Drepper361df7d2006-04-04 21:38:57 +00003# This file is part of Red Hat elfutils.
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00004# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
Roland McGrath6d0c2e82006-04-05 00:59:43 +00005#
Ulrich Drepper361df7d2006-04-04 21:38:57 +00006# Red Hat elfutils is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by the
8# Free Software Foundation; version 2 of the License.
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00009#
Ulrich Drepper361df7d2006-04-04 21:38:57 +000010# Red Hat elfutils is distributed in the hope that it will be useful, but
11# WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# General Public License for more details.
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000014#
Ulrich Drepper361df7d2006-04-04 21:38:57 +000015# You should have received a copy of the GNU General Public License along
16# with Red Hat elfutils; if not, write to the Free Software Foundation,
Ulrich Drepper1e9ef502006-04-04 22:29:06 +000017# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
Ulrich Drepper361df7d2006-04-04 21:38:57 +000018#
19# Red Hat elfutils is an included package of the Open Invention Network.
20# An included package of the Open Invention Network is a package for which
21# Open Invention Network licensees cross-license their patents. No patent
22# license is granted, either expressly or impliedly, by designation as an
23# included package. Should you wish to participate in the Open Invention
24# Network licensing program, please visit www.openinventionnetwork.com
25# <http://www.openinventionnetwork.com>.
26
Roland McGrath1b8b4462005-11-16 01:33:38 +000027. $srcdir/test-subr.sh
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000028
29original=${original:-testfile11}
30stripped=${stripped:-testfile7}
31debugout=${debugfile:+-f testfile.debug.temp -F $debugfile}
32
Roland McGrath521c47d2008-04-11 07:01:58 +000033testfiles $original
34test x$stripped = xtestfile.temp || testfiles $stripped $debugfile
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000035
Roland McGrath4be15242007-04-25 03:09:33 +000036tempfiles testfile.temp testfile.debug.temp testfile.unstrip
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000037
Roland McGrath1b8b4462005-11-16 01:33:38 +000038testrun ../src/strip -o testfile.temp $debugout $original
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000039
Roland McGrath9aa8ef72007-05-18 08:59:43 +000040status=0
41
42cmp $stripped testfile.temp || status=$?
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000043
44# Check elflint and the expected result.
Roland McGrath9aa8ef72007-05-18 08:59:43 +000045testrun ../src/elflint -q testfile.temp || status=$?
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000046
47test -z "$debugfile" || {
Roland McGrath9aa8ef72007-05-18 08:59:43 +000048cmp $debugfile testfile.debug.temp || status=$?
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000049
50# Check elflint and the expected result.
Roland McGrath9aa8ef72007-05-18 08:59:43 +000051testrun ../src/elflint -q -d testfile.debug.temp || status=$?
Roland McGrath4be15242007-04-25 03:09:33 +000052
53# Now test unstrip recombining those files.
54testrun ../src/unstrip -o testfile.unstrip testfile.temp testfile.debug.temp
55
56# Check that it came back whole.
57testrun ../src/elfcmp --hash-inexact $original testfile.unstrip
Ulrich Drepperb08d5a82005-07-26 05:00:05 +000058}
59
Roland McGrath521c47d2008-04-11 07:01:58 +000060tempfiles testfile.sections
61testrun ../src/readelf -S testfile.temp > testfile.sections || status=$?
62fgrep ' .debug_' testfile.sections && status=1
63
Roland McGrath9aa8ef72007-05-18 08:59:43 +000064exit $status