diff --git a/tests/manual/trk/adapter.cpp b/tests/manual/trk/adapter.cpp index 8e2b447e8a9d4c5b0f2f52c8042a3a7bc3bd27bd..da11abedba774136211c58ff82863c97fbe14433 100644 --- a/tests/manual/trk/adapter.cpp +++ b/tests/manual/trk/adapter.cpp @@ -776,8 +776,31 @@ void Adapter::handleGdbResponse(const QByteArray &response) // Command: 0x80 Acknowledge // Error: 0x00 // [80 09 00 00 00 00 0A] - } - + } else if (response.startsWith("qPart:") || response.startsWith("qXfer:")) { + QByteArray data = response.mid(1 + response.indexOf(':')); + // "qPart:auxv:read::0,147": Read OS auxiliary data (see info aux) + bool handled = false; + if (data.startsWith("auxv:read::")) { + const int offsetPos = data.lastIndexOf(':') + 1; + const int commaPos = data.lastIndexOf(','); + if (commaPos != -1) { + bool ok1 = false, ok2 = false; + const int offset = data.mid(offsetPos, commaPos - offsetPos).toInt(&ok1, 16); + const int length = data.mid(commaPos + 1).toInt(&ok2, 16); + if (ok1 && ok2) { + const QString msg = QString::fromLatin1("Read of OS auxilary vector (%1, %2) not implemented.").arg(offset).arg(length); + logMessage(msgGdbPacket(msg), true); + sendGdbMessage("E20", msg.toLatin1()); + handled = true; + } + } + } // auxv read + if (!handled) { + const QString msg = QLatin1String("FIXME unknown 'XFER'-request: ") + QString::fromAscii(response); + logMessage(msgGdbPacket(msg), true); + sendGdbMessage("E20", msg.toLatin1()); + } + } // qPart/qXfer else { logMessage(msgGdbPacket(QLatin1String("FIXME unknown: ") + QString::fromAscii(response))); } diff --git a/tests/manual/trk/run.pl b/tests/manual/trk/run.pl index 3e62c99111c3d40faf574f4dca181604be43f18d..2d5a0700242014d8dccc5a47493c05cf821bd6e5 100755 --- a/tests/manual/trk/run.pl +++ b/tests/manual/trk/run.pl @@ -130,7 +130,11 @@ if ($adapterpid == 0) { exit(0); } die ('Unable to launch adapter') if $adapterpid == -1; -waitpid($adapterpid, 0) if ($waitAdapter > 0); + +if ($waitAdapter > 0) { + print '### kill -USR1 ',$adapterpid,"\n"; + waitpid($adapterpid, 0); +} # ------- Write out .gdbinit my $gdbInit = <<EOF; # This is generated. Changes will be lost.