From d25c1c785c966e6dafd8820514bac15966678345 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Thu, 18 Oct 2007 06:48:21 +0000 Subject: [PATCH] - debugedit fixes from Roland McGrath (#336951, #337011) --- rpm-4.4.2.2-debugedit-fpc.patch | 41 +++++++++++++++++++++++++++++++++ rpm.spec | 7 +++++- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 rpm-4.4.2.2-debugedit-fpc.patch diff --git a/rpm-4.4.2.2-debugedit-fpc.patch b/rpm-4.4.2.2-debugedit-fpc.patch new file mode 100644 index 0000000..0237c2c --- /dev/null +++ b/rpm-4.4.2.2-debugedit-fpc.patch @@ -0,0 +1,41 @@ +diff -r f531397e7635 -r 751cf2c7614e tools/debugedit.c +--- a/tools/debugedit.c Sun Oct 14 12:49:18 2007 +0300 ++++ b/tools/debugedit.c Thu Oct 18 09:34:54 2007 +0300 +@@ -560,11 +560,16 @@ edit_dwarf2_line (DSO *dso, uint_32 off, + } + else + { +- memcpy (s, comp_dir, comp_dir_len); +- s[comp_dir_len] = '/'; +- memcpy (s + comp_dir_len + 1, dirt[value], dir_len); +- s[comp_dir_len + 1 + dir_len] = '/'; +- memcpy (s + comp_dir_len + 1 + dir_len + 1, file, file_len + 1); ++ char *p = s; ++ if (comp_dir_len != 0) ++ { ++ memcpy (s, comp_dir, comp_dir_len); ++ s[comp_dir_len] = '/'; ++ p += comp_dir_len + 1; ++ } ++ memcpy (p, dirt[value], dir_len); ++ p[dir_len] = '/'; ++ memcpy (p + dir_len + 1, file, file_len + 1); + } + canonicalize_path (s, s); + if (list_file_fd != -1) +@@ -822,6 +827,7 @@ edit_attributes (DSO *dso, unsigned char + + switch (form) + { ++ case DW_FORM_ref_addr: /* ptr_size in DWARF 2, offset in DWARF 3 */ + case DW_FORM_addr: + ptr += ptr_size; + break; +@@ -847,7 +853,6 @@ edit_attributes (DSO *dso, unsigned char + case DW_FORM_udata: + read_uleb128 (ptr); + break; +- case DW_FORM_ref_addr: + case DW_FORM_strp: + ptr += 4; + break; diff --git a/rpm.spec b/rpm.spec index 3c554a0..4d4c9e1 100644 --- a/rpm.spec +++ b/rpm.spec @@ -6,7 +6,7 @@ Summary: The RPM package management system Name: rpm Version: 4.4.2.2 -Release: 3%{?dist} +Release: 4%{?dist} Group: System Environment/Base Url: http://www.rpm.org/ Source: http://rpm.org/releases/rpm-4.4.x/%{name}-%{version}.tar.gz @@ -19,6 +19,7 @@ Patch6: rpm-4.4.2.2-matchpathcon.patch Patch7: rpm-4.4.2.1-no-popt.patch Patch8: rpm-4.4.2.2-nonutf-comment.patch Patch9: rpm-4.4.2.2-osgideps.patch +Patch10: rpm-4.4.2.2-debugedit-fpc.patch # XXX Beware, this is one murky license, partially GPL/LGPL dual-licensed # and several different components with their own licenses included... @@ -143,6 +144,7 @@ that will manipulate RPM packages and databases. %patch7 -p1 -b .no-popt %patch8 -p1 -b .nonutf-comment %patch9 -p1 -b .osgideps +%patch10 -p1 -b .debugedit-fpc # force external popt rm -rf popt/ @@ -405,6 +407,9 @@ exit 0 %endif %changelog +* Thu Oct 18 2007 Panu Matilainen 4.4.2.2-4 +- debugedit fixes from Roland McGrath (#336951, #337011) + * Fri Oct 12 2007 Panu Matilainen 4.4.2.2-3 - add OSGi dependency generator script