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]

Reply via email to