Hello community, here is the log from the commit of package kdbg for openSUSE:Factory checked in at 2013-11-12 15:08:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdbg (Old) and /work/SRC/openSUSE:Factory/.kdbg.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdbg" Changes: -------- --- /work/SRC/openSUSE:Factory/kdbg/kdbg.changes 2013-04-18 10:19:03.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kdbg.new/kdbg.changes 2013-11-12 15:08:33.000000000 +0100 @@ -1,0 +2,13 @@ +Mon Nov 11 13:38:05 UTC 2013 - [email protected] + +- Update to 2.5.4: + * Source file names with international characters are handled better. + * When an executable is loaded, GDBs of different vintage print different + text, some of which were treated as error text incorrectly, leading to + failed debugging sessions. More of these texts are now ignored. + * Variables pointing to some global variable lacked the ability to be + expanded with recent GDBs. + * Parsing of string values residing in global variables was fixed. +- Removed opensuse-gdb.diff, it's included upstream now + +------------------------------------------------------------------- Old: ---- kdbg-2.5.3.tar.gz opensuse-gdb.diff New: ---- kdbg-2.5.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdbg.spec ++++++ --- /var/tmp/diff_new_pack.90Ou4B/_old 2013-11-12 15:08:34.000000000 +0100 +++ /var/tmp/diff_new_pack.90Ou4B/_new 2013-11-12 15:08:34.000000000 +0100 @@ -17,7 +17,7 @@ Name: kdbg -Version: 2.5.3 +Version: 2.5.4 Release: 0 Summary: Graphical User Interface for GDB License: GPL-2.0+ @@ -25,7 +25,6 @@ Url: http://www.kdbg.org/ Source0: %{name}-%{version}.tar.gz Patch1: susepatches.diff -Patch2: opensuse-gdb.diff BuildRequires: fdupes BuildRequires: libkde4-devel Requires: gdb @@ -51,7 +50,6 @@ %prep %setup -q %patch1 -p1 -%patch2 -p1 %build %cmake_kde4 -d build ++++++ kdbg-2.5.3.tar.gz -> kdbg-2.5.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-2.5.3/CMakeLists.txt new/kdbg-2.5.4/CMakeLists.txt --- old/kdbg-2.5.3/CMakeLists.txt 2013-04-01 16:59:28.000000000 +0200 +++ new/kdbg-2.5.4/CMakeLists.txt 2013-11-09 20:32:33.000000000 +0100 @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 2.6) -set(KDBG_VERSION 2.5.3) +set(KDBG_VERSION 2.5.4) 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.3/ReleaseNotes-2.5.4 new/kdbg-2.5.4/ReleaseNotes-2.5.4 --- old/kdbg-2.5.3/ReleaseNotes-2.5.4 1970-01-01 01:00:00.000000000 +0100 +++ new/kdbg-2.5.4/ReleaseNotes-2.5.4 2013-11-09 20:32:33.000000000 +0100 @@ -0,0 +1,18 @@ +KDbg Release Notes for version 2.5.4 +==================================== + +Changes since 2.5.3 +------------------- + +Bug fixes + +- Source file names with international characters are handled better. + +- When an executable is loaded, GDBs of different vintage print different + text, some of which were treated as error text incorrectly, leading to + failed debugging sessions. More of these texts are now ignored. + +- Variables pointing to some global variable lacked the ability to be + expanded with recent GDBs. + +- Parsing of string values residing in global variables was fixed. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-2.5.3/kdbg/dbgdriver.cpp new/kdbg-2.5.4/kdbg/dbgdriver.cpp --- old/kdbg-2.5.3/kdbg/dbgdriver.cpp 2013-04-01 16:59:28.000000000 +0200 +++ new/kdbg-2.5.4/kdbg/dbgdriver.cpp 2013-11-09 20:32:33.000000000 +0100 @@ -202,7 +202,7 @@ // write also to log file if (m_logFile.isOpen()) { - m_logFile.write(str, cmd->m_cmdString.length()); + m_logFile.write(str); m_logFile.flush(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-2.5.3/kdbg/gdbdriver.cpp new/kdbg-2.5.4/kdbg/gdbdriver.cpp --- old/kdbg-2.5.3/kdbg/gdbdriver.cpp 2013-04-01 16:59:28.000000000 +0200 +++ new/kdbg-2.5.4/kdbg/gdbdriver.cpp 2013-11-09 20:32:33.000000000 +0100 @@ -434,7 +434,7 @@ } QString cmdString; - cmdString.sprintf(cmds[cmd].fmt, strArg.toLatin1().constData()); + cmdString.sprintf(cmds[cmd].fmt, strArg.toUtf8().constData()); return cmdString; } @@ -540,11 +540,11 @@ // must split off file name part strArg = QFileInfo(strArg).fileName(); } - cmdString.sprintf(cmds[cmd].fmt, strArg.toLatin1().constData(), intArg); + cmdString.sprintf(cmds[cmd].fmt, strArg.toUtf8().constData(), intArg); } else { - cmdString.sprintf(cmds[cmd].fmt, intArg, strArg.toLatin1().constData()); + cmdString.sprintf(cmds[cmd].fmt, intArg, strArg.toUtf8().constData()); } return cmdString; } @@ -559,8 +559,8 @@ QString cmdString; cmdString.sprintf(cmds[cmd].fmt, - strArg1.toLatin1().constData(), - strArg2.toLatin1().constData()); + strArg1.toUtf8().constData(), + strArg2.toUtf8().constData()); return cmdString; } @@ -1266,6 +1266,7 @@ // 10 '\n' // <optimized out> // 0x823abc <Array<int> virtual table> + // 0x40240f <globarstr> "test" // (void (*)()) 0x8048480 <f(E *, char)> // (E *) 0xbffff450 // red @@ -1406,30 +1407,34 @@ // string values never contain a literal line break variable->m_value.replace('\n', ' '); - if (checkMultiPart) { + while (checkMultiPart) { // white space while (isspace(*p)) p++; // may be followed by a string or <...> + // if this was a pointer with a string, + // reset that pointer flag since we have now a value start = p; - + checkMultiPart = false; + if (*p == '"' || *p == '\'') { skipString(p); + variable->m_varKind = VarTree::VKsimple; } else if (*p == 'L' && (p[1] == '"' || p[1] == '\'')) { skipString(p); // wchar_t string + variable->m_varKind = VarTree::VKsimple; } else if (*p == '<') { // if this value is part of an array, it might be followed // by <repeats 15 times>, which we don't skip here - if (strncmp(p, "<repeats ", 9) != 0) + if (strncmp(p, "<repeats ", 9) != 0) { skipNestedAngles(p); + checkMultiPart = true; + } } if (p != start) { // there is always a blank before the string, // which we will include in the final string value variable->m_value += QString::fromLatin1(start-1, (p - start)+1); - // if this was a pointer, reset that flag since we - // now got the value - variable->m_varKind = VarTree::VKsimple; } } @@ -2236,6 +2241,9 @@ * Reading symbols from */ while (strncmp(output, "Reading symbols from", 20) == 0 || + strncmp(output, "done.", 5) == 0 || + strncmp(output, "Missing separate debuginfo", 26) == 0 || + strncmp(output, "Try: ", 5) == 0 || strncmp(output, "Using host libthread_db", 23) == 0 || strncmp(output, "(no debugging symbols found)", 28) == 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-2.5.3/kdbg/regwnd.cpp new/kdbg-2.5.4/kdbg/regwnd.cpp --- old/kdbg-2.5.3/kdbg/regwnd.cpp 2013-04-01 16:59:28.000000000 +0200 +++ new/kdbg-2.5.4/kdbg/regwnd.cpp 2013-11-09 20:32:33.000000000 +0100 @@ -320,11 +320,13 @@ static QString toFloat(const QString& hex, char p) { - uint bits; int prec=6; - if (hex.length()<=10) { bits=32; prec=6; } - else if (hex.length()<=18) { bits=64; prec=17; } - else { bits=80; prec=20; } + if (hex.length() <= 10) + prec = 6; + else if (hex.length() <= 18) + prec = 17; + else + prec = 20; char fmt[8] = "%.*Lf"; fmt[4] = p; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-2.5.3/kdbg/sourcewnd.cpp new/kdbg-2.5.4/kdbg/sourcewnd.cpp --- old/kdbg-2.5.3/kdbg/sourcewnd.cpp 2013-04-01 16:59:28.000000000 +0200 +++ new/kdbg-2.5.4/kdbg/sourcewnd.cpp 2013-11-09 20:32:33.000000000 +0100 @@ -172,7 +172,6 @@ int row = block.blockNumber(); uchar item = m_lineItems[row]; - QPoint pt = r.topLeft(); int h = r.height(); p->save(); p->translate(0, r.top()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-2.5.3/kdbg/testprogs/testfile.cpp new/kdbg-2.5.4/kdbg/testprogs/testfile.cpp --- old/kdbg-2.5.3/kdbg/testprogs/testfile.cpp 2013-04-01 16:59:28.000000000 +0200 +++ new/kdbg-2.5.4/kdbg/testprogs/testfile.cpp 2013-11-09 20:32:33.000000000 +0100 @@ -17,7 +17,8 @@ struct emptyVDerived : S { virtual ~emptyVDerived(){} }; struct emptyVNested : emptyVBase { }; -int globalvar = 1234; +S globalvar = { 1234, -18, &globalvar }; +static const char globarstr[] = "test"; class Cl { @@ -39,6 +40,7 @@ int operator()(const QString& x, int& y) const; operator const char*() { return 0; } operator PtrFunc*(); + void takeACStr(const char* cstr); }; namespace A { @@ -183,6 +185,7 @@ int n = 83; d1(strref, n); PtrFunc* ppf = d1; + d1.takeACStr(globarstr); } Cl::Cl(int r) : @@ -223,3 +226,8 @@ { return 0; } + +void Dl::takeACStr(const char* cstr) +{ + const char filespec[20] = "more test"; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdbg-2.5.3/kdbg/xsldbgdriver.cpp new/kdbg-2.5.4/kdbg/xsldbgdriver.cpp --- old/kdbg-2.5.3/kdbg/xsldbgdriver.cpp 2013-04-01 16:59:28.000000000 +0200 +++ new/kdbg-2.5.4/kdbg/xsldbgdriver.cpp 2013-11-09 20:32:33.000000000 +0100 @@ -366,7 +366,7 @@ } QString cmdString; - cmdString.sprintf(cmds[cmd].fmt, strArg.toLatin1().constData()); + cmdString.sprintf(cmds[cmd].fmt, strArg.toUtf8().constData()); return cmdString; } @@ -470,9 +470,9 @@ // must split off file name part strArg = QFileInfo(strArg).fileName(); } - cmdString.sprintf(cmds[cmd].fmt, strArg.toLatin1().constData(), intArg); + cmdString.sprintf(cmds[cmd].fmt, strArg.toUtf8().constData(), intArg); } else { - cmdString.sprintf(cmds[cmd].fmt, intArg, strArg.toLatin1().constData()); + cmdString.sprintf(cmds[cmd].fmt, intArg, strArg.toUtf8().constData()); } return cmdString; } @@ -489,8 +489,8 @@ QString cmdString; cmdString.sprintf(cmds[cmd].fmt, - strArg1.toLatin1().constData(), - strArg2.toLatin1().constData()); + strArg1.toUtf8().constData(), + strArg2.toUtf8().constData()); return cmdString; } @@ -698,7 +698,6 @@ parseVar(const char *&s) { const char *p = s; - bool foundLocalVar = false; ExprValue *variable = 0L; QString name; @@ -713,7 +712,6 @@ } if (strncmp(p, " Local", 6) == 0) { - foundLocalVar = true; /* skip " Local" */ p = p + 6; TRACE("Found local variable"); -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
