[lldb-dev] [Bug 35040] New: lldb tests are failing when an in-tree clang is specified (missing ar/objcopy)

via lldb-dev lldb-dev at lists.llvm.org
Mon Oct 23 11:19:01 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=35040

            Bug ID: 35040
           Summary: lldb tests are failing when an in-tree clang is
                    specified (missing ar/objcopy)
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev at lists.llvm.org
          Reporter: davide at freebsd.org
                CC: aprantl at apple.com, dblaikie at gmail.com,
                    lhames at gmail.com, llvm-bugs at lists.llvm.org,
                    rnk at google.com, zturner at google.com

Example:

======================================================================
ERROR: test_dwarf (TestBSDArchives.BSDArchivesTestCase)
   Break inside a() and b() defined within libfoo.a.
----------------------------------------------------------------------
Error when building test subject.

Build Command:
make MAKE_DSYM=NO ARCH=x86_64 CC="/home/davide/work/build-lldb/bin/clang-5.0"

Build Command Output:
make: /home/davide/work/build-lldb/bin/ar: Command not found
make: *** [libfoo.a(a.o)] Error 127

Test Directory:
/home/davide/work/llvm-lldb/tools/lldb/packages/Python/lldbsuite/test/functionalities/archives
======================================================================
ERROR: test_dwo (TestBSDArchives.BSDArchivesTestCase)
   Break inside a() and b() defined within libfoo.a.
----------------------------------------------------------------------
Error when building test subject.

Build Command:
make MAKE_DSYM=NO MAKE_DWO=YES ARCH=x86_64
CC="/home/davide/work/build-lldb/bin/clang-5.0"

Build Command Output:
make: /home/davide/work/build-lldb/bin/ar: Command not found
make: *** [libfoo.a(a.o)] Error 127


There's a bunch of these failing, and it's a little weird.
They're failing because they're assuming that `ar` and `objcopy` (and maybe
other bits of binutils` live in the llvm `bin/` directory, rather than
`/usr/lib` (or `/usr/local/lib`, or anywhere else in $PATH).

I'm not sure if this is intended, but, that said, I don't think it's great. We
might:

a) Add options to `dotest.py` to override the binaries, or, more generally the
binutils directory in which the tests should look

b) Fallback to $PATH in case there's no `ar` or `objcopy`.

c) Create symlinks from `llvm-ar` and `llvm-objcopy` to `ar` and `objcopy` in
the `bin` directory (I really don't like this one)

d) If the compiler used is clang (dotest already has logic for that, prepend
the `llvm-` prefix to the executables)

e) you name it

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20171023/3e109f39/attachment.html>


More information about the lldb-dev mailing list