Debuginfo for O0
This commit is contained in:
parent
ed558aec24
commit
bb1df7b9cf
89
rpm-4.4.2-debugopt.patch
Normal file
89
rpm-4.4.2-debugopt.patch
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
--- rpm-4.4.2/tools/debugedit.c.dbgopt 2006-10-31 09:29:53.000000000 +0000
|
||||||
|
+++ rpm-4.4.2/tools/debugedit.c 2006-10-31 09:29:59.000000000 +0000
|
||||||
|
@@ -724,37 +724,57 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (t->attr[i].attr == DW_AT_comp_dir) {
|
||||||
|
- if (form == DW_FORM_strp &&
|
||||||
|
- debug_sections[DEBUG_STR].data)
|
||||||
|
- {
|
||||||
|
- char *dir;
|
||||||
|
-
|
||||||
|
- dir = debug_sections[DEBUG_STR].data
|
||||||
|
- + do_read_32_relocated (ptr);
|
||||||
|
- free (comp_dir);
|
||||||
|
- comp_dir = strdup (dir);
|
||||||
|
+ if (t->attr[i].attr == DW_AT_comp_dir)
|
||||||
|
+ {
|
||||||
|
+ if ( form == DW_FORM_string )
|
||||||
|
+ {
|
||||||
|
+ free (comp_dir);
|
||||||
|
+ comp_dir = strdup (ptr);
|
||||||
|
+
|
||||||
|
+ if (phase == 1 && dest_dir && has_prefix (ptr, base_dir))
|
||||||
|
+ {
|
||||||
|
+ base_len = strlen (base_dir);
|
||||||
|
+ dest_len = strlen (dest_dir);
|
||||||
|
+
|
||||||
|
+ memcpy (ptr, dest_dir, dest_len);
|
||||||
|
+ if (dest_len < base_len)
|
||||||
|
+ {
|
||||||
|
+ memset(ptr + dest_len, '/',
|
||||||
|
+ base_len - dest_len);
|
||||||
|
+
|
||||||
|
+ }
|
||||||
|
+ elf_flagdata (debug_sections[DEBUG_INFO].elf_data,
|
||||||
|
+ ELF_C_SET, ELF_F_DIRTY);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ else if (form == DW_FORM_strp &&
|
||||||
|
+ debug_sections[DEBUG_STR].data)
|
||||||
|
+ {
|
||||||
|
+ char *dir;
|
||||||
|
|
||||||
|
- if (phase == 1 && dest_dir && has_prefix (dir, base_dir))
|
||||||
|
- {
|
||||||
|
- base_len = strlen (base_dir);
|
||||||
|
- dest_len = strlen (dest_dir);
|
||||||
|
+ dir = debug_sections[DEBUG_STR].data
|
||||||
|
+ + do_read_32_relocated (ptr);
|
||||||
|
+
|
||||||
|
+ free (comp_dir);
|
||||||
|
+ comp_dir = strdup (dir);
|
||||||
|
+
|
||||||
|
+ if (phase == 1 && dest_dir && has_prefix (dir, base_dir))
|
||||||
|
+ {
|
||||||
|
+ base_len = strlen (base_dir);
|
||||||
|
+ dest_len = strlen (dest_dir);
|
||||||
|
|
||||||
|
- memcpy (dir, dest_dir, dest_len);
|
||||||
|
- if (dest_len < base_len)
|
||||||
|
- {
|
||||||
|
- memmove (dir + dest_len, dir + base_len,
|
||||||
|
- strlen (dir + base_len) + 1);
|
||||||
|
- }
|
||||||
|
- elf_flagdata (debug_sections[DEBUG_STR].elf_data,
|
||||||
|
- ELF_C_SET, ELF_F_DIRTY);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- else if (form == DW_FORM_string) {
|
||||||
|
- free(comp_dir);
|
||||||
|
- comp_dir = strdup (ptr);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
+ memcpy (dir, dest_dir, dest_len);
|
||||||
|
+ if (dest_len < base_len)
|
||||||
|
+ {
|
||||||
|
+ memmove (dir + dest_len, dir + base_len,
|
||||||
|
+ strlen (dir + base_len) + 1);
|
||||||
|
+ }
|
||||||
|
+ elf_flagdata (debug_sections[DEBUG_STR].elf_data,
|
||||||
|
+ ELF_C_SET, ELF_F_DIRTY);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
else if ((t->tag == DW_TAG_compile_unit
|
||||||
|
|| t->tag == DW_TAG_partial_unit)
|
||||||
|
&& t->attr[i].attr == DW_AT_name
|
15
rpm.spec
15
rpm.spec
@ -20,7 +20,7 @@ Name: rpm
|
|||||||
%define version 4.4.2
|
%define version 4.4.2
|
||||||
Version: %{version}
|
Version: %{version}
|
||||||
%{expand: %%define rpm_version %{version}}
|
%{expand: %%define rpm_version %{version}}
|
||||||
Release: 32
|
Release: 34%{?dist}
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Source: ftp://wraptastic.org/pub/rpm-4.4.x/rpm-%{rpm_version}.tar.gz
|
Source: ftp://wraptastic.org/pub/rpm-4.4.x/rpm-%{rpm_version}.tar.gz
|
||||||
Source1: mono-find-provides
|
Source1: mono-find-provides
|
||||||
@ -58,6 +58,8 @@ Patch29: rpm-4.4.2-rpmio-ipv6.patch
|
|||||||
Patch30: rpm-4.4.2-gnuhash.patch
|
Patch30: rpm-4.4.2-gnuhash.patch
|
||||||
Patch31: rpm-4.4.2-debugedit-ppc-reloc.patch
|
Patch31: rpm-4.4.2-debugedit-ppc-reloc.patch
|
||||||
Patch32: rpm-4.4.2-debugpaths.patch
|
Patch32: rpm-4.4.2-debugpaths.patch
|
||||||
|
Patch33: rpm-4.4.2-transaction-order.patch
|
||||||
|
Patch34: rpm-4.4.2-debugopt.patch
|
||||||
License: GPL
|
License: GPL
|
||||||
Conflicts: patch < 2.5
|
Conflicts: patch < 2.5
|
||||||
%ifos linux
|
%ifos linux
|
||||||
@ -203,6 +205,8 @@ shell-like rules.
|
|||||||
%patch30 -p1 -b .gnuhash
|
%patch30 -p1 -b .gnuhash
|
||||||
%patch31 -p0 -b .dbgppc
|
%patch31 -p0 -b .dbgppc
|
||||||
%patch32 -p1 -b .dbgpaths
|
%patch32 -p1 -b .dbgpaths
|
||||||
|
%patch33 -p1 -b .order
|
||||||
|
%patch34 -p1 -b .dbgopt
|
||||||
|
|
||||||
# rebuild configure for ipv6
|
# rebuild configure for ipv6
|
||||||
autoconf
|
autoconf
|
||||||
@ -219,7 +223,8 @@ WITH_PYTHON="--without-python"
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifos linux
|
%ifos linux
|
||||||
CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
|
CFLAGS=$(echo "$RPM_OPT_FLAGS" | sed 's/O2/O0/')
|
||||||
|
export CFLAGS
|
||||||
./configure --prefix=%{__prefix} --sysconfdir=/etc \
|
./configure --prefix=%{__prefix} --sysconfdir=/etc \
|
||||||
--localstatedir=/var --infodir='${prefix}%{__share}/info' \
|
--localstatedir=/var --infodir='${prefix}%{__share}/info' \
|
||||||
--mandir='${prefix}%{__share}/man' \
|
--mandir='${prefix}%{__share}/man' \
|
||||||
@ -599,6 +604,12 @@ exit 0
|
|||||||
%{__includedir}/popt.h
|
%{__includedir}/popt.h
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Oct 31 2006 Paul Nasrat <pnasrat@redhat.com> - 4.4.2-34
|
||||||
|
- Debuginfo extraction with O0
|
||||||
|
|
||||||
|
* Wed Oct 25 2006 Paul Nasrat <pnasrat@redhat.com> - 4.4.2-33
|
||||||
|
- Fix for ordering (#202540, #202542, #202543, #202544)
|
||||||
|
|
||||||
* Thu Sep 07 2006 Paul Nasrat <pnasrat@redhat.com> - 4.4.2-32
|
* Thu Sep 07 2006 Paul Nasrat <pnasrat@redhat.com> - 4.4.2-32
|
||||||
- Various debuginfo fixes (#165434, #165418, #149113, #205339)
|
- Various debuginfo fixes (#165434, #165418, #149113, #205339)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user