https://github.com/delcypher closed
https://github.com/llvm/llvm-project/pull/154618
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
delcypher wrote:
@thurstond Thanks for the feedback. I've tried to address your comments and I
also added a brief discussion of optimized-vs-unoptimized builds.
https://github.com/llvm/llvm-project/pull/154618
___
lldb-commits mailing list
lldb-commit
@@ -166,7 +174,9 @@ Non-comprehensive list of changes in this release
New Compiler Flags
--
-- New option ``-fno-sanitize-annotate-debug-info-traps`` added to disable
emitting trap reasons into the debug info when compiling with trapping UBSan
(e.g. ``-fsanit
delcypher wrote:
@vitalybuka Thanks for approving. I think I addressed everyone's comments so
I'm going to rebase, check everything still works, and then land.
https://github.com/llvm/llvm-project/pull/154618
___
lldb-commits mailing list
lldb-commits
@@ -1,9 +1,32 @@
// RUN: %clang_cc1 -triple arm64-apple-macosx14.0.0 -O0
-debug-info-kind=standalone -dwarf-version=5 \
-// RUN: -fsanitize=signed-integer-overflow
-fsanitize-trap=signed-integer-overflow -emit-llvm %s -o - | FileCheck %s
+// RUN: -fsanitize=signed-integer-overf
https://github.com/delcypher edited
https://github.com/llvm/llvm-project/pull/154618
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/delcypher edited
https://github.com/llvm/llvm-project/pull/154618
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
delcypher wrote:
@thurstond I implemented a `-fsanitize-debug-trap-reasons=` flag takes an enum
value. It takes either `none`, `basic` (what we had before this patch), or
`detailed` (the new behavior added by this patch). For compatibility I kept the
binary forms of the flags around and made t
delcypher wrote:
@thurstond
> I agree it can be useful in many cases, but it could also make the debug info
> unbearably large. (Anecdata: Big Google disables the current trap-reasons
> annotations in their internal toolchain, because it made the debug info up to
> 15% larger, even without t
@@ -1534,6 +1536,103 @@ inline DiagnosticBuilder
DiagnosticsEngine::Report(unsigned DiagID) {
return Report(SourceLocation(), DiagID);
}
+//===--===//
+// RuntimeTrapDiagnosticBuilder and helper classes
+//
https://github.com/delcypher updated
https://github.com/llvm/llvm-project/pull/154618
>From db45694078e74e2c080e40dd8ba635d2c9f313c6 Mon Sep 17 00:00:00 2001
From: Dan Liew
Date: Tue, 19 Aug 2025 15:08:44 -0700
Subject: [PATCH 01/21] [UBSan][BoundsSafety] Implement support for more
expressive
https://github.com/delcypher updated
https://github.com/llvm/llvm-project/pull/154618
>From db45694078e74e2c080e40dd8ba635d2c9f313c6 Mon Sep 17 00:00:00 2001
From: Dan Liew
Date: Tue, 19 Aug 2025 15:08:44 -0700
Subject: [PATCH 01/22] [UBSan][BoundsSafety] Implement support for more
expressive
https://github.com/delcypher updated
https://github.com/llvm/llvm-project/pull/154618
>From db45694078e74e2c080e40dd8ba635d2c9f313c6 Mon Sep 17 00:00:00 2001
From: Dan Liew
Date: Tue, 19 Aug 2025 15:08:44 -0700
Subject: [PATCH 01/20] [UBSan][BoundsSafety] Implement support for more
expressive
https://github.com/delcypher updated
https://github.com/llvm/llvm-project/pull/154618
>From db45694078e74e2c080e40dd8ba635d2c9f313c6 Mon Sep 17 00:00:00 2001
From: Dan Liew
Date: Tue, 19 Aug 2025 15:08:44 -0700
Subject: [PATCH 01/19] [UBSan][BoundsSafety] Implement support for more
expressive
@@ -1839,19 +1842,43 @@ void ScalarExprEmitter::EmitBinOpCheck(
StaticData.push_back(CGF.EmitCheckTypeDescriptor(Info.Ty));
} else {
// Arithmetic overflow (+, -, *).
+ int ArithOverflowKind = 0;
switch (Opcode) {
- case BO_Add: Check = Sanitize
https://github.com/delcypher updated
https://github.com/llvm/llvm-project/pull/154618
>From db45694078e74e2c080e40dd8ba635d2c9f313c6 Mon Sep 17 00:00:00 2001
From: Dan Liew
Date: Tue, 19 Aug 2025 15:08:44 -0700
Subject: [PATCH 01/18] [UBSan][BoundsSafety] Implement support for more
expressive
https://github.com/delcypher updated
https://github.com/llvm/llvm-project/pull/154618
>From db45694078e74e2c080e40dd8ba635d2c9f313c6 Mon Sep 17 00:00:00 2001
From: Dan Liew
Date: Tue, 19 Aug 2025 15:08:44 -0700
Subject: [PATCH 01/14] [UBSan][BoundsSafety] Implement support for more
expressive
https://github.com/delcypher updated
https://github.com/llvm/llvm-project/pull/154618
>From db45694078e74e2c080e40dd8ba635d2c9f313c6 Mon Sep 17 00:00:00 2001
From: Dan Liew
Date: Tue, 19 Aug 2025 15:08:44 -0700
Subject: [PATCH 01/13] [UBSan][BoundsSafety] Implement support for more
expressive
https://github.com/delcypher updated
https://github.com/llvm/llvm-project/pull/154618
>From db45694078e74e2c080e40dd8ba635d2c9f313c6 Mon Sep 17 00:00:00 2001
From: Dan Liew
Date: Tue, 19 Aug 2025 15:08:44 -0700
Subject: [PATCH 01/12] [UBSan][BoundsSafety] Implement support for more
expressive
https://github.com/delcypher updated
https://github.com/llvm/llvm-project/pull/154618
>From db45694078e74e2c080e40dd8ba635d2c9f313c6 Mon Sep 17 00:00:00 2001
From: Dan Liew
Date: Tue, 19 Aug 2025 15:08:44 -0700
Subject: [PATCH 01/11] [UBSan][BoundsSafety] Implement support for more
expressive
@@ -1534,6 +1536,103 @@ inline DiagnosticBuilder
DiagnosticsEngine::Report(unsigned DiagID) {
return Report(SourceLocation(), DiagID);
}
+//===--===//
+// RuntimeTrapDiagnosticBuilder and helper classes
+//
@@ -0,0 +1,21 @@
+//===--===//
+//
+// 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: Apac
https://github.com/delcypher updated
https://github.com/llvm/llvm-project/pull/154618
>From db45694078e74e2c080e40dd8ba635d2c9f313c6 Mon Sep 17 00:00:00 2001
From: Dan Liew
Date: Tue, 19 Aug 2025 15:08:44 -0700
Subject: [PATCH 01/10] [UBSan][BoundsSafety] Implement support for more
expressive
@@ -1534,6 +1536,103 @@ inline DiagnosticBuilder
DiagnosticsEngine::Report(unsigned DiagID) {
return Report(SourceLocation(), DiagID);
}
+//===--===//
+// RuntimeTrapDiagnosticBuilder and helper classes
+//
@@ -1534,6 +1536,103 @@ inline DiagnosticBuilder
DiagnosticsEngine::Report(unsigned DiagID) {
return Report(SourceLocation(), DiagID);
}
+//===--===//
+// RuntimeTrapDiagnosticBuilder and helper classes
+//
@@ -1534,6 +1536,103 @@ inline DiagnosticBuilder
DiagnosticsEngine::Report(unsigned DiagID) {
return Report(SourceLocation(), DiagID);
}
+//===--===//
+// RuntimeTrapDiagnosticBuilder and helper classes
+//
delcypher wrote:
@Sirraide @ilovepi I've changed the implementation to use a `TrapReason` object
to store the trap message and category. This allows cleaning up the
`TrapDiagnosticBuilder` API (maybe it should be called `TrapReasonBuilder`
now?) so it's much more similar to the `DiagnosticBui
https://github.com/delcypher edited
https://github.com/llvm/llvm-project/pull/154618
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -30,4 +30,5 @@
#include "clang/Basic/DiagnosticAnalysisKinds.inc"
#include "clang/Basic/DiagnosticRefactoringKinds.inc"
#include "clang/Basic/DiagnosticInstallAPIKinds.inc"
+#include "clang/Basic/DiagnosticCodeGenKinds.inc"
delcypher wrote:
So the reason I
@@ -30,6 +30,7 @@ def CLASS_REMARK: DiagClass;
def CLASS_WARNING : DiagClass;
def CLASS_EXTENSION : DiagClass;
def CLASS_ERROR : DiagClass;
+def CLASS_TRAP : DiagClass;
delcypher wrote:
My initial prototype didn't add a new class but after think
https://github.com/delcypher requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/151231
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,17 @@
+# REQUIRES: clang
+
+# RUN: %clang_host -g -O0 %S/Inputs/ubsan_add_overflow.cpp -o %t.out \
+# RUN: -fsanitize=signed-integer-overflow
-fsanitize-trap=signed-integer-overflow
+
+# RUN: %lldb -b -s %s %t.out | FileCheck %s
+
+run
+# CHECK: thread #{{.*}} stop rea
https://github.com/delcypher edited
https://github.com/llvm/llvm-project/pull/151231
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,8 @@
+#include
+
+int main() {
+ volatile int a = INT_MAX;
delcypher wrote:
Why is `volatile` here?
https://github.com/llvm/llvm-project/pull/151231
___
lldb-commits mailing list
lldb-commits@lists.llvm.or
https://github.com/delcypher edited
https://github.com/llvm/llvm-project/pull/151231
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/delcypher approved this pull request.
Mostly looks good. Please remove the uses of `volatile` unless there's a good
reason for them to be there. Also please make the description/commit message be
more descriptive. Something like
```
[lldb][NFC] Add test cases for UBSan trap
@@ -0,0 +1,122 @@
+#include "lldb/Target/VerboseTrapFrameRecognizer.h"
+
+#include "lldb/Core/Module.h"
+#include "lldb/Symbol/Function.h"
+#include "lldb/Symbol/SymbolContext.h"
+#include "lldb/Target/Process.h"
+#include "lldb/Target/StackFrameRecognizer.h"
+#include "lldb/Targe
https://github.com/delcypher requested changes to this pull request.
Looks pretty good. I had a few minor comments
https://github.com/llvm/llvm-project/pull/80368
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/
@@ -0,0 +1,122 @@
+#include "lldb/Target/VerboseTrapFrameRecognizer.h"
+
+#include "lldb/Core/Module.h"
+#include "lldb/Symbol/Function.h"
+#include "lldb/Symbol/SymbolContext.h"
+#include "lldb/Target/Process.h"
+#include "lldb/Target/StackFrameRecognizer.h"
+#include "lldb/Targe
https://github.com/delcypher edited
https://github.com/llvm/llvm-project/pull/80368
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/delcypher edited
https://github.com/llvm/llvm-project/pull/87684
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/delcypher edited
https://github.com/llvm/llvm-project/pull/87684
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/delcypher edited
https://github.com/llvm/llvm-project/pull/87684
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -258,15 +258,24 @@ if (NOT DEFINED LLVM_LINKER_DETECTED AND NOT WIN32)
endif()
endif()
- # Apple's linker complains about duplicate libraries, which CMake likes to do
- # to support ELF platforms. To silence that warning, we can use
- # -no_warn_duplicate_libraries
@@ -258,15 +258,24 @@ if (NOT DEFINED LLVM_LINKER_DETECTED AND NOT WIN32)
endif()
endif()
- # Apple's linker complains about duplicate libraries, which CMake likes to do
- # to support ELF platforms. To silence that warning, we can use
- # -no_warn_duplicate_libraries
https://github.com/delcypher approved this pull request.
LGTM. Other than the nit about not using `FORCE` to set the CMake cache
variable.
https://github.com/llvm/llvm-project/pull/87684
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https:
@@ -258,15 +258,24 @@ if (NOT DEFINED LLVM_LINKER_DETECTED AND NOT WIN32)
endif()
endif()
- # Apple's linker complains about duplicate libraries, which CMake likes to do
- # to support ELF platforms. To silence that warning, we can use
- # -no_warn_duplicate_libraries
@@ -258,15 +258,24 @@ if (NOT DEFINED LLVM_LINKER_DETECTED AND NOT WIN32)
endif()
endif()
- # Apple's linker complains about duplicate libraries, which CMake likes to do
- # to support ELF platforms. To silence that warning, we can use
- # -no_warn_duplicate_libraries
@@ -1029,6 +1038,11 @@ macro(add_llvm_executable name)
add_llvm_symbol_exports( ${name} ${LLVM_EXPORTED_SYMBOL_FILE} )
endif(LLVM_EXPORTED_SYMBOL_FILE)
+ if (NOT LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES AND
LLVM_LINKER_SUPPORTS_NO_EXPORTED_SYMBOLS)
@@ -654,6 +654,11 @@ enabled sub-projects. Nearly all of these variable names
begin with
Generate dSYM files and strip executables and libraries (Darwin Only).
Defaults to OFF.
+**LLVM_ENABLE_EXPORTED_SYMBOLS**:BOOL
+ When building executables, preserve symbol exports. D
@@ -673,6 +673,9 @@ option(LLVM_USE_OPROFILE
option(LLVM_EXTERNALIZE_DEBUGINFO
"Generate dSYM files and strip executables and libraries (Darwin Only)" OFF)
+option(LLVM_ENABLE_EXPORTED_SYMBOLS
delcypher wrote:
@JDevlieghere
> "tools" has a pretty specific
https://github.com/delcypher deleted
https://github.com/llvm/llvm-project/pull/87684
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -673,6 +673,9 @@ option(LLVM_USE_OPROFILE
option(LLVM_EXTERNALIZE_DEBUGINFO
"Generate dSYM files and strip executables and libraries (Darwin Only)" OFF)
+option(LLVM_ENABLE_EXPORTED_SYMBOLS
delcypher wrote:
> "tools" has a pretty specific meaning for LLV
@@ -673,6 +673,9 @@ option(LLVM_USE_OPROFILE
option(LLVM_EXTERNALIZE_DEBUGINFO
"Generate dSYM files and strip executables and libraries (Darwin Only)" OFF)
+option(LLVM_ENABLE_EXPORTED_SYMBOLS
danliew-apple wrote:
I'm fine with that. You could also do
`LLV
@@ -654,6 +654,11 @@ enabled sub-projects. Nearly all of these variable names
begin with
Generate dSYM files and strip executables and libraries (Darwin Only).
Defaults to OFF.
+**LLVM_ENABLE_EXPORTED_SYMBOLS**:BOOL
+ When building executables, preserve symbol exports. D
https://github.com/delcypher requested changes to this pull request.
Generally looks good. I have some minor nits. I'd like to see
`LLVM_ENABLE_EXPORTED_SYMBOLS` renamed to avoid ambiguity.
https://github.com/llvm/llvm-project/pull/87684
___
lldb-comm
@@ -654,6 +654,11 @@ enabled sub-projects. Nearly all of these variable names
begin with
Generate dSYM files and strip executables and libraries (Darwin Only).
Defaults to OFF.
+**LLVM_ENABLE_EXPORTED_SYMBOLS**:BOOL
+ When building executables, preserve symbol exports. D
@@ -673,6 +673,9 @@ option(LLVM_USE_OPROFILE
option(LLVM_EXTERNALIZE_DEBUGINFO
"Generate dSYM files and strip executables and libraries (Darwin Only)" OFF)
+option(LLVM_ENABLE_EXPORTED_SYMBOLS
delcypher wrote:
We may want to rename this. The name hints that
https://github.com/delcypher edited
https://github.com/llvm/llvm-project/pull/87684
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,9 @@
+# RUN: %clang_host -g -O0 %S/Inputs/verbose_trap.cpp -o %t.out
+# RUN: %lldb -b -s %s %t.out | FileCheck %s
+run
+# CHECK: thread #{{.*}}stop reason = Runtime Error: Function is not implemented
delcypher wrote:
`Runtime Error:` is pretty generic.
@@ -0,0 +1,98 @@
+#include "lldb/Target/VerboseTrapFrameRecognizer.h"
+
+#include "lldb/Core/Module.h"
+#include "lldb/Symbol/Function.h"
+#include "lldb/Symbol/SymbolContext.h"
+#include "lldb/Target/Process.h"
+#include "lldb/Target/Target.h"
+
+#include "lldb/Utility/LLDBLog.h"
Author: Dan Liew
Date: 2023-03-01T11:15:05-08:00
New Revision: 55a363fea18b20a81e8ebb9518997a3bda602f32
URL:
https://github.com/llvm/llvm-project/commit/55a363fea18b20a81e8ebb9518997a3bda602f32
DIFF:
https://github.com/llvm/llvm-project/commit/55a363fea18b20a81e8ebb9518997a3bda602f32.diff
LOG:
delcypher added a subscriber: delcypher.
Comment at: docs/Proposals/GitHub.rst:102
@@ +101,3 @@
+
+How will the new workflow look like
+===
s/How will/What will/
Comment at: docs/Proposals/GitHub.rst:136
@@ +135,3
63 matches
Mail list logo