<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel">
    <title>gmane.comp.debugging.lldb.devel</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1651"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1650"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1649"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1648"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1646"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1645"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1644"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1643"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1642"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1641"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1640"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1639"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1638"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1637"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1636"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1635"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1634"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1633"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1632"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1631"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1651">
    <title>[PATCH] Symbol/Variable: fix case where multiple matching variables are found</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1651</link>
    <description>&lt;pre&gt;Hi,

I have attached a patch for a bug in
Variable::GetValuesForVariableExpressionPath().
There is also a small patch for a typo.

Can you please review them?

Thanks,
Yacine

_______________________________________________
lldb-dev mailing list
lldb-dev&amp;lt; at &amp;gt;cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
&lt;/pre&gt;</description>
    <dc:creator>Yacine Belkadi</dc:creator>
    <dc:date>2013-05-18T09:00:39</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1650">
    <title>Patch for garbage characters on quit</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1650</link>
    <description>&lt;pre&gt;It's possible others aren't seeing this but on Ubuntu 12.04 64 bits, when I
exit lldb I get a few randomish garbage characters spewed to the terminal.
It appears the problem is the shutdown of master_out_comm in
tools/driver/Driver.cpp around line 1591.  But I'm not sure I know enough
about how this works to say what I'm doing to fix it is the best solution.
Other code for handling a Communication clear appears to shut them down by
doing the following:

    SetReadThreadBytesReceivedCallback (NULL, NULL);
    Disconnect (NULL);
    StopReadThread (NULL);

Using this sequence on the master_out_comm seems to stop it from spewing
random characters while quiting.  Just stoping the read thread wasn't a
good solution, since it caused a huge pause.  Had to set the callback to
NULL and disconnect first.

It also seemed kind of odd to me that you are closing the
editline_output_pty before shutting down master_out_comm and out_comm_2
(which both were passed the editline file descriptor).  So I moved that
CloseMasterFi&lt;/pre&gt;</description>
    <dc:creator>Matthew Sorrels</dc:creator>
    <dc:date>2013-05-17T21:39:36</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1649">
    <title>Building with gcc-4.7 on Ubuntu without it being the default gcc compiler</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1649</link>
    <description>&lt;pre&gt;I have LLDB close to building with gcc-4.7 on Ubuntu without needing it to be the default compiler.

The issue I ran into was that there are places that check for g++ being the compiler and add extra flags if the name is exactly "g++"

There is some Makefile code that does:

ifeq (g++,$(shell basename $(CXX)))
    do stuff
endif


If there a good makefile mechanism to say if the basename starts with "g++"? I know I can probably pass this through "colrm", but I didn't know if there is a common other way that this kind of thing should be done.

Right now to get things building I just did:

ifeq (g++,$(shell basename $(CXX)))
    do stuff
endif
ifeq (g++-4.7,$(shell basename $(CXX)))
    do stuff
endif

But I don't want to check this in as the fix should really work for any GCC.

Greg Clayton
&lt;/pre&gt;</description>
    <dc:creator>Greg Clayton</dc:creator>
    <dc:date>2013-05-17T19:16:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1648">
    <title>Re: [Bug 16039] Cannot use 'continue' from the pythonapi on Linux</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1648</link>
    <description>&lt;pre&gt;Thanks for the clarification.  I’ve closed the bug after confirming my test works when not in async mode.

However, in async mode what do I need to do to handle the stop events?  I have a loop that polls for events, and I see

0x7f965c000940 Event: broadcaster = 0x2a8c488 (lldb.process), type = 0x00000001 (state-changed), data = { process = 0x2a8c450 (pid = 31924), state = stopped}

After I call ‘run’, and it hits the breakpoint.  What needs to be updated at this point to allow me to ‘continue’?

Thanks,

Ben

From: bugzilla-daemon&amp;lt; at &amp;gt;llvm.org [mailto:bugzilla-daemon&amp;lt; at &amp;gt;llvm.org]
Sent: Thursday, May 16, 2013 7:07 PM
To: Langmuir, Ben
Subject: [Bug 16039] Cannot use 'continue' from the python api on Linux

Jim Ingham&amp;lt;mailto:jingham&amp;lt; at &amp;gt;apple.com&amp;gt; changed bug 16039&amp;lt;http://llvm.org/bugs/show_bug.cgi?id=16039&amp;gt;
What

Removed

Added

CC



jingham&amp;lt; at &amp;gt;apple.com&amp;lt;mailto:jingham&amp;lt; at &amp;gt;apple.com&amp;gt;

Comment # 2&amp;lt;http://llvm.org/bugs/show_bug.cgi?id=16039#c2&amp;gt; on bug 16039&amp;lt;http://llvm.org/bugs/show_bug.&lt;/pre&gt;</description>
    <dc:creator>Langmuir, Ben</dc:creator>
    <dc:date>2013-05-17T18:36:47</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1646">
    <title>Code coverage of llvm, clang, lldb &amp; polly</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1646</link>
    <description>&lt;pre&gt;Hello,

Plugged in the Jenkins instance used to build Debian &amp;amp; Ubuntu nightly
package, I configured a code coverage tool (lcov) with all the tests of
these projects.
Results are published here:
http://buildd-clang.debian.net/coverage/

This URL is updated twice a day (it might change since it is taking a
long time).


For those who would like to have their own setup, with gcc, use the
following declaration:
CXXFLAGS="-fprofile-arcs -ftest-coverage"  LDFLAGS="-coverage -lgcov"

Rebuild everything, launch the tests and run:

REPORT=reports/scilab-code-coverage.info
BUILD_DIR=reports/
mkdir -p $BUILD_DIR
lcov --directory $BUILD_DIR --capture --ignore-errors source
--output-file $REPORT
lcov --remove $REPORT "/usr*" -o $REPORT
lcov --remove $REPORT "$BUILD_DIR/*" -o $REPORT
genhtml -o reports/coverage --show-details --highlight --legend $REPORT

Cheers,
Sylvestre
&lt;/pre&gt;</description>
    <dc:creator>Sylvestre Ledru</dc:creator>
    <dc:date>2013-05-17T15:09:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1645">
    <title>Re: PATCH for REVIEW: Implement LinuxHost::FindProcesses()</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1645</link>
    <description>&lt;pre&gt;I agree with what you said, and the patches look good. A few inlined comments below...

On May 16, 2013, at 3:38 PM, Michael Sartain &amp;lt;mikesart&amp;lt; at &amp;gt;valvesoftware.com&amp;gt; wrote:


Yep, the PlatformLinux needs to be able to deal with "unknown unknown" properly which your patch does do.


The patch looks good.

&lt;/pre&gt;</description>
    <dc:creator>Greg Clayton</dc:creator>
    <dc:date>2013-05-16T23:05:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1644">
    <title>Re: PATCH for REVIEW: Implement LinuxHost::FindProcesses()</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1644</link>
    <description>&lt;pre&gt;


Getting there. :) I want to be really clear, so I'm going to break this up
as this issue involves the ObjectFileELF::GetModuleSpecifications() changes
- we can assume GetProcessCPUTypeFromExecutable() and friends don't even
exist...

Here is the trace of what is happening right now when it fails.

calls TargetList::CreateTarget(), line 63
  - platform_arch defaults to unknown/unknown/unknown
  calls ObjectFile::GetModuleSpecifications()
    - only one arch, so platform_arch is set to it
(x86_64/unknownOS/UnknownEnv)
    calls TargetList::CreateTarget, line 187
      - specified_arch == platform_arch == (x86_64/unknownOS/UnknownEnv)
      calls Platform::ResolveExecutble()
        - exe_arch == (x86_64/unknownOS/UnknownEnv)
        - module_spec is intialized with exe_arch
        if (exe_arch.IsValid()) is true so:
          calls ModuleList::GetSharedModule(module_spec, ...)

Given what you've said, I believe I need to add some code somewhere in that
call chain which checks for triple vendor not being sp&lt;/pre&gt;</description>
    <dc:creator>Michael Sartain</dc:creator>
    <dc:date>2013-05-16T22:38:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1643">
    <title>[Bug 16039] New: Cannot use 'continue' from the pythonapi on Linux</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1643</link>
    <description>&lt;pre&gt;http://llvm.org/bugs/show_bug.cgi?id=16039

            Bug ID: 16039
           Summary: Cannot use 'continue' from the python api on Linux
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev&amp;lt; at &amp;gt;cs.uiuc.edu
          Reporter: ben.langmuir&amp;lt; at &amp;gt;intel.com
    Classification: Unclassified

Created attachment 10530
  --&amp;gt; http://llvm.org/bugs/attachment.cgi?id=10530&amp;amp;action=edit
Python script to reproduce the bug

Trying to continue from the python api erroneously fails saying the process is
still running.  This is true with the command interpreter, and using
Process.Continue().  To reproduce, compile test.c with -g and save as a.out,
then run the python script.

interp.HandleCommand('b main', res)
interp.HandleCommand('run', res)
interp.HandleCommand('process status', res)
print res.GetOutput()
interp.HandleCommand('continue', res)
if re&lt;/pre&gt;</description>
    <dc:creator>bugzilla-daemon&lt; at &gt;llvm.org</dc:creator>
    <dc:date>2013-05-16T21:23:18</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1642">
    <title>[Bug 16037] New: Expression evaluation for function call to templated class doesn't work</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1642</link>
    <description>&lt;pre&gt;http://llvm.org/bugs/show_bug.cgi?id=16037

            Bug ID: 16037
           Summary: Expression evaluation for function call to templated
                    class doesn't work
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev&amp;lt; at &amp;gt;cs.uiuc.edu
          Reporter: tareq.a.siraj&amp;lt; at &amp;gt;intel.com
    Classification: Unclassified

Created attachment 10528
  --&amp;gt; http://llvm.org/bugs/attachment.cgi?id=10528&amp;amp;action=edit
Reproducer source

Expression evaluation for a function call to a templated class seems to be
broken unless the same expression is used later in the body. Not sure if this
is a duplicate of 15879 or not.

Source:
struct Foo {
};

template &amp;lt;typename T&amp;gt;
class Ptr {
  T Val;

public:
  Ptr() : Val(T()) {}
  Ptr(T x) : Val(x) {}

  T get() const { return Val; }
};

typedef Ptr&amp;lt;Foo*&amp;gt; FooResult;

int main(void) {
  FooResult f = n&lt;/pre&gt;</description>
    <dc:creator>bugzilla-daemon&lt; at &gt;llvm.org</dc:creator>
    <dc:date>2013-05-16T20:52:59</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1641">
    <title>Re: [Bug 15301] New: LLDB prints incorrect size of libstdc++ vector&lt;bool&gt; containers (when inferior built with GCC on Linux)</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1641</link>
    <description>&lt;pre&gt;Hi,
thanks for addressing these concerns and for your contribution to LLDB.
Please find replies inlined.

Enrico Granata
📩 egranata&amp;lt; at &amp;gt;.com
☎️ 27683

On May 16, 2013, at 1:13 PM, Yacine Belkadi &amp;lt;yacine.belkadi.1&amp;lt; at &amp;gt;gmail.com&amp;gt; wrote:


We can have exact matches for all of these things:
- the original thing that LLDB matches
- the buggy GCC thing
- the correct GCC thing

Then we know exactly what we are matching and why.


What I meant was more along the lines of “we could erroneously match other versions of std::vector&amp;lt;&amp;gt; that should not match”.


I personally tend to avoid regexes unless you really need to match a broad and potentially unbounded range of types.
In this case, it seems we have two or three different names, and it would also be good to track that one of these is just a workaround for a bug, rather than a real incarnation of the class.
It is not critical because we do formatters caching (so we would look at the regexes once, figure out the match for vector&amp;lt;bool&amp;gt; and then reuse it until th&lt;/pre&gt;</description>
    <dc:creator>Enrico Granata</dc:creator>
    <dc:date>2013-05-16T20:51:31</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1640">
    <title>Re: PATCH for REVIEW: Implement LinuxHost::FindProcesses()</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1640</link>
    <description>&lt;pre&gt;
On May 16, 2013, at 1:09 PM, Michael Sartain &amp;lt;mikesart&amp;lt; at &amp;gt;valvesoftware.com&amp;gt; wrote:


Again, this arch for the target comes from the main executable in the target. The main executable's arch is filled in from getting the process info right? So if we fix the process info so that the arch info is correct (it should return "x86_64-pc-linux" or whatever the llvm target triple is supposed to be for linux).


Almost! There is "unknown unknown" (OS is unknown only because it wasn't specified), and "specified unknown" (we use this to mean "no OS")).

My patch used this feature:

               if (!process_info.GetArchitecture().TripleVendorWasSpecified())


If you ask the ArchSpec::GetTriple().getOS(), it might return "llvm::Triple::UnknownOS". If the string was actually specified as "unknown", then "ArchSpec::GetTriple().getOSName()" will return a non-empty string containing "unknown". 

Another way to fix this would be to have a "llvm::Triple::NoOS" enumeration. There isn't one currently, so we currently test to se&lt;/pre&gt;</description>
    <dc:creator>Greg Clayton</dc:creator>
    <dc:date>2013-05-16T20:28:01</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1639">
    <title>Re: File offset usage on ObjectFileELF</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1639</link>
    <description>&lt;pre&gt;This is fallout from changes over the years.

If indeed ObjectFileELF creates its own data that is zero based, then the file offset should be ignored in other areas. It used to be each object file would lazily parse data from the file, but that led to crashes when someone would modify the file during a debug session. We would go to a file offset and read bytes that didn't make sense based off of the data we parsed when the first opened the file (like program and section headers). 

To fix this correctly, we now always mmap the entire object file when it first gets parsed so that we don't ever run into this case. During these changes, I switched all object file parsers over to always make their file data correct and zero based (go to file_offset, and read entire file up front).

More answers below.
On May 16, 2013, at 11:59 AM, Filipe Cabecinhas &amp;lt;filcab&amp;lt; at &amp;gt;gmail.com&amp;gt; wrote:

It shouldn't if the m_data member is filled with the ELF file data starting at file_offset to begin with.


Indeed, changes which happened &lt;/pre&gt;</description>
    <dc:creator>Greg Clayton</dc:creator>
    <dc:date>2013-05-16T20:15:32</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1638">
    <title>Re: [Bug 15301] New: LLDB prints incorrect size of libstdc++ vector&lt;bool&gt; containers (when inferior built with GCC on Linux)</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1638</link>
    <description>&lt;pre&gt;Hi Enrico,

On 05/15/2013 11:32 PM, Enrico Granata wrote:

Adding an exact string to match "std::vector&amp;lt;bool, std::allocator&amp;lt;bool&amp;gt;,
bool, std::allocator&amp;lt;bool&amp;gt; &amp;gt;" would indeed serve as a workaround, but only
for the specific case of vector&amp;lt;bool&amp;gt; + the GCC version with the bug +
"frame variable". It will not be enough to match the "std::vector&amp;lt;bool,
std:allocator&amp;lt;bool&amp;gt; &amp;gt;" that GCC initially intended to produce for
"std::vector&amp;lt;bool&amp;gt;". It will not avoid problems with the erroneous parsing
of other types that have templates parameters that will get duplicated. So I
think the first patch was important to have a complete workaround.

As I needed to match two similar types:
"std::vector&amp;lt;bool, std:allocator&amp;lt;bool&amp;gt; &amp;gt;" (produced by GCC) and
"std::vector&amp;lt;std:allocator&amp;lt;bool&amp;gt; &amp;gt;" (produced by Clang), I thought it was
more appropriate to factor the two into the regex
"^std::vector&amp;lt;(bool,( )?)?std::allocator&amp;lt;bool&amp;gt; &amp;gt;$".


I removed it because it looked redundant, as it's already included in the
regex summary for other vectors&lt;/pre&gt;</description>
    <dc:creator>Yacine Belkadi</dc:creator>
    <dc:date>2013-05-16T20:13:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1637">
    <title>Re: [Bug 15301] New: LLDB prints incorrect size of libstdc++ vector&lt;bool&gt; containers (when inferior built with GCC on Linux)</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1637</link>
    <description>&lt;pre&gt;Hi Greg,

On 05/15/2013 11:08 PM, Greg Clayton wrote:

I understand your concerns. I wasn't sure if a workaround was wanted in
lldb. I attached one in case it was, and to have some code to discuss about.

The patch is based on the assumption that a class or a function DIE
shouldn't contain multiple identical template paramter DIEs. That template
parameters DIEs should at least differ by name if everything else is
identical. It looks reasonably safe to me, but I may be missing something.

As I understand it, the choice is to avoid the workaround in lldb, and let
GCC fix the problem. According to the GCC bug report, it's "Fixed for 4.8".
So the test case will get from XFAIL to XPASS by itself, someday :)

Yacine
&lt;/pre&gt;</description>
    <dc:creator>Yacine Belkadi</dc:creator>
    <dc:date>2013-05-16T20:13:20</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1636">
    <title>Re: PATCH for REVIEW: Implement LinuxHost::FindProcesses()</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1636</link>
    <description>&lt;pre&gt;

Sorry I wasn't clear - this issue has nothing to do with the code in
Linux/Host.cpp. It's showing up because we've now implemented
ObjectFileELF::GetModuleSpecifications().

It's returning x86_64 / UnknownVendor / UnknownOS for this target I'm
trying to debug where it used to return nothing. Ie, invalid arch.

So in PlatformLinux.cpp, we are now running the exe_arch.IsValid() block
down below (used to take the else clause).

m_arch in module_spec is:
    Arch = llvm::Triple::x86_64,
    Vendor = llvm::Triple::UnknownVendor,
    OS = llvm::Triple::Linux,
    Environment = llvm::Triple::GNU
exe_arch is:
    Arch = llvm::Triple::x86_64,
    Vendor = llvm::Triple::UnknownVendor,
    OS = llvm::Triple::UnknownOS,
    Environment = llvm::Triple::UnknownEnvironment

ModuleList::GetShareModule() fails and reports my exe doesn't contain
"x86_64". Modifying the code in ArchSpec to return Linux isn't the correct
solution, but what is? Something local here where if OS is Unknown we match
any OS?

Thanks.

    if (erro&lt;/pre&gt;</description>
    <dc:creator>Michael Sartain</dc:creator>
    <dc:date>2013-05-16T20:09:48</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1635">
    <title>Re: PATCH for REVIEW: ImplementLinuxHost::FindProcesses()</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1635</link>
    <description>&lt;pre&gt;One thing I forgot to mention: the the modifications to ArchSpec.cpp should also be removed prior to submission.

On May 16, 2013, at 11:50 AM, Greg Clayton &amp;lt;gclayton&amp;lt; at &amp;gt;apple.com&amp;gt; wrote:

&lt;/pre&gt;</description>
    <dc:creator>Greg Clayton</dc:creator>
    <dc:date>2013-05-16T20:00:23</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1634">
    <title>File offset usage on ObjectFileELF</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1634</link>
    <description>&lt;pre&gt;Hi all,

Why is ObjectFileELF using the file offset to parse the ELF headers?

For the changes I'm suggesting, skip to the end of the message (3 last
paragraphs).

From what I can tell, ObjectFileELF's constructor will get a
FileSpec+file_offset and a DataBuffer+data_offset. CreateInstance made
sure the DataBuffer had all the data we needed.

Then ObjectFileELF's constructor calls ObjectFile's constructor with
those arguments too. ObjectFile's constructor sets its private m_data
field to point to the argument DataBuffer's contents (+ offset), and
simply stores the FileSpec and file_offset.

When ObjectFileELF::ParseHeader() is called, it gets the file_offset
and then parses the header from m_data with that offset. This makes no
sense, for me, since the offset is only for the file, not the
DataBuffer.

I couldn't find any other reference to ObjectFile::GetFileOffset on
either ObjectFile, ObjectFileELF, or ObjectFileMachO. There is one
reference to m_file_offset in ObjectFileMachO, though. Which seems
legit, b&lt;/pre&gt;</description>
    <dc:creator>Filipe Cabecinhas</dc:creator>
    <dc:date>2013-05-16T18:59:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1633">
    <title>Re: PATCH for REVIEW: Implement LinuxHost::FindProcesses()</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1633</link>
    <description>&lt;pre&gt;
On May 16, 2013, at 11:32 AM, Michael Sartain &amp;lt;mikesart&amp;lt; at &amp;gt;valvesoftware.com&amp;gt; wrote:


No, I would do this by modifying all the architectures in ModuleSpec objects that are returned from ObjectFile::GetModuleSpecifications() inside GetELFProcessCPUType(). All we know by looking at an ELF file and grabbing its specifications is that is has an architecture, we don't know what OS the ELF file is destined for. But in GetELFProcessCPUType(), which might be better named GetProcessCPUTypeFromExecutable() since it isn't ELF specific, we know we have an executable file for the current host. So I would make your function now with something like:


static bool
GetProcessCPUTypeFromExecutable (const char *exe_path, ProcessInstanceInfo &amp;amp;process_info)
{
    // Clear the architecture.
    process_info.GetArchitecture().Clear();

    ModuleSpecList specs;
    FileSpec filespec (exe_path, false);
    const size_t num_specs = ObjectFile::GetModuleSpecifications (filespec, 0, specs);
    assert(num_specs == 1 &amp;amp;&amp;amp; "Linux plugin su&lt;/pre&gt;</description>
    <dc:creator>Greg Clayton</dc:creator>
    <dc:date>2013-05-16T18:50:00</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1632">
    <title>Re: PATCH for REVIEW: Implement LinuxHost::FindProcesses()</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1632</link>
    <description>&lt;pre&gt;

Yeah, that makes me feel more comfortable with that "== 1" check. It's in.

I ran into an issue where TargetList::CreateTarget() was failing because
it's calling ObjectFile::GetModuleSpecifications() and getting back x86_64
/ UnknownVendor / UnknownOS and is expecting to find the Linux for the OS
when it calls IsCompatibleMatch().

So I modified ArchSpec::SetArchitecture() to set the Linux OS using an
ifdef in ArchSpec.cpp. Is this the best way to do this?

I also got rid of the llvm::Triple::PC for vendor. This just seemed wrong
as Linux can run on all kinds of platforms. I did write some code to get
the distributor name from /etc/lsb-release, but the llvm triple doesn't
line up with anything there of course. So for now it spits out
"x86_64-unknown-linux".

The final patch is down below. Let me know if this is all ok and I'll
submit.

Thanks again for all the help / feedback on everything.
 -Mike

Index: source/Host/linux/Host.cpp
===================================================================
--- sou&lt;/pre&gt;</description>
    <dc:creator>Michael Sartain</dc:creator>
    <dc:date>2013-05-16T18:32:29</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1631">
    <title>[Bug 14806] platform status command prints less information on Linux than on Mac OS X</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1631</link>
    <description>&lt;pre&gt;http://llvm.org/bugs/show_bug.cgi?id=14806

Daniel Malea &amp;lt;daniel.malea&amp;lt; at &amp;gt;intel.com&amp;gt; changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #1 from Daniel Malea &amp;lt;daniel.malea&amp;lt; at &amp;gt;intel.com&amp;gt; ---
"platform status" command now shows equivalent information as on Mac OS X as of
r182030; thanks for the patch Matthew!

&lt;/pre&gt;</description>
    <dc:creator>bugzilla-daemon&lt; at &gt;llvm.org</dc:creator>
    <dc:date>2013-05-16T17:56:10</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1630">
    <title>Re: PATCH for REVIEW: Fix [Bug 14806] platform status command prints less information on Linux than on Mac OS X</title>
    <link>http://permalink.gmane.org/gmane.comp.debugging.lldb.devel/1630</link>
    <description>&lt;pre&gt;Hi Matthew, welcome to LLDB!

I tried it out, and it looked good, so I committed in r182030.

Keep the fixes coming :)

Dan

From: Matthew Sorrels &amp;lt;sorrels.m&amp;lt; at &amp;gt;gmail.com&amp;lt;mailto:sorrels.m&amp;lt; at &amp;gt;gmail.com&amp;gt;&amp;gt;
Date: Wednesday, 15 May, 2013 8:01 PM
To: "lldb-dev&amp;lt; at &amp;gt;cs.uiuc.edu&amp;lt;mailto:lldb-dev&amp;lt; at &amp;gt;cs.uiuc.edu&amp;gt;" &amp;lt;lldb-dev&amp;lt; at &amp;gt;cs.uiuc.edu&amp;lt;mailto:lldb-dev&amp;lt; at &amp;gt;cs.uiuc.edu&amp;gt;&amp;gt;
Subject: [lldb-dev] PATCH for REVIEW: Fix [Bug 14806] platform status command prints less information on Linux than on Mac OS X

I've expanded PlatformLinux::GetStatus to work more like the Mac version (by calling Platform::GetStatus and then adding in the fields from uname in the same format).  I've also fixed the test case for this to no longer expect failure.

Here's the new output:

(lldb) platform status
  Platform: host
    Triple: x86_64--linux-gnu
OS Version: 3.2.0
  Hostname: localhost
    Kernel: Linux
   Release: 3.2.0-41-generic
   Version: #66-Ubuntu SMP Thu Apr 25 03:27:11 UTC 2013


Index: test/functionalities/platform/TestPlatformCommand.py
===============&lt;/pre&gt;</description>
    <dc:creator>Malea, Daniel</dc:creator>
    <dc:date>2013-05-16T17:55:09</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.debugging.lldb.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.debugging.lldb.devel</link>
  </textinput>
</rdf:RDF>
