Author: vharron
Date: Mon May 25 22:08:05 2015
New Revision: 238173
URL: http://llvm.org/viewvc/llvm-project?rev=238173&view=rev
Log:
Print port number that lldb-server binds to in platform mode
If binding to port 0 is selected, the actual port is printed.
This improves the reliability of platform startup by ensuring that
a free port can be found.
TEST PLAN
./lldb-server platform --listen *:0
Listening for a connection from ...
Will appear on stdout (with other stuff potentially)
Modified:
lldb/trunk/include/lldb/Symbol/Type.h
lldb/trunk/source/Symbol/Type.cpp
lldb/trunk/tools/lldb-server/lldb-platform.cpp
Modified: lldb/trunk/include/lldb/Symbol/Type.h
URL:
http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Symbol/Type.h?rev=238173&r1=238172&r2=238173&view=diff
==
--- lldb/trunk/include/lldb/Symbol/Type.h (original)
+++ lldb/trunk/include/lldb/Symbol/Type.h Mon May 25 22:08:05 2015
@@ -305,7 +305,9 @@ protected:
ClangASTType m_clang_type;
struct Flags {
-ResolveStateclang_type_resolve_state : 2;
+// clang_type_resolve_state is a ResolveState enum
+// using unsigned type here to work around a very noisy gcc warning
+unsignedclang_type_resolve_state : 2;
boolis_complete_objc_class : 1;
} m_flags;
Modified: lldb/trunk/source/Symbol/Type.cpp
URL:
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/Type.cpp?rev=238173&r1=238172&r2=238173&view=diff
==
--- lldb/trunk/source/Symbol/Type.cpp (original)
+++ lldb/trunk/source/Symbol/Type.cpp Mon May 25 22:08:05 2015
@@ -101,7 +101,7 @@ Type::Type
m_decl (decl),
m_clang_type (clang_type)
{
-m_flags.clang_type_resolve_state = (clang_type ? clang_type_resolve_state
: eResolveStateUnresolved);
+m_flags.SetResolveState(clang_type ? clang_type_resolve_state :
eResolveStateUnresolved);
m_flags.is_complete_objc_class = false;
}
@@ -118,7 +118,7 @@ Type::Type () :
m_decl (),
m_clang_type ()
{
-m_flags.clang_type_resolve_state = eResolveStateUnresolved;
+m_flags.SetResolveState(eResolveStateUnresolved);
m_flags.is_complete_objc_class = false;
}
@@ -505,7 +505,7 @@ Type::ResolveClangType (ResolveState cla
if (encoding_clang_type.IsValid())
{
m_clang_type = encoding_clang_type;
-m_flags.clang_type_resolve_state =
encoding_type->m_flags.clang_type_resolve_state;
+
m_flags.SetResolveState(encoding_type->m_flags.clang_type_resolve_state);
}
}
break;
@@ -594,7 +594,7 @@ Type::ResolveClangType (ResolveState cla
// Check if we have a forward reference to a class/struct/union/enum?
if (m_clang_type.IsValid() && m_flags.clang_type_resolve_state <
clang_type_resolve_state)
{
-m_flags.clang_type_resolve_state = eResolveStateFull;
+m_flags.SetResolveState(eResolveStateFull);
if (!m_clang_type.IsDefined ())
{
// We have a forward declaration, we need to resolve it to a
complete definition.
Modified: lldb/trunk/tools/lldb-server/lldb-platform.cpp
URL:
http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-server/lldb-platform.cpp?rev=238173&r1=238172&r2=238173&view=diff
==
--- lldb/trunk/tools/lldb-server/lldb-platform.cpp (original)
+++ lldb/trunk/tools/lldb-server/lldb-platform.cpp Mon May 25 22:08:05 2015
@@ -253,7 +253,6 @@ main_platform (int argc, char *argv[])
std::unique_ptr listening_socket_up;
Socket *socket = nullptr;
-printf ("Listening for a connection from %s...\n",
listen_host_port.c_str());
const bool children_inherit_listen_socket = false;
// the test suite makes many connections in parallel, let's not miss any.
@@ -267,6 +266,7 @@ main_platform (int argc, char *argv[])
exit(socket_error);
}
listening_socket_up.reset(socket);
+printf ("Listening for a connection from %u...\n",
listening_socket_up->GetLocalPortNumber());
do {
GDBRemoteCommunicationServerPlatform platform;
___
lldb-commits mailing list
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits