commit kdbg for openSUSE:Factory
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-maintainers@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 - wbauer@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/", "j6t@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+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de