[lldb-dev] Linux: "doesn't contain the architecture x86_64"

Keno Fischer kfischer at college.harvard.edu
Mon Jul 21 20:18:05 PDT 2014


According to bisect, the culprit is:

Author: Todd Fiala <todd.fiala at gmail.com>
Date:   Fri Jun 27 16:52:49 2014 +0000

    Fix ObjectFileELF to determine architectures independent of host.

    Previously ObjectFileELF was simplifying and assuming the object file
it was
    looking at was the same as the host architecture/triple.  This would
break
    attempts to run, say, lldb on MacOSX against lldb-gdbserver on Linux
since
    the MacOSX lldb would say that the linux elf file was really an Apple
MacOSX
    architecture.  Chaos would ensue.

    This change allows the elf file to parse ELF notes for Linux, FreeBSD
and
    NetBSD, and determine the OS appropriately from them.  It also
initializes
    the OS type from the ELF header OSABI if it is set (which it is for
FreeBSD
    but not for Linux).

    Added a test with freebsd and linux images that verify that
    '(lldb) image list -t -A' prints out the expected architecture for each.


    git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@211907
91177308-0d34-0410-b5e6-96231b3b80d8


On Mon, Jul 21, 2014 at 5:24 PM, Todd Fiala <tfiala at google.com> wrote:

> Hi again,
>
> Keno - what revision of lldb are you synched to?  I recall seeing some
> platform changes go in today, I think after my last sync/build.
>
> Thanks,
> Todd
>
>
> On Mon, Jul 21, 2014 at 5:10 PM, Todd Fiala <tfiala at google.com> wrote:
>
>> FWIW - I just tried this on Ubuntu 14.04 with a build at r213575 (earlier
>> today):
>>
>> tfiala at tfiala2:/mnt/ssd/work/macosx.sync/mbp-git/build-debug$ bin/lldb
>> (lldb) file /bin/ls
>> Current executable set to '/bin/ls' (x86_64).
>> (lldb) run
>> Process 20313 launching
>> Process 20313 launched: '/bin/ls' (x86_64)
>> Process 20313 stopped
>> * thread #1: tid = 20313, 0x00007fdaa88d42d0, name = 'ls', stop reason = trace
>>     frame #0: 0x00007fdaa88d42d0
>> error: No such process
>> 2014-06-29-23_22_22  CMakeFiles               examples          rules.ninja
>> 2014-06-29-23_22_40  cmake_install.cmake      include           share
>> bin                  CPackConfig.cmake        lib               test
>> build.ninja          CPackSourceConfig.cmake  lldb-test-traces  tools
>> cmake                docs                     LLVMBuild.cmake   unittests
>> CMakeCache.txt       DummyConfigureOutput     projects          utils
>> Process 20313 exited with status = 0 (0x00000000)
>> (lldb)
>>
>> That seemed to work, but is Ubuntu 14.04 vs. 12.04.
>>
>> -Todd
>>>>
>>
>> On Mon, Jul 21, 2014 at 5:08 PM, Todd Fiala <tfiala at google.com> wrote:
>>
>>> Can you send me your /bin/ls?  (Direct send to me, might need to .tar.gz
>>> it).  I can see if we're identifying it correctly at the object file level.
>>>
>>> With recent platform additions, we may have borked something.
>>>
>>> Have you tried running the tests on your end?  There are a few tests in
>>> test/functionalities/object-file that will verify if we're parsing the
>>> object files correctly.
>>>
>>>
>>>
>>> On Mon, Jul 21, 2014 at 5:05 PM, Keno Fischer <
>>> kfischer at college.harvard.edu> wrote:
>>>
>>>> This is on
>>>>
>>>> 64-bit Ubuntu 12.04.4 LTS (GNU/Linux 3.2.0-61-generic x86_64)
>>>>
>>>> I started a bisect. I can confirm that this worked on Feb 28 (I chose
>>>> that arbitrarily for the start of the bisect), so it must have broken since.
>>>>
>>>>
>>>> On Mon, Jul 21, 2014 at 5:01 PM, Todd Fiala <tfiala at google.com> wrote:
>>>>
>>>>> Hi Keno,
>>>>>
>>>>> Which Linux distribution and bitness (64/32) are you on?
>>>>>
>>>>> I've seen similar behavior when platforms or object files
>>>>> inappropriately identify (or mis-identify) which files they can do
>>>>> something with.
>>>>>
>>>>>
>>>>> On Mon, Jul 21, 2014 at 3:26 PM, Keno Fischer <
>>>>> kfischer at college.harvard.edu> wrote:
>>>>>
>>>>>> I just rebuilt lldb on a linux machine (usually I'm on mac), and I'm
>>>>>> seeing this (for all programs on the machine). Has anybody seen this
>>>>>> before (before I dive into debugging)?
>>>>>>
>>>>>> >usr/bin/lldb /bin/ls
>>>>>> error: '/bin/ls' doesn't contain the architecture x86_64
>>>>>>
>>>>>> Keno
>>>>>> _______________________________________________
>>>>>> lldb-dev mailing list
>>>>>> lldb-dev at cs.uiuc.edu
>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>  Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>>>
>>
>>
>>
>> --
>> Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>>
>
>
>
> --
> Todd Fiala | Software Engineer |  tfiala at google.com |  650-943-3180
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140721/caefc17e/attachment.html>


More information about the lldb-dev mailing list