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 - [email protected] + +- 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 <[email protected]> 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 <[email protected]> --- 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: [email protected] For additional commands, e-mail: [email protected]
