Bug 128322 - LayoutTestHelper missing ASAN_OTHER_LDFLAGS in its xcconfig
Summary: LayoutTestHelper missing ASAN_OTHER_LDFLAGS in its xcconfig
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: David Farler
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2014-02-06 11:59 PST by Myles C. Maxfield
Modified: 2015-01-20 11:12 PST (History)
4 users (show)

See Also:


Attachments
Patch (1.29 KB, patch)
2014-02-06 17:04 PST, David Farler
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Myles C. Maxfield 2014-02-06 11:59:44 PST
OpenSource$ make release ARGS="-xcconfig $PWD/Tools/asan/asan.xcconfig ASAN_IGNORE=$PWD/Tools/asan/webkit-asan-ignore.txt DEBUG_INFORMATION_FORMAT=dwarf-with-dsym MACOSX_DEPLOYMENT_TARGET=10.9 TOOLCHAINS=com.apple.dt.toolchain.ASAN"
...
=== BUILD TARGET LayoutTestHelper OF PROJECT DumpRenderTree WITH CONFIGURATION Release ===

Check dependencies

ProcessPCH /Volumes/Data/home/mmaxfield/Build/PrecompiledHeaders/DumpRenderTreePrefix-ddfvvzutwffvulgsswoobnibicza/DumpRenderTreePrefix.h.pch DumpRenderTreePrefix.h normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/DumpRenderTree
    /Applications/Xcode.app/Contents/Developer/Toolchains/ASAN.xctoolchain/usr/bin/clang -x objective-c-header -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -std=gnu99 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-implicit-atomic-properties -Wno-receiver-is-weak -Wno-arc-repeated-use-of-weak -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -DNDEBUG -DENABLE_DASHBOARD_SUPPORT -DWEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wno-deprecated-declarations -mmacosx-version-min=10.9 -g -fvisibility=hidden -Wno-sign-conversion -I/Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/LayoutTestHelper.hmap -I/Volumes/Data/home/mmaxfield/Build/Release/include -I/Volumes/Data/home/mmaxfield/Build/Release/usr/local/include -I/Volumes/Data/home/mmaxfield/Build/Release/WebCoreTestSupport -IForwardingHeaders -Imac/InternalHeaders -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/usr/local/include/WebCoreTestSupport -I/Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/DumpRenderTree/../../Source/JavaScriptCore/icu -I/Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/DerivedSources/x86_64 -I/Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/DerivedSources -Wall -W -Wno-unused-parameter -Wundef -F/Volumes/Data/home/mmaxfield/Build/Release -fsanitize=address -O1 -mllvm -asan-blacklist=/Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/asan/webkit-asan-ignore.txt -Wno-error -fno-omit-frame-pointer -g -DUSE_SYSTEM_MALLOC=1 -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/Frameworks/Quartz.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/Frameworks/WebKit.framework/Frameworks --serialize-diagnostics /Volumes/Data/home/mmaxfield/Build/PrecompiledHeaders/DumpRenderTreePrefix-ddfvvzutwffvulgsswoobnibicza/DumpRenderTreePrefix.h.dia -MMD -MT dependencies -MF /Volumes/Data/home/mmaxfield/Build/PrecompiledHeaders/DumpRenderTreePrefix-ddfvvzutwffvulgsswoobnibicza/DumpRenderTreePrefix.h.d -c /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/DumpRenderTree/DumpRenderTreePrefix.h -o /Volumes/Data/home/mmaxfield/Build/PrecompiledHeaders/DumpRenderTreePrefix-ddfvvzutwffvulgsswoobnibicza/DumpRenderTreePrefix.h.pch

CompileC /Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/Objects-normal/x86_64/LayoutTestHelper.o mac/LayoutTestHelper.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/DumpRenderTree
    /Applications/Xcode.app/Contents/Developer/Toolchains/ASAN.xctoolchain/usr/bin/clang -x objective-c -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -std=gnu99 -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-implicit-atomic-properties -Wno-receiver-is-weak -Wno-arc-repeated-use-of-weak -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -DNDEBUG -DENABLE_DASHBOARD_SUPPORT -DWEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wno-deprecated-declarations -mmacosx-version-min=10.9 -g -fvisibility=hidden -Wno-sign-conversion -I/Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/LayoutTestHelper.hmap -I/Volumes/Data/home/mmaxfield/Build/Release/include -I/Volumes/Data/home/mmaxfield/Build/Release/usr/local/include -I/Volumes/Data/home/mmaxfield/Build/Release/WebCoreTestSupport -IForwardingHeaders -Imac/InternalHeaders -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/usr/local/include/WebCoreTestSupport -I/Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/DumpRenderTree/../../Source/JavaScriptCore/icu -I/Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/DerivedSources/x86_64 -I/Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/DerivedSources -Wall -W -Wno-unused-parameter -Wundef -F/Volumes/Data/home/mmaxfield/Build/Release -fsanitize=address -O1 -mllvm -asan-blacklist=/Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/asan/webkit-asan-ignore.txt -Wno-error -fno-omit-frame-pointer -g -DUSE_SYSTEM_MALLOC=1 -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/Frameworks/Quartz.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks -iframework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/Frameworks/WebKit.framework/Frameworks -include /Volumes/Data/home/mmaxfield/Build/PrecompiledHeaders/DumpRenderTreePrefix-ddfvvzutwffvulgsswoobnibicza/DumpRenderTreePrefix.h -MMD -MT dependencies -MF /Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/Objects-normal/x86_64/LayoutTestHelper.d --serialize-diagnostics /Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/Objects-normal/x86_64/LayoutTestHelper.dia -c /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/DumpRenderTree/mac/LayoutTestHelper.m -o /Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/Objects-normal/x86_64/LayoutTestHelper.o

Ld /Volumes/Data/home/mmaxfield/Build/Release/LayoutTestHelper normal x86_64
    cd /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/DumpRenderTree
    /Applications/Xcode.app/Contents/Developer/Toolchains/ASAN.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk -L/Volumes/Data/home/mmaxfield/Build/Release -F/Volumes/Data/home/mmaxfield/Build/Release -filelist /Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/Objects-normal/x86_64/LayoutTestHelper.LinkFileList -Xlinker --no-demangle -mmacosx-version-min=10.9 -framework Carbon -framework Cocoa -framework OpenGL -framework IOKit -fobjc-link-runtime -Xlinker -dependency_info -Xlinker /Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/LayoutTestHelper.build/Objects-normal/x86_64/LayoutTestHelper_dependency_info.dat -o /Volumes/Data/home/mmaxfield/Build/Release/LayoutTestHelper
Undefined symbols for architecture x86_64:
  "___asan_handle_no_return", referenced from:
      _main in LayoutTestHelper.o
      _simpleSignalHandler in LayoutTestHelper.o
  "___asan_init_v3", referenced from:
      _asan.module_ctor in LayoutTestHelper.o
  "___asan_option_detect_stack_use_after_return", referenced from:
      _lockDownDiscreteGraphics in LayoutTestHelper.o
      _main in LayoutTestHelper.o
      _installLayoutTestColorProfile in LayoutTestHelper.o
  "___asan_register_globals", referenced from:
      _asan.module_ctor in LayoutTestHelper.o
  "___asan_report_load4", referenced from:
      _lockDownDiscreteGraphics in LayoutTestHelper.o
  "___asan_report_load8", referenced from:
      _main in LayoutTestHelper.o
      _restoreUserColorProfile in LayoutTestHelper.o
      _installLayoutTestColorProfile in LayoutTestHelper.o
  "___asan_report_load_n", referenced from:
      _main in LayoutTestHelper.o
  "___asan_report_store_n", referenced from:
      _main in LayoutTestHelper.o
  "___asan_stack_malloc_0", referenced from:
      _lockDownDiscreteGraphics in LayoutTestHelper.o
      _installLayoutTestColorProfile in LayoutTestHelper.o
  "___asan_stack_malloc_1", referenced from:
      _main in LayoutTestHelper.o
  "___asan_unregister_globals", referenced from:
      _asan.module_dtor in LayoutTestHelper.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **


The following build commands failed:
	Ld /Volumes/Data/home/mmaxfield/Build/Release/LayoutTestHelper normal x86_64
(1 failure)
make[2]: *** [release] Error 65
make[1]: *** [release] Error 2
make: *** [release] Error 2

WKSI built without ASAN (built normally)
Comment 1 Myles C. Maxfield 2014-02-06 16:55:08 PST
adding "-lclang_rt.asan_osx_dynamic" to the failing command makes it succeed
Comment 2 David Farler 2014-02-06 16:56:39 PST
(In reply to comment #1)
> adding "-lclang_rt.asan_osx_dynamic" to the failing command makes it succeed

This is missing more than that - it’s missing ASAN_OTHER_*FLAGS.
Comment 3 David Farler 2014-02-06 17:04:39 PST
Created attachment 223407 [details]
Patch
Comment 4 Myles C. Maxfield 2014-02-06 17:10:46 PST
r=me (but i'm not a reviewer)
Comment 5 Myles C. Maxfield 2014-02-06 17:17:00 PST
Looks like something else needs it

=== BUILD TARGET DumpRenderTree OF PROJECT DumpRenderTree WITH CONFIGURATION Release ===

Check dependencies

Ld /Volumes/Data/home/mmaxfield/Build/Release/DumpRenderTree normal x86_64
    cd /Volumes/Data/home/mmaxfield/src/WebKit/OpenSource/Tools/DumpRenderTree
    /Applications/Xcode.app/Contents/Developer/Toolchains/ASAN.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk -L/Volumes/Data/home/mmaxfield/Build/Release -F/Volumes/Data/home/mmaxfield/Build/Release -filelist /Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/DumpRenderTree.build/Objects-normal/x86_64/DumpRenderTree.LinkFileList -Xlinker --no-demangle -Xlinker -rpath -Xlinker @loader_path/. -mmacosx-version-min=10.9 -lWebKitSystemInterfaceMavericks -lWebCoreTestSupport -force_load /Volumes/Data/home/mmaxfield/Build/Release/libDumpRenderTree.a -framework Carbon -framework Cocoa -framework JavaScriptCore -framework OpenGL -framework WebKit -stdlib=libc++ -fobjc-link-runtime -Xlinker -dependency_info -Xlinker /Volumes/Data/home/mmaxfield/Build/DumpRenderTree.build/Release/DumpRenderTree.build/Objects-normal/x86_64/DumpRenderTree_dependency_info.dat -o /Volumes/Data/home/mmaxfield/Build/Release/DumpRenderTree
Undefined symbols for architecture x86_64:
  "___asan_after_dynamic_init", referenced from:
      __GLOBAL__I_a in libDumpRenderTree.a(DumpRenderTree.o)
  "___asan_before_dynamic_init", referenced from:
      __GLOBAL__I_a in libDumpRenderTree.a(DumpRenderTree.o)
Comment 6 David Farler 2014-02-06 17:25:00 PST
Comment on attachment 223407 [details]
Patch

 67 TOOLCHAINS = $(TOOLCHAINS_$(PLATFORM_NAME));
 68 TOOLCHAINS_iphoneos = $(TOOLCHAINS);
 69 TOOLCHAINS_iphonesimulator = $(TOOLCHAINS);
 70 TOOLCHAINS_macosx = $(TOOLCHAINS_macosx_$(MAC_OS_X_VERSION_MAJOR));
 71 TOOLCHAINS_macosx_1080 = default;
 72 TOOLCHAINS_macosx_1090 = $(TOOLCHAINS);
 73 TOOLCHAINS_macosx_101000 = $(TOOLCHAINS_macosx_1090);

Well, that’s not really going to work out.
Comment 7 Alexey Proskuryakov 2015-01-20 11:12:12 PST
The whole WebKit stack builds just fine with ASan now.
Comment 8 Radar WebKit Bug Importer 2015-01-20 11:12:35 PST
<rdar://problem/19534984>