asl wrote:
/cherry-pick 3f6eb13abf643afec17a73448ede380606531226
https://github.com/llvm/llvm-project/pull/100480
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl milestoned
https://github.com/llvm/llvm-project/pull/100480
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -324,6 +324,9 @@ ARMTargetInfo::ARMTargetInfo(const llvm::Triple &Triple,
case llvm::Triple::GNU:
setABI("apcs-gnu");
break;
+case llvm::Triple::PAuthTest:
asl wrote:
Do we really need to touch 32-bit ARM?
https://github.com/llvm/llvm-p
@@ -333,7 +338,8 @@ void CodeGenFunction::registerGlobalDtorWithLLVM(const
VarDecl &VD,
llvm::FunctionCallee Dtor,
llvm::Constant *Addr) {
// Create a function which calls the d
https://github.com/asl approved this pull request.
https://github.com/llvm/llvm-project/pull/98276
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
> I notice the r+, but I haven't fully addressed this feedback - are you
> suggesting corrections in a follow up patch, or just conceptually approving
> with this PR? :D
I think this patch is fine to go as-is. We can re-consider that `MaybeSigned`
abstraction further on if it could
@@ -14,10 +14,144 @@
#ifndef LLVM_CLANG_BASIC_POINTERAUTHOPTIONS_H
#define LLVM_CLANG_BASIC_POINTERAUTHOPTIONS_H
+#include "clang/Basic/LLVM.h"
+#include "clang/Basic/LangOptions.h"
+#include "llvm/ADT/STLForwardCompat.h"
+#include "llvm/Support/ErrorHandling.h"
+#include "llv
https://github.com/asl approved this pull request.
Thanks!
https://github.com/llvm/llvm-project/pull/99482
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl approved this pull request.
Thanks!
https://github.com/llvm/llvm-project/pull/99595
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl approved this pull request.
https://github.com/llvm/llvm-project/pull/99590
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -13,6 +15,8 @@ void fun() {}
// ARM: ptrtoint ptr {{.*}} to i32, !nosanitize !5
// ARM: and i32 {{.*}}, -2, !nosanitize !5
// ARM: inttoptr i32 {{.*}} to ptr, !nosanitize !5
+// 64e: %[[STRIPPED:.*]] = ptrtoint ptr {{.*}} to i64, !nosanitize
+// 64e: call i64 @llvm
https://github.com/asl approved this pull request.
Neat!
https://github.com/llvm/llvm-project/pull/99741
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl closed https://github.com/llvm/llvm-project/pull/99741
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
@ahatanak Will you please take a look into all these issues?
https://github.com/llvm/llvm-project/pull/93906
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
@ojhunt Close or rebase?
https://github.com/llvm/llvm-project/pull/99604
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
FWIW, we are seeing authentication fails when running musl with pauth enabled
and this PR. Working on reproducer.
https://github.com/llvm/llvm-project/pull/97647
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org
https://github.com/asl requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/97647
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -10685,6 +10689,26 @@ SDValue AArch64TargetLowering::LowerBR_JT(SDValue Op,
return DAG.getNode(ISD::BRIND, DL, MVT::Other, JTInfo, SDValue(Dest, 0));
}
+SDValue AArch64TargetLowering::LowerBRIND(SDValue Op, SelectionDAG &DAG) const
{
+ MachineFunction &MF = DAG.getMachi
asl wrote:
Thanks @smithp35
I opened https://github.com/llvm/llvm-project/issues/99950 to track this
https://github.com/llvm/llvm-project/pull/97237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listin
https://github.com/asl approved this pull request.
Thanks!
https://github.com/llvm/llvm-project/pull/99576
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -10685,6 +10689,26 @@ SDValue AArch64TargetLowering::LowerBR_JT(SDValue Op,
return DAG.getNode(ISD::BRIND, DL, MVT::Other, JTInfo, SDValue(Dest, 0));
}
+SDValue AArch64TargetLowering::LowerBRIND(SDValue Op, SelectionDAG &DAG) const
{
+ MachineFunction &MF = DAG.getMachi
https://github.com/asl approved this pull request.
https://github.com/llvm/llvm-project/pull/97647
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl approved this pull request.
https://github.com/llvm/llvm-project/pull/107131
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
> Under the proposed ABI, `&&A-&&B` is actually "sign(A)-sign(B)". Which is a
> constant, but not one which can be represented as a relocation (as far as I
> know).
Right. The difference should be not be signed IMO as stated above.
https://github.com/llvm/llvm-project/pull/97647
__
@@ -333,7 +338,8 @@ void CodeGenFunction::registerGlobalDtorWithLLVM(const
VarDecl &VD,
llvm::FunctionCallee Dtor,
llvm::Constant *Addr) {
// Create a function which calls the d
https://github.com/asl approved this pull request.
Thanks
https://github.com/llvm/llvm-project/pull/98862
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
> The python script should likely be up streamed as well. But where?
You could just put into `Target/MSP430`.
https://github.com/llvm/llvm-project/pull/91258
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi
https://github.com/asl edited https://github.com/llvm/llvm-project/pull/91258
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl approved this pull request.
Thanks!
https://github.com/llvm/llvm-project/pull/91258
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl closed https://github.com/llvm/llvm-project/pull/91258
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -20,7 +20,7 @@
.text
#endif
-#if !defined(__USING_SJLJ_EXCEPTIONS__)
+#if !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__wasm__)
asl wrote:
You are defining `__USING_WASM_EXCEPTIONS__`. Why you are not using it here and
everywhere else?
https://gith
@@ -20,7 +20,7 @@
.text
#endif
-#if !defined(__USING_SJLJ_EXCEPTIONS__)
+#if !defined(__USING_SJLJ_EXCEPTIONS__) && !defined(__wasm__)
asl wrote:
Ok. Then does the clang change really belong here?
`LIBUNWIND_USES_WASM_EXCEPTIONS` also seems to be unused.
https://github.com/asl approved this pull request.
Ok from the generic point of view. I cannot judge if wasm-related part is ok
though :)
https://github.com/llvm/llvm-project/pull/92192
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://l
asl wrote:
@tru @nikic @MaskRay should this be backported to 19 release branch?
https://github.com/llvm/llvm-project/pull/102274
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl approved this pull request.
https://github.com/llvm/llvm-project/pull/102416
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl approved this pull request.
https://github.com/llvm/llvm-project/pull/102417
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl approved this pull request.
https://github.com/llvm/llvm-project/pull/102508
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
But please wait for @MaskRay or other reviwers
https://github.com/llvm/llvm-project/pull/102508
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
> Do we want a lot of `-fptrauth-xxx` instead of
> `-fptrauth-something=xxx,yyy,zzz`?
I would lean towards a single flag. However, I do not know how this would
affect Apple downstream and what are preferences there.
Tagging @ahmedbougacha @ahatanak @ojhunt
https://github.com/llv
asl wrote:
Can we have LLVM IR test as well?
https://github.com/llvm/llvm-project/pull/96478
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
This looks reasonable to me. @ahmedbougacha @ahatanak any objections?
https://github.com/llvm/llvm-project/pull/113149
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
@llvm-beanz The changes to clang/include/clang/AST/Expr.h seems to be
unrelated, no?
https://github.com/llvm/llvm-project/pull/110384
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cf
https://github.com/asl approved this pull request.
This looks good to me, thanks!
https://github.com/llvm/llvm-project/pull/109056
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1845,8 +1884,14 @@ class _LIBUNWIND_HIDDEN Registers_arm64 {
uint64_t getSP() const { return _registers.__sp; }
void setSP(uint64_t value) { _registers.__sp = value; }
- uint64_t getIP() const { return _registers.__pc; }
- void setIP(uint6
https://github.com/asl closed https://github.com/llvm/llvm-project/pull/115964
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl approved this pull request.
Thanks!
https://github.com/llvm/llvm-project/pull/115964
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl milestoned
https://github.com/llvm/llvm-project/pull/125280
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
asl wrote:
/cherry-pick
https://github.com/llvm/llvm-project/commit/84b0c128a751acfbf5b439edc724ba27d1da653e
https://github.com/llvm/llvm-project/pull/125280
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailma
asl wrote:
Looks like ignoring `noexcept` made the everything even more cleaner :)
https://github.com/llvm/llvm-project/pull/109056
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -12,7 +12,8 @@ The LLVM C Library
LLVM-libc is not fully complete right now. Some programs may fail to build
due
to missing functions. If you would like to help us finish LLVM-libc, check
out "`Contributing to the libc project `__" in the sidebar
- or ask on `discord
@@ -0,0 +1,41 @@
+// RUN: %clang_cc1 -triple arm64e-apple-ios -fptrauth-calls -emit-llvm
-no-enable-noundef-analysis -o - %s | FileCheck %s --check-prefixes
CHECK,CHECK-AUTH
+// RUN: %clang_cc1 -triple arm64-apple-ios -emit-llvm
-no-enable-noundef-analysis -o - %s | FileCheck %
@@ -803,17 +809,18 @@ class Qualifiers {
static_assert(sizeof(PointerAuthQualifier) == sizeof(uint32_t),
"PointerAuthQualifier must be 32 bits");
+ static constexpr uint64_t PtrAuthShift = 32;
+ static constexpr uint64_t PtrAuthMask = uint64_t(0x) <
https://github.com/asl milestoned
https://github.com/llvm/llvm-project/pull/141573
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl demilestoned
https://github.com/llvm/llvm-project/pull/141573
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl demilestoned
https://github.com/llvm/llvm-project/pull/140276
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl demilestoned
https://github.com/llvm/llvm-project/pull/138482
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl demilestoned
https://github.com/llvm/llvm-project/pull/136828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -681,7 +681,18 @@
DEFINE_LIBUNWIND_FUNCTION(__libunwind_Registers_arm64_jumpto)
// context struct, because it is allocated on the stack, and an exception
// could clobber the de-allocated portion of the stack after sp has been
// restored.
- ldrx16, [x0, #0x0
asl wrote:
> The fact I'm worried about is whether implicit signing and authentication on
> accesses to `__ptrauth`-qualified fields may introduce signing or
> authentication oracles usable by an attacker, since many values stored to
> these fields are initially non-signed. This is possibly mi
https://github.com/asl milestoned
https://github.com/llvm/llvm-project/pull/140276
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl milestoned
https://github.com/llvm/llvm-project/pull/138482
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl milestoned
https://github.com/llvm/llvm-project/pull/139790
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl milestoned
https://github.com/llvm/llvm-project/pull/136828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl updated https://github.com/llvm/llvm-project/pull/140276
>From 21d2b2da72d9e8f3994cb913a86c093212bb8711 Mon Sep 17 00:00:00 2001
From: Anton Korobeynikov
Date: Fri, 16 May 2025 19:25:57 +0300
Subject: [PATCH 1/2] [PAuth] Use different discriminators for __int128_t /
__uin
https://github.com/asl updated https://github.com/llvm/llvm-project/pull/140276
>From 21d2b2da72d9e8f3994cb913a86c093212bb8711 Mon Sep 17 00:00:00 2001
From: Anton Korobeynikov
Date: Fri, 16 May 2025 19:25:57 +0300
Subject: [PATCH 1/2] [PAuth] Use different discriminators for __int128_t /
__uin
https://github.com/asl created https://github.com/llvm/llvm-project/pull/140276
compared to other integer types when computing function pointer type
discriminator.
These parameter types have different parameter passing ABI as compared to
ordinary integer types (e.g. require 2 registers instead
@@ -3383,21 +3383,27 @@ static void encodeTypeForFunctionPointerAuth(const
ASTContext &Ctx,
// Don't bother discriminating based on these types.
case Type::Pipe:
- case Type::BitInt:
case Type::ConstantMatrix:
OS << "?";
return;
+ case Type::BitInt: {
+
@@ -1823,9 +1826,127 @@ extern "C" void *__libunwind_shstk_get_jump_target() {
#endif
class _LIBUNWIND_HIDDEN Registers_arm64 {
+ struct GPRs;
+
+private:
+ /// The program counter is used effectively as a return address
+ /// when the context is restored therefore protect
@@ -1845,8 +1986,14 @@ class _LIBUNWIND_HIDDEN Registers_arm64 {
uint64_t getSP() const { return _registers.__sp; }
void setSP(uint64_t value) { _registers.__sp = value; }
- uint64_t getIP() const { return _registers.__pc; }
- void setIP(uint6
asl wrote:
@kovdan01 @atrosinenko Please take a look
https://github.com/llvm/llvm-project/pull/143230
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl edited https://github.com/llvm/llvm-project/pull/152596
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -163,14 +163,20 @@ a cryptographic signature, other implementations may be
possible. See
data is simply a pepper added to the hash, not an encryption key, and so
can be initialized using random data.
+ *** FIXME *** fpac?
asl wrote:
Looks like it
@@ -500,7 +708,884 @@ type. Implementations are not required to make all bits
of the result equally
significant; in particular, some implementations are known to not leave
meaningful data in the low bits.
+Standard ``__ptrauth`` qualifiers
+^
https://github.com/asl commented:
Looks great to me! Couple of minor things.
Tagging @atrosinenko @kbeyls @smithp35 for visibility
https://github.com/llvm/llvm-project/pull/152596
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.l
https://github.com/asl approved this pull request.
Needs rebase just in case
https://github.com/llvm/llvm-project/pull/152601
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/asl approved this pull request.
I believe these are fine. The options are already here, this does not add new
ones, it just forwards the existing ones to the pauth on ELF logic (the other
existing uses were in Darwin part of the driver)
https://github.com/llvm/llvm-project/p
101 - 176 of 176 matches
Mail list logo