From 43e5a26b535f8eeee33c3106de786aea4f5023c8 Mon Sep 17 00:00:00 2001 From: Steven Valdez Date: Wed, 10 May 2017 11:52:23 -0400 Subject: [PATCH] Fixing assembly coverage reporting. Due to issues with CMake enable_language, we have to delay setting CMAKE_ASM_FLAGS until after enable_language(ASM) has been called. We also need to remove the '.file' macro from x86gas.pl to prevent the filenames from being overridden from those provided by the build system. Change-Id: I436f57ec45e4751714af49e1211a0d7810e4e56a Reviewed-on: https://boringssl-review.googlesource.com/16127 Reviewed-by: Steven Valdez Commit-Queue: Steven Valdez CQ-Verified: CQ bot account: commit-bot@chromium.org --- CMakeLists.txt | 4 ---- crypto/CMakeLists.txt | 5 +++++ crypto/perlasm/x86gas.pl | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7c23f0a2..f50b42ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,10 +41,6 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_CXX_FLAGS} -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ${C_CXX_FLAGS} -Wmissing-declarations") - # Clang's integerated assembler does not support debug symbols. - if(NOT CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,-g") - endif() elseif(MSVC) set(MSVC_DISABLED_WARNINGS_LIST "C4061" # enumerator 'identifier' in switch of enum 'enumeration' is not diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index e357a680..0ca2847b 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt @@ -31,6 +31,11 @@ if(UNIX) enable_language(ASM) set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,--noexecstack") + # Clang's integerated assembler does not support debug symbols. + if(NOT CMAKE_ASM_COMPILER_ID MATCHES "Clang") + set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -Wa,-g") + endif() + # CMake does not add -isysroot and -arch flags to assembly. if (APPLE) set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -isysroot ${CMAKE_OSX_SYSROOT}") diff --git a/crypto/perlasm/x86gas.pl b/crypto/perlasm/x86gas.pl index ab4c5a3d..0c989a14 100644 --- a/crypto/perlasm/x86gas.pl +++ b/crypto/perlasm/x86gas.pl @@ -104,7 +104,7 @@ sub ::BC { @_; } sub ::DWC { @_; } sub ::file -{ push(@out,".file\t\"$_[0].S\"\n.text\n"); } +{ push(@out,".text\n"); } sub ::function_begin_B { my $func=shift;