[Lldb-commits] [lldb] r253906 - Prevent ProcessGDBRemote from launching local debug server in case of remote debug server connection failure.

2015-11-23 Thread Oleksiy Vyalov via lldb-commits
Author: ovyalov
Date: Mon Nov 23 13:32:24 2015
New Revision: 253906

URL: http://llvm.org/viewvc/llvm-project?rev=253906=rev
Log:
Prevent ProcessGDBRemote from launching local debug server in case of remote 
debug server connection failure.

http://reviews.llvm.org/D14895


Modified:
lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp?rev=253906=253905=253906=diff
==
--- lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp Mon Nov 
23 13:32:24 2015
@@ -989,12 +989,7 @@ ProcessGDBRemote::DoLaunch (Module *exe_
 ObjectFile * object_file = exe_module->GetObjectFile();
 if (object_file)
 {
-// Make sure we aren't already connected?
-if (!m_gdb_comm.IsConnected())
-{
-error = LaunchAndConnectToDebugserver (launch_info);
-}
-
+error = EstablishConnectionIfNeeded (launch_info);
 if (error.Success())
 {
 lldb_utility::PseudoTerminal pty;
@@ -1374,21 +1369,7 @@ ProcessGDBRemote::DoAttachToProcessWithI
 Clear();
 if (attach_pid != LLDB_INVALID_PROCESS_ID)
 {
-// Make sure we aren't already connected?
-if (!m_gdb_comm.IsConnected())
-{
-error = LaunchAndConnectToDebugserver (attach_info);
-
-if (error.Fail())
-{
-const char *error_string = error.AsCString();
-if (error_string == NULL)
-error_string = "unable to launch " DEBUGSERVER_BASENAME;
-
-SetExitStatus (-1, error_string);
-}
-}
-
+error = EstablishConnectionIfNeeded (attach_info);
 if (error.Success())
 {
 m_gdb_comm.SetDetachOnError(attach_info.GetDetachOnError());
@@ -1398,6 +1379,8 @@ ProcessGDBRemote::DoAttachToProcessWithI
 SetID (attach_pid);
 m_async_broadcaster.BroadcastEvent (eBroadcastBitAsyncContinue, 
new EventDataBytes (packet, packet_len));
 }
+else
+SetExitStatus (-1, error.AsCString());
 }
 
 return error;
@@ -1412,21 +1395,7 @@ ProcessGDBRemote::DoAttachToProcessWithN
 
 if (process_name && process_name[0])
 {
-// Make sure we aren't already connected?
-if (!m_gdb_comm.IsConnected())
-{
-error = LaunchAndConnectToDebugserver (attach_info);
-
-if (error.Fail())
-{
-const char *error_string = error.AsCString();
-if (error_string == NULL)
-error_string = "unable to launch " DEBUGSERVER_BASENAME;
-
-SetExitStatus (-1, error_string);
-}
-}
-
+error = EstablishConnectionIfNeeded (attach_info);
 if (error.Success())
 {
 StreamString packet;
@@ -1455,6 +1424,8 @@ ProcessGDBRemote::DoAttachToProcessWithN
 m_async_broadcaster.BroadcastEvent (eBroadcastBitAsyncContinue, 
new EventDataBytes (packet.GetData(), packet.GetSize()));
 
 }
+else
+SetExitStatus (-1, error.AsCString());
 }
 return error;
 }
@@ -3541,6 +3512,27 @@ ProcessGDBRemote::DoSignal (int signo)
 return error;
 }
 
+Error
+ProcessGDBRemote::EstablishConnectionIfNeeded (const ProcessInfo _info)
+{
+// Make sure we aren't already connected?
+if (m_gdb_comm.IsConnected())
+return Error();
+
+PlatformSP platform_sp (GetTarget ().GetPlatform ());
+if (platform_sp && !platform_sp->IsHost ())
+return Error("Lost debug server connection");
+
+auto error = LaunchAndConnectToDebugserver (process_info);
+if (error.Fail())
+{
+const char *error_string = error.AsCString();
+if (error_string == nullptr)
+error_string = "unable to launch " DEBUGSERVER_BASENAME;
+}
+return error;
+}
+
 Error
 ProcessGDBRemote::LaunchAndConnectToDebugserver (const ProcessInfo 
_info)
 {

Modified: lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h?rev=253906=253905=253906=diff
==
--- lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h (original)
+++ lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h Mon Nov 23 
13:32:24 2015
@@ -354,6 +354,9 @@ protected:
   ThreadList _thread_list) override;
 
 Error
+EstablishConnectionIfNeeded (const ProcessInfo 

Re: [Lldb-commits] [PATCH] D14895: Prevent ProcessGDBRemote from launching local debug server in case of remote debug server connection failure

2015-11-23 Thread Oleksiy Vyalov via lldb-commits
ovyalov closed this revision.
ovyalov added a comment.

Files:

  /lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  /lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h

Users:

  ovyalov (Author)

http://reviews.llvm.org/rL253906


http://reviews.llvm.org/D14895



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] LLVM buildmaster will be restarted tonight

2015-11-23 Thread Galina Kistanova via lldb-commits
Hello everyone,

LLVM buildmaster will be updated restarted after 7 PM Pacific time today.

Thanks

Galina
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D10247: Fix crash when cu_comp_dir parameter to DWARFDebugLine::ParseSupportFiles() is an empty string

2015-11-23 Thread Ted Woodward via lldb-commits
ted abandoned this revision.
ted added a comment.

Handled by another patch


http://reviews.llvm.org/D10247



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] Define new builder_netbsd

2015-11-23 Thread Kamil Rytarowski via lldb-commits
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

For the reference, there was availability outage during this weekend
on reviews.llvm.org. I was suggested to send a patch to this mailing
list as a fall-back.

Please review and merge with the LLDB sources.

On 22.11.2015 17:23, Kamil Rytarowski via lldb-commits wrote:
> --- packages/Python/lldbsuite/test/lldbtest.py   | 2
> ++ packages/Python/lldbsuite/test/plugins/builder_netbsd.py | 4
>  2 files changed, 6 insertions(+) create mode 100644
> packages/Python/lldbsuite/test/plugins/builder_netbsd.py
> 
> diff --git a/packages/Python/lldbsuite/test/lldbtest.py
> b/packages/Python/lldbsuite/test/lldbtest.py index 2301616..8e648eb
> 100644 --- a/packages/Python/lldbsuite/test/lldbtest.py +++
> b/packages/Python/lldbsuite/test/lldbtest.py @@ -430,6 +430,8 @@
> def getsource_if_available(obj): def builder_module(): if
> sys.platform.startswith("freebsd"): return
> __import__("builder_freebsd") +if
> sys.platform.startswith("netbsd"): +return
> __import__("builder_netbsd") return __import__("builder_" +
> sys.platform)
> 
> def run_adb_command(cmd, device_id): diff --git
> a/packages/Python/lldbsuite/test/plugins/builder_netbsd.py
> b/packages/Python/lldbsuite/test/plugins/builder_netbsd.py new file
> mode 100644 index 000..e56be42 --- /dev/null +++
> b/packages/Python/lldbsuite/test/plugins/builder_netbsd.py @@ -0,0
> +1,4 @@ +from builder_base import * + +def buildDsym(sender=None,
> architecture=None, compiler=None, dictionary=None, clean=True): +
> return False
> 

-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iQIcBAEBCAAGBQJWUviQAAoJEEuzCOmwLnZsKGAP/1iKQbD+07c29aMT3ESV3cRn
HNXUe0DI7T2v/Qdoi1wIOvRjsu+FCKKTRnM15IKYJa9qrn9Hxl+yP8HAQ/1XDpbH
DpIP1knLEULoWYLH+KYoam6K4nD0fPuTvYYSguyCGj811nBeIxxPMBIKIT6nLsDO
XjFn/yAsWXxCJtpzJ55gkqPdAKxhampxt39OvV/nQM6NcEzqNWAlNKvmvXpIV3OA
bhYqcRkFXRffGoeAUrPVLvDFbfJDQ7pc6WZE/EgIlVr4QqPpUQNqcFPyYnZemcgV
GGpmcfRAZwDY0FFO6aWyfAMqC1R1lQ18OGCxEDNdwS8tss+nDpl8+17vtwIe2oFQ
E4DD888WpHizF9Rs/uJtNh1M2FWkQf/M4gMhjyUpWRpShr5Y29YfL92UrK/Mfi1o
e9/zH3MRgvJdS7N0Mxi9nr1O0ir/zHUltwSCTpTa5ikdo72ePpUB3qnd2403Mc9R
DvWGw3KOm7eB0ModRcJAn+gAp42hnzkaa3hTuPijUmZJa9K/auOsLLoa+Kvo/zKe
g0SZpnmbszvhCUyBzahaoTk+hNS17bpFlZTNzWU6oFjH/hL3C9fFHQ0aD+Cf4VWv
ll7QwH4o3eLpZrKIWuk163n73zoTregda8VT75s4tws90tA+sDAloeu3QBYbc2qY
JWlIeePx5Q0PghwpwyOP
=god9
-END PGP SIGNATURE-
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D14823: Disable forcing -marm (A32 instruction set) while running testsuite on arm targets.

2015-11-23 Thread Muhammad Omair Javaid via lldb-commits
omjavaid added a comment.

I agree with you on having multiple configuration options to help identify 
failures in different configurations.

What I mean is that we should keep clarity on architecture that is to use arm 
or aarch32 for 32bit and aarch64 for 64bit. With that we should run tests in 
default configurations which compiler is offering that means not to use any 
-m(arch) flag. This will help us Xfail based on architecture in default 
configuration.

Additional config option that we ll add later can take up values to test some 
additional flags specifying ABI and ISA features like thumb, nothumb, 
interwork, vfp, neon, soft float, hard float etc. We can then xfail if 
something fails based on these additional feature.


http://reviews.llvm.org/D14823



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D14860: [LLDB][MIPS] Getting 0 index for h/w watchpoint is not necessarily an error

2015-11-23 Thread Jaydeep Patil via lldb-commits
jaydeep accepted this revision.
jaydeep added a comment.
This revision is now accepted and ready to land.

Looks good to me.


Repository:
  rL LLVM

http://reviews.llvm.org/D14860



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D14895: Prevent ProcessGDBRemote from launching local debug server in case of remote debug server connection failure

2015-11-23 Thread Pavel Labath via lldb-commits
labath accepted this revision.
labath added a comment.
This revision is now accepted and ready to land.

Nice catch. Looks good.



Comment at: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp:3516
@@ -3544,1 +3515,3 @@
 Error
+ProcessGDBRemote::CheckDebugserverConnection (const ProcessInfo _info)
+{

I find this name somewhat misleading. `Check` would generally imply a read-only 
operation, but this actually establishes the connection in some circumstances. 
I'd go for `EstablishConnectionIfNeeded` or something like that.


http://reviews.llvm.org/D14895



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D14904: Document NetBSD platform support on the webpage

2015-11-23 Thread Pavel Labath via lldb-commits
labath added a subscriber: labath.


Comment at: www/build.html:345
@@ -344,3 +352,1 @@
 
-  LLDB has a Python scripting capability and supplies its own 
Python module named lldb.
-  If a script is run inside the command line lldb 
application, the Python module

I don't think you meant to delete this.


Repository:
  rL LLVM

http://reviews.llvm.org/D14904



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D14633: [LLDB][MIPS] Clear bug 25194 - LLDB-Server Assertion raised when single stepping on MIPS

2015-11-23 Thread Sagar Thakur via lldb-commits
sagar added a comment.

Hi,

Could we use SetBytes for now for clearing the bug 25194? I have tried using 
SetBytes(), it does not cause any issue on MIPS for both endian. Once we have a 
new function to llvm::APInt to access actual data I will revert back to using 
SetUInt. Kindly let me know if you agree with this.

Regards,
Sagar


Repository:
  rL LLVM

http://reviews.llvm.org/D14633



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D14937: swig_bot remote path preliminary implementation

2015-11-23 Thread Zachary Turner via lldb-commits
zturner created this revision.
zturner added a reviewer: tfiala.
zturner added a subscriber: lldb-commits.

With this patch, the client will package up all the required
inputs into a compressed zip file, establish a connection to the
server, send the input to the server, and wait for the server to
send a response (in this case the response is just echoed back to
the client).

This gets the network communication in place, and in a subsequent
patch I will follow up with the code that actually runs swig on
the server and sends back the output instead of echoing back the
input.

http://reviews.llvm.org/D14937

Files:
  scripts/swig_bot.py
  scripts/swig_bot_lib/client.py
  scripts/swig_bot_lib/local.py
  scripts/swig_bot_lib/server.py

Index: scripts/swig_bot_lib/server.py
===
--- scripts/swig_bot_lib/server.py
+++ scripts/swig_bot_lib/server.py
@@ -1,6 +1,79 @@
 #!/usr/bin/env python
 
+"""
+SWIG generation server.  Listens for connections from swig generation clients
+and runs swig in the requested fashion, sending back the results.
+"""
+
 # Future imports
 from __future__ import absolute_import
 from __future__ import print_function
 
+# Python modules
+import argparse
+import logging
+import os
+import socket
+import struct
+import sys
+import traceback
+
+# LLDB modules
+import use_lldb_suite
+
+# package imports
+from . import local
+
+default_port = 8537
+
+def process_args(args):
+# Setup the parser arguments that are accepted.
+parser = argparse.ArgumentParser(description='SWIG generation server.')
+
+parser.add_argument(
+"--port",
+action="store",
+default=default_port,
+help=("The local port to bind to"))
+
+# Process args.
+return parser.parse_args(args)
+
+def initialize_listening_socket(options):
+logging.debug("Creating socket...")
+s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+
+logging.info("Binding to ip address '', port {}".format(options.port))
+s.bind(('', options.port))
+
+logging.debug("Putting socket in listen mode...")
+s.listen()
+return s
+
+def accept_once(sock, options):
+logging.debug("Waiting for connection...")
+client, addr = sock.accept()
+logging.info("Received connection from {}".format(addr))
+data_size = struct.unpack("!I", client.recv(4))[0]
+logging.debug("Expecting {} bytes of data from client".format(data_size))
+data = client.recv(data_size)
+logging.info("Received {} bytes of data from client".format(len(data)))
+
+logging.info("Sending {} byte response".format(len(data)))
+client.sendall(struct.pack("!I", len(data)))
+client.sendall(data)
+
+def accept_loop(sock, options):
+while True:
+try:
+accept_once(sock, options)
+except Exception as e:
+error = traceback.format_exc()
+logging.error("An error occurred while processing the connection.")
+logging.error(error)
+
+def run(args):
+options = process_args(args)
+sock = initialize_listening_socket(options)
+accept_loop(sock, options)
+return options
Index: scripts/swig_bot_lib/local.py
===
--- scripts/swig_bot_lib/local.py
+++ scripts/swig_bot_lib/local.py
@@ -1,5 +1,10 @@
 #!/usr/bin/env python
 
+"""
+Shared functionality used by `client` and `server` when generating or preparing
+to generate SWIG on the local machine.
+"""
+
 # Future imports
 from __future__ import absolute_import
 from __future__ import print_function
@@ -7,14 +12,57 @@
 # Python modules
 import argparse
 import imp
+import io
 import logging
 import os
 import subprocess
 import sys
+import zipfile
 
 # LLDB modules
 import use_lldb_suite
 
+def pack_input(options):
+logging.info("Creating input file package...")
+zip_data = io.BytesIO()
+zip_file = None
+try:
+# It's possible that a custom-built interpreter will not have the
+# standard zlib module.  If so, we can only store, not compress.  By
+# try to compress since we usually have a standard Python distribution.
+zip_file = zipfile.ZipFile(zip_data, mode='w',
+   compression=zipfile.ZIP_DEFLATED)
+except RuntimeError:
+zip_file = zipfile.ZipFile(zip_data, mode='w',
+   compression=zipfile.ZIP_STORED)
+
+filters = [("include/lldb", ".h"),
+   ("scripts", ".swig"),
+   ("scripts/Python", ".swig"),
+   ("scripts/interface", ".i")]
+def filter_func(t):
+subfolder = t[0]
+ext = t[1]
+full_path = os.path.normpath(os.path.join(options.src_root, subfolder))
+candidates = [os.path.normpath(os.path.join(full_path, f))
+  for f in os.listdir(full_path)]
+actual = filter(
+lambda f : 

Re: [Lldb-commits] [PATCH] D14937: swig_bot remote path preliminary implementation

2015-11-23 Thread Zachary Turner via lldb-commits
zturner updated this revision to Diff 40991.
zturner added a comment.

`socket.recv` doesn't guarantee a full read.  The data can be truncated if it 
could not be read all at once.  This patch fixes this by introducing a helper 
function in `lldbsuite.support` to read an exact number of bytes, retrying as 
necessary until it's complete.  Then both the client and server are updated to 
use this function instead of `socket.recv`


http://reviews.llvm.org/D14937

Files:
  packages/Python/lldbsuite/support/sockutil.py
  scripts/swig_bot.py
  scripts/swig_bot_lib/client.py
  scripts/swig_bot_lib/local.py
  scripts/swig_bot_lib/server.py

Index: scripts/swig_bot_lib/server.py
===
--- scripts/swig_bot_lib/server.py
+++ scripts/swig_bot_lib/server.py
@@ -1,6 +1,80 @@
 #!/usr/bin/env python
 
+"""
+SWIG generation server.  Listens for connections from swig generation clients
+and runs swig in the requested fashion, sending back the results.
+"""
+
 # Future imports
 from __future__ import absolute_import
 from __future__ import print_function
 
+# Python modules
+import argparse
+import logging
+import os
+import socket
+import struct
+import sys
+import traceback
+
+# LLDB modules
+import use_lldb_suite
+from lldbsuite.support import sockutil
+
+# package imports
+from . import local
+
+default_port = 8537
+
+def process_args(args):
+# Setup the parser arguments that are accepted.
+parser = argparse.ArgumentParser(description='SWIG generation server.')
+
+parser.add_argument(
+"--port",
+action="store",
+default=default_port,
+help=("The local port to bind to"))
+
+# Process args.
+return parser.parse_args(args)
+
+def initialize_listening_socket(options):
+logging.debug("Creating socket...")
+s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+
+logging.info("Binding to ip address '', port {}".format(options.port))
+s.bind(('', options.port))
+
+logging.debug("Putting socket in listen mode...")
+s.listen()
+return s
+
+def accept_once(sock, options):
+logging.debug("Waiting for connection...")
+client, addr = sock.accept()
+logging.info("Received connection from {}".format(addr))
+data_size = struct.unpack("!I", sockutil.recvall(client, 4))[0]
+logging.debug("Expecting {} bytes of data from client".format(data_size))
+data = sockutil.recvall(client, data_size)
+logging.info("Received {} bytes of data from client".format(len(data)))
+
+logging.info("Sending {} byte response".format(len(data)))
+client.sendall(struct.pack("!I", len(data)))
+client.sendall(data)
+
+def accept_loop(sock, options):
+while True:
+try:
+accept_once(sock, options)
+except Exception as e:
+error = traceback.format_exc()
+logging.error("An error occurred while processing the connection.")
+logging.error(error)
+
+def run(args):
+options = process_args(args)
+sock = initialize_listening_socket(options)
+accept_loop(sock, options)
+return options
Index: scripts/swig_bot_lib/local.py
===
--- scripts/swig_bot_lib/local.py
+++ scripts/swig_bot_lib/local.py
@@ -1,5 +1,10 @@
 #!/usr/bin/env python
 
+"""
+Shared functionality used by `client` and `server` when generating or preparing
+to generate SWIG on the local machine.
+"""
+
 # Future imports
 from __future__ import absolute_import
 from __future__ import print_function
@@ -7,14 +12,57 @@
 # Python modules
 import argparse
 import imp
+import io
 import logging
 import os
 import subprocess
 import sys
+import zipfile
 
 # LLDB modules
 import use_lldb_suite
 
+def pack_input(options):
+logging.info("Creating input file package...")
+zip_data = io.BytesIO()
+zip_file = None
+try:
+# It's possible that a custom-built interpreter will not have the
+# standard zlib module.  If so, we can only store, not compress.  By
+# try to compress since we usually have a standard Python distribution.
+zip_file = zipfile.ZipFile(zip_data, mode='w',
+   compression=zipfile.ZIP_DEFLATED)
+except RuntimeError:
+zip_file = zipfile.ZipFile(zip_data, mode='w',
+   compression=zipfile.ZIP_STORED)
+
+filters = [("include/lldb", ".h"),
+   ("scripts", ".swig"),
+   ("scripts/Python", ".swig"),
+   ("scripts/interface", ".i")]
+def filter_func(t):
+subfolder = t[0]
+ext = t[1]
+full_path = os.path.normpath(os.path.join(options.src_root, subfolder))
+candidates = [os.path.normpath(os.path.join(full_path, f))
+  for f in os.listdir(full_path)]
+actual = filter(
+lambda f : os.path.isfile(f) and os.path.splitext(f)[1] == ext,
+candidates)
+

[Lldb-commits] Some buildbot statistics for week of 11/15/2015 - 11/21/2015

2015-11-23 Thread Galina Kistanova via lldb-commits
Hello everyone,

Below are some buildbot numbers for the last week of 11/15/2015 -
11/21/2015.

Thanks

Galina



Number of commits by project:

 project   |   commits
---+---
 llvm  |   265
 cfe   |   110
 lldb  |58
 compiler-rt   |54
 lld   |26
 libcxx|10
 clang-tools-extra | 8
 openmp| 3
 polly | 1
 libcxxabi | 1
---+---
   536


Number of completed builds, failed builds and average build time for
successful builds per active builder:

 buildername   | completed  |
failed | time
-
 clang-aarch64-lnt | 53
|  6 | 02:40:15.18
 clang-atom-d525-fedora| 21
|| 07:14:59.173913
 clang-atom-d525-fedora-rel| 65
|  4 | 02:02:15.887097
 clang-bpf-build   |305
|  8 | 00:03:16.44
 clang-cmake-aarch64-42vma |280
| 25 | 00:17:52.3125
 clang-cmake-aarch64-quick |213
| 24 | 00:26:25.294737
 clang-cmake-armv7-a15 |214
|  5 | 00:27:35.090047
 clang-cmake-armv7-a15-full|148
|  5 | 00:50:27.543624
 clang-cmake-armv7-a15-selfhost| 32
|| 04:35:18.815789
 clang-cmake-armv7-a15-selfhost-neon   | 25
|| 05:55:48.655172
 clang-cmake-mips  |166
| 49 | 00:34:56.016807
 clang-cmake-thumbv7-a15   |194
|  5 | 00:33:18.020942
 clang-cmake-thumbv7-a15-full-sh   | 20
|| 07:05:34.65625
 clang-hexagon-elf |178
| 17 | 00:15:15.339506
 clang-native-aarch64-full | 10
|  4 | 11:35:13.428572
 clang-native-arm-lnt  |102
|| 01:19:37.824074
 clang-native-arm-lnt-perf | 15
|| 09:36:24.67
 clang-ppc64-elf-linux |124
|  3 | 01:01:54.130081
 clang-ppc64-elf-linux2| 86
|  7 | 01:35:15.481481
 clang-sphinx-docs | 79
|| 00:00:20.690476
 clang-x64-ninja-win7  |206
| 80 | 00:25:13.716535
 clang-x86-win2008-selfhost|150
| 14 | 00:41:25.621429
 clang-x86_64-darwin13-cross-arm   |240
|  2 | 00:19:46.411765
 clang-x86_64-darwin13-cross-mingw32   |226
|  3 | 00:23:14.026906
 clang-x86_64-debian-fast  | 99
| 11 | 00:10:49.21
 clang-x86_64-linux-abi-test   |307
| 11 | 00:18:46.837838
 clang-x86_64-linux-selfhost-modules   |267
| 23 | 00:15:56.662602
 clang-x86_64-ubuntu-gdb-75|138
|  5 | 00:52:25.182482
 libcxx-libcxxabi-arm-linux| 11
|  1 | 01:09:49.6
 libcxx-libcxxabi-singlethreaded-x86_64-linux-debian   |  3
|| 00:08:16.33
 libcxx-libcxxabi-x86_64-linux-debian  |  3
|| 00:08:41.33
 libcxx-libcxxabi-x86_64-linux-debian-noexceptions |  3
|| 00:08:18.33
 libcxx-libcxxabi-x86_64-linux-ubuntu-asan | 10
|  1 | 00:07:25.56
 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx03| 10
|  1 | 00:04:56.33
 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx11| 11
|  1 | 00:05:11.5
 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx14| 11
|  1 | 00:05:25.3
 libcxx-libcxxabi-x86_64-linux-ubuntu-cxx1z| 10
|  1 | 00:05:45.11
 libcxx-libcxxabi-x86_64-linux-ubuntu-msan | 11
|  1 | 00:14:27.2
 libcxx-libcxxabi-x86_64-linux-ubuntu-tsan | 11
|  1 | 00:11:57.5
 

Re: [Lldb-commits] Some buildbot statistics for the last week

2015-11-23 Thread Evgenii Stepanov via lldb-commits
Permanently failing bots are way better that 50/50 flaky bots, but
still not good.
As for the sanitizer-x86_64-linux-bootstrap, it shows some legitimate
failures in different parts of llvm that no one bothered to fix.
That's kinda understandable because MSan failures are hard to
reproduce locally (one needs to do a full bootstrap, including
libc++/libc++abi built w/ MSan), and FileCheck tends to show only part
of the report.


On Wed, Nov 18, 2015 at 10:43 AM, Aaron Ballman via llvm-commits
 wrote:
> On Wed, Nov 18, 2015 at 1:40 PM, Galina Kistanova via cfe-commits
>  wrote:
>> Hello everyone,
>>
>> Here are some buildbot statistics you may found interesting. I will be
>> adding more statistics.
>> My goal is to publish metrics to help with keeping the buildbot
>> infrastructure healthy and improving it.
>
> Thank you for tracking and reporting this information, that's fantastic!
>
>>
>> All the numbers are for the week of 11/8/2015 - 11/14/2015.
>>
>> Thanks
>>
>> Galina
>>
>>
>>
>> Number of commits by project:
>>
>>  project  |   commits
>>  -
>>  llvm |   286
>>  cfe  |   109
>>  lldb |76
>>  compiler-rt  |71
>>  polly|42
>>  lld  |38
>>  libcxx   |10
>>  openmp   | 9
>>  clang-tools-extra| 7
>>  clang-tests-external | 2
>>  libunwind| 1
>>  -
>>   651
>>
>>
>> Number of completed builds, failed builds and average build time for
>> successful builds per active builder:
>>
>>  buildername   | completed  |
>> failed | time
>> -
>>  clang-aarch64-lnt | 57 |
>> 3 | 02:30:12
>>  clang-atom-d525-fedora| 18 |
>> | 08:28:15
>>  clang-atom-d525-fedora-rel| 83 |
>> 5 | 01:29:55
>>  clang-bpf-build   |310 |
>> 31 | 00:02:53
>>  clang-cmake-aarch64-42vma |278 |
>> 49 | 00:16:47
>>  clang-cmake-aarch64-quick |209 |
>> 29 | 00:23:46
>>  clang-cmake-armv7-a15 |189 |
>> 8 | 00:25:27
>>  clang-cmake-armv7-a15-full|154 |
>> 38 | 00:45:32
>>  clang-cmake-armv7-a15-selfhost| 58 |
>> 24 | 03:00:19
>>  clang-cmake-armv7-a15-selfhost-neon   | 45 |
>> 22 | 04:26:31
>>  clang-cmake-mips  |186 |
>> 38 | 00:28:52
>>  clang-cmake-thumbv7-a15   |178 |
>> 7 | 00:28:30
>>  clang-cmake-thumbv7-a15-full-sh   | 32 |
>> 23 | 06:03:05
>>  clang-hexagon-elf |169 |
>> 23 | 00:24:42
>>  clang-native-aarch64-full | 24 |
>> 8 | 05:53:35
>>  clang-native-arm-lnt  | 90 |
>> 3 | 01:06:01
>>  clang-native-arm-lnt-perf | 14 |
>> | 08:57:04
>>  clang-ppc64-elf-linux |120 |
>> 6 | 01:01:02
>>  clang-ppc64-elf-linux2| 89 |
>> 24 | 01:29:49
>>  clang-sphinx-docs |113 |
>> | 00:00:20
>>  clang-x64-ninja-win7  |285 |
>> 58 | 00:09:49
>>  clang-x86-win2008-selfhost|268 |
>> 46 | 00:12:10
>>  clang-x86_64-darwin13-cross-arm   |232 |
>> 1 | 00:19:45
>>  clang-x86_64-darwin13-cross-mingw32   |217 |
>> 12 | 00:23:20
>>  clang-x86_64-debian-fast  |147 |
>> 12 | 00:11:37
>>  clang-x86_64-linux-abi-test   |314 |
>> 1 | 00:18:39
>>  clang-x86_64-linux-selfhost-modules   |261 |
>> 25 | 00:15:02
>>  clang-x86_64-ubuntu-gdb-75|124 |
>> 62 | 00:53:12
>>  libcxx-libcxxabi-arm-linux|  8 |
>> | 01:05:10
>>  libcxx-libcxxabi-singlethreaded-x86_64-linux-debian   | 11 |
>> 2 | 00:08:50
>>  libcxx-libcxxabi-x86_64-linux-debian  | 11 |
>> 4 | 00:09:43
>>  

Re: [Lldb-commits] Some buildbot statistics for the last week

2015-11-23 Thread Aaron Ballman via lldb-commits
On Wed, Nov 18, 2015 at 1:40 PM, Galina Kistanova via cfe-commits
 wrote:
> Hello everyone,
>
> Here are some buildbot statistics you may found interesting. I will be
> adding more statistics.
> My goal is to publish metrics to help with keeping the buildbot
> infrastructure healthy and improving it.

Thank you for tracking and reporting this information, that's fantastic!

>
> All the numbers are for the week of 11/8/2015 - 11/14/2015.
>
> Thanks
>
> Galina
>
>
>
> Number of commits by project:
>
>  project  |   commits
>  -
>  llvm |   286
>  cfe  |   109
>  lldb |76
>  compiler-rt  |71
>  polly|42
>  lld  |38
>  libcxx   |10
>  openmp   | 9
>  clang-tools-extra| 7
>  clang-tests-external | 2
>  libunwind| 1
>  -
>   651
>
>
> Number of completed builds, failed builds and average build time for
> successful builds per active builder:
>
>  buildername   | completed  |
> failed | time
> -
>  clang-aarch64-lnt | 57 |
> 3 | 02:30:12
>  clang-atom-d525-fedora| 18 |
> | 08:28:15
>  clang-atom-d525-fedora-rel| 83 |
> 5 | 01:29:55
>  clang-bpf-build   |310 |
> 31 | 00:02:53
>  clang-cmake-aarch64-42vma |278 |
> 49 | 00:16:47
>  clang-cmake-aarch64-quick |209 |
> 29 | 00:23:46
>  clang-cmake-armv7-a15 |189 |
> 8 | 00:25:27
>  clang-cmake-armv7-a15-full|154 |
> 38 | 00:45:32
>  clang-cmake-armv7-a15-selfhost| 58 |
> 24 | 03:00:19
>  clang-cmake-armv7-a15-selfhost-neon   | 45 |
> 22 | 04:26:31
>  clang-cmake-mips  |186 |
> 38 | 00:28:52
>  clang-cmake-thumbv7-a15   |178 |
> 7 | 00:28:30
>  clang-cmake-thumbv7-a15-full-sh   | 32 |
> 23 | 06:03:05
>  clang-hexagon-elf |169 |
> 23 | 00:24:42
>  clang-native-aarch64-full | 24 |
> 8 | 05:53:35
>  clang-native-arm-lnt  | 90 |
> 3 | 01:06:01
>  clang-native-arm-lnt-perf | 14 |
> | 08:57:04
>  clang-ppc64-elf-linux |120 |
> 6 | 01:01:02
>  clang-ppc64-elf-linux2| 89 |
> 24 | 01:29:49
>  clang-sphinx-docs |113 |
> | 00:00:20
>  clang-x64-ninja-win7  |285 |
> 58 | 00:09:49
>  clang-x86-win2008-selfhost|268 |
> 46 | 00:12:10
>  clang-x86_64-darwin13-cross-arm   |232 |
> 1 | 00:19:45
>  clang-x86_64-darwin13-cross-mingw32   |217 |
> 12 | 00:23:20
>  clang-x86_64-debian-fast  |147 |
> 12 | 00:11:37
>  clang-x86_64-linux-abi-test   |314 |
> 1 | 00:18:39
>  clang-x86_64-linux-selfhost-modules   |261 |
> 25 | 00:15:02
>  clang-x86_64-ubuntu-gdb-75|124 |
> 62 | 00:53:12
>  libcxx-libcxxabi-arm-linux|  8 |
> | 01:05:10
>  libcxx-libcxxabi-singlethreaded-x86_64-linux-debian   | 11 |
> 2 | 00:08:50
>  libcxx-libcxxabi-x86_64-linux-debian  | 11 |
> 4 | 00:09:43
>  libcxx-libcxxabi-x86_64-linux-debian-noexceptions |  5 |
> 2 | 00:09:24
>  libcxx-libcxxabi-x86_64-linux-ubuntu-asan | 10 |
> 2 | 00:08:22
>  libcxx-libcxxabi-x86_64-linux-ubuntu-cxx03| 10 |
> | 00:05:12
>  libcxx-libcxxabi-x86_64-linux-ubuntu-cxx11| 10 |
> | 00:06:19
>  libcxx-libcxxabi-x86_64-linux-ubuntu-cxx14|  9 |
> | 00:06:56
>  libcxx-libcxxabi-x86_64-linux-ubuntu-cxx1z| 10 |
> 2 | 00:06:06
>  libcxx-libcxxabi-x86_64-linux-ubuntu-msan | 10 |
> 2 | 00:17:00
>  

Re: [Lldb-commits] Some buildbot statistics for week of 11/15/2015 - 11/21/2015

2015-11-23 Thread Sean Silva via lldb-commits
In the future can you also attach the data in CSV format?

On Mon, Nov 23, 2015 at 3:46 PM, Galina Kistanova via cfe-commits <
cfe-comm...@lists.llvm.org> wrote:

> Hello everyone,
>
> Below are some buildbot numbers for the last week of 11/15/2015 -
> 11/21/2015.
>
> Thanks
>
> Galina
>
>
>
> Number of commits by project:
>
>  project   |   commits
> ---+---
>  llvm  |   265
>  cfe   |   110
>  lldb  |58
>  compiler-rt   |54
>  lld   |26
>  libcxx|10
>  clang-tools-extra | 8
>  openmp| 3
>  polly | 1
>  libcxxabi | 1
> ---+---
>536
>
>
> Number of completed builds, failed builds and average build time for
> successful builds per active builder:
>
>  buildername   | completed  |
> failed | time
>
> -
>  clang-aarch64-lnt | 53
> |  6 | 02:40:15.18
>  clang-atom-d525-fedora| 21
> || 07:14:59.173913
>  clang-atom-d525-fedora-rel| 65
> |  4 | 02:02:15.887097
>  clang-bpf-build   |305
> |  8 | 00:03:16.44
>  clang-cmake-aarch64-42vma |280
> | 25 | 00:17:52.3125
>  clang-cmake-aarch64-quick |213
> | 24 | 00:26:25.294737
>  clang-cmake-armv7-a15 |214
> |  5 | 00:27:35.090047
>  clang-cmake-armv7-a15-full|148
> |  5 | 00:50:27.543624
>  clang-cmake-armv7-a15-selfhost| 32
> || 04:35:18.815789
>  clang-cmake-armv7-a15-selfhost-neon   | 25
> || 05:55:48.655172
>  clang-cmake-mips  |166
> | 49 | 00:34:56.016807
>  clang-cmake-thumbv7-a15   |194
> |  5 | 00:33:18.020942
>  clang-cmake-thumbv7-a15-full-sh   | 20
> || 07:05:34.65625
>  clang-hexagon-elf |178
> | 17 | 00:15:15.339506
>  clang-native-aarch64-full | 10
> |  4 | 11:35:13.428572
>  clang-native-arm-lnt  |102
> || 01:19:37.824074
>  clang-native-arm-lnt-perf | 15
> || 09:36:24.67
>  clang-ppc64-elf-linux |124
> |  3 | 01:01:54.130081
>  clang-ppc64-elf-linux2| 86
> |  7 | 01:35:15.481481
>  clang-sphinx-docs | 79
> || 00:00:20.690476
>  clang-x64-ninja-win7  |206
> | 80 | 00:25:13.716535
>  clang-x86-win2008-selfhost|150
> | 14 | 00:41:25.621429
>  clang-x86_64-darwin13-cross-arm   |240
> |  2 | 00:19:46.411765
>  clang-x86_64-darwin13-cross-mingw32   |226
> |  3 | 00:23:14.026906
>  clang-x86_64-debian-fast  | 99
> | 11 | 00:10:49.21
>  clang-x86_64-linux-abi-test   |307
> | 11 | 00:18:46.837838
>  clang-x86_64-linux-selfhost-modules   |267
> | 23 | 00:15:56.662602
>  clang-x86_64-ubuntu-gdb-75|138
> |  5 | 00:52:25.182482
>  libcxx-libcxxabi-arm-linux| 11
> |  1 | 01:09:49.6
>  libcxx-libcxxabi-singlethreaded-x86_64-linux-debian   |  3
> || 00:08:16.33
>  libcxx-libcxxabi-x86_64-linux-debian  |  3
> || 00:08:41.33
>  libcxx-libcxxabi-x86_64-linux-debian-noexceptions |  3
> || 00:08:18.33
>  libcxx-libcxxabi-x86_64-linux-ubuntu-asan | 10
> |  1 | 00:07:25.56
>  libcxx-libcxxabi-x86_64-linux-ubuntu-cxx03| 10
> |  1 | 00:04:56.33
>  libcxx-libcxxabi-x86_64-linux-ubuntu-cxx11| 11
> |  1 | 00:05:11.5
>  libcxx-libcxxabi-x86_64-linux-ubuntu-cxx14

Re: [Lldb-commits] [PATCH] D14823: Disable forcing -marm (A32 instruction set) while running testsuite on arm targets.

2015-11-23 Thread Tamas Berghammer via lldb-commits
tberghammer accepted this revision.
tberghammer added a comment.

I agree with your suggestion to make this the default config and then add a new 
option where we can specify additional target specific options and then 
skip/xfail tests based on that.


http://reviews.llvm.org/D14823



___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


Re: [Lldb-commits] [PATCH] D14895: Prevent ProcessGDBRemote from launching local debug server in case of remote debug server connection failure

2015-11-23 Thread Oleksiy Vyalov via lldb-commits
ovyalov updated this revision to Diff 40948.
ovyalov added a comment.

Addressed review comments - renamed the method to EstablishConnectionIfNeeded.


http://reviews.llvm.org/D14895

Files:
  source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  source/Plugins/Process/gdb-remote/ProcessGDBRemote.h

Index: source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
===
--- source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+++ source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
@@ -354,6 +354,9 @@
   ThreadList _thread_list) override;
 
 Error
+EstablishConnectionIfNeeded (const ProcessInfo _info);
+
+Error
 LaunchAndConnectToDebugserver (const ProcessInfo _info);
 
 void
Index: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
===
--- source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -989,12 +989,7 @@
 ObjectFile * object_file = exe_module->GetObjectFile();
 if (object_file)
 {
-// Make sure we aren't already connected?
-if (!m_gdb_comm.IsConnected())
-{
-error = LaunchAndConnectToDebugserver (launch_info);
-}
-
+error = EstablishConnectionIfNeeded (launch_info);
 if (error.Success())
 {
 lldb_utility::PseudoTerminal pty;
@@ -1374,21 +1369,7 @@
 Clear();
 if (attach_pid != LLDB_INVALID_PROCESS_ID)
 {
-// Make sure we aren't already connected?
-if (!m_gdb_comm.IsConnected())
-{
-error = LaunchAndConnectToDebugserver (attach_info);
-
-if (error.Fail())
-{
-const char *error_string = error.AsCString();
-if (error_string == NULL)
-error_string = "unable to launch " DEBUGSERVER_BASENAME;
-
-SetExitStatus (-1, error_string);
-}
-}
-
+error = EstablishConnectionIfNeeded (attach_info);
 if (error.Success())
 {
 m_gdb_comm.SetDetachOnError(attach_info.GetDetachOnError());
@@ -1398,6 +1379,8 @@
 SetID (attach_pid);
 m_async_broadcaster.BroadcastEvent (eBroadcastBitAsyncContinue, new EventDataBytes (packet, packet_len));
 }
+else
+SetExitStatus (-1, error.AsCString());
 }
 
 return error;
@@ -1412,21 +1395,7 @@
 
 if (process_name && process_name[0])
 {
-// Make sure we aren't already connected?
-if (!m_gdb_comm.IsConnected())
-{
-error = LaunchAndConnectToDebugserver (attach_info);
-
-if (error.Fail())
-{
-const char *error_string = error.AsCString();
-if (error_string == NULL)
-error_string = "unable to launch " DEBUGSERVER_BASENAME;
-
-SetExitStatus (-1, error_string);
-}
-}
-
+error = EstablishConnectionIfNeeded (attach_info);
 if (error.Success())
 {
 StreamString packet;
@@ -1455,6 +1424,8 @@
 m_async_broadcaster.BroadcastEvent (eBroadcastBitAsyncContinue, new EventDataBytes (packet.GetData(), packet.GetSize()));
 
 }
+else
+SetExitStatus (-1, error.AsCString());
 }
 return error;
 }
@@ -3542,6 +3513,27 @@
 }
 
 Error
+ProcessGDBRemote::EstablishConnectionIfNeeded (const ProcessInfo _info)
+{
+// Make sure we aren't already connected?
+if (m_gdb_comm.IsConnected())
+return Error();
+
+PlatformSP platform_sp (GetTarget ().GetPlatform ());
+if (platform_sp && !platform_sp->IsHost ())
+return Error("Lost debug server connection");
+
+auto error = LaunchAndConnectToDebugserver (process_info);
+if (error.Fail())
+{
+const char *error_string = error.AsCString();
+if (error_string == nullptr)
+error_string = "unable to launch " DEBUGSERVER_BASENAME;
+}
+return error;
+}
+
+Error
 ProcessGDBRemote::LaunchAndConnectToDebugserver (const ProcessInfo _info)
 {
 Error error;
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [PATCH] D14932: Fix watchpoint check to use watchpoint ranges

2015-11-23 Thread Ted Woodward via lldb-commits
ted created this revision.
ted added a reviewer: clayborg.
ted added a subscriber: lldb-commits.

Watchpoints, unlike breakpoints, have an address range. This patch changes 
WatchpointList::FindByAddress() to match on any address in the watchpoint 
range, instead of only matching on the watchpoint's base address.

http://reviews.llvm.org/D14932

Files:
  source/Breakpoint/WatchpointList.cpp

Index: source/Breakpoint/WatchpointList.cpp
===
--- source/Breakpoint/WatchpointList.cpp
+++ source/Breakpoint/WatchpointList.cpp
@@ -75,10 +75,15 @@
 {
 wp_collection::const_iterator pos, end = m_watchpoints.end();
 for (pos = m_watchpoints.begin(); pos != end; ++pos)
-if ((*pos)->GetLoadAddress() == addr) {
+{
+lldb::addr_t wp_addr = (*pos)->GetLoadAddress();
+uint32_t wp_bytesize = (*pos)->GetByteSize();
+if ((wp_addr <= addr) && ((wp_addr + wp_bytesize) > addr))
+{
 wp_sp = *pos;
 break;
 }
+}
 }
 
 return wp_sp;


Index: source/Breakpoint/WatchpointList.cpp
===
--- source/Breakpoint/WatchpointList.cpp
+++ source/Breakpoint/WatchpointList.cpp
@@ -75,10 +75,15 @@
 {
 wp_collection::const_iterator pos, end = m_watchpoints.end();
 for (pos = m_watchpoints.begin(); pos != end; ++pos)
-if ((*pos)->GetLoadAddress() == addr) {
+{
+lldb::addr_t wp_addr = (*pos)->GetLoadAddress();
+uint32_t wp_bytesize = (*pos)->GetByteSize();
+if ((wp_addr <= addr) && ((wp_addr + wp_bytesize) > addr))
+{
 wp_sp = *pos;
 break;
 }
+}
 }
 
 return wp_sp;
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits