[PATCH] D29285: [sanitizer] Re-enable -fno-function-sections for powerpc64le

Kostya Kortchinsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 30 08:52:48 PST 2017

cryptoad created this revision.
Herald added subscribers: mgorny, nemanjai.

For a reason that hasn't been investigated for lack of powerpc knowledge and
hardware, -fno-function-sections is required for the Sanitizers to work
properly on powerpc64le. Without, the function-sections-are-bad test fails on
that architecture (and that architecture only).

This patch re-enables the flag in the powerpc64le cflags.

I have to admit I am not entirely sure if my way is the proper way to do this,
so if anyone has a better way, I'll be happy to oblige.



Index: CMakeLists.txt
--- CMakeLists.txt
+++ CMakeLists.txt
@@ -144,6 +144,12 @@
+# The following is a workaround for powerpc64le. This is the only architecture
+# that requires -fno-function-sections to work properly.
+if(DEFINED TARGET_powerpc64le_CFLAGS)
+  append_list_if(COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG -fno-function-sections TARGET_powerpc64le_CFLAGS)
   # Replace the /M[DT][d] flags with /MT, and strip any definitions of _DEBUG,
   # which cause definition mismatches at link time.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29285.86297.patch
Type: text/x-patch
Size: 789 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170130/2dd4c98f/attachment.bin>

More information about the llvm-commits mailing list