I reverted the patch and made a pile of other changes to fix up the CMake caches on bots. They should all recover now.
-Chris > On Feb 4, 2016, at 8:33 PM, Richard Smith <rich...@metafoo.co.uk> wrote: > > This build might be using gold, I don't recall how that machine is > configured. I won't be able to test the fix until tomorrow, hopefully the > bits will give you enough. > >> On 4 Feb 2016 7:07 p.m., "Chris Bieneman" <be...@apple.com> wrote: >> Actually r259871 includes the code to cleanup the “bad” order file… >> >> -Chris >> >>> On Feb 4, 2016, at 7:02 PM, Chris Bieneman <be...@apple.com> wrote: >>> >>> I pushed a speculative fix for this in r259870. I’m unable to reproduce >>> locally. There are a few bots that hit the same issue, so I’m watching them. >>> >>> -Chris >>> >>>> On Feb 4, 2016, at 6:44 PM, Chris Bieneman via cfe-commits >>>> <cfe-commits@lists.llvm.org> wrote: >>>> >>>> What linker are you using and on what OS? I’m looking at this now, and >>>> will revert if I can’t find a solution. >>>> >>>> -Chris >>>> >>>>> On Feb 4, 2016, at 6:38 PM, Richard Smith <rich...@metafoo.co.uk> wrote: >>>>> >>>>> This is causing my links to fail with: >>>>> >>>>> FAILED: : && /usr/local/google/home/richardsmith/bin/clang++ >>>>> -fcolor-diagnostics -std=c++11 -stdlib=libc++ -fPIC >>>>> -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter >>>>> -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic >>>>> -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor >>>>> -Wdelete-non-virtual-dtor -std=c++11 -fcolor-diagnostics -fno-common >>>>> -Woverloaded-virtual -Wno-nested-anon-types -g >>>>> -Wl,-allow-shlib-undefined -Wl,--export-dynamic >>>>> tools/clang/tools/driver/CMakeFiles/clang.dir/driver.cpp.o >>>>> tools/clang/tools/driver/CMakeFiles/clang.dir/cc1_main.cpp.o >>>>> tools/clang/tools/driver/CMakeFiles/clang.dir/cc1as_main.cpp.o -o >>>>> bin/clang-3.8 lib/libLLVMAArch64CodeGen.a lib/libLLVMAArch64AsmPrinter.a >>>>> lib/libLLVMAArch64AsmParser.a lib/libLLVMAArch64Desc.a >>>>> lib/libLLVMAArch64Info.a lib/libLLVMAArch64Disassembler.a >>>>> lib/libLLVMAMDGPUCodeGen.a lib/libLLVMAMDGPUAsmPrinter.a >>>>> lib/libLLVMAMDGPUAsmParser.a lib/libLLVMAMDGPUDesc.a >>>>> lib/libLLVMAMDGPUInfo.a lib/libLLVMARMCodeGen.a >>>>> lib/libLLVMARMAsmPrinter.a lib/libLLVMARMAsmParser.a lib/libLLVMARMDesc.a >>>>> lib/libLLVMARMInfo.a lib/libLLVMARMDisassembler.a lib/libLLVMBPFCodeGen.a >>>>> lib/libLLVMBPFAsmPrinter.a lib/libLLVMBPFDesc.a lib/libLLVMBPFInfo.a >>>>> lib/libLLVMCppBackendCodeGen.a lib/libLLVMCppBackendInfo.a >>>>> lib/libLLVMHexagonCodeGen.a lib/libLLVMHexagonAsmParser.a >>>>> lib/libLLVMHexagonDesc.a lib/libLLVMHexagonInfo.a >>>>> lib/libLLVMHexagonDisassembler.a lib/libLLVMMipsCodeGen.a >>>>> lib/libLLVMMipsAsmPrinter.a lib/libLLVMMipsAsmParser.a >>>>> lib/libLLVMMipsDesc.a lib/libLLVMMipsInfo.a lib/libLLVMMipsDisassembler.a >>>>> lib/libLLVMMSP430CodeGen.a lib/libLLVMMSP430AsmPrinter.a >>>>> lib/libLLVMMSP430Desc.a lib/libLLVMMSP430Info.a lib/libLLVMNVPTXCodeGen.a >>>>> lib/libLLVMNVPTXAsmPrinter.a lib/libLLVMNVPTXDesc.a >>>>> lib/libLLVMNVPTXInfo.a lib/libLLVMPowerPCCodeGen.a >>>>> lib/libLLVMPowerPCAsmPrinter.a lib/libLLVMPowerPCAsmParser.a >>>>> lib/libLLVMPowerPCDesc.a lib/libLLVMPowerPCInfo.a >>>>> lib/libLLVMPowerPCDisassembler.a lib/libLLVMSparcCodeGen.a >>>>> lib/libLLVMSparcAsmPrinter.a lib/libLLVMSparcAsmParser.a >>>>> lib/libLLVMSparcDesc.a lib/libLLVMSparcInfo.a >>>>> lib/libLLVMSparcDisassembler.a lib/libLLVMSystemZCodeGen.a >>>>> lib/libLLVMSystemZAsmPrinter.a lib/libLLVMSystemZAsmParser.a >>>>> lib/libLLVMSystemZDesc.a lib/libLLVMSystemZInfo.a >>>>> lib/libLLVMSystemZDisassembler.a lib/libLLVMX86CodeGen.a >>>>> lib/libLLVMX86AsmPrinter.a lib/libLLVMX86AsmParser.a lib/libLLVMX86Desc.a >>>>> lib/libLLVMX86Info.a lib/libLLVMX86Disassembler.a >>>>> lib/libLLVMXCoreCodeGen.a lib/libLLVMXCoreAsmPrinter.a >>>>> lib/libLLVMXCoreDesc.a lib/libLLVMXCoreInfo.a >>>>> lib/libLLVMXCoreDisassembler.a lib/libLLVMAnalysis.a lib/libLLVMCodeGen.a >>>>> lib/libLLVMCore.a lib/libLLVMipo.a lib/libLLVMInstCombine.a >>>>> lib/libLLVMInstrumentation.a lib/libLLVMMC.a lib/libLLVMMCParser.a >>>>> lib/libLLVMObjCARCOpts.a lib/libLLVMOption.a lib/libLLVMScalarOpts.a >>>>> lib/libLLVMSupport.a lib/libLLVMTransformUtils.a lib/libLLVMVectorize.a >>>>> lib/libclangBasic.a lib/libclangCodeGen.a lib/libclangDriver.a >>>>> lib/libclangFrontend.a lib/libclangFrontendTool.a >>>>> -Wl,-order_file,/usr/local/google/home/richardsmith/clang-8/build/tools/clang/clang.order >>>>> lib/libLLVMAArch64Desc.a lib/libLLVMAArch64AsmPrinter.a >>>>> lib/libLLVMAArch64Info.a lib/libLLVMAArch64Utils.a >>>>> lib/libLLVMAMDGPUAsmPrinter.a lib/libLLVMAMDGPUUtils.a >>>>> lib/libLLVMARMDesc.a lib/libLLVMARMAsmPrinter.a lib/libLLVMARMInfo.a >>>>> lib/libLLVMBPFAsmPrinter.a lib/libLLVMHexagonDesc.a >>>>> lib/libLLVMHexagonInfo.a lib/libLLVMMipsAsmPrinter.a >>>>> lib/libLLVMMipsInfo.a lib/libLLVMMSP430AsmPrinter.a >>>>> lib/libLLVMNVPTXAsmPrinter.a lib/libLLVMPowerPCAsmPrinter.a >>>>> lib/libLLVMPowerPCInfo.a lib/libLLVMSparcAsmPrinter.a >>>>> lib/libLLVMSparcInfo.a lib/libLLVMSystemZDesc.a >>>>> lib/libLLVMSystemZAsmPrinter.a lib/libLLVMSystemZInfo.a >>>>> lib/libLLVMX86AsmPrinter.a lib/libLLVMX86Utils.a lib/libLLVMX86Info.a >>>>> lib/libLLVMXCoreAsmPrinter.a lib/libLLVMAsmPrinter.a >>>>> lib/libLLVMDebugInfoCodeView.a lib/libLLVMSelectionDAG.a >>>>> lib/libLLVMCodeGen.a lib/libLLVMXCoreInfo.a lib/libLLVMMCDisassembler.a >>>>> lib/libclangCodeGen.a lib/libLLVMipo.a lib/libLLVMVectorize.a >>>>> lib/libLLVMInstrumentation.a lib/libLLVMObjCARCOpts.a >>>>> lib/libLLVMScalarOpts.a lib/libLLVMInstCombine.a lib/libLLVMTarget.a >>>>> lib/libLLVMBitWriter.a lib/libLLVMIRReader.a lib/libLLVMAsmParser.a >>>>> lib/libLLVMLinker.a lib/libLLVMTransformUtils.a lib/libLLVMAnalysis.a >>>>> lib/libLLVMProfileData.a lib/libLLVMObject.a >>>>> lib/libclangRewriteFrontend.a lib/libclangARCMigrate.a >>>>> lib/libclangStaticAnalyzerFrontend.a lib/libclangFrontend.a >>>>> lib/libclangDriver.a lib/libLLVMOption.a lib/libclangParse.a >>>>> lib/libLLVMMCParser.a lib/libclangSerialization.a lib/libLLVMBitReader.a >>>>> lib/libclangSema.a lib/libclangEdit.a >>>>> lib/libclangStaticAnalyzerCheckers.a lib/libclangStaticAnalyzerCore.a >>>>> lib/libclangAnalysis.a lib/libclangAST.a lib/libclangRewrite.a >>>>> lib/libclangLex.a lib/libclangBasic.a lib/libLLVMCore.a lib/libLLVMMC.a >>>>> lib/libLLVMSupport.a -lrt -ldl -ltinfo -lpthread -lz -lm >>>>> -Wl,-rpath,"\$ORIGIN/../lib" && : >>>>> /usr/local/google/home/richardsmith/clang-8/build/tools/clang/clang.order: >>>>> file not recognized: File truncated >>>>> clang-3.8: error: linker command failed with exit code 1 (use -v to see >>>>> invocation) >>>>> >>>>> The generated clang.order file is empty. Please fix or revert! >>>>> >>>>>> On Thu, Feb 4, 2016 at 5:22 PM, Chris Bieneman via cfe-commits >>>>>> <cfe-commits@lists.llvm.org> wrote: >>>>>> Author: cbieneman >>>>>> Date: Thu Feb 4 19:22:03 2016 >>>>>> New Revision: 259862 >>>>>> >>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=259862&view=rev >>>>>> Log: >>>>>> [CMake] Improve the clang order-file generation workflow >>>>>> >>>>>> Summary: >>>>>> With this change generating clang order files using dtrace uses the >>>>>> following workflow: >>>>>> >>>>>> cmake <whatever options you want> >>>>>> >>>>>> ninja generate-order-file >>>>>> >>>>>> ninja clang >>>>>> >>>>>> This patch works by setting a default path to the order file (which can >>>>>> be overridden by the user). If the order file doesn't exist during >>>>>> configuration CMake will create an empty one. >>>>>> >>>>>> CMake then ties up the dependencies between the clang link job and the >>>>>> order file, and generate-order-file overwrites CLANG_ORDER_FILE with the >>>>>> new order file. >>>>>> >>>>>> Reviewers: bogner >>>>>> >>>>>> Subscribers: cfe-commits >>>>>> >>>>>> Differential Revision: http://reviews.llvm.org/D16896 >>>>>> >>>>>> Modified: >>>>>> cfe/trunk/CMakeLists.txt >>>>>> cfe/trunk/tools/driver/CMakeLists.txt >>>>>> cfe/trunk/utils/perf-training/CMakeLists.txt >>>>>> >>>>>> Modified: cfe/trunk/CMakeLists.txt >>>>>> URL: >>>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/CMakeLists.txt?rev=259862&r1=259861&r2=259862&view=diff >>>>>> ============================================================================== >>>>>> --- cfe/trunk/CMakeLists.txt (original) >>>>>> +++ cfe/trunk/CMakeLists.txt Thu Feb 4 19:22:03 2016 >>>>>> @@ -586,9 +586,19 @@ if( CLANG_INCLUDE_DOCS ) >>>>>> add_subdirectory(docs) >>>>>> endif() >>>>>> >>>>>> -set(CLANG_ORDER_FILE "" CACHE FILEPATH >>>>>> +# this line is needed as a cleanup to ensure that any CMakeCaches with >>>>>> the old >>>>>> +# default value get updated to the new default. >>>>>> +if(CLANG_ORDER_FILE STREQUAL "") >>>>>> + unset(CLANG_ORDER_FILE CACHE) >>>>>> +endif() >>>>>> + >>>>>> +set(CLANG_ORDER_FILE ${CMAKE_CURRENT_BINARY_DIR}/clang.order CACHE >>>>>> FILEPATH >>>>>> "Order file to use when compiling clang in order to improve startup >>>>>> time.") >>>>>> >>>>>> +if(NOT EXISTS ${CLANG_ORDER_FILE}) >>>>>> + execute_process(COMMAND ${CMAKE_COMMAND} -E touch ${CLANG_ORDER_FILE}) >>>>>> +endif() >>>>>> + >>>>>> if (CLANG_BUILT_STANDALONE OR CMAKE_VERSION VERSION_EQUAL 3 OR >>>>>> CMAKE_VERSION VERSION_GREATER 3) >>>>>> # Generate a list of CMake library targets so that other CMake >>>>>> projects can >>>>>> >>>>>> Modified: cfe/trunk/tools/driver/CMakeLists.txt >>>>>> URL: >>>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/driver/CMakeLists.txt?rev=259862&r1=259861&r2=259862&view=diff >>>>>> ============================================================================== >>>>>> --- cfe/trunk/tools/driver/CMakeLists.txt (original) >>>>>> +++ cfe/trunk/tools/driver/CMakeLists.txt Thu Feb 4 19:22:03 2016 >>>>>> @@ -87,8 +87,12 @@ if (APPLE) >>>>>> set(TOOL_INFO_BUILD_VERSION) >>>>>> endif() >>>>>> >>>>>> -if(CLANG_ORDER_FILE) >>>>>> +check_cxx_compiler_flag("-Wl,-order_file,${CLANG_ORDER_FILE}" >>>>>> + LINKER_HAS_ORDER_FILE_FLAG) >>>>>> + >>>>>> +if(LINKER_HAS_ORDER_FILE_FLAG) >>>>>> target_link_libraries(clang "-Wl,-order_file,${CLANG_ORDER_FILE}") >>>>>> + set_target_properties(clang PROPERTIES LINK_DEPENDS >>>>>> ${CLANG_ORDER_FILE}) >>>>>> endif() >>>>>> >>>>>> if(WITH_POLLY AND LINK_POLLY_INTO_TOOLS) >>>>>> >>>>>> Modified: cfe/trunk/utils/perf-training/CMakeLists.txt >>>>>> URL: >>>>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/perf-training/CMakeLists.txt?rev=259862&r1=259861&r2=259862&view=diff >>>>>> ============================================================================== >>>>>> --- cfe/trunk/utils/perf-training/CMakeLists.txt (original) >>>>>> +++ cfe/trunk/utils/perf-training/CMakeLists.txt Thu Feb 4 19:22:03 2016 >>>>>> @@ -55,9 +55,8 @@ if(DTRACE) >>>>>> COMMAND ${PYTHON_EXECUTABLE} >>>>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py clean >>>>>> ${CMAKE_CURRENT_BINARY_DIR} dtrace >>>>>> COMMENT "Clearing old dtrace data") >>>>>> >>>>>> - >>>>>> add_custom_target(generate-order-file >>>>>> - COMMAND ${PYTHON_EXECUTABLE} >>>>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py gen-order-file --binary >>>>>> $<TARGET_FILE:clang> --output ${CMAKE_CURRENT_BINARY_DIR}/clang.order >>>>>> ${CMAKE_CURRENT_BINARY_DIR} >>>>>> + COMMAND ${PYTHON_EXECUTABLE} >>>>>> ${CMAKE_CURRENT_SOURCE_DIR}/perf-helper.py gen-order-file --binary >>>>>> $<TARGET_FILE:clang> --output ${CLANG_ORDER_FILE} >>>>>> ${CMAKE_CURRENT_BINARY_DIR} >>>>>> COMMENT "Generating order file" >>>>>> DEPENDS generate-dtrace-logs) >>>>>> endif() >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> cfe-commits mailing list >>>>>> cfe-commits@lists.llvm.org >>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>>> >>>> _______________________________________________ >>>> cfe-commits mailing list >>>> cfe-commits@lists.llvm.org >>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits