Hello community,

here is the log from the commit of package kdbg for openSUSE:Factory checked in 
at 2012-11-12 07:03:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdbg (Old)
 and      /work/SRC/openSUSE:Factory/.kdbg.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdbg", Maintainer is "kde-maintain...@suse.de"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kdbg/kdbg.changes        2012-04-12 
09:29:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdbg.new/kdbg.changes   2012-11-12 
07:03:24.000000000 +0100
@@ -1,0 +2,10 @@
+Wed Nov  7 13:01:48 UTC 2012 - wba...@tmo.at
+
+- Update to 2.5.2
+  - Support for GDB 7.5.
+  - More of GDB's output is recognized in some corner cases
+  - The thread list parser introduced in 2.5.1 sometimes stripped two letters
+    from the function name.
+- patched to ignore messages about debuginfo-packages from openSUSE's gdb
+
+-------------------------------------------------------------------

Old:
----
  kdbg-2.5.1.tar.gz

New:
----
  kdbg-2.5.2.tar.gz
  opensuse-gdb.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kdbg.spec ++++++
--- /var/tmp/diff_new_pack.OWalXs/_old  2012-11-12 07:03:25.000000000 +0100
+++ /var/tmp/diff_new_pack.OWalXs/_new  2012-11-12 07:03:25.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           kdbg
-Version:        2.5.1
+Version:        2.5.2
 Release:        0
 Summary:        Graphical User Interface for GDB
 License:        GPL-2.0+
@@ -25,6 +25,7 @@
 Url:            http://www.kdbg.org/
 Source0:        %{name}-%{version}.tar.gz
 Patch1:         susepatches.diff
+Patch2:         opensuse-gdb.diff
 BuildRequires:  fdupes
 BuildRequires:  libkde4-devel
 Requires:       gdb
@@ -50,6 +51,7 @@
 %prep
 %setup -q
 %patch1 -p1
+%patch2 -p1
 
 %build
   %cmake_kde4 -d build
@@ -77,7 +79,7 @@
 
 %files
 %defattr(-,root,root)
-%doc COPYING BUGS ChangeLog-pre-2.2.0 TODO README ReleaseNotes-2.2.0 
ReleaseNotes-2.2.1 ReleaseNotes-2.2.2 ReleaseNotes-2.5.0
+%doc COPYING BUGS ChangeLog-pre-2.2.0 TODO README ReleaseNotes-*
 %{_kde4_applicationsdir}/kdbg.desktop
 %{_kde4_appsdir}/kdbg
 %{_kde4_bindir}/kdbg

++++++ kdbg-2.5.1.tar.gz -> kdbg-2.5.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdbg-2.5.1/CMakeLists.txt 
new/kdbg-2.5.2/CMakeLists.txt
--- old/kdbg-2.5.1/CMakeLists.txt       2011-10-23 21:34:52.000000000 +0200
+++ new/kdbg-2.5.2/CMakeLists.txt       2012-08-22 22:00:02.000000000 +0200
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-set(KDBG_VERSION 2.5.1)
+set(KDBG_VERSION 2.5.2)
 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/kdbg/version.h.cmake 
${CMAKE_CURRENT_BINARY_DIR}/kdbg/version.h)
 
 find_package(KDE4 REQUIRED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdbg-2.5.1/ReleaseNotes-2.5.2 
new/kdbg-2.5.2/ReleaseNotes-2.5.2
--- old/kdbg-2.5.1/ReleaseNotes-2.5.2   1970-01-01 01:00:00.000000000 +0100
+++ new/kdbg-2.5.2/ReleaseNotes-2.5.2   2012-08-22 22:00:02.000000000 +0200
@@ -0,0 +1,14 @@
+KDbg Release Notes for version 2.5.2
+====================================
+
+Changes since 2.5.1
+-------------------
+
+Bug fixes
+
+- Support for GDB 7.5.
+
+- More of GDB's output is recognized in some corner cases
+
+- The thread list parser introduced in 2.5.1 sometimes stripped two letters
+  from the function name.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdbg-2.5.1/kdbg/gdbdriver.cpp 
new/kdbg-2.5.2/kdbg/gdbdriver.cpp
--- old/kdbg-2.5.1/kdbg/gdbdriver.cpp   2011-10-23 21:34:52.000000000 +0200
+++ new/kdbg-2.5.2/kdbg/gdbdriver.cpp   2012-08-22 22:00:02.000000000 +0200
@@ -688,6 +688,9 @@
 static bool parseErrorMessage(const char*& output,
                              ExprValue*& variable, bool wantErrorValue)
 {
+    while (isspace(*output))
+        output++;
+
     // skip warnings
     while (strncmp(output, "warning:", 8) == 0)
     {
@@ -696,6 +699,8 @@
            output += strlen(output);
        else
            output = end+1;
+        while (isspace(*output))
+            output++;
     }
 
     if (isErrorExpr(output))
@@ -1099,6 +1104,23 @@
            }
        }
     }
+    /*
+     * There's a bug in gdb where it prints the beginning of the string
+     * continuation and the comma-blank in the wrong order if the new string
+     * begins with an incomplete multi-byte character. For now, let's check
+     * for this in a very narrow condition, particularly, where the next
+     * character is given in octal notation. Example:
+     *     'a' <repeats 20 times>"\240, b"
+     */
+    if (*p == '"' && p[1] == '\\' && isdigit(p[2])) {
+       int i = 3;
+       while (isdigit(p[i]))
+           ++i;
+       if (p[i] == ',' && p[i+1] == ' ') {
+           // just treat everything beginning at the dquote as string
+           goto moreStrings;
+       }
+    }
     /* very long strings are followed by `...' */
     if (*p == '.' && p[1] == '.' && p[2] == '.') {
        p += 3;
@@ -1951,6 +1973,7 @@
                // syntax error; bail out
                return threads;
            }
+           end += 2;
        } else {
            // In the new format lies crazyness: there is no definitive
            // end marker. At best we can guess when the SYSTAG ends.
@@ -1984,8 +2007,8 @@
                    ++end;
            }
        }
-       thr.threadName = QString::fromLatin1(p, end-p);
-       p = end+2;
+       thr.threadName = QString::fromLatin1(p, end-p).trimmed();
+       p = end;
 
        /*
         * Now follows a standard stack frame. Sometimes, however, gdb
@@ -2165,8 +2188,10 @@
      * Lines starting with the following do not indicate errors:
      *     Using host libthread_db
      *     (no debugging symbols found)
+     *     Reading symbols from
      */
-    while (strncmp(output, "Using host libthread_db", 23) == 0 ||
+    while (strncmp(output, "Reading symbols from", 20) == 0 ||
+          strncmp(output, "Using host libthread_db", 23) == 0 ||
           strncmp(output, "(no debugging symbols found)", 28) == 0)
     {
        // this line is good, go to the next one
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdbg-2.5.1/kdbg/main.cpp new/kdbg-2.5.2/kdbg/main.cpp
--- old/kdbg-2.5.1/kdbg/main.cpp        2011-10-23 21:34:52.000000000 +0200
+++ new/kdbg-2.5.2/kdbg/main.cpp        2012-08-22 22:00:02.000000000 +0200
@@ -24,7 +24,7 @@
                         KDBG_VERSION,
                         ki18n("A Debugger"),
                         KAboutData::License_GPL, 
-                        ki18n("(c) 1998-2011 Johannes Sixt"),
+                        ki18n("(c) 1998-2012 Johannes Sixt"),
                         KLocalizedString(),    /* any text */
                         "http://www.kdbg.org/";,
                         "j...@kdbg.org");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdbg-2.5.1/kdbg/sourcewnd.cpp 
new/kdbg-2.5.2/kdbg/sourcewnd.cpp
--- old/kdbg-2.5.1/kdbg/sourcewnd.cpp   2011-10-23 21:34:52.000000000 +0200
+++ new/kdbg-2.5.2/kdbg/sourcewnd.cpp   2012-08-22 22:00:02.000000000 +0200
@@ -164,8 +164,10 @@
            continue;
 
        QRect r = 
blockBoundingGeometry(block).translated(contentOffset()).toRect();
-       if (r.top() > event->rect().bottom() || r.bottom() < 
event->rect().top())
-           continue;
+       if (r.bottom() < event->rect().top())
+           continue; // skip blocks that are higher than the region being 
updated
+       else if (r.top() > event->rect().bottom())
+           break;    // all the following blocks are lower then the region 
being updated
 
        int row = block.blockNumber();
        uchar item = m_lineItems[row];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdbg-2.5.1/kdbg/testprogs/.gitignore 
new/kdbg-2.5.2/kdbg/testprogs/.gitignore
--- old/kdbg-2.5.1/kdbg/testprogs/.gitignore    2011-10-23 21:34:52.000000000 
+0200
+++ new/kdbg-2.5.2/kdbg/testprogs/.gitignore    2012-08-22 22:00:02.000000000 
+0200
@@ -1,4 +1,5 @@
 anonstruct
+lambda
 locals
 longdouble
 maths
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdbg-2.5.1/kdbg/testprogs/Makefile 
new/kdbg-2.5.2/kdbg/testprogs/Makefile
--- old/kdbg-2.5.1/kdbg/testprogs/Makefile      2011-10-23 21:34:52.000000000 
+0200
+++ new/kdbg-2.5.2/kdbg/testprogs/Makefile      2012-08-22 22:00:02.000000000 
+0200
@@ -6,6 +6,7 @@
 
 PROGS = \
        anonstruct \
+       lambda \
        locals \
        longdouble \
        maths \
@@ -22,6 +23,9 @@
 anonstruct: anonstruct.cpp
        g++ -o $@ $(CXXFLAGS) $^
 
+lambda: lambda.cpp
+       g++ --std=c++0x -o $@ $(CXXFLAGS) $^
+
 locals: locals.cpp
        g++ -o $@ $(CXXFLAGS) $^
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdbg-2.5.1/kdbg/testprogs/lambda.cpp 
new/kdbg-2.5.2/kdbg/testprogs/lambda.cpp
--- old/kdbg-2.5.1/kdbg/testprogs/lambda.cpp    1970-01-01 01:00:00.000000000 
+0100
+++ new/kdbg-2.5.2/kdbg/testprogs/lambda.cpp    2012-08-22 22:00:02.000000000 
+0200
@@ -0,0 +1,33 @@
+// test C++11 lambdas
+
+#include <algorithm>
+#include <initializer_list>
+#include <iostream>
+#include <vector>
+
+template<typename T>
+struct X
+{
+       X() = default;
+       X(std::initializer_list<T> l) : m_v(l)
+       {
+               for (auto i = l.begin(); i != l.end(); ++i)
+               {
+                       std::cout << *i << std::endl;
+               }
+       }
+       void outmult(int factor)
+       {
+               auto f = [&factor](const T& a) {
+                       std::cout << (a*factor) << std::endl;
+               };
+               for_each(m_v.begin(), m_v.end(), f);
+       }
+       std::vector<T> m_v;
+};
+
+int main()
+{
+       X<unsigned> x{ 1, 1, 2, 3,  5, 8 };
+       x.outmult(3);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kdbg-2.5.1/kdbg/testprogs/repeats.cpp 
new/kdbg-2.5.2/kdbg/testprogs/repeats.cpp
--- old/kdbg-2.5.1/kdbg/testprogs/repeats.cpp   2011-10-23 21:34:52.000000000 
+0200
+++ new/kdbg-2.5.2/kdbg/testprogs/repeats.cpp   2012-08-22 22:00:02.000000000 
+0200
@@ -1,5 +1,6 @@
 // test <repeats 30 times> in arrays
 
+#include <iostream>
 #include <qstring.h>
 
 struct Big {
@@ -14,6 +15,16 @@
 }
 
 
+static void IncompleteCharTest()
+{
+    // this string triggers a bug in gdb's string dumping routine
+    char s1[] = "abbbbbbbbbbbbbbbbbbbb\240ccc";
+    char s2[] = 
"abbbbbbbbbbbbbbbbbbbb\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240\240ccc";
+    // this variable should be visible in the Local Variables window
+    int n = 2;
+    std::cout << s1 << s2 << n << std::endl;
+}
+
 int main()
 {
     struct Big big = {{{ 2,}}};
@@ -37,5 +48,6 @@
     for (int i = 0; i < 300; i++)
            many[i] = i;
 
+    IncompleteCharTest();
     return 0;
 }

++++++ opensuse-gdb.diff ++++++
--- a/kdbg/gdbdriver.cpp
+++ b/kdbg/gdbdriver.cpp
@@ -2191,6 +2191,8 @@
      *     Reading symbols from
      */
     while (strncmp(output, "Reading symbols from", 20) == 0 ||
+          strncmp(output, "done.", 5) == 0 ||
+          strncmp(output, "Missing separate debuginfos", 27) == 0 ||
           strncmp(output, "Using host libthread_db", 23) == 0 ||
           strncmp(output, "(no debugging symbols found)", 28) == 0)
     {
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to