Hello community,
here is the log from the commit of package crash for openSUSE:Factory
checked in at Fri Oct 14 09:47:09 CEST 2011.
--------
--- openSUSE:Factory/crash/crash.changes 2011-10-13 00:12:09.000000000 +0200
+++ /mounts/work_src_done/STABLE/crash/crash.changes 2011-10-13 15:40:34.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Oct 13 13:39:36 UTC 2011 - ptesarik@suse.cz
+
+- crash-debuginfo-compressed.patch: Search debuginfo files in the
+ same directory as the original gzipped kernel image (bnc#723639).
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
crash-debuginfo-compressed.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ crash.spec ++++++
--- /var/tmp/diff_new_pack.UUj4Yv/_old 2011-10-14 09:47:04.000000000 +0200
+++ /var/tmp/diff_new_pack.UUj4Yv/_new 2011-10-14 09:47:04.000000000 +0200
@@ -57,6 +57,7 @@
Patch6: %{name}-crosscrash-hint.diff
Patch7: %{name}-rl_digit_loop-return.patch
Patch8: %{name}-missing-declarations.patch
+Patch9: %{name}-debuginfo-compressed.patch
Patch90: %{name}-sial-ps-2.6.29.diff
BuildRequires: bison flex ncurses-devel zlib-devel
Requires: /usr/bin/nm
@@ -207,6 +208,7 @@
%patch6 -p1
%patch7 -p1
%patch8 -p1
+%patch9 -p1
## SIAL patches
cd sial-scripts-%{scripts_version}
%patch90 -p1
++++++ crash-debuginfo-compressed.patch ++++++
From: Petr Tesarik
Subject: Search debuginfo files in the original directory
References: bnc#723639
If debuginfo is in a separate file and the kernel image is compressed,
then it should be found in the same directory as the original (compressed)
image, not in the directory with the uncompressed image (TMPDIR).
Signed-off-by: Petr Tesarik
---
symbols.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
--- a/symbols.c
+++ b/symbols.c
@@ -182,9 +182,9 @@ symtab_init(void)
* Pull a bait-and-switch on st->bfd if we've got a separate
* .gnu_debuglink file that matches the CRC. Not done for kerntypes.
*/
- if (!(LKCD_KERNTYPES()) &&
- !(bfd_get_file_flags(st->bfd) & HAS_SYMS)) {
- if (!check_gnu_debuglink(st->bfd))
+ if (!(LKCD_KERNTYPES())) {
+ if (!check_gnu_debuglink(st->bfd) &&
+ !(bfd_get_file_flags(st->bfd) & HAS_SYMS))
no_debugging_data(FATAL);
}
@@ -243,13 +243,16 @@ check_gnu_debuglink(bfd *bfd)
char *contents;
int crc_offset;
unsigned long crc32;
+ char *namelist;
char *dirname;
char *namelist_debug;
char **matching;
+ namelist = pc->namelist_orig ? pc->namelist_orig : pc->namelist;
+
sect = bfd_get_section_by_name(bfd, ".gnu_debuglink");
if (!sect) {
- error(INFO, "%s: no .gnu_debuglink section\n", pc->namelist);
+ error(INFO, "%s: no .gnu_debuglink section\n", namelist);
return FALSE;
}
@@ -270,14 +273,14 @@ check_gnu_debuglink(bfd *bfd)
contents, crc32);
if ((pc->debuginfo_file = (char *)
- malloc(((strlen(pc->namelist) + strlen("/.debug/") +
+ malloc(((strlen(namelist) + strlen("/.debug/") +
+ strlen(".debug") + strlen(" /usr/lib/debug/boot/ "))*10)
+ strlen(pc->namelist_debug ? pc->namelist_debug : " "))) == NULL)
error(FATAL, "debuginfo file name malloc: %s\n",
strerror(errno));
- dirname = GETBUF(strlen(pc->namelist)+1);
- strcpy(dirname, pc->namelist);
+ dirname = GETBUF(strlen(namelist)+1);
+ strcpy(dirname, namelist);
for (i = strlen(dirname)-1; i >= 0; i--)
{
continue with "q"...
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org