import dwz-0.12-10.el8
This commit is contained in:
parent
ea73d5c39c
commit
09a5b449d1
44
SOURCES/dwz-rh1949185.patch
Normal file
44
SOURCES/dwz-rh1949185.patch
Normal file
@ -0,0 +1,44 @@
|
||||
X-Git-Url: https://sourceware.org/git/?p=dwz.git;a=blobdiff_plain;f=dwz.c;h=9e39824d0f1fec950c811357c62e6a0caa1880d7;hp=6f34a0c7f84d00aa74750ea7d60c882967d252c0;hb=4a89e2c78e57b1b05ff71a8e32b2219e02d30425;hpb=815ac613209fa8cbcdda57302a0a1ab0366923ad
|
||||
|
||||
diff --git a/dwz.c b/dwz.c
|
||||
index 6f34a0c..9e39824 100644
|
||||
--- a/dwz.c
|
||||
+++ b/dwz.c
|
||||
@@ -2357,10 +2357,33 @@ checksum_die (DSO *dso, dw_cu_ref cu, dw_die_ref top_die, dw_die_ref die)
|
||||
}
|
||||
if (unlikely (op_multifile) && ref->die_collapsed_child)
|
||||
ref = ref->die_parent;
|
||||
- assert (((!op_multifile && !rd_multifile && !fi_multifile)
|
||||
- || cu != die_cu (ref))
|
||||
- && (!op_multifile
|
||||
- || cu->cu_chunk == die_cu (ref)->cu_chunk));
|
||||
+ if (cu == die_cu (ref))
|
||||
+ {
|
||||
+ /* The reference was encoded using a section-relative
|
||||
+ encoding, while if it could have been encoded using
|
||||
+ CU-relative encoding. Typically, the latter is used,
|
||||
+ because:
|
||||
+ - it's potentially smaller, and
|
||||
+ - it doesn't require a link-time relocation. */
|
||||
+
|
||||
+ /* Assert that the multifile only contains section-relative
|
||||
+ encoding when necessary. */
|
||||
+ assert (!op_multifile && !rd_multifile);
|
||||
+
|
||||
+ if (fi_multifile)
|
||||
+ {
|
||||
+ /* It's possible that the input DWARF contains this
|
||||
+ sub-optimal reference. We currently don't optimize
|
||||
+ this during single-file optimization, so it will still
|
||||
+ be there during finalize_multifile. Bail out to handle
|
||||
+ this conservatively. */
|
||||
+ die->die_ck_state = CK_BAD;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+ /* Assert that during op_multifile, die belongs to the same object
|
||||
+ as ref. */
|
||||
+ assert (!op_multifile || cu->cu_chunk == die_cu (ref)->cu_chunk);
|
||||
handled = true;
|
||||
break;
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
Summary: DWARF optimization and duplicate removal tool
|
||||
Name: dwz
|
||||
Version: 0.12
|
||||
Release: 9%{?dist}
|
||||
Release: 10%{?dist}
|
||||
License: GPLv2+ and GPLv3+
|
||||
Group: Development/Tools
|
||||
# git archive --format=tar --remote=git://sourceware.org/git/dwz.git \
|
||||
@ -10,6 +10,8 @@ Group: Development/Tools
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
BuildRequires: gcc, elfutils-libelf-devel
|
||||
|
||||
Patch1: dwz-rh1949185.patch
|
||||
|
||||
%description
|
||||
The dwz package contains a program that attempts to optimize DWARF
|
||||
debugging information contained in ELF shared libraries and ELF executables
|
||||
@ -21,6 +23,7 @@ and using DW_TAG_imported_unit to import it into each CU that needs it.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1 -b .rh1949185~
|
||||
|
||||
%build
|
||||
make %{?_smp_mflags} CFLAGS='%{optflags}' LDFLAGS='%{build_ldflags}' \
|
||||
@ -37,6 +40,9 @@ make DESTDIR=%{buildroot} prefix=%{_prefix} mandir=%{_mandir} bindir=%{_bindir}
|
||||
%{_mandir}/man1/dwz.1*
|
||||
|
||||
%changelog
|
||||
* Wed May 5 2021 Marek Polacek <polacek@redhat.com> 0.12-10
|
||||
- handle intra-CU DW_FORM_ref_addr reference (#1949185)
|
||||
|
||||
* Tue Aug 7 2018 Marek Polacek <polacek@redhat.com> 0.12-9
|
||||
- don't use arched BuildRequires (#1545773)
|
||||
- remove %defattr
|
||||
|
Loading…
Reference in New Issue
Block a user