[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