Author: Anatoly Trosinenko
Date: 2020-07-17T15:42:12+03:00
New Revision: 16a4350f76d2bead7af32617dd557d2ec096d2c5
URL:
https://github.com/llvm/llvm-project/commit/16a4350f76d2bead7af32617dd557d2ec096d2c5
DIFF:
https://github.com/llvm/llvm-project/commit/16a4350f76d2bead7af32617dd557d2ec096d2c5.
Author: Anatoly Trosinenko
Date: 2020-07-09T18:28:48+03:00
New Revision: 67422e4294754e08f277b1ba22820487eb76b918
URL:
https://github.com/llvm/llvm-project/commit/67422e4294754e08f277b1ba22820487eb76b918
DIFF:
https://github.com/llvm/llvm-project/commit/67422e4294754e08f277b1ba22820487eb76b918.
Author: Anatoly Trosinenko
Date: 2020-08-06T15:20:18+03:00
New Revision: 5a07490d7611088277dca4c1c06c2002403b7039
URL:
https://github.com/llvm/llvm-project/commit/5a07490d7611088277dca4c1c06c2002403b7039
DIFF:
https://github.com/llvm/llvm-project/commit/5a07490d7611088277dca4c1c06c2002403b7039.
https://github.com/atrosinenko edited
https://github.com/llvm/llvm-project/pull/78027
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/atrosinenko edited
https://github.com/llvm/llvm-project/pull/78027
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
atrosinenko wrote:
Ping.
A few notes:
* not setting `__ARM_FEATURE_PAUTH` in `getTargetDefinesARMV83A()` anymore (and
thus relying on conditionally setting it in `getTargetDefines()`) makes the
existing tests check that `HasPAuth` is set if v8.3+ architecture extension is
requested
* in the P
atrosinenko wrote:
@DavidSpickett Thank you for the comments! I will rebase the branch as-is to a
recent version of `main` to retest it before merging.
https://github.com/llvm/llvm-project/pull/78027
___
cfe-commits mailing list
cfe-commits@lists.llvm
https://github.com/atrosinenko updated
https://github.com/llvm/llvm-project/pull/78027
>From c2ab29bf1c01653e3e90248dda3c86dd973be6ec Mon Sep 17 00:00:00 2001
From: Anatoly Trosinenko
Date: Thu, 18 Jan 2024 19:54:04 +0300
Subject: [PATCH 1/2] [AArch64] Make Armv8.3-a extension set +pauth by def
https://github.com/atrosinenko closed
https://github.com/llvm/llvm-project/pull/78027
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
atrosinenko wrote:
Merged despite buildkite failure as its "Linux x64" job succeeded and "Windows
x64" failed with an unrelated error :)
```
mt.exe : general error c101008d: Failed to write the updated manifest to the
resource of file
"tools\mlir\unittests\ExecutionEngine\MLIRExecutionEngineT
https://github.com/atrosinenko created
https://github.com/llvm/llvm-project/pull/79311
Core LLVM has AArch64TargetParser.h header describing the mapping from Armv8.x
and Armv9.x architecture extensions to the particular list of features that are
mandatory for the extension.
Clang partially re
https://github.com/atrosinenko updated
https://github.com/llvm/llvm-project/pull/79311
>From e0d278d9fcdd01f574bbf5fa1bcbbaf7875525de Mon Sep 17 00:00:00 2001
From: Anatoly Trosinenko
Date: Tue, 23 Jan 2024 12:40:00 +0300
Subject: [PATCH 1/2] [AArch64] Simplify Clang's description of architectu
https://github.com/atrosinenko updated
https://github.com/llvm/llvm-project/pull/79311
>From e0d278d9fcdd01f574bbf5fa1bcbbaf7875525de Mon Sep 17 00:00:00 2001
From: Anatoly Trosinenko
Date: Tue, 23 Jan 2024 12:40:00 +0300
Subject: [PATCH 1/3] [AArch64] Simplify Clang's description of architectu
atrosinenko wrote:
I tried adding a few more lines to
`clang/test/Preprocessor/aarch64-target-features.c` and turned out, clang
accepts `-march=armv8-a+jscvt` but not `-march=armv8-a+dpb`. Brief debugging
suggests this is because in the
```cpp
{"dpb", AArch64::AEK_NONE, {}, {}, FEAT_DPB, "+c
@@ -741,7 +722,7 @@ bool
AArch64TargetInfo::handleTargetFeatures(std::vector &Features,
if (Feature == "+neon" || Feature == "+fp-armv8")
FPU |= NeonMode;
-if (Feature == "+jscvt") {
+if (Feature == "+jsconv") {
atrosinenko wrote:
Agree, ad
@@ -860,7 +841,7 @@ bool
AArch64TargetInfo::handleTargetFeatures(std::vector &Features,
}
if (Feature == "+dit")
HasDIT = true;
-if (Feature == "+cccp")
+if (Feature == "+ccpp")
atrosinenko wrote:
Agree, but not yet sure how it is better
atrosinenko wrote:
Meanwhile, which is current policy on enabling/disabling mandatory features via
command line options?
https://github.com/llvm/llvm-project/pull/79311
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi
https://github.com/atrosinenko created
https://github.com/llvm/llvm-project/pull/78027
Add AEK_PAUTH to ARMV8_3A in TargetParser and let it propagate to ARMV8R, as it
aligns with GCC defaults.
After adding AEK_PAUTH, several tests from TargetParserTest.cpp crashed when
trying to format an err
https://github.com/atrosinenko created
https://github.com/llvm/llvm-project/pull/78158
None
>From 2c4ebf05d3d85cb9541cefc446f3a85abc64ec22 Mon Sep 17 00:00:00 2001
From: Anatoly Trosinenko
Date: Sat, 13 Jan 2024 12:14:46 +0300
Subject: [PATCH] [AArch64] Use parseArchExtension function. NFC
--
https://github.com/atrosinenko closed
https://github.com/llvm/llvm-project/pull/78158
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
atrosinenko wrote:
No-change rebase to fix merge conflicts.
https://github.com/llvm/llvm-project/pull/78027
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/atrosinenko updated
https://github.com/llvm/llvm-project/pull/78027
>From c960dacbdb58efbf2a2ef30eb4d0a9a640ce1071 Mon Sep 17 00:00:00 2001
From: Anatoly Trosinenko
Date: Thu, 21 Dec 2023 19:34:12 +0300
Subject: [PATCH] [AArch64] Make Armv8.3-a extension set +pauth by default
atrosinenko wrote:
Sorry, force-pushing the rebased branch associated with the PR was a bad
idea... Restored the original commit for now.
https://github.com/llvm/llvm-project/pull/78027
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://l
https://github.com/atrosinenko updated
https://github.com/llvm/llvm-project/pull/78027
>From 304b5e7834ff071822fbd4e85eb4655d220d4e49 Mon Sep 17 00:00:00 2001
From: Anatoly Trosinenko
Date: Thu, 18 Jan 2024 19:54:04 +0300
Subject: [PATCH] [AArch64] Make Armv8.3-a extension set +pauth by default
atrosinenko wrote:
No-change rebase to fix the merge conflict. This time shown as a single commit,
as expected. I do understand that LLVM review policy suggests to only rebase
right before "squash and merge", but there are no comments yet and the conflict
is almost as large as the patch itself
https://github.com/atrosinenko updated
https://github.com/llvm/llvm-project/pull/78027
>From 304b5e7834ff071822fbd4e85eb4655d220d4e49 Mon Sep 17 00:00:00 2001
From: Anatoly Trosinenko
Date: Thu, 18 Jan 2024 19:54:04 +0300
Subject: [PATCH 1/2] [AArch64] Make Armv8.3-a extension set +pauth by def
atrosinenko wrote:
As already mentioned by @DavidSpickett , part of `PointerAuthentication.rst`
file disappeared, thus some links are dangling now.
https://github.com/llvm/llvm-project/pull/65996
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
atrosinenko wrote:
Meanwhile, isn't the C++ standard use the term "safely-derived pointer", too?
https://github.com/llvm/llvm-project/pull/65996
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe
@@ -0,0 +1,265 @@
+Pointer Authentication
+==
+
+.. contents::
+ :local:
+
+Introduction
+
+
+Pointer authentication is a technology which offers strong probabilistic
protection against exploiting a broad class of memory bugs to take control of
@@ -0,0 +1,265 @@
+Pointer Authentication
+==
+
+.. contents::
+ :local:
+
+Introduction
+
+
+Pointer authentication is a technology which offers strong probabilistic
protection against exploiting a broad class of memory bugs to take control of
@@ -6973,6 +6973,11 @@ void Clang::ConstructJob(Compilation &C, const JobAction
&JA,
// -fno-common is the default, set -fcommon only when that flag is set.
Args.addOptInFlag(CmdArgs, options::OPT_fcommon, options::OPT_fno_common);
+ if (Args.hasFlag(options::OPT_fptraut
@@ -4869,6 +4869,73 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl
GD, unsigned BuiltinID,
case Builtin::BI__iso_volatile_store64:
return RValue::get(EmitISOVolatileStore(*this, E));
+ case Builtin::BI__builtin_ptrauth_auth:
+ case Builtin::BI__builtin_pt
@@ -0,0 +1,265 @@
+Pointer Authentication
+==
+
+.. contents::
+ :local:
+
+Introduction
+
+
+Pointer authentication is a technology which offers strong probabilistic
protection against exploiting a broad class of memory bugs to take control of
@@ -0,0 +1,167 @@
+/*=== ptrauth.h - Pointer authentication ---===
+ *
+ * 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
@@ -0,0 +1,167 @@
+/*=== ptrauth.h - Pointer authentication ---===
+ *
+ * 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
@@ -0,0 +1,265 @@
+Pointer Authentication
+==
+
+.. contents::
+ :local:
+
+Introduction
+
+
+Pointer authentication is a technology which offers strong probabilistic
protection against exploiting a broad class of memory bugs to take control of
@@ -1908,6 +1908,176 @@ static bool SemaOpenCLBuiltinToAddr(Sema &S, unsigned
BuiltinID,
return false;
}
+namespace {
+ enum PointerAuthOpKind {
+PAO_Strip, PAO_Sign, PAO_Auth, PAO_SignGeneric, PAO_Discriminator,
+PAO_BlendPointer, PAO_BlendInteger
+ };
+}
+
+stat
@@ -4869,6 +4869,73 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl
GD, unsigned BuiltinID,
case Builtin::BI__iso_volatile_store64:
return RValue::get(EmitISOVolatileStore(*this, E));
+ case Builtin::BI__builtin_ptrauth_auth:
+ case Builtin::BI__builtin_pt
@@ -165,6 +166,88 @@ CGPointerAuthInfo
CodeGenModule::getPointerAuthInfoForType(QualType T) {
return ::getPointerAuthInfoForType(*this, T);
}
+static bool isZeroConstant(llvm::Value *value) {
+ if (auto ci = dyn_cast(value))
+return ci->isZero();
+ return false;
+}
+
@@ -165,6 +166,88 @@ CGPointerAuthInfo
CodeGenModule::getPointerAuthInfoForType(QualType T) {
return ::getPointerAuthInfoForType(*this, T);
}
+static bool isZeroConstant(llvm::Value *value) {
atrosinenko wrote:
The existing code in `CGPointerAuth.cpp` seem
@@ -192,14 +215,18 @@ class Address {
/// Return the IR name of the pointer value.
llvm::StringRef getName() const { return Pointer.getPointer()->getName(); }
+ const CGPointerAuthInfo &getPointerAuthInfo() const { return PtrAuthInfo; }
+ void setPointerAuthInfo(const CG
https://github.com/atrosinenko created
https://github.com/llvm/llvm-project/pull/140277
Move the initialization of ptrauth-* function attributes near the
initialization of branch protection attributes. The semantics of these groups
of attributes partially overlaps, so initialize them both in
atrosinenko wrote:
It seems that when I rebased this PR from an older version of `main` branch,
some test failures came up. I'm investigating these now. An example is
[clang/test/CodeGen/ptrauth-function-lvalue-cast.c](https://github.com/llvm/llvm-project/blob/00c5cd8a7a3f7e363d8f0d172ea88af916
https://github.com/atrosinenko updated
https://github.com/llvm/llvm-project/pull/140277
>From 71d852614cecab901709977b4a5f134145c2ac62 Mon Sep 17 00:00:00 2001
From: Anatoly Trosinenko
Date: Fri, 16 May 2025 16:32:42 +0300
Subject: [PATCH 1/2] [clang][AArch64] Move initialization of ptrauth-*
https://github.com/atrosinenko ready_for_review
https://github.com/llvm/llvm-project/pull/140277
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
atrosinenko wrote:
Fixed the tests in 85c21ecb922826ae8fabb4bc0c518933f19e0634:
* do not add attributes on the call site (something was probably wrong with the
way I was running the tests, as this should fail before the rebase as well...)
* added `setPointerAuthFnAttributes` as a counterpart of
https://github.com/atrosinenko closed
https://github.com/llvm/llvm-project/pull/140277
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/atrosinenko edited
https://github.com/llvm/llvm-project/pull/140277
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
48 matches
Mail list logo