From 16611e51afc7d488f8114e547f0d8c5abbd2fbf2 Mon Sep 17 00:00:00 2001 From: rwx403335 Date: Mon, 10 Jan 2022 16:00:27 +0800 Subject: [PATCH] bugfix testcase --- dwz.spec | 15 ++++- ...e-readelf-following-links-by-default.patch | 58 +++++++++++++++++++ 2 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 testsuite-Handle-readelf-following-links-by-default.patch diff --git a/dwz.spec b/dwz.spec index 97673d1..cd28886 100644 --- a/dwz.spec +++ b/dwz.spec @@ -1,11 +1,14 @@ Name: dwz Version: 0.14 -Release: 1 +Release: 2 Summary: A DWARF optimization and duplicate removal tool License: GPLv2+ and GPLv3+ URL: https://sourceware.org/dwz/ Source0:https://sourceware.org/ftp/dwz/releases/%{name}-%{version}.tar.xz -BuildRequires:gcc elfutils-libelf-devel dejagnu + +Patch1: testsuite-Handle-readelf-following-links-by-default.patch + +BuildRequires:gcc elfutils-libelf-devel dejagnu gcc-c++ %description The package contains a program that attempts to optimize DWARF debugging @@ -19,7 +22,7 @@ using DW_TAG_imported_unit to import it into each CU that needs it. %package_help %prep -%autosetup -n %{name} +%autosetup -n %{name} -p1 %build make %{?_smp_mflags} CFLAGS='%{optflags}' LDFLAGS='%{build_ldflags}' \ @@ -51,6 +54,12 @@ make check %{_mandir}/man1/dwz* %changelog +* Mon Jan 10 2022 renhongxun - 0.14-2 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:bugfix testcase + * Sat Jul 24 2021 shixuantong - 0.14-1 - Type:bugfix - ID:NA diff --git a/testsuite-Handle-readelf-following-links-by-default.patch b/testsuite-Handle-readelf-following-links-by-default.patch new file mode 100644 index 0000000..22c0f08 --- /dev/null +++ b/testsuite-Handle-readelf-following-links-by-default.patch @@ -0,0 +1,58 @@ +From b1f26dc76158e1f3364836d8b540b17a7a1ccb3d Mon Sep 17 00:00:00 2001 +From: Tom de Vries +Date: Sat, 20 Mar 2021 09:37:31 +0100 +Subject: [PATCH] [testsuite] Handle readelf following links by default + +Since binutils commit c46b706620e "Change the readelf and objdump programs so +that they will automatically follow links to separate debug info files" there +are a few FAILs in the dwz testsuite. + +This is just due to changing the default behaviour for readelf. + +Fix this by testing whether the new -Wn readelf flag is supported, +and if so, adding it to the readelf call. + +2021-03-20 Tom de Vries + + PR dwz/27592 + * testsuite/dwz.tests/odr-struct-multifile.sh: Call readelf with -wN + if supported. + * testsuite/dwz.tests/cycle.sh: Same. +--- + testsuite/dwz.tests/odr-struct-multifile.sh | 9 +++++++-- + 1 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/testsuite/dwz.tests/odr-struct-multifile.sh b/testsuite/dwz.tests/odr-struct-multifile.sh +index cc462c9..20b682b 100644 +--- a/testsuite/dwz.tests/odr-struct-multifile.sh ++++ b/testsuite/dwz.tests/odr-struct-multifile.sh +@@ -2,6 +2,11 @@ if ! $execs/dwz-for-test --odr -v 2>/dev/null; then + exit 77 + fi + ++readelf_flags="" ++if readelf -h 2>&1 | grep -q "\-wN"; then ++ readelf_flags=-wN ++fi ++ + cp $execs/odr-struct 1 + cp 1 2 + +@@ -41,12 +46,12 @@ done + + + for name in aaa bbb ccc; do +- cnt=$(readelf -wi 1 | grep -c "DW_AT_name.*:.*$name" || true) ++ cnt=$(readelf -wi $readelf_flags 1 | grep -c "DW_AT_name.*:.*$name" || true) + [ $cnt -eq 0 ] + done + + for name in member_one member_two member_three member_four; do +- cnt=$(readelf -wi 1 | grep -c "DW_AT_name.*:.*$name" || true) ++ cnt=$(readelf -wi $readelf_flags 1 | grep -c "DW_AT_name.*:.*$name" || true) + [ $cnt -eq 0 ] + done + +-- +1.8.3.1 + -- Gitee