Re: [lldb-dev] Sequential ID Git hook

2016-07-05 Thread Renato Golin via lldb-dev
Quick re-cap.

After a few rounds, not only the "external server" proposal got
obliterated as totally unnecessary, but the idea that we may even need
a hook at all is now challenged.

Jared's idea to use "git describe" is in line with previous proposals
to use rev-list --count and to do so only up to the previous tag, but
all in one nice and standard little feature.

There were concerns by applying one tag per commit, but most of them
offered weak evidence. However, if "describe" can cover all our needs,
there is no point in even discussing tags.

Just for reference, GitHub *does* have an SVN interface [1], and you
can already checkout a specific revision with "svn checkout -r NNN
repo", which *is already* using "git rev-list --count".

This means that, for SVN based bisects, using GitHub will make it
*completely transparent* for SVN users. You can also base your
releases off an SVN view of the Git repo.

So, to clear up this discussion and finish my proposal to move to
GitHub, my final questions, only to those that *want* SVN
compatibility:

1. Is there anything in the SVN view of GitHub that *doesn't* work for
you? (ie. same as using "rev-list --count")

2. If so, can "git describe" solve the problem?

3. If not, please describe, in details, why <> would be the *only* way forward.

I'll let this sit for a few days, and if no one has any serious issue,
I'll write up the final proposal and start the voting process with the
Foundation.

cheers,
--renato

[1] https://github.com/blog/626-announcing-svn-support
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


Re: [lldb-dev] [llvm-foundation] Sequential ID Git hook

2016-07-05 Thread David Chisnall via lldb-dev
On 5 Jul 2016, at 11:44, Renato Golin via llvm-foundation 
 wrote:
> 
> Just for reference, GitHub *does* have an SVN interface [1], and you
> can already checkout a specific revision with "svn checkout -r NNN
> repo", which *is already* using "git rev-list --count".
> 
> This means that, for SVN based bisects, using GitHub will make it
> *completely transparent* for SVN users. You can also base your
> releases off an SVN view of the Git repo.

Note that GitHub (currently, at least) doesn’t export submodules sensibly with 
their svn version.  I don’t intend to use the svn thing (the only time that I 
have used it in anger was to replace a project that moved to GitHub with an 
svn:external that referred to the GitHub repo so people could easily find the 
new location), but that would cause problems if anyone wants to do an svn 
bisect.

I think it would help to have a description of how to bisect for a clang or 
lldb (or some other subproject) regression.  For downstream users, it would 
also be nice if tools like git-imerge let you merge clang and llvm together, 
though that’s a nice-to-have feature that we currently lack so shouldn’t in any 
way block the migration.

David




smime.p7s
Description: S/MIME cryptographic signature
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


[lldb-dev] [Bug 28428] New: lldb.SBProcess.is_running and lldb.SBProcess.is_stopped Python accessors

2016-07-05 Thread via lldb-dev
https://llvm.org/bugs/show_bug.cgi?id=28428

Bug ID: 28428
   Summary: lldb.SBProcess.is_running and
lldb.SBProcess.is_stopped Python accessors
   Product: lldb
   Version: 3.8
  Hardware: PC
OS: Windows NT
Status: NEW
  Severity: normal
  Priority: P
 Component: All Bugs
  Assignee: lldb-dev@lists.llvm.org
  Reporter: marius.tranda...@live.com
CC: llvm-b...@lists.llvm.org
Classification: Unclassified

lldb.SBProcess.is_running and lldb.SBProcess.is_stopped Python accessors are
not working as expected given that they're defined incorrectly. Both is_running
and is_stopped are mapped to __get_is_running__, which is defined twice.


In %LLDB_SOURCES%/scripts/interface/SBProcess.i there are the following lines
of code:


// Line 434
def __get_is_running__(self):
'''Returns "True" if the process is currently running, "False" otherwise'''
state = self.GetState()
if state == eStateRunning or state == eStateStepping:
return True
return False

def __get_is_running__(self):
'''Returns "True" if the process is currently stopped, "False" otherwise'''
state = self.GetState()
if state == eStateStopped or state == eStateCrashed or state ==
eStateSuspended:
return True
return False


// Line 474

__swig_getmethods__["is_running"] = __get_is_running__
if _newclass: is_running = property(__get_is_running__, None, doc='''A read
only property that returns a boolean value that indicates if this process is
currently running.''')

__swig_getmethods__["is_stopped"] = __get_is_running__
if _newclass: is_stopped = property(__get_is_running__, None, doc='''A read
only property that returns a boolean value that indicates if this process is
currently stopped.''')

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


Re: [lldb-dev] LLDB-MI from Eclipse hangs

2016-07-05 Thread Greg Clayton via lldb-dev
You should sample lldb-mi to see what it is doing. Also if you can get a more 
complete packet log of the traffic between Eclipse and lldb-mi we might be able 
to see what is going on. Another thing to note: if you are remote debugging to 
a Mac from another machine and don't have any files cached (all shared 
libraries from the remote machine), they will be read from memory when the 
DynamicLoaderMachOSX figures out which shared libraries the process has. This 
might be slow and take quite a while and it might delay your debugging as you 
download a few hundred shared libraries for the first time. So you might see 
long delays as you debug. You might try and wait for a few minutes to see if 
the process stops correctly after reading everything from memory.

Greg Clayton

> On Jul 1, 2016, at 1:13 AM, via lldb-dev  wrote:
> 
> Hi All,
> 
> I am trying to simple "Hello World" program remotely on a MAC OS using 
> eclipse and lldb-mi. I followed the instructions available here: 
> "https://www.codeplay.com/portal/lldb-mi-driver---part-2-setting-up-the-driver";.
>  I am facing below issue. Any suggestions would be of great help.
> 
> It is simple helloWorld C++ program. he program is running on machine A and I 
> am debugging it from machine B. When I remote debug from command prompt using 
> lldb-mi, I am able to debug it properly. But when I try to do it via Eclipse 
> from machine B:
> 
> - lldb-mi is tarting
> 
> - netstat on machine A shows that “debugserver" has ESTABLISHED connection 
> with machine B.
> 
> - But on Eclipse console it hangs after below command:
> 
> 461,432 (gdb)
> 
> 461,432 22^done,threads=[{id="1",target-id="Thread 1",state="stopped"}]
> 
> 461,432 (gdb)
> 
> 461,434 24-stack-info-depth --thread 1 11
> 
> If you have any suggestions please let me know. Thanks.
> 
> 
> 
> -- 
> Have a nice day!
> Regards,
> Dipti
> ___
> lldb-dev mailing list
> lldb-dev@lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

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


Re: [lldb-dev] Stack variables in lldb with custom generated metadata

2016-07-05 Thread Greg Clayton via lldb-dev
Since your compile unit is Java:

> 0x000b: TAG_compile_unit [1] *
>  AT_producer( "RoboVM 2.2.0-SNAPSHOT" )
>  AT_language( DW_LANG_Java )
>  AT_name( "Main.java" )
>  AT_stmt_list( 0x )
>  AT_comp_dir( 
> "/Users/generalsolutions/Documents/runtime-EclipseApplication/RobovmConsole/src/main/java/"
>  )
>  AT_APPLE_optimized( 0x01 )
>  AT_low_pc( 0x )
>  AT_ranges( 0x
> [0x06f0 - 0x080b)
> [0x0878 - 0x0893)
> [0x0893 - 0x0901)
>  End )

The "DWARFASTParserJava" class will be used to parse any types. I would check 
the following function:

lldb::TypeSP
DWARFASTParserJava::ParseTypeFromDWARF(
  const lldb_private::SymbolContext &sc, 
  const DWARFDIE &die,
  lldb_private::Log *log, 
  bool *type_is_new_ptr);

If you are doing "frame variable" and you know the variable you are trying to 
view you can step through the DWARFASTParserJava::ParseTypeFromDWARF() and make 
sure that a valid type is made. For example, if you are looking at the "env" 
variable from:

0x002b: TAG_subprogram [2] *
 AT_low_pc( 0x06f0 )
 AT_high_pc( 0x076f )
 AT_frame_base( rbp )
 AT_name( "[J]Main.(I)V" )
 AT_decl_file( "Main.java" )
 AT_decl_line( 7 )
 AT_external( 0x01 )

0x0045: TAG_formal_parameter [3]  
 AT_location( fbreg -8 )
 AT_name( "env" )
 AT_decl_file( "Main.java" )
 AT_decl_line( 7 )
 AT_type( {0x00de} ( Object ) )

0x0053: NULL

We can see that tthe type for "env" is the type AT_type is 0x00de. If we 
look at 0x00de:


0x00de: TAG_pointer_type [6]  
 AT_name( "Object" )

After looking at DWARFASTParserJava::ParseTypeFromDWARF(), there is no handler 
for "TAG_pointer_type" and thus no CompilerType will be made for "0x00de" 
and this is why you aren't seeing anything. Not sure how you would re-create a 
variable from this debug info? But seems like you will need to figure out how 
to make a type for this and you will then see your variable. I will leave this 
to the Java experts.

Greg Clayton

> On Jul 4, 2016, at 11:08 AM, Florian Falkner via lldb-dev 
>  wrote:
> 
> Hello List!
> 
> I'm trying to add LLDB/DWARF debugging information to the RoboVM opensource 
> fork [1] 
> Java AOT compiler. RoboVM uses the LLVM 3.6 (pre-release version) debugging 
> format 
> and I got the basics working, but can't get the stack variable inspection to 
> work. 
> The IR is generated by RoboVM's own implementation, not by the LLVM Cpp API.
> 
> The  "fr v" command doesn't show any local variables. Below the generated IR
> for a method, the debugging info for this CU and the dwarfdump output.
> I can't see the void* pointer argument %env in lldb. (Metadata Lines !38 - 
> !42)
> 
> Any hint what I'm doing wrong would be great, since I ran out of ideas.
> 
> Thanks for your time, and sorry if this is the wrong place to ask!
> Florian
> 
> [1] https://github.com/florianf/robovm/tree/dwarf_debugging_branch
> 
> LLDB Version:
> lldb-350.0.21.9
> 
> CLANG Version & Command:
> Apple LLVM version 7.3.0 (clang-703.0.31)
> clang++ -o Main -g -arch x86_64 -Wl,-filelist,objects0 -L 
> vm/target/binaries/macosx/x86_64 -ObjC -exported_symbols_list 
> exported_symbols -Wl,-no_implicit_dylibs -Wl,-dead_strip -fPIC 
> -mmacosx-version-min=10.9 -Wl,-no_pie -lrobovm-bc-dbg -force_load 
> vm/target/binaries/macosx/x86_64/librobovm-rt-dbg.a -lrobovm-debug-dbg 
> -lrobovm-core-dbg -lgc-dbg -lpthread -ldl -lm -lz -liconv -lsqlite3 
> -framework Foundation -framework CoreServices
> 
> Generated IR for a method:
> 
> define weak i32 @"[J]Main.instanceMethod(I)I"(%Env* %p0, %Object* %p1, i32 
> %p2) nounwind noinline optsize {
> label0:
> %__envStack = alloca %Env*
> store %Env* %p0, %Env** %__envStack
> call void @"llvm.dbg.declare"(metadata %Env** %__envStack, metadata !39), 
> !dbg !57
> %r0 = alloca %Object*
> %i0 = alloca i32
> %r1 = alloca %Object*
> %$r2 = alloca %Object*
> %$r3 = alloca %Object*
> %$i1 = alloca i32
> %$i2 = alloca i32
> %$i3 = alloca i32
> call void @"checkso"()
> store %Object* %p1, %Object** %r0, !dbg !58
> store i32 %p2, i32* %i0, !dbg !63
> %t0 = call %Object* @"[j]str_ndiiiddd_00[ldcstring]"(%Env* %p0), !dbg !51
> store %Object* %t0, %Object** %r1, !dbg !56
> %t1 = load %Object** %r0, !dbg !52
> %t2 = call %Object* @"[j]Main.scAttr(Ltest/sub/SubClass;)[get]"(%Env* 
> %p0, %Object* %t

[lldb-dev] [Bug 28428] lldb.SBProcess.is_running and lldb.SBProcess.is_stopped Python accessors

2016-07-05 Thread via lldb-dev
https://llvm.org/bugs/show_bug.cgi?id=28428

Greg Clayton  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||clayb...@gmail.com
 Resolution|--- |FIXED

--- Comment #1 from Greg Clayton  ---
% svn commit
Sendingscripts/interface/SBProcess.i
Transmitting file data .done
Committing transaction...
Committed revision 274568.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


Re: [lldb-dev] [llvm-foundation] Sequential ID Git hook

2016-07-05 Thread Renato Golin via lldb-dev
On 5 July 2016 at 12:13, David Chisnall  wrote:
> Note that GitHub (currently, at least) doesn’t export submodules sensibly 
> with their svn version.

SVN users can continue using the projects directly, they *just* need
to change the SVN repository location of every project to GitHub.

It can't get simpler than that.


> I think it would help to have a description of how to bisect for a clang or 
> lldb (or some other subproject) regression.

There are plenty of good documentation
(https://git-scm.com/book/en/v2) that teaches everything one needs to
know about git (but was afraid to ask).

Using the umbrella project, the sub-modules will make it trivial to
bisect. Using SVN view for individual projects will make it
*identical* to bisect as it was.


> For downstream users, it would also be nice if tools like git-imerge let you 
> merge clang and llvm together, though that’s a nice-to-have feature that we 
> currently lack so shouldn’t in any way block the migration.

Git imerge is an amazing tool, but it's not production quality yet, I
think. Though, this is really an orthogonal issue, since SVN-bound
people can still use the SVN view and merge their own patches
downstream.

cheers,
--renato
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


Re: [lldb-dev] [llvm-dev] [cfe-dev] Sequential ID Git hook

2016-07-05 Thread Bruce Hoult via lldb-dev
On Sat, Jul 2, 2016 at 3:18 AM, Tom Honermann via llvm-dev <
llvm-...@lists.llvm.org> wrote:

> We're using tags in this manner for our internal repos and LLVM/Clang
> mirrors and haven't experienced any problems.  We're at ~50k tags for
> our most used repo, so not quite at hundreds of thousands yet.
>
> When I look in .git/refs/tags of one of my repos, I do *not* see 50k
> files; I see ~400.  I'm not sure what causes some to appear here and
> others not.
>

You don't see many tags because tags (both heavy and lightweight) are
transferred from the file system into a pack file whenever a "git repack"
or "git gc" happens.
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


Re: [lldb-dev] [llvm-dev] Sequential ID Git hook

2016-07-05 Thread Mehdi Amini via lldb-dev

> On Jul 5, 2016, at 3:44 AM, Renato Golin via llvm-dev 
>  wrote:
> 
> Quick re-cap.
> 
> After a few rounds, not only the "external server" proposal got
> obliterated as totally unnecessary, but the idea that we may even need
> a hook at all is now challenged.

This is not clear to me. 
How is the umbrella repository updated?

— 
Mehdi



> 
> Jared's idea to use "git describe" is in line with previous proposals
> to use rev-list --count and to do so only up to the previous tag, but
> all in one nice and standard little feature.
> 
> There were concerns by applying one tag per commit, but most of them
> offered weak evidence. However, if "describe" can cover all our needs,
> there is no point in even discussing tags.
> 
> Just for reference, GitHub *does* have an SVN interface [1], and you
> can already checkout a specific revision with "svn checkout -r NNN
> repo", which *is already* using "git rev-list --count".
> 
> This means that, for SVN based bisects, using GitHub will make it
> *completely transparent* for SVN users. You can also base your
> releases off an SVN view of the Git repo.
> 
> So, to clear up this discussion and finish my proposal to move to
> GitHub, my final questions, only to those that *want* SVN
> compatibility:
> 
> 1. Is there anything in the SVN view of GitHub that *doesn't* work for
> you? (ie. same as using "rev-list --count")
> 
> 2. If so, can "git describe" solve the problem?
> 
> 3. If not, please describe, in details, why < solution>> would be the *only* way forward.
> 
> I'll let this sit for a few days, and if no one has any serious issue,
> I'll write up the final proposal and start the voting process with the
> Foundation.
> 
> cheers,
> --renato
> 
> [1] https://github.com/blog/626-announcing-svn-support
> ___
> LLVM Developers mailing list
> llvm-...@lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

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


Re: [lldb-dev] [llvm-dev] Sequential ID Git hook

2016-07-05 Thread Renato Golin via lldb-dev
On 5 Jul 2016 10:45 p.m., "Mehdi Amini"  wrote:
>
>
> > On Jul 5, 2016, at 3:44 AM, Renato Golin via llvm-dev <
llvm-...@lists.llvm.org> wrote:
> >
> > Quick re-cap.
> >
> > After a few rounds, not only the "external server" proposal got
> > obliterated as totally unnecessary, but the idea that we may even need
> > a hook at all is now challenged.
>
> This is not clear to me.
> How is the umbrella repository updated?

Sorry, I meant no hooks for updating sequential ids. We still need a hook
to update the umbrella project.

Cheers,
Renato
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


[lldb-dev] July LLVM bay-area social is this Thursday!

2016-07-05 Thread George Burgess IV via lldb-dev
We'll be at Tied House as usual, starting on Thursday the 7th at 7pm!

If you can, help us plan and RSVP here: http://meetu.ps/2XQyLm

See everyone there!
George
___
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev