[compiler-rt] r329817 - [cmake] Remove duplicate command line options from build

Aaron Smith via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 11 09:44:27 PDT 2018


I looked at the last green build and nothing stands out as being different. Is it possible to get the command line for a build that works so that I can compare the options?

FAILED: : && /var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/llvm_build64/bin/clang++ -fPIC --target=aarch64-linux-android --sysroot=/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/android_ndk/standalone-aarch64/sysroot -B/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/android_ndk/standalone-aarch64 -Wall -Werror -std=c++11 -Wno-unused-parameter -O3 -DNDEBUG  -nodefaultlibs -shared -Wl,-soname,libclang_rt.ubsan_standalone-aarch64-android.so -o /var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/llvm_build64/lib/clang/7.0.0/lib/linux/libclang_rt.ubsan_standalone-aarch64-android.so lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_allocator.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_common.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_deadlock_detector1.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_deadlock_detector2.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_errno.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_file.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_flags.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_flag_parser.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_fuchsia.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_libc.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_libignore.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux_s390.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_mac.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_openbsd.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_persistent_allocator.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_platform_limits_linux.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_platform_limits_netbsd.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_platform_limits_openbsd.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_platform_limits_posix.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_platform_limits_solaris.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_posix.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_printf.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_procmaps_common.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_procmaps_bsd.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_procmaps_linux.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_procmaps_mac.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_procmaps_solaris.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_solaris.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_stackdepot.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_stacktrace.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_stacktrace_printer.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_stoptheworld_mac.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_suppressions.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_symbolizer.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_symbolizer_fuchsia.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_symbolizer_libbacktrace.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_symbolizer_mac.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_symbolizer_win.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_tls_get_addr.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_thread_registry.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_win.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux_x86_64.S.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux_mips64.S.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_termination.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_common_libcdep.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_allocator_checks.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_linux_libcdep.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_mac_libcdep.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_posix_libcdep.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_stacktrace_libcdep.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_stoptheworld_linux_libcdep.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_symbolizer_libcdep.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_symbolizer_posix_libcdep.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_unwind_linux_libcdep.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.aarch64.dir/sanitizer_unwind_win.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.aarch64.dir/sancov_flags.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.aarch64.dir/sanitizer_coverage_fuchsia.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.aarch64.dir/sanitizer_coverage_libcdep_new.cc.o lib/sanitizer_common/CMakeFiles/RTSanitizerCommonCoverage.aarch64.dir/sanitizer_coverage_win_sections.cc.o lib/ubsan/CMakeFiles/RTUbsan.aarch64.dir/ubsan_diag.cc.o lib/ubsan/CMakeFiles/RTUbsan.aarch64.dir/ubsan_init.cc.o lib/ubsan/CMakeFiles/RTUbsan.aarch64.dir/ubsan_flags.cc.o lib/ubsan/CMakeFiles/RTUbsan.aarch64.dir/ubsan_handlers.cc.o lib/ubsan/CMakeFiles/RTUbsan.aarch64.dir/ubsan_value.cc.o lib/ubsan/CMakeFiles/RTUbsan_cxx.aarch64.dir/ubsan_handlers_cxx.cc.o lib/ubsan/CMakeFiles/RTUbsan_cxx.aarch64.dir/ubsan_type_hash.cc.o lib/ubsan/CMakeFiles/RTUbsan_cxx.aarch64.dir/ubsan_type_hash_itanium.cc.o lib/ubsan/CMakeFiles/RTUbsan_cxx.aarch64.dir/ubsan_type_hash_win.cc.o lib/ubsan/CMakeFiles/RTUbsan_standalone.aarch64.dir/ubsan_diag_standalone.cc.o lib/ubsan/CMakeFiles/RTUbsan_standalone.aarch64.dir/ubsan_init_standalone.cc.o lib/ubsan/CMakeFiles/RTUbsan_standalone.aarch64.dir/ubsan_signals_standalone.cc.o lib/interception/CMakeFiles/RTInterception.aarch64.dir/interception_linux.cc.o lib/interception/CMakeFiles/RTInterception.aarch64.dir/interception_mac.cc.o lib/interception/CMakeFiles/RTInterception.aarch64.dir/interception_win.cc.o lib/interception/CMakeFiles/RTInterception.aarch64.dir/interception_type_test.cc.o  -lstdc++ -lgcc -lc -ldl -llog && :
/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/android_ndk/standalone-aarch64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux_x86_64.S.o: Relocations in generic ELF (EM: 62)
/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/android_ndk/standalone-aarch64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux_x86_64.S.o: Relocations in generic ELF (EM: 62)
/var/lib/buildbot/sanitizer-buildbot6/sanitizer-x86_64-linux-android/build/android_ndk/standalone-aarch64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux_x86_64.S.o: Relocations in generic ELF (EM: 62)
lib/sanitizer_common/CMakeFiles/RTSanitizerCommon.aarch64.dir/sanitizer_linux_x86_64.S.o: error adding symbols: File in wrong format
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.




From: Aleksey Shlyapnikov <alekseys at google.com>
Date: Wednesday, April 11, 2018 at 5:10 PM
To: Aaron Smith <aaron.smith at microsoft.com>
Cc: llvm-commits <llvm-commits at lists.llvm.org>
Subject: Re: [compiler-rt] r329817 - [cmake] Remove duplicate command line options from build

It seems like Android bot is not happy about this change: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-android/builds/9558/steps/build%20android%2Faarch64/logs/stdio<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flab.llvm.org%3A8011%2Fbuilders%2Fsanitizer-x86_64-linux-android%2Fbuilds%2F9558%2Fsteps%2Fbuild%2520android%252Faarch64%2Flogs%2Fstdio&data=02%7C01%7Caaron.smith%40microsoft.com%7Ced86240801524685379808d59fc6b4b7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636590598150202482&sdata=ZV9vv4fm4jbIs27YWz1E3Xa0rWWf35kewxUx3BD3JUM%3D&reserved=0>

On Wed, Apr 11, 2018 at 7:56 AM, Aaron Smith via llvm-commits <llvm-commits at lists.llvm.org<mailto:llvm-commits at lists.llvm.org>> wrote:
Author: asmith
Date: Wed Apr 11 07:56:35 2018
New Revision: 329817

URL: http://llvm.org/viewvc/llvm-project?rev=329817&view=rev<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%3Frev%3D329817%26view%3Drev&data=02%7C01%7Caaron.smith%40microsoft.com%7Ced86240801524685379808d59fc6b4b7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636590598150202482&sdata=oJpvRDUHS%2B4vvtkEGeo6bZ1ig4xQknWbpA4uVRFHMCc%3D&reserved=0>
Log:
[cmake] Remove duplicate command line options from build

CMAKE_CXX_FLAGS was added twice to the command line. This causes the command
line options to be doubled which works until it doesn't as not all options
can be specified twice.

For example,

clang-cl foo.c /GS- /GS- -mllvm -small-loop-cost=1 -mllvm -small-loop-cost=1
clang (LLVM option parsing): for the -small-loop-cost option: may only occur zero or one times!

Modified:
    compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake

Modified: compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake?rev=329817&r1=329816&r2=329817&view=diff<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fllvm.org%2Fviewvc%2Fllvm-project%2Fcompiler-rt%2Ftrunk%2Fcmake%2FModules%2FAddCompilerRT.cmake%3Frev%3D329817%26r1%3D329816%26r2%3D329817%26view%3Ddiff&data=02%7C01%7Caaron.smith%40microsoft.com%7Ced86240801524685379808d59fc6b4b7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636590598150212495&sdata=nXFKi7ZgGWbQZAZlhocHcpztpUP%2F0DPbe15K365AuGw%3D&reserved=0>
==============================================================================
--- compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake (original)
+++ compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake Wed Apr 11 07:56:35 2018
@@ -63,8 +63,8 @@ function(add_compiler_rt_object_librarie
       list(REMOVE_ITEM target_flags "-msse3")
     endif()

-    set_target_compile_flags(${libname}
-      ${CMAKE_CXX_FLAGS} ${extra_cflags_${libname}} ${target_flags})
+    set_target_compile_flags(${libname} ${extra_cflags_${libname}} ${target_flags})
+
     set_property(TARGET ${libname} APPEND PROPERTY
       COMPILE_DEFINITIONS ${LIB_DEFS})
     set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Libraries")


_______________________________________________
llvm-commits mailing list
llvm-commits at lists.llvm.org<mailto:llvm-commits at lists.llvm.org>
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits<https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.llvm.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fllvm-commits&data=02%7C01%7Caaron.smith%40microsoft.com%7Ced86240801524685379808d59fc6b4b7%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636590598150222508&sdata=PpIZsTiOwKEY2ocP%2Fjq3ojsqA8iRWuItLAnCmnUI1h0%3D&reserved=0>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180411/37c5110b/attachment.html>


More information about the llvm-commits mailing list