[clang] [compiler-rt] [llvm] [NFC, sanitizer_symbolizer] Split Fuchsia and Markup. (PR #72305)

2023-11-14 Thread Andres Villegas via cfe-commits

https://github.com/avillega created 
https://github.com/llvm/llvm-project/pull/72305

This PR separates parts of the symbolizer markup
implementation that are Fuchsia OS specific. This
is in preparation of enabling symbolizer markup
in other OSs.

>From 8e47bce1f9ba79bd9006b69700b6f45e6dd7054d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9s=20Villegas?= 
Date: Mon, 13 Nov 2023 23:31:51 +
Subject: [PATCH] [sanitizer_symbolizer] Split Fuchsia and Markup.

This PR separated parts of the symbolizer markup
implementation that are Fuchsia OS specific. This
is in preparation of enabling symbolizer markup
in other OSs.
---
 clang/docs/tools/clang-formatted-files.txt|  2 +-
 compiler-rt/CMakeLists.txt|  1 +
 .../lib/sanitizer_common/CMakeLists.txt   |  4 +-
 .../sanitizer_coverage_fuchsia.cpp|  2 +-
 .../sanitizer_symbolizer_markup.cpp   | 57 ++--
 ...> sanitizer_symbolizer_markup_constants.h} | 10 +--
 .../sanitizer_symbolizer_report_fuchsia.cpp   | 33 ++
 .../sanitizer_unwind_fuchsia.cpp  | 66 +++
 compiler-rt/lib/xray/xray_utils.cpp   |  2 +-
 .../compiler-rt/lib/sanitizer_common/BUILD.gn |  2 +-
 10 files changed, 117 insertions(+), 62 deletions(-)
 rename compiler-rt/lib/sanitizer_common/{sanitizer_symbolizer_fuchsia.h => 
sanitizer_symbolizer_markup_constants.h} (81%)
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report_fuchsia.cpp
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_unwind_fuchsia.cpp

diff --git a/clang/docs/tools/clang-formatted-files.txt 
b/clang/docs/tools/clang-formatted-files.txt
index 48cd800bffd0046..18512b1a7bf6b58 100644
--- a/clang/docs/tools/clang-formatted-files.txt
+++ b/clang/docs/tools/clang-formatted-files.txt
@@ -1837,7 +1837,7 @@ compiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
 compiler-rt/lib/sanitizer_common/sanitizer_stack_store.h
 compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.h
 compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_win.cpp
-compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_fuchsia.h
+compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
 compiler-rt/lib/sanitizer_common/sanitizer_thread_safety.h
 compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.h
 compiler-rt/lib/sanitizer_common/sanitizer_type_traits.cpp
diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt
index 1a46f5b33480694..361dc72c0b97444 100644
--- a/compiler-rt/CMakeLists.txt
+++ b/compiler-rt/CMakeLists.txt
@@ -337,6 +337,7 @@ if(NOT COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG)
   append_list_if(COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG 
-fvisibility-inlines-hidden SANITIZER_COMMON_CFLAGS)
 endif()
 append_list_if(COMPILER_RT_HAS_FNO_LTO_FLAG -fno-lto SANITIZER_COMMON_CFLAGS)
+append_list_if(COMPILER_RT_ENABLE_SYMBOLIZER_MARKUP 
-DENABLE_SANITIZER_SYMBOLIZER_MARKUP SANITIZER_COMMON_CFLAGS)
 
 # By default do not instrument or use profdata for compiler-rt.
 if(NOT COMPILER_RT_ENABLE_PGO)
diff --git a/compiler-rt/lib/sanitizer_common/CMakeLists.txt 
b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
index ce6d4cf80919b25..61e832a30eb3767 100644
--- a/compiler-rt/lib/sanitizer_common/CMakeLists.txt
+++ b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
@@ -90,8 +90,10 @@ set(SANITIZER_SYMBOLIZER_SOURCES
   sanitizer_symbolizer_markup.cpp
   sanitizer_symbolizer_posix_libcdep.cpp
   sanitizer_symbolizer_report.cpp
+  sanitizer_symbolizer_report_fuchsia.cpp
   sanitizer_symbolizer_win.cpp
   sanitizer_unwind_linux_libcdep.cpp
+  sanitizer_unwind_fuchsia.cpp
   sanitizer_unwind_win.cpp
   )
 
@@ -189,7 +191,7 @@ set(SANITIZER_IMPL_HEADERS
   sanitizer_stoptheworld.h
   sanitizer_suppressions.h
   sanitizer_symbolizer.h
-  sanitizer_symbolizer_fuchsia.h
+  sanitizer_symbolizer_markup_constants.h
   sanitizer_symbolizer_internal.h
   sanitizer_symbolizer_libbacktrace.h
   sanitizer_symbolizer_mac.h
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp 
b/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
index 35c325359148ab7..a7f9273cf4a32dc 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
@@ -35,7 +35,7 @@
 #include "sanitizer_common.h"
 #include "sanitizer_interface_internal.h"
 #include "sanitizer_internal_defs.h"
-#include "sanitizer_symbolizer_fuchsia.h"
+#include "sanitizer_symbolizer_markup_constants.h"
 
 using namespace __sanitizer;
 
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp 
b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
index d1b0f46004efaff..1b2da1ae5e1a469 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
@@ -12,18 +12,14 @@
 
//===

[clang] [compiler-rt] [llvm] [NFC, sanitizer_symbolizer] Split Fuchsia and Markup. (PR #72305)

2023-11-14 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 


https://github.com/avillega updated 
https://github.com/llvm/llvm-project/pull/72305

>From 8e47bce1f9ba79bd9006b69700b6f45e6dd7054d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9s=20Villegas?= 
Date: Mon, 13 Nov 2023 23:31:51 +
Subject: [PATCH 1/2] [sanitizer_symbolizer] Split Fuchsia and Markup.

This PR separated parts of the symbolizer markup
implementation that are Fuchsia OS specific. This
is in preparation of enabling symbolizer markup
in other OSs.
---
 clang/docs/tools/clang-formatted-files.txt|  2 +-
 compiler-rt/CMakeLists.txt|  1 +
 .../lib/sanitizer_common/CMakeLists.txt   |  4 +-
 .../sanitizer_coverage_fuchsia.cpp|  2 +-
 .../sanitizer_symbolizer_markup.cpp   | 57 ++--
 ...> sanitizer_symbolizer_markup_constants.h} | 10 +--
 .../sanitizer_symbolizer_report_fuchsia.cpp   | 33 ++
 .../sanitizer_unwind_fuchsia.cpp  | 66 +++
 compiler-rt/lib/xray/xray_utils.cpp   |  2 +-
 .../compiler-rt/lib/sanitizer_common/BUILD.gn |  2 +-
 10 files changed, 117 insertions(+), 62 deletions(-)
 rename compiler-rt/lib/sanitizer_common/{sanitizer_symbolizer_fuchsia.h => 
sanitizer_symbolizer_markup_constants.h} (81%)
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report_fuchsia.cpp
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_unwind_fuchsia.cpp

diff --git a/clang/docs/tools/clang-formatted-files.txt 
b/clang/docs/tools/clang-formatted-files.txt
index 48cd800bffd0046..18512b1a7bf6b58 100644
--- a/clang/docs/tools/clang-formatted-files.txt
+++ b/clang/docs/tools/clang-formatted-files.txt
@@ -1837,7 +1837,7 @@ compiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
 compiler-rt/lib/sanitizer_common/sanitizer_stack_store.h
 compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.h
 compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_win.cpp
-compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_fuchsia.h
+compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
 compiler-rt/lib/sanitizer_common/sanitizer_thread_safety.h
 compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.h
 compiler-rt/lib/sanitizer_common/sanitizer_type_traits.cpp
diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt
index 1a46f5b33480694..361dc72c0b97444 100644
--- a/compiler-rt/CMakeLists.txt
+++ b/compiler-rt/CMakeLists.txt
@@ -337,6 +337,7 @@ if(NOT COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG)
   append_list_if(COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG 
-fvisibility-inlines-hidden SANITIZER_COMMON_CFLAGS)
 endif()
 append_list_if(COMPILER_RT_HAS_FNO_LTO_FLAG -fno-lto SANITIZER_COMMON_CFLAGS)
+append_list_if(COMPILER_RT_ENABLE_SYMBOLIZER_MARKUP 
-DENABLE_SANITIZER_SYMBOLIZER_MARKUP SANITIZER_COMMON_CFLAGS)
 
 # By default do not instrument or use profdata for compiler-rt.
 if(NOT COMPILER_RT_ENABLE_PGO)
diff --git a/compiler-rt/lib/sanitizer_common/CMakeLists.txt 
b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
index ce6d4cf80919b25..61e832a30eb3767 100644
--- a/compiler-rt/lib/sanitizer_common/CMakeLists.txt
+++ b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
@@ -90,8 +90,10 @@ set(SANITIZER_SYMBOLIZER_SOURCES
   sanitizer_symbolizer_markup.cpp
   sanitizer_symbolizer_posix_libcdep.cpp
   sanitizer_symbolizer_report.cpp
+  sanitizer_symbolizer_report_fuchsia.cpp
   sanitizer_symbolizer_win.cpp
   sanitizer_unwind_linux_libcdep.cpp
+  sanitizer_unwind_fuchsia.cpp
   sanitizer_unwind_win.cpp
   )
 
@@ -189,7 +191,7 @@ set(SANITIZER_IMPL_HEADERS
   sanitizer_stoptheworld.h
   sanitizer_suppressions.h
   sanitizer_symbolizer.h
-  sanitizer_symbolizer_fuchsia.h
+  sanitizer_symbolizer_markup_constants.h
   sanitizer_symbolizer_internal.h
   sanitizer_symbolizer_libbacktrace.h
   sanitizer_symbolizer_mac.h
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp 
b/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
index 35c325359148ab7..a7f9273cf4a32dc 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
@@ -35,7 +35,7 @@
 #include "sanitizer_common.h"
 #include "sanitizer_interface_internal.h"
 #include "sanitizer_internal_defs.h"
-#include "sanitizer_symbolizer_fuchsia.h"
+#include "sanitizer_symbolizer_markup_constants.h"
 
 using namespace __sanitizer;
 
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp 
b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
index d1b0f46004efaff..1b2da1ae5e1a469 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
@@ -12,18 +12,14 @@
 
//===--===//
 
 #include "sanitizer_platform.h"
-#if SANITIZER_SYMBOLIZER_MARKUP
 

[compiler-rt] [clang] [llvm] [NFC, sanitizer_symbolizer] Split Fuchsia and Markup. (PR #72305)

2023-11-14 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 



@@ -337,6 +337,7 @@ if(NOT COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG)
   append_list_if(COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG 
-fvisibility-inlines-hidden SANITIZER_COMMON_CFLAGS)
 endif()
 append_list_if(COMPILER_RT_HAS_FNO_LTO_FLAG -fno-lto SANITIZER_COMMON_CFLAGS)
+append_list_if(COMPILER_RT_ENABLE_SYMBOLIZER_MARKUP 
-DENABLE_SANITIZER_SYMBOLIZER_MARKUP SANITIZER_COMMON_CFLAGS)

avillega wrote:

This change was a cherry pick from a local change and this was not intended. I 
had removed it.

https://github.com/llvm/llvm-project/pull/72305
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[compiler-rt] [clang] [llvm] [NFC, sanitizer_symbolizer] Split Fuchsia and Markup. (PR #72305)

2023-11-14 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 


https://github.com/avillega updated 
https://github.com/llvm/llvm-project/pull/72305

>From 8e47bce1f9ba79bd9006b69700b6f45e6dd7054d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9s=20Villegas?= 
Date: Mon, 13 Nov 2023 23:31:51 +
Subject: [PATCH 1/3] [sanitizer_symbolizer] Split Fuchsia and Markup.

This PR separated parts of the symbolizer markup
implementation that are Fuchsia OS specific. This
is in preparation of enabling symbolizer markup
in other OSs.
---
 clang/docs/tools/clang-formatted-files.txt|  2 +-
 compiler-rt/CMakeLists.txt|  1 +
 .../lib/sanitizer_common/CMakeLists.txt   |  4 +-
 .../sanitizer_coverage_fuchsia.cpp|  2 +-
 .../sanitizer_symbolizer_markup.cpp   | 57 ++--
 ...> sanitizer_symbolizer_markup_constants.h} | 10 +--
 .../sanitizer_symbolizer_report_fuchsia.cpp   | 33 ++
 .../sanitizer_unwind_fuchsia.cpp  | 66 +++
 compiler-rt/lib/xray/xray_utils.cpp   |  2 +-
 .../compiler-rt/lib/sanitizer_common/BUILD.gn |  2 +-
 10 files changed, 117 insertions(+), 62 deletions(-)
 rename compiler-rt/lib/sanitizer_common/{sanitizer_symbolizer_fuchsia.h => 
sanitizer_symbolizer_markup_constants.h} (81%)
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report_fuchsia.cpp
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_unwind_fuchsia.cpp

diff --git a/clang/docs/tools/clang-formatted-files.txt 
b/clang/docs/tools/clang-formatted-files.txt
index 48cd800bffd0046..18512b1a7bf6b58 100644
--- a/clang/docs/tools/clang-formatted-files.txt
+++ b/clang/docs/tools/clang-formatted-files.txt
@@ -1837,7 +1837,7 @@ compiler-rt/lib/sanitizer_common/sanitizer_stack_store.cpp
 compiler-rt/lib/sanitizer_common/sanitizer_stack_store.h
 compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_fuchsia.h
 compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_win.cpp
-compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_fuchsia.h
+compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
 compiler-rt/lib/sanitizer_common/sanitizer_thread_safety.h
 compiler-rt/lib/sanitizer_common/sanitizer_tls_get_addr.h
 compiler-rt/lib/sanitizer_common/sanitizer_type_traits.cpp
diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt
index 1a46f5b33480694..361dc72c0b97444 100644
--- a/compiler-rt/CMakeLists.txt
+++ b/compiler-rt/CMakeLists.txt
@@ -337,6 +337,7 @@ if(NOT COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG)
   append_list_if(COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG 
-fvisibility-inlines-hidden SANITIZER_COMMON_CFLAGS)
 endif()
 append_list_if(COMPILER_RT_HAS_FNO_LTO_FLAG -fno-lto SANITIZER_COMMON_CFLAGS)
+append_list_if(COMPILER_RT_ENABLE_SYMBOLIZER_MARKUP 
-DENABLE_SANITIZER_SYMBOLIZER_MARKUP SANITIZER_COMMON_CFLAGS)
 
 # By default do not instrument or use profdata for compiler-rt.
 if(NOT COMPILER_RT_ENABLE_PGO)
diff --git a/compiler-rt/lib/sanitizer_common/CMakeLists.txt 
b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
index ce6d4cf80919b25..61e832a30eb3767 100644
--- a/compiler-rt/lib/sanitizer_common/CMakeLists.txt
+++ b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
@@ -90,8 +90,10 @@ set(SANITIZER_SYMBOLIZER_SOURCES
   sanitizer_symbolizer_markup.cpp
   sanitizer_symbolizer_posix_libcdep.cpp
   sanitizer_symbolizer_report.cpp
+  sanitizer_symbolizer_report_fuchsia.cpp
   sanitizer_symbolizer_win.cpp
   sanitizer_unwind_linux_libcdep.cpp
+  sanitizer_unwind_fuchsia.cpp
   sanitizer_unwind_win.cpp
   )
 
@@ -189,7 +191,7 @@ set(SANITIZER_IMPL_HEADERS
   sanitizer_stoptheworld.h
   sanitizer_suppressions.h
   sanitizer_symbolizer.h
-  sanitizer_symbolizer_fuchsia.h
+  sanitizer_symbolizer_markup_constants.h
   sanitizer_symbolizer_internal.h
   sanitizer_symbolizer_libbacktrace.h
   sanitizer_symbolizer_mac.h
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp 
b/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
index 35c325359148ab7..a7f9273cf4a32dc 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
@@ -35,7 +35,7 @@
 #include "sanitizer_common.h"
 #include "sanitizer_interface_internal.h"
 #include "sanitizer_internal_defs.h"
-#include "sanitizer_symbolizer_fuchsia.h"
+#include "sanitizer_symbolizer_markup_constants.h"
 
 using namespace __sanitizer;
 
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp 
b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
index d1b0f46004efaff..1b2da1ae5e1a469 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
@@ -12,18 +12,14 @@
 
//===--===//
 
 #include "sanitizer_platform.h"
-#if 

[compiler-rt] [clang] [llvm] [NFC, sanitizer_symbolizer] Split Fuchsia and Markup. (PR #72305)

2023-11-14 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 



@@ -0,0 +1,66 @@
+//===-- sanitizer_unwind_fuchsia.cpp
+//---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===--===//
+//
+/// Sanitizer unwind Fuchsia specific functions.
+//
+//===--===//
+
+#include "sanitizer_platform.h"
+#if SANITIZER_FUCHSIA
+
+#  include 
+#  include 
+
+#  include "sanitizer_common.h"
+#  include "sanitizer_stacktrace.h"

avillega wrote:

These were added by git-clang-format, if I remove them the check for code 
formatting will fail.

https://github.com/llvm/llvm-project/pull/72305
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] [compiler-rt] [NFC, sanitizer_symbolizer] Split Fuchsia and Markup. (PR #72305)

2023-11-14 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 


https://github.com/avillega closed 
https://github.com/llvm/llvm-project/pull/72305
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[compiler-rt] [llvm] [clang-tools-extra] [clang] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-11-17 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 


https://github.com/avillega closed 
https://github.com/llvm/llvm-project/pull/66126
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[flang] [llvm] [compiler-rt] [clang] [libc] [clang-tools-extra] [OptTable] Make new lines in help text respect indentation (PR #74880)

2023-12-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 


https://github.com/avillega edited 
https://github.com/llvm/llvm-project/pull/74880
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [clang-tools-extra] [llvm] [libc] [compiler-rt] [mlir] [flang] [sanitizer_symbolizer] Add initial symbolizer markup support for linux. (PR #73193)

2023-11-27 Thread Andres Villegas via cfe-commits

https://github.com/avillega edited 
https://github.com/llvm/llvm-project/pull/73193
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] [libc] [compiler-rt] [mlir] [flang] [clang-tools-extra] [sanitizer_symbolizer] Add initial symbolizer markup support for linux. (PR #73193)

2023-11-27 Thread Andres Villegas via cfe-commits

https://github.com/avillega closed 
https://github.com/llvm/llvm-project/pull/73193
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [llvm] [libc] [compiler-rt] [mlir] [flang] [libcxx] [clang-tools-extra] [sanitizer_symbolizer] RenderContextual elements for symbolizer markup. (PR #73194)

2023-11-27 Thread Andres Villegas via cfe-commits

https://github.com/avillega edited 
https://github.com/llvm/llvm-project/pull/73194
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[libc] [libcxx] [compiler-rt] [clang] [clang-tools-extra] [mlir] [flang] [llvm] [sanitizer_symbolizer] RenderContextual elements for symbolizer markup. (PR #73194)

2023-11-28 Thread Andres Villegas via cfe-commits


@@ -64,4 +66,111 @@ const char *MarkupSymbolizerTool::Demangle(const char 
*name) {
   return buffer;
 }
 
+// Fuchsia's implementation of symbolizer markup doesn't need to emit 
contextual
+// elements at this point.
+// Fuchsia's logging infrastructure emits enough information about
+// process memory layout that a post-processing filter can do the
+// symbolization and pretty-print the markup.
+#if !SANITIZER_FUCHSIA
+
+// Simplier view of a LoadedModule. It only holds information necessary to
+// identify unique modules.
+struct RenderedModule {
+  char *full_name;
+  uptr base_address;
+  u8 uuid[kModuleUUIDSize];  // BuildId
+};
+
+static bool ModulesEq(const LoadedModule &module,
+  const RenderedModule &renderedModule) {
+  return module.base_address() == renderedModule.base_address &&
+ internal_memcmp(module.uuid(), renderedModule.uuid,
+ module.uuid_size()) == 0 &&
+ internal_strcmp(module.full_name(), renderedModule.full_name) == 0;
+}
+
+static bool ModuleHasBeenRendered(
+const LoadedModule &module,
+const InternalMmapVectorNoCtor &renderedModules) {
+  for (const auto &renderedModule : renderedModules)
+if (ModulesEq(module, renderedModule))
+  return true;
+
+  return false;
+}
+
+static void RenderModule(InternalScopedString *buffer,
+ const LoadedModule &module, uptr moduleId) {
+  InternalScopedString buildIdBuffer;
+  for (uptr i = 0; i < module.uuid_size(); i++)
+buildIdBuffer.AppendF("%02x", module.uuid()[i]);
+
+  buffer->AppendF(kFormatModule, moduleId, module.full_name(),
+  buildIdBuffer.data());
+  buffer->Append("\n");
+}
+
+static void RenderMmaps(InternalScopedString *buffer,
+const LoadedModule &module, uptr moduleId) {
+  InternalScopedString accessBuffer;
+
+  // All module mmaps are readable at least
+  for (const auto &range : module.ranges()) {
+accessBuffer.Append("r");
+if (range.writable)
+  accessBuffer.Append("w");
+if (range.executable)
+  accessBuffer.Append("x");
+
+
//{{{mmap:%starting_addr:%size_in_hex:load:%moduleId:r%(w|x):%relative_addr}}}
+
+// module.base_address == dlpi_addr
+// range.beg == dlpi_addr + p_vaddr
+// relative address == p_vaddr == range.beg - module.base_address
+buffer->AppendF(kFormatMmap, range.beg, range.end - range.beg, moduleId,
+accessBuffer.data(), range.beg - module.base_address());
+
+buffer->Append("\n");
+accessBuffer.clear();
+  }
+}
+
+void MarkupStackTracePrinter::RenderContext(InternalScopedString *buffer) {
+  // Keeps track of the modules that have been rendered.
+  static bool initialized = false;
+  static InternalMmapVectorNoCtor renderedModules;

avillega wrote:

The idea is to keep track of the modules that have been rendered so we don't 
render them again. On module load modules can be moved around in memory so we 
have to account for that as well that is why I need a struct to hold on some 
specific information about a module. When dlopen is called the ListOfModules of 
the `Symbolzer` gets invalidated and rebuilt, a lot of the time the already 
loaded modules will not change its location in memory but we can not know that 
unless we compare the modules we already emitted vs the modules that the 
`Symbolizer` holds. In my initial implementations the `Render*` functions, 
these function were free functions and I used static to keep the state in 
between calls. Now that I've put these functions in a class it makes sense to 
make the RenderedModules a member of the class instead.

https://github.com/llvm/llvm-project/pull/73194
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[compiler-rt] [mlir] [libc] [clang] [llvm] [clang-tools-extra] [flang] [libcxx] [sanitizer_symbolizer] RenderContextual elements for symbolizer markup. (PR #73194)

2023-11-28 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 


https://github.com/avillega updated 
https://github.com/llvm/llvm-project/pull/73194

>From 31c40ba8aea7192c8481a3ab046d9e756231e986 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9s=20Villegas?= 
Date: Thu, 23 Nov 2023 02:14:42 +
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20ch?=
 =?UTF-8?q?anges=20to=20main=20this=20commit=20is=20based=20on?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Created using spr 1.3.4

[skip ci]
---
 .../lib/sanitizer_common/CMakeLists.txt   |   2 +
 .../lib/sanitizer_common/sanitizer_flags.inc  |   4 +
 .../sanitizer_stacktrace_printer.cpp  |   4 +
 .../sanitizer_symbolizer_markup.cpp   | 111 ++
 .../sanitizer_symbolizer_markup.h |  68 +++
 .../sanitizer_symbolizer_markup_fuchsia.cpp   |  83 +
 .../sanitizer_symbolizer_posix_libcdep.cpp|   7 ++
 7 files changed, 201 insertions(+), 78 deletions(-)
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp

diff --git a/compiler-rt/lib/sanitizer_common/CMakeLists.txt 
b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
index 61e832a30eb3767..fb7584c298a1c94 100644
--- a/compiler-rt/lib/sanitizer_common/CMakeLists.txt
+++ b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
@@ -88,6 +88,7 @@ set(SANITIZER_SYMBOLIZER_SOURCES
   sanitizer_symbolizer_libcdep.cpp
   sanitizer_symbolizer_mac.cpp
   sanitizer_symbolizer_markup.cpp
+  sanitizer_symbolizer_markup_fuchsia.cpp
   sanitizer_symbolizer_posix_libcdep.cpp
   sanitizer_symbolizer_report.cpp
   sanitizer_symbolizer_report_fuchsia.cpp
@@ -195,6 +196,7 @@ set(SANITIZER_IMPL_HEADERS
   sanitizer_symbolizer_internal.h
   sanitizer_symbolizer_libbacktrace.h
   sanitizer_symbolizer_mac.h
+  sanitizer_symbolizer_markup.h
   sanitizer_syscall_generic.inc
   sanitizer_syscall_linux_aarch64.inc
   sanitizer_syscall_linux_arm.inc
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc 
b/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
index 949bdbd148b6b89..7d0c7c4b63c9162 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
@@ -275,3 +275,7 @@ COMMON_FLAG(bool, test_only_emulate_no_memorymap, false,
 // program.
 COMMON_FLAG(bool, test_only_replace_dlopen_main_program, false,
 "TEST ONLY replace dlopen(,...) with dlopen(NULL)")
+
+COMMON_FLAG(bool, enable_symbolizer_markup, SANITIZER_FUCHSIA,
+"Use sanitizer symbolizer markup, available on Linux "
+"and always set true for fuchsia.")
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp 
b/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
index 88f186b9c20c105..748d832ccc211d0 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
@@ -16,6 +16,7 @@
 #include "sanitizer_file.h"
 #include "sanitizer_flags.h"
 #include "sanitizer_fuchsia.h"
+#include "sanitizer_symbolizer_markup.h"
 
 namespace __sanitizer {
 
@@ -62,6 +63,9 @@ const char *StackTracePrinter::StripFunctionName(const char 
*function) {
 #if !SANITIZER_SYMBOLIZER_MARKUP
 
 StackTracePrinter *StackTracePrinter::NewStackTracePrinter() {
+  if (common_flags()->enable_symbolizer_markup)
+return new (GetGlobalLowLevelAllocator()) MarkupStackTracePrinter();
+
   return new (GetGlobalLowLevelAllocator()) FormattedStackTracePrinter();
 }
 
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp 
b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
index c7332af7d9efd5a..1627908185f2009 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
@@ -8,105 +8,60 @@
 //
 // This file is shared between various sanitizers' runtime libraries.
 //
-// Implementation of offline markup symbolizer.
+// This generic support for offline symbolizing is based on the
+// Fuchsia port.  We don't do any actual symbolization per se.
+// Instead, we emit text containing raw addresses and raw linkage
+// symbol names, embedded in Fuchsia's symbolization markup format.
+// See the spec at:
+// https://llvm.org/docs/SymbolizerMarkupFormat.html
 
//===--===//
 
-#include "sanitizer_platform.h"
+#include "sanitizer_symbolizer_markup.h"
 
-#if SANITIZER_SYMBOLIZER_MARKUP
-
-#  include "sanitizer_common.h"
-#  include "sanitizer_stacktrace_printer.h"
-#  include "sanitizer_symbolizer.h"
-#  include "sanitizer_symbolizer_markup_constants.h"
+#include "sanitizer_common.h"
+#include "sanitizer_stacktrace_printer.h"
+#include "sanitizer_symbolizer.h"
+

[compiler-rt] [mlir] [libc] [clang] [llvm] [clang-tools-extra] [flang] [libcxx] [sanitizer_symbolizer] RenderContextual elements for symbolizer markup. (PR #73194)

2023-11-28 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 


https://github.com/avillega updated 
https://github.com/llvm/llvm-project/pull/73194

>From 31c40ba8aea7192c8481a3ab046d9e756231e986 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9s=20Villegas?= 
Date: Thu, 23 Nov 2023 02:14:42 +
Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20ch?=
 =?UTF-8?q?anges=20to=20main=20this=20commit=20is=20based=20on?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Created using spr 1.3.4

[skip ci]
---
 .../lib/sanitizer_common/CMakeLists.txt   |   2 +
 .../lib/sanitizer_common/sanitizer_flags.inc  |   4 +
 .../sanitizer_stacktrace_printer.cpp  |   4 +
 .../sanitizer_symbolizer_markup.cpp   | 111 ++
 .../sanitizer_symbolizer_markup.h |  68 +++
 .../sanitizer_symbolizer_markup_fuchsia.cpp   |  83 +
 .../sanitizer_symbolizer_posix_libcdep.cpp|   7 ++
 7 files changed, 201 insertions(+), 78 deletions(-)
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp

diff --git a/compiler-rt/lib/sanitizer_common/CMakeLists.txt 
b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
index 61e832a30eb3767..fb7584c298a1c94 100644
--- a/compiler-rt/lib/sanitizer_common/CMakeLists.txt
+++ b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
@@ -88,6 +88,7 @@ set(SANITIZER_SYMBOLIZER_SOURCES
   sanitizer_symbolizer_libcdep.cpp
   sanitizer_symbolizer_mac.cpp
   sanitizer_symbolizer_markup.cpp
+  sanitizer_symbolizer_markup_fuchsia.cpp
   sanitizer_symbolizer_posix_libcdep.cpp
   sanitizer_symbolizer_report.cpp
   sanitizer_symbolizer_report_fuchsia.cpp
@@ -195,6 +196,7 @@ set(SANITIZER_IMPL_HEADERS
   sanitizer_symbolizer_internal.h
   sanitizer_symbolizer_libbacktrace.h
   sanitizer_symbolizer_mac.h
+  sanitizer_symbolizer_markup.h
   sanitizer_syscall_generic.inc
   sanitizer_syscall_linux_aarch64.inc
   sanitizer_syscall_linux_arm.inc
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc 
b/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
index 949bdbd148b6b89..7d0c7c4b63c9162 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
@@ -275,3 +275,7 @@ COMMON_FLAG(bool, test_only_emulate_no_memorymap, false,
 // program.
 COMMON_FLAG(bool, test_only_replace_dlopen_main_program, false,
 "TEST ONLY replace dlopen(,...) with dlopen(NULL)")
+
+COMMON_FLAG(bool, enable_symbolizer_markup, SANITIZER_FUCHSIA,
+"Use sanitizer symbolizer markup, available on Linux "
+"and always set true for fuchsia.")
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp 
b/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
index 88f186b9c20c105..748d832ccc211d0 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
@@ -16,6 +16,7 @@
 #include "sanitizer_file.h"
 #include "sanitizer_flags.h"
 #include "sanitizer_fuchsia.h"
+#include "sanitizer_symbolizer_markup.h"
 
 namespace __sanitizer {
 
@@ -62,6 +63,9 @@ const char *StackTracePrinter::StripFunctionName(const char 
*function) {
 #if !SANITIZER_SYMBOLIZER_MARKUP
 
 StackTracePrinter *StackTracePrinter::NewStackTracePrinter() {
+  if (common_flags()->enable_symbolizer_markup)
+return new (GetGlobalLowLevelAllocator()) MarkupStackTracePrinter();
+
   return new (GetGlobalLowLevelAllocator()) FormattedStackTracePrinter();
 }
 
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp 
b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
index c7332af7d9efd5a..1627908185f2009 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
@@ -8,105 +8,60 @@
 //
 // This file is shared between various sanitizers' runtime libraries.
 //
-// Implementation of offline markup symbolizer.
+// This generic support for offline symbolizing is based on the
+// Fuchsia port.  We don't do any actual symbolization per se.
+// Instead, we emit text containing raw addresses and raw linkage
+// symbol names, embedded in Fuchsia's symbolization markup format.
+// See the spec at:
+// https://llvm.org/docs/SymbolizerMarkupFormat.html
 
//===--===//
 
-#include "sanitizer_platform.h"
+#include "sanitizer_symbolizer_markup.h"
 
-#if SANITIZER_SYMBOLIZER_MARKUP
-
-#  include "sanitizer_common.h"
-#  include "sanitizer_stacktrace_printer.h"
-#  include "sanitizer_symbolizer.h"
-#  include "sanitizer_symbolizer_markup_constants.h"
+#include "sanitizer_common.h"
+#include "sanitizer_stacktrace_printer.h"
+#incl

[clang] [clang-tools-extra] [libcxx] [mlir] [llvm] [flang] [libc] [compiler-rt] [sanitizer_symbolizer] RenderContextual elements for symbolizer markup. (PR #73194)

2023-11-28 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 


avillega wrote:

I've addressed the review comments so far, please re review and leave comments 
if any.

https://github.com/llvm/llvm-project/pull/73194
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[compiler-rt] [clang-tools-extra] [libc] [flang] [clang] [mlir] [libcxx] [llvm] [sanitizer_symbolizer] RenderContextual elements for symbolizer markup. (PR #73194)

2023-11-29 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 


https://github.com/avillega edited 
https://github.com/llvm/llvm-project/pull/73194
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[mlir] [clang-tools-extra] [flang] [compiler-rt] [llvm] [clang] [libcxx] [libc] [sanitizer_symbolizer] RenderContextual elements for symbolizer markup. (PR #73194)

2023-11-30 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andr=C3=A9s?= Villegas ,
=?utf-8?q?Andr=C3=A9s?= Villegas 
Message-ID:
In-Reply-To: 


avillega wrote:

Ping 👋 

https://github.com/llvm/llvm-project/pull/73194
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[libc] [compiler-rt] [mlir] [llvm] [libcxx] [clang] [flang] [clang-tools-extra] [sanitizer_symbolizer] RenderContextual elements for symbolizer markup. (PR #73194)

2023-12-04 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 
Message-ID:
In-Reply-To: 


https://github.com/avillega closed 
https://github.com/llvm/llvm-project/pull/73194
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[polly] [llvm] [clang] [polly][ScheduleOptimizer] Fix long compile time(hang) reported in polly (PR #75141)

2024-01-02 Thread Andres Villegas via cfe-commits

avillega wrote:

I think this change might be breaking some of our builds, please revert if 
possible. 
This is the error I am getting:
```
 TEST 'Polly :: ScheduleOptimizer/schedule_computeout.ll' 
FAILED 
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/opt -S 
-polly-optree -polly-delicm  -polly-opt-isl -polly-schedule-computeout=10 
-debug-only="polly-opt-isl" < 
/b/s/w/ir/x/w/llvm-llvm-project/polly/test/ScheduleOptimizer/schedule_computeout.ll
 2>&1 | /b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/FileCheck 
/b/s/w/ir/x/w/llvm-llvm-project/polly/test/ScheduleOptimizer/schedule_computeout.ll
+ /b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/opt -S -polly-optree 
-polly-delicm -polly-opt-isl -polly-schedule-computeout=10 
-debug-only=polly-opt-isl
+ /b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/FileCheck 
/b/s/w/ir/x/w/llvm-llvm-project/polly/test/ScheduleOptimizer/schedule_computeout.ll
/b/s/w/ir/x/w/llvm-llvm-project/polly/test/ScheduleOptimizer/schedule_computeout.ll:94:10:
 error: CHECK: expected string not found in input
; CHECK: Schedule optimizer calculation exceeds ISL quota
 ^
:1:1: note: scanning from here
opt: Unknown command line argument '-debug-only=polly-opt-isl'. Try: 
'/b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/opt --help'
^
:2:20: note: possible intended match here
opt: Did you mean '--debug-pass=polly-opt-isl'?
   ^

Input file: 
Check file: 
/b/s/w/ir/x/w/llvm-llvm-project/polly/test/ScheduleOptimizer/schedule_computeout.ll

-dump-input=help explains the following input dump.

Input was:
<<
1: opt: Unknown command line argument '-debug-only=polly-opt-isl'. 
Try: '/b/s/w/ir/x/w/llvm_build/tools/clang/stage2-bins/bin/opt --help' 
check:94'0 
X~~
 error: no match found
2: opt: Did you mean '--debug-pass=polly-opt-isl'? 
check:94'0 
check:94'1? possible 
intended match
>>

--


```

https://github.com/llvm/llvm-project/pull/75141
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [cmake] Disable FatLTO in clang build for Fuchsia (PR #85677)

2024-03-18 Thread Andres Villegas via cfe-commits

https://github.com/avillega approved this pull request.


https://github.com/llvm/llvm-project/pull/85677
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-09-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 


https://github.com/avillega review_requested 
https://github.com/llvm/llvm-project/pull/66126
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-09-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 


https://github.com/avillega created 
https://github.com/llvm/llvm-project/pull/66126:

This change adds support for sanitizer symbolizer markup for linux.
For more informationa about symbolzier markup please visit 
https://llvm.org/docs/SymbolizerMarkupFormat.html

>From 953a832b2e38d28d1b0e11ea3f5a2b05d69640b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9s=20Villegas?= 
Date: Thu, 10 Aug 2023 18:19:46 +
Subject: [PATCH 1/4] [sanitizer] Symbolizer Markup for linux.

This change adds support for sanitizer symbolizer markup
for linux. For more informationa about symbolzier markup
please visit https://llvm.org/docs/SymbolizerMarkupFormat.html
---
 compiler-rt/lib/hwasan/hwasan_report.cpp  |  44 -
 .../lib/sanitizer_common/CMakeLists.txt   |   1 +
 .../lib/sanitizer_common/sanitizer_flags.inc  |   3 +
 .../sanitizer_stacktrace_libcdep.cpp  |  64 +-
 .../sanitizer_stacktrace_printer.cpp  |  31 ++-
 .../sanitizer_stacktrace_printer.h|  10 +-
 .../sanitizer_common/sanitizer_symbolizer.h   |   5 +-
 .../sanitizer_symbolizer_internal.h   |   1 -
 .../sanitizer_symbolizer_libcdep.cpp  |  12 ++
 .../sanitizer_symbolizer_markup.cpp   | 186 +++---
 .../sanitizer_symbolizer_markup.h |  69 +++
 .../sanitizer_symbolizer_posix_libcdep.cpp|   7 +
 .../sanitizer_symbolizer_report.cpp   |   1 +
 .../sanitizer_stacktrace_printer_test.cpp |  36 ++--
 compiler-rt/lib/tsan/rtl/tsan_report.cpp  |  10 +
 15 files changed, 413 insertions(+), 67 deletions(-)
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h

diff --git a/compiler-rt/lib/hwasan/hwasan_report.cpp 
b/compiler-rt/lib/hwasan/hwasan_report.cpp
index efe6f57704919a4..9e8fe03510213af 100644
--- a/compiler-rt/lib/hwasan/hwasan_report.cpp
+++ b/compiler-rt/lib/hwasan/hwasan_report.cpp
@@ -248,6 +248,44 @@ static void 
PrintStackAllocations(StackAllocationsRingBuffer *sa,
 if (SymbolizedStack *frame = Symbolizer::GetOrInit()->SymbolizePC(pc)) {
   RenderFrame(&frame_desc, " %F %L", 0, frame->info.address, &frame->info,
   common_flags()->symbolize_vs_style,
+  common_flags()->enable_symbolizer_markup,
+  common_flags()->strip_path_prefix);
+  frame->ClearAll();
+}
+Printf("%s\n", frame_desc.data());
+frame_desc.clear();
+  }
+}
+
+
+static void PrintStackAllocationsMarkup(StackAllocationsRingBuffer *sa) {
+  // For symbolizer markup it is just necessary to have dump stack
+  // frames for offline symbolization.
+
+  uptr frames = Min((uptr)flags()->stack_history_size, sa->size());
+  if (const ListOfModules *modules =
+  Symbolizer::GetOrInit()->GetRefreshedListOfModules()) {
+InternalScopedString modules_res;
+RenderModules(&modules_res, modules,
+  /*symbolizer_markup=*/ true);
+Printf("%s", modules_res.data());
+  }
+
+  InternalScopedString frame_desc;
+  Printf("Previously allocated frames:\n");
+  for (uptr i = 0; i < frames; i++) {
+const uptr *record_addr = &(*sa)[i];
+uptr record = *record_addr;
+if (!record)
+  break;
+uptr pc_mask = (1ULL << 48) - 1;
+uptr pc = record & pc_mask;
+frame_desc.append("  record_addr:0x%zx record:0x%zx",
+  reinterpret_cast(record_addr), record);
+if (SymbolizedStack *frame = Symbolizer::GetOrInit()->SymbolizePC(pc)) {
+  RenderFrame(&frame_desc, "", 0, frame->info.address, &frame->info,
+  common_flags()->symbolize_vs_style,
+  /*symbolizer_markup=*/ true,
   common_flags()->strip_path_prefix);
   frame->ClearAll();
 }
@@ -425,7 +463,11 @@ void PrintAddressDescription(
   auto *sa = (t == GetCurrentThread() && current_stack_allocations)
  ? current_stack_allocations
  : t->stack_allocations();
-  PrintStackAllocations(sa, addr_tag, untagged_addr);
+  if (common_flags()->enable_symbolizer_markup) {
+PrintStackAllocations(sa, addr_tag, untagged_addr);
+  } else {
+PrintStackAllocationsMarkup(sa);
+  }
   num_descriptions_printed++;
 }
   });
diff --git a/compiler-rt/lib/sanitizer_common/CMakeLists.txt 
b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
index d8517f3de06a493..de398edea32753b 100644
--- a/compiler-rt/lib/sanitizer_common/CMakeLists.txt
+++ b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
@@ -191,6 +191,7 @@ set(SANITIZER_IMPL_HEADERS
   sanitizer_symbolizer_internal.h
   sanitizer_symbolizer_libbacktrace.h
   sanitizer_symbolizer_mac.h
+  sanitizer_symbolizer_markup.h
   sanitizer_syscall_generic.inc
   sanitizer_syscall_linux_aarch64.inc
   sanitizer_syscall_linux_arm.inc
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc 
b/compiler-rt/lib/sanitizer_common/sanitiz

[clang-tools-extra] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-09-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 


https://github.com/avillega review_requested 
https://github.com/llvm/llvm-project/pull/66126
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-09-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 


https://github.com/avillega review_requested 
https://github.com/llvm/llvm-project/pull/66126
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-09-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 


https://github.com/avillega review_requested 
https://github.com/llvm/llvm-project/pull/66126
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-09-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 


https://github.com/avillega review_requested 
https://github.com/llvm/llvm-project/pull/66126
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-09-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 


https://github.com/avillega review_requested 
https://github.com/llvm/llvm-project/pull/66126
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-09-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 


https://github.com/avillega review_requested 
https://github.com/llvm/llvm-project/pull/66126
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang-tools-extra] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-09-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 


https://github.com/avillega updated 
https://github.com/llvm/llvm-project/pull/66126:

>From 953a832b2e38d28d1b0e11ea3f5a2b05d69640b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9s=20Villegas?= 
Date: Thu, 10 Aug 2023 18:19:46 +
Subject: [PATCH 1/5] [sanitizer] Symbolizer Markup for linux.

This change adds support for sanitizer symbolizer markup
for linux. For more informationa about symbolzier markup
please visit https://llvm.org/docs/SymbolizerMarkupFormat.html
---
 compiler-rt/lib/hwasan/hwasan_report.cpp  |  44 -
 .../lib/sanitizer_common/CMakeLists.txt   |   1 +
 .../lib/sanitizer_common/sanitizer_flags.inc  |   3 +
 .../sanitizer_stacktrace_libcdep.cpp  |  64 +-
 .../sanitizer_stacktrace_printer.cpp  |  31 ++-
 .../sanitizer_stacktrace_printer.h|  10 +-
 .../sanitizer_common/sanitizer_symbolizer.h   |   5 +-
 .../sanitizer_symbolizer_internal.h   |   1 -
 .../sanitizer_symbolizer_libcdep.cpp  |  12 ++
 .../sanitizer_symbolizer_markup.cpp   | 186 +++---
 .../sanitizer_symbolizer_markup.h |  69 +++
 .../sanitizer_symbolizer_posix_libcdep.cpp|   7 +
 .../sanitizer_symbolizer_report.cpp   |   1 +
 .../sanitizer_stacktrace_printer_test.cpp |  36 ++--
 compiler-rt/lib/tsan/rtl/tsan_report.cpp  |  10 +
 15 files changed, 413 insertions(+), 67 deletions(-)
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h

diff --git a/compiler-rt/lib/hwasan/hwasan_report.cpp 
b/compiler-rt/lib/hwasan/hwasan_report.cpp
index efe6f57704919a4..9e8fe03510213af 100644
--- a/compiler-rt/lib/hwasan/hwasan_report.cpp
+++ b/compiler-rt/lib/hwasan/hwasan_report.cpp
@@ -248,6 +248,44 @@ static void 
PrintStackAllocations(StackAllocationsRingBuffer *sa,
 if (SymbolizedStack *frame = Symbolizer::GetOrInit()->SymbolizePC(pc)) {
   RenderFrame(&frame_desc, " %F %L", 0, frame->info.address, &frame->info,
   common_flags()->symbolize_vs_style,
+  common_flags()->enable_symbolizer_markup,
+  common_flags()->strip_path_prefix);
+  frame->ClearAll();
+}
+Printf("%s\n", frame_desc.data());
+frame_desc.clear();
+  }
+}
+
+
+static void PrintStackAllocationsMarkup(StackAllocationsRingBuffer *sa) {
+  // For symbolizer markup it is just necessary to have dump stack
+  // frames for offline symbolization.
+
+  uptr frames = Min((uptr)flags()->stack_history_size, sa->size());
+  if (const ListOfModules *modules =
+  Symbolizer::GetOrInit()->GetRefreshedListOfModules()) {
+InternalScopedString modules_res;
+RenderModules(&modules_res, modules,
+  /*symbolizer_markup=*/ true);
+Printf("%s", modules_res.data());
+  }
+
+  InternalScopedString frame_desc;
+  Printf("Previously allocated frames:\n");
+  for (uptr i = 0; i < frames; i++) {
+const uptr *record_addr = &(*sa)[i];
+uptr record = *record_addr;
+if (!record)
+  break;
+uptr pc_mask = (1ULL << 48) - 1;
+uptr pc = record & pc_mask;
+frame_desc.append("  record_addr:0x%zx record:0x%zx",
+  reinterpret_cast(record_addr), record);
+if (SymbolizedStack *frame = Symbolizer::GetOrInit()->SymbolizePC(pc)) {
+  RenderFrame(&frame_desc, "", 0, frame->info.address, &frame->info,
+  common_flags()->symbolize_vs_style,
+  /*symbolizer_markup=*/ true,
   common_flags()->strip_path_prefix);
   frame->ClearAll();
 }
@@ -425,7 +463,11 @@ void PrintAddressDescription(
   auto *sa = (t == GetCurrentThread() && current_stack_allocations)
  ? current_stack_allocations
  : t->stack_allocations();
-  PrintStackAllocations(sa, addr_tag, untagged_addr);
+  if (common_flags()->enable_symbolizer_markup) {
+PrintStackAllocations(sa, addr_tag, untagged_addr);
+  } else {
+PrintStackAllocationsMarkup(sa);
+  }
   num_descriptions_printed++;
 }
   });
diff --git a/compiler-rt/lib/sanitizer_common/CMakeLists.txt 
b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
index d8517f3de06a493..de398edea32753b 100644
--- a/compiler-rt/lib/sanitizer_common/CMakeLists.txt
+++ b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
@@ -191,6 +191,7 @@ set(SANITIZER_IMPL_HEADERS
   sanitizer_symbolizer_internal.h
   sanitizer_symbolizer_libbacktrace.h
   sanitizer_symbolizer_mac.h
+  sanitizer_symbolizer_markup.h
   sanitizer_syscall_generic.inc
   sanitizer_syscall_linux_aarch64.inc
   sanitizer_syscall_linux_arm.inc
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc 
b/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
index 6148ae56067cae0..a83c2fafe48a6e6 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
+++ b/compiler-rt/lib/sanitizer

[clang] [sanitizer_symbolizer] Symbolizer Markup for linux (PR #66126)

2023-09-12 Thread Andres Villegas via cfe-commits
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas ,
=?utf-8?q?Andrés?= Villegas 


https://github.com/avillega updated 
https://github.com/llvm/llvm-project/pull/66126:

>From 953a832b2e38d28d1b0e11ea3f5a2b05d69640b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9s=20Villegas?= 
Date: Thu, 10 Aug 2023 18:19:46 +
Subject: [PATCH 1/5] [sanitizer] Symbolizer Markup for linux.

This change adds support for sanitizer symbolizer markup
for linux. For more informationa about symbolzier markup
please visit https://llvm.org/docs/SymbolizerMarkupFormat.html
---
 compiler-rt/lib/hwasan/hwasan_report.cpp  |  44 -
 .../lib/sanitizer_common/CMakeLists.txt   |   1 +
 .../lib/sanitizer_common/sanitizer_flags.inc  |   3 +
 .../sanitizer_stacktrace_libcdep.cpp  |  64 +-
 .../sanitizer_stacktrace_printer.cpp  |  31 ++-
 .../sanitizer_stacktrace_printer.h|  10 +-
 .../sanitizer_common/sanitizer_symbolizer.h   |   5 +-
 .../sanitizer_symbolizer_internal.h   |   1 -
 .../sanitizer_symbolizer_libcdep.cpp  |  12 ++
 .../sanitizer_symbolizer_markup.cpp   | 186 +++---
 .../sanitizer_symbolizer_markup.h |  69 +++
 .../sanitizer_symbolizer_posix_libcdep.cpp|   7 +
 .../sanitizer_symbolizer_report.cpp   |   1 +
 .../sanitizer_stacktrace_printer_test.cpp |  36 ++--
 compiler-rt/lib/tsan/rtl/tsan_report.cpp  |  10 +
 15 files changed, 413 insertions(+), 67 deletions(-)
 create mode 100644 
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.h

diff --git a/compiler-rt/lib/hwasan/hwasan_report.cpp 
b/compiler-rt/lib/hwasan/hwasan_report.cpp
index efe6f57704919a4..9e8fe03510213af 100644
--- a/compiler-rt/lib/hwasan/hwasan_report.cpp
+++ b/compiler-rt/lib/hwasan/hwasan_report.cpp
@@ -248,6 +248,44 @@ static void 
PrintStackAllocations(StackAllocationsRingBuffer *sa,
 if (SymbolizedStack *frame = Symbolizer::GetOrInit()->SymbolizePC(pc)) {
   RenderFrame(&frame_desc, " %F %L", 0, frame->info.address, &frame->info,
   common_flags()->symbolize_vs_style,
+  common_flags()->enable_symbolizer_markup,
+  common_flags()->strip_path_prefix);
+  frame->ClearAll();
+}
+Printf("%s\n", frame_desc.data());
+frame_desc.clear();
+  }
+}
+
+
+static void PrintStackAllocationsMarkup(StackAllocationsRingBuffer *sa) {
+  // For symbolizer markup it is just necessary to have dump stack
+  // frames for offline symbolization.
+
+  uptr frames = Min((uptr)flags()->stack_history_size, sa->size());
+  if (const ListOfModules *modules =
+  Symbolizer::GetOrInit()->GetRefreshedListOfModules()) {
+InternalScopedString modules_res;
+RenderModules(&modules_res, modules,
+  /*symbolizer_markup=*/ true);
+Printf("%s", modules_res.data());
+  }
+
+  InternalScopedString frame_desc;
+  Printf("Previously allocated frames:\n");
+  for (uptr i = 0; i < frames; i++) {
+const uptr *record_addr = &(*sa)[i];
+uptr record = *record_addr;
+if (!record)
+  break;
+uptr pc_mask = (1ULL << 48) - 1;
+uptr pc = record & pc_mask;
+frame_desc.append("  record_addr:0x%zx record:0x%zx",
+  reinterpret_cast(record_addr), record);
+if (SymbolizedStack *frame = Symbolizer::GetOrInit()->SymbolizePC(pc)) {
+  RenderFrame(&frame_desc, "", 0, frame->info.address, &frame->info,
+  common_flags()->symbolize_vs_style,
+  /*symbolizer_markup=*/ true,
   common_flags()->strip_path_prefix);
   frame->ClearAll();
 }
@@ -425,7 +463,11 @@ void PrintAddressDescription(
   auto *sa = (t == GetCurrentThread() && current_stack_allocations)
  ? current_stack_allocations
  : t->stack_allocations();
-  PrintStackAllocations(sa, addr_tag, untagged_addr);
+  if (common_flags()->enable_symbolizer_markup) {
+PrintStackAllocations(sa, addr_tag, untagged_addr);
+  } else {
+PrintStackAllocationsMarkup(sa);
+  }
   num_descriptions_printed++;
 }
   });
diff --git a/compiler-rt/lib/sanitizer_common/CMakeLists.txt 
b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
index d8517f3de06a493..de398edea32753b 100644
--- a/compiler-rt/lib/sanitizer_common/CMakeLists.txt
+++ b/compiler-rt/lib/sanitizer_common/CMakeLists.txt
@@ -191,6 +191,7 @@ set(SANITIZER_IMPL_HEADERS
   sanitizer_symbolizer_internal.h
   sanitizer_symbolizer_libbacktrace.h
   sanitizer_symbolizer_mac.h
+  sanitizer_symbolizer_markup.h
   sanitizer_syscall_generic.inc
   sanitizer_syscall_linux_aarch64.inc
   sanitizer_syscall_linux_arm.inc
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc 
b/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
index 6148ae56067cae0..a83c2fafe48a6e6 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
+++ b/compiler-rt/lib/sanitizer