From 96a52138eab04f24a86c78e8f2af9c74c2d6bfaf Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 3 Apr 2012 00:21:50 +0200 Subject: [PATCH] Add new run-unstrip-n.sh test for RHBZ#805447 fixed in commit 210c2f. --- tests/ChangeLog | 7 ++++++ tests/Makefile.am | 7 +++--- tests/run-unstrip-n.sh | 53 +++++++++++++++++++++++++++++++++++++++ tests/testcore-rtlib.bz2 | Bin 0 -> 25566 bytes 4 files changed, 64 insertions(+), 3 deletions(-) create mode 100755 tests/run-unstrip-n.sh create mode 100644 tests/testcore-rtlib.bz2 diff --git a/tests/ChangeLog b/tests/ChangeLog index 6f6c5928d..c38ede5ce 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,10 @@ +2012-04-02 Mark Wielaard + + * Makefile.am (TESTS): Add run-unstrip-n.sh. + (EXTRA_DIST): Add testcore-rtlib.bz2 and run-unstrip-n.sh. + * run-unstrip-n.sh: New test. + * testcore-rtlib.bz2: New testfile. + 2012-04-02 Mark Wielaard * Makefile.am (TESTS): Add run-readelf-d.sh. diff --git a/tests/Makefile.am b/tests/Makefile.am index 980aa1252..23575b76b 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to create Makefile.in ## -## Copyright (C) 1996-2011 Red Hat, Inc. +## Copyright (C) 1996-2012 Red Hat, Inc. ## This file is part of Red Hat elfutils. ## ## Red Hat elfutils is free software; you can redistribute it and/or modify @@ -87,7 +87,7 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \ run-early-offscn.sh run-dwarf-getmacros.sh \ run-test-flag-nobits.sh run-prelink-addr-test.sh \ run-dwarf-getstring.sh run-rerequest_tag.sh run-typeiter.sh \ - run-readelf-d.sh + run-readelf-d.sh run-unstrip-n.sh # run-show-ciefde.sh if !STANDALONE @@ -164,7 +164,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ testfile55-64.debug.bz2 testfile55-64.prelink.bz2 \ testfile56.bz2 testfile57.bz2 testfile58.bz2 \ run-typeiter.sh testfile59.bz2 \ - run-readelf-d.sh testlib_dynseg.so.bz2 + run-readelf-d.sh testlib_dynseg.so.bz2 \ + run-unstrip-n.sh testcore-rtlib.bz2 installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \ bindir=$(DESTDIR)$(bindir) \ diff --git a/tests/run-unstrip-n.sh b/tests/run-unstrip-n.sh new file mode 100755 index 000000000..873e2a6f5 --- /dev/null +++ b/tests/run-unstrip-n.sh @@ -0,0 +1,53 @@ +#! /bin/sh +# Copyright (C) 2012 Red Hat, Inc. +# This file is part of Red Hat elfutils. +# +# Red Hat elfutils 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; version 2 of the License. +# +# Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +# +# Red Hat elfutils is an included package of the Open Invention Network. +# An included package of the Open Invention Network is a package for which +# Open Invention Network licensees cross-license their patents. No patent +# license is granted, either expressly or impliedly, by designation as an +# included package. Should you wish to participate in the Open Invention +# Network licensing program, please visit www.openinventionnetwork.com +# . + +. $srcdir/test-subr.sh + +# https://bugzilla.redhat.com/show_bug.cgi?id=805447 +# eu-unstrip emits garbage for librt.so.1 +# +# #include +# #include +# +# int main(int argc, char **argv) +# { +# // Yes, this crashes... That is the point. +# return shm_open(argv[1], 0, 0); +# } +# +# gcc -m32 -o rt_crash -lrt rt_crash.c + +testfiles testcore-rtlib + +testrun_compare ../src/unstrip -n --core=testcore-rtlib <<\EOF +0x8048000+0x2000 f1c600bc36cb91bf01f9a63a634ecb79aa4c3199@0x8048178 . - [exe] +0xf77d6000+0x1000 676560b1b765cde9c2e53f134f4ee354ea894747@0xf77d6210 . - linux-gate.so.1 +0xf77b3000+0x9000 c6c5b5e35ab9589d4762ac85b4bd56b1b2720e37@0xf77b3164 /lib/librt.so.1 - librt.so.1 +0xf7603000+0x1b0000 0b9bf374699e141e5dfc14757ff42b8c2373b4de@0xf7603184 /lib/libc.so.6 - libc.so.6 +0xf75e9000+0x1a000 29a103420abe341e92072fb14274e250e4072148@0xf75e9164 /lib/libpthread.so.0 - libpthread.so.0 +0xf77d7000+0x21000 6d2cb32650054f1c176d01d48713a4a5e5e84c1a@0xf77d7124 /lib/ld-linux.so.2 - ld-linux.so.2 +EOF + +exit 0 diff --git a/tests/testcore-rtlib.bz2 b/tests/testcore-rtlib.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..1dc0f1a30a38a9e977422d73a8d085a8209985df GIT binary patch literal 25566 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