[dotest] Use in-tree dsymutil on Darwin

Summary:
With the upstream implementation of dsymutil containing almost all
functionality from the one shipped with Xcode, we want to use the
in-tree version for running the test suite.

This will also allow us to re-enable TestUnicodeSymbols which was
failing because of the discrepancy in how Unicode symbols were hashed in
lldb and older versions of dsymutil.

Reviewers: aprantl, davide, jingham, labath

Subscribers: mgorny, llvm-commits, lldb-commits

Differential Revision: https://reviews.llvm.org/D45518

llvm-svn: 329889
This commit is contained in:
Jonas Devlieghere
2018-04-12 09:25:32 +00:00
parent 984db9ecbc
commit 1bf22e7722
4 changed files with 12 additions and 3 deletions

View File

@@ -301,6 +301,12 @@ def parseOptionsAndInitTestdirs():
configuration.compiler = candidate
break
if args.dsymutil:
os.environ['DSYMUTIL'] = args.dsymutil
else if platform_system == 'Darwin':
os.environ['DSYMUTIL'] = seven.get_command_output(
'xcrun -find -toolchain default dsymutil')
if args.channels:
lldbtest_config.channels = args.channels

View File

@@ -83,6 +83,8 @@ def create_parser():
help=textwrap.dedent('''Specify the extra flags to be passed to the toolchain when building the inferior programs to be debugged
suggestions: do not lump the "-A arch1 -A arch2" together such that the -E option applies to only one of the architectures'''))
group.add_argument('--dsymutil', metavar='dsymutil', dest='dsymutil', help=textwrap.dedent('Specify Which dsymutil to use.'))
# Test filtering options
group = parser.add_argument_group('Test filtering options')
group.add_argument(

View File

@@ -147,7 +147,7 @@ ARCHFLAG ?= -arch
# Change any build/tool options needed
#----------------------------------------------------------------------
ifeq "$(OS)" "Darwin"
DS := $(shell xcrun -find -toolchain default dsymutil)
DS := $(DSYMUTIL)
DSFLAGS =
DSYM = $(EXE).dSYM
AR := $(CROSS_COMPILE)libtool
@@ -668,7 +668,7 @@ endif
#----------------------------------------------------------------------
# From http://blog.melski.net/tag/debugging-makefiles/
#
#
# Usage: make print-CC print-CXX print-LD
#----------------------------------------------------------------------
print-%:

View File

@@ -13,7 +13,7 @@ function(add_python_test_target name test_script args comment)
)
endfunction()
set(LLDB_TEST_DEPS lldb)
set(LLDB_TEST_DEPS lldb dsymutil)
# darwin-debug is an hard dependency for the testsuite.
if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
@@ -67,6 +67,7 @@ set(LLDB_TEST_USER_ARGS
set(LLDB_TEST_COMMON_ARGS
--arch=${LLDB_TEST_ARCH}
--executable $<TARGET_FILE:lldb>
--dsymutil $<TARGET_FILE:dsymutil>
-s
${CMAKE_BINARY_DIR}/lldb-test-traces
--build-dir