[llvm-commits] [compiler-rt] r162988 - in /compiler-rt/trunk: lib/sanitizer_common/llvm-symbolizer/ utils/ utils/llvm-symbolizer/ utils/llvm-symbolizer/CMakeLists.txt utils/llvm-symbolizer/llvm-symbolizer.cc
Alexey Samsonov
samsonov at google.com
Fri Aug 31 04:12:11 PDT 2012
Author: samsonov
Date: Fri Aug 31 06:12:10 2012
New Revision: 162988
URL: http://llvm.org/viewvc/llvm-project?rev=162988&view=rev
Log:
[compiler-rt] Move draft code for llvm-symbolizer to compiler-rt/utils/llvm-symbolizer after chandlerc's suggestion
Added:
compiler-rt/trunk/utils/
compiler-rt/trunk/utils/llvm-symbolizer/
- copied from r162979, compiler-rt/trunk/lib/sanitizer_common/llvm-symbolizer/
compiler-rt/trunk/utils/llvm-symbolizer/CMakeLists.txt
Removed:
compiler-rt/trunk/lib/sanitizer_common/llvm-symbolizer/
Modified:
compiler-rt/trunk/utils/llvm-symbolizer/llvm-symbolizer.cc
Added: compiler-rt/trunk/utils/llvm-symbolizer/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/utils/llvm-symbolizer/CMakeLists.txt?rev=162988&view=auto
==============================================================================
--- compiler-rt/trunk/utils/llvm-symbolizer/CMakeLists.txt (added)
+++ compiler-rt/trunk/utils/llvm-symbolizer/CMakeLists.txt Fri Aug 31 06:12:10 2012
@@ -0,0 +1,67 @@
+# Build llvm-symbolizer binary, which will be used as an external symbolizer
+# by sanitizer tools. Later it can probably become another LLVM tool.
+
+set(SYMBOLIZER_SOURCES
+ llvm-symbolizer.cc
+ )
+
+# Append sources of LLVM libs we use.
+append_llvm_sources(SYMBOLIZER_SOURCES
+ LLVMDebugInfo
+ LLVMSupport
+ LLVMObject
+ )
+
+set(SYMBOLIZER_CFLAGS
+ -I${LLVM_MAIN_SRC_DIR}/include
+ -I${LLVM_BINARY_DIR}/include
+ -fPIC
+ -fomit-frame-pointer
+ -O3
+ )
+
+set(SYMBOLIZER_DEFINITIONS
+# __STDC_CONSTANT_MACROS=1
+# __STDC_LIMIT_MACROS=1
+ )
+
+# FIXME: Generalize the following ugly piece in sanitizer_common, symbolizer
+# and asan folders.
+set(SYMBOLIZER_BINARIES)
+if (APPLE)
+ # Build universal binary on Apple.
+ add_executable(llvm-symbolizer.osx ${SYMBOLIZER_SOURCES})
+ set_target_compile_flags(llvm-symbolizer.osx ${SYMBOLIZER_CFLAGS})
+ filter_available_targets(SYMBOLIZER_TARGETS x86_64 i386)
+ set_target_properties(llvm-symbolizer.osx PROPERTIES
+ OSX_ARCHITECTURES "${SYMBOLIZER_TARGETS}")
+ list(APPEND SYMBOLIZER_BINARIES llvm-symbolizer.osx)
+elseif(UNIX)
+ # Assume Linux
+ if(CAN_TARGET_X86_64)
+ add_executable(llvm-symbolizer-x86_64 ${SYMBOLIZER_SOURCES})
+ set_target_compile_flags(llvm-symbolizer-x86_64
+ ${SYMBOLIZER_CFLAGS} ${TARGET_X86_64_CFLAGS})
+ set_property(TARGET llvm-symbolizer-x86_64 APPEND_STRING PROPERTY
+ LINK_FLAGS " ${TARGET_X86_64_CFLAGS}")
+ list(APPEND SYMBOLIZER_BINARIES llvm-symbolizer-x86_64)
+ endif()
+ if(CAN_TARGET_I386)
+ add_executable(llvm-symbolizer-i386 ${SYMBOLIZER_SOURCES})
+ set_target_compile_flags(llvm-symbolizer-i386
+ ${SYMBOLIZER_CFLAGS} ${TARGET_I386_CFLAGS})
+ set_property(TARGET llvm-symbolizer-i386 APPEND_STRING PROPERTY
+ LINK_FLAGS " ${TARGET_I386_CFLAGS}")
+ list(APPEND SYMBOLIZER_BINARIES llvm-symbolizer-i386)
+ endif()
+ # Linux-specific linker flags.
+ set_property(TARGET ${SYMBOLIZER_BINARIES} APPEND_STRING PROPERTY
+ LINK_FLAGS " -lpthread -ldl")
+endif()
+
+set_property(TARGET ${SYMBOLIZER_BINARIES} APPEND PROPERTY
+ COMPILE_DEFINITIONS ${SYMBOLIZER_DEFINITIONS}
+ )
+# FIXME: Setup sane output directories for ${SYMBOLIZER_BINARIES}
+set_target_properties(${SYMBOLIZER_BINARIES} PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
Modified: compiler-rt/trunk/utils/llvm-symbolizer/llvm-symbolizer.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/utils/llvm-symbolizer/llvm-symbolizer.cc?rev=162988&r1=162979&r2=162988&view=diff
==============================================================================
--- compiler-rt/trunk/utils/llvm-symbolizer/llvm-symbolizer.cc (original)
+++ compiler-rt/trunk/utils/llvm-symbolizer/llvm-symbolizer.cc Fri Aug 31 06:12:10 2012
@@ -47,11 +47,6 @@
cl::desc("Print function names as well as line "
"information for a given address"));
-static cl::opt<bool>
-SubprocessMode("subprocess-mode", cl::init(false),
- cl::desc("Is run as a subprocess (format of the output "
- "differs a bit)"));
-
static StringRef ToolInvocationPath;
static bool error(error_code ec) {
@@ -220,10 +215,7 @@
outs() << filename <<
":" << line_info.getLine() <<
":" << line_info.getColumn() <<
- "\n";
- if (SubprocessMode) {
- outs() << "\n"; // Print extra empty line to mark the end of output.
- }
+ "\n\n"; // Print extra empty line to mark the end of output.
outs().flush();
}
More information about the llvm-commits
mailing list