eugenis updated this revision to Diff 116618.
eugenis added a comment.
Switched to SetLLVMFunctionAttributes
https://reviews.llvm.org/D37656
Files:
clang/lib/CodeGen/CGExpr.cpp
clang/test/CodeGen/cfi-check-thumb.c
llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
llvm/test/Transforms/CrossDSOCFI/
eugenis created this revision.
Also enable -no-pie on Gnu toolchain (previously available on Darwin only).
Non-PIE executables won't even start on recent Android, and DT_RPATH is ignored
by the loader.
https://reviews.llvm.org/D38430
Files:
clang/lib/Driver/SanitizerArgs.cpp
clang/lib/Dri
eugenis created this revision.
Herald added a subscriber: srhines.
- Add -static-libasan for targets that default to shared.
- Remove an Android special case. It is now possible (but untested) to use
static compiler-rt libraries there.
- Support libclang_rt.ubsan_standalone as a shared library.
eugenis added a comment.
ping
https://reviews.llvm.org/D38430
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis updated this revision to Diff 117767.
eugenis added a comment.
renamed flags to *-libsan
https://reviews.llvm.org/D38525
Files:
clang/include/clang/Driver/Options.td
clang/include/clang/Driver/SanitizerArgs.h
clang/lib/Driver/SanitizerArgs.cpp
clang/lib/Driver/ToolChains/CommonA
eugenis added inline comments.
Comment at: clang/lib/Driver/ToolChains/CommonArgs.cpp:563
+if (SanArgs.needsUbsanRt()) {
+ if (SanArgs.requiresMinimalRuntime()) {
+SharedRuntimes.push_back("ubsan_minimal");
vitalybuka wrote:
> Shouldn't ubsan cha
eugenis updated this revision to Diff 117875.
eugenis added a comment.
address comment
https://reviews.llvm.org/D38525
Files:
clang/include/clang/Driver/Options.td
clang/include/clang/Driver/SanitizerArgs.h
clang/lib/Driver/SanitizerArgs.cpp
clang/lib/Driver/ToolChains/CommonArgs.cpp
eugenis added inline comments.
Comment at: clang/lib/Driver/SanitizerArgs.cpp:614
+ if (Arg *A = Args.getLastArg(options::OPT_shared_libsan,
+ options::OPT_static_libsan))
+SharedRuntime = A->getOption().matches(options::OPT_shared_libsan);
This revision was automatically updated to reflect the committed changes.
Closed by commit rL315015: Cleanup and generalize -shared-libasan. (authored by
eugenis).
Changed prior to commit:
https://reviews.llvm.org/D38525?vs=117875&id=117878#toc
Repository:
rL LLVM
https://reviews.llvm.org/D
eugenis added a comment.
ping
https://reviews.llvm.org/D38430
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis created this revision.
Herald added a subscriber: srhines.
The OS provides cross-dso CFI support starting with Android O.
Trapping mode does not require any runtime at all, and diagnostic mode
requires just ubsan-standalone.
https://reviews.llvm.org/D38908
Files:
clang/include/clang/D
eugenis added inline comments.
Comment at: clang/test/Driver/sanitizer-ld.c:605
-// CHECK-CFI-ANDROID: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}"
-// CHECK-CFI-ANDROID-NOT: libclang_rt.cfi
-// CHECK-CFI-ANDROID-NOT: __cfi_check
pcc wrote:
> Why was this passing befo
This revision was automatically updated to reflect the committed changes.
Closed by commit rL315921: Do not link clang_rt.cfi on Android. (authored by
eugenis).
Changed prior to commit:
https://reviews.llvm.org/D38908?vs=118986&id=119180#toc
Repository:
rL LLVM
https://reviews.llvm.org/D389
eugenis added a comment.
ping
https://reviews.llvm.org/D38430
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis added a comment.
What's stopping anyone from removing this method as dead code?
Repository:
rL LLVM
https://reviews.llvm.org/D33605
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe
eugenis added a comment.
This change scares me a bit, to be honest. Is this really that big of a
problem? Blacklists are not supposed to be big, maybe we can tolerate a few
false negatives?
Consider extending the blacklist syntax instead, the same way Valgrind does.
Blacklist entries could be
eugenis added a comment.
One problem with interceptors is that any sanitized binary looks (to a
configure-like script) as if it implements forkpty. But an attempt to use
forkpty without actually linking -lutil will fail at runtime, because
interceptors are just wrappers.
Repository:
rL LLVM
eugenis added a comment.
Yes, I support adding -lutil - sorry I was not clear about that.
By dlerror() errors, do you mean the warnings about missing interceptors that
appear with verbosity=1 (non-fatal), or something else?
Repository:
rL LLVM
https://reviews.llvm.org/D41054
eugenis created this revision.
eugenis added reviewers: kcc, alekseyshl.
Herald added subscribers: hiraditya, kubamracek.
Very similar to AddressSanitizer, with the exception of the error type encoding.
https://reviews.llvm.org/D41417
Files:
clang/lib/CodeGen/BackendUtil.cpp
compiler-rt/lib
eugenis added inline comments.
Comment at: compiler-rt/lib/hwasan/hwasan.cc:255
-template
+template
__attribute__((always_inline, nodebug))
kcc wrote:
> I'd prefer enums to booleans, for better readability
good idea!
https://reviews.llvm.org/D41417
__
eugenis updated this revision to Diff 127640.
eugenis added a comment.
Replaced booleans with enums.
Added __builtin_unreachable in non-recover variants of callbacks.
https://reviews.llvm.org/D41417
Files:
clang/lib/CodeGen/BackendUtil.cpp
compiler-rt/lib/hwasan/hwasan.cc
compiler-rt/lib/
eugenis updated this revision to Diff 127642.
eugenis added a comment.
Tweaked a test.
https://reviews.llvm.org/D41417
Files:
clang/lib/CodeGen/BackendUtil.cpp
compiler-rt/lib/hwasan/hwasan.cc
compiler-rt/lib/hwasan/hwasan_interface_internal.h
compiler-rt/lib/hwasan/hwasan_linux.cc
co
This revision was automatically updated to reflect the committed changes.
Closed by commit rC321203: [hwasan] Implement -fsanitize-recover=hwaddress.
(authored by eugenis, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D41417?vs=127642&id=127760#toc
Repository:
rC Clang
h
eugenis created this revision.
eugenis added a reviewer: srhines.
Android, in particular, got PIE enabled by default in r316606. It resulted in
relocatable links passing both -r and -pie to the linker, which is not allowed.
https://reviews.llvm.org/D44229
Files:
clang/lib/Driver/ToolChains/Gn
eugenis added inline comments.
Comment at: clang/lib/Driver/ToolChains/Gnu.cpp:311
+ if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_static) ||
+ Args.hasArg(options::OPT_r))
return false;
mgrang wrote:
> We also need to check for -Wl,
This revision was automatically updated to reflect the committed changes.
Closed by commit rC327165: Don't use -pie in relocatable link. (authored
by eugenis, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D44229?vs=137493&id=137809#toc
Repository:
rC Clang
https://review
eugenis added inline comments.
Comment at: test/Driver/sanitizer-ld.c:517
// CHECK-CFI-CROSS-DSO-ANDROID: "{{.*}}ld{{(.exe)?}}"
// CHECK-CFI-CROSS-DSO-ANDROID-NOT: libclang_rt.
mgorny wrote:
> (an alternative would be to replace this 'NOT' clause with more sp
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
See my comment in https://reviews.llvm.org/D44655, but this change is also fine
with me.
Repository:
rC Clang
https://reviews.llvm.org/D44655
_
eugenis added a comment.
Indeed!
https://reviews.llvm.org/D44645
Repository:
rC Clang
https://reviews.llvm.org/D44655
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis added a comment.
Since the test is about cfi, not builtins, I think it's better to check for the
cfi library explicitly.
Repository:
rC Clang
https://reviews.llvm.org/D44655
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://
eugenis accepted this revision.
eugenis added a comment.
LGTM
https://reviews.llvm.org/D44655
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis requested changes to this revision.
eugenis added a comment.
This revision now requires changes to proceed.
Please add a test.
Repository:
rC Clang
https://reviews.llvm.org/D48373
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
ht
eugenis created this revision.
eugenis added a reviewer: alekseyshl.
Mention that no_sanitize attribute can be used with globals.
https://reviews.llvm.org/D48390
Files:
clang/docs/AddressSanitizer.rst
Index: clang/docs/AddressSanitizer.rst
===
eugenis updated this revision to Diff 152140.
eugenis added a comment.
update AttrDocs.td
https://reviews.llvm.org/D48390
Files:
clang/docs/AddressSanitizer.rst
clang/include/clang/Basic/AttrDocs.td
Index: clang/include/clang/Basic/AttrDocs.td
=
eugenis added a comment.
In https://reviews.llvm.org/D48390#1138193, @aaron.ballman wrote:
> Do you also want to update AttrDocs.td with some similar information?
Done.
https://reviews.llvm.org/D48390
___
cfe-commits mailing list
cfe-commits@list
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
Looks great, thanks!
Repository:
rC Clang
https://reviews.llvm.org/D48373
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lis
This revision was automatically updated to reflect the committed changes.
Closed by commit rC335193: ASan docs: no_sanitize("address") works on
globals. (authored by eugenis, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D48390?vs=152140&id=152204#toc
Repository:
rC Clang
eugenis added a comment.
Another option is to add a special case to blacklist logic to make it not apply
to __cfi_check_fail.
Yet another option is to make blacklist not apply to functions without a source
location, but that seems to be done intentionally here:
http://llvm-cs.pcc.me.uk/tools/cl
eugenis created this revision.
eugenis added reviewers: pcc, vlad.tsyrklevich.
Fixes PR37898.
https://reviews.llvm.org/D48454
Files:
clang/lib/CodeGen/CGExpr.cpp
clang/test/CodeGen/cfi-check-fail2.c
Index: clang/test/CodeGen/cfi-check-fail2.c
==
eugenis updated this revision to Diff 152395.
eugenis added a comment.
Simplify code.
https://reviews.llvm.org/D48454
Files:
clang/lib/CodeGen/CGExpr.cpp
clang/test/CodeGen/cfi-check-fail2.c
Index: clang/test/CodeGen/cfi-check-fail2.c
==
eugenis added a comment.
Yes, that's better.
https://reviews.llvm.org/D48454
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rL335305: Ignore blacklist when generating __cfi_check_fail.
(authored by eugenis, committed by ).
Herald added a subscriber: llvm-commits.
Changed prior to commit:
https://reviews.llvm.org/D48454?vs=1523
eugenis marked an inline comment as done.
eugenis added inline comments.
Comment at: cfe/trunk/lib/Driver/ToolChains/Linux.cpp:814
+bool Linux::isPIEDefault() const {
+ return (getTriple().isAndroid() && !getTriple().isAndroidVersionLT(16)) ||
+ getSanitizerArgs().requir
eugenis added a comment.
> Because "expect_noreturn" calls are allowed to return, the compiler must
> behave as they could. In particular, this means that unpoisoning the stack
> before expect_noreturn calls (given the current semantics) is premature.
I don't think that's true. A hypothetical f
eugenis added a comment.
> Wouldn’t it be preferable to unpoison the stack inside of maybe_longjmp, once
> the opaque condition can be checked?
Sure, but that's not always possible. That's why we have interceptors.
>> One possible optimization that I can think of is splitting code after the
>>
eugenis added a comment.
Maybe the frontend should insert __asan_handle_noreturn whenever ASan is
enabled, and then ASan would not care about the attribute? I'd like to avoid
having this logic in two places.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D56624/new
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
Since the previous iteration of this was controversial, please wait for at
least one more review.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57278/new
eugenis added a comment.
Sounds good.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57278/new/
https://reviews.llvm.org/D57278
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mai
eugenis added a comment.
LGTM assuming the plan is to add !nosanitize where !noreturn has been, at the
original call site, in the follow-up change.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57278/new/
https://reviews.llvm.org/D57278
__
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rL LLVM
https://reviews.llvm.org/D54330
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-b
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rL LLVM
https://reviews.llvm.org/D54735
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-b
eugenis added a comment.
Would turning asan operator new/delete into weak symbols help?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D54905/new/
https://reviews.llvm.org/D54905
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://
eugenis added a comment.
Our malloc definition is weak already, this will only change new/delete to
match.
This also makes the behaviour of static runtime consistent with the one of
dynamic runtime where we can not prevent user from overloading operator
new/delete.
CHANGES SINCE LAST ACTION
eugenis added a comment.
>> Would turning asan operator new/delete into weak symbols help?
>
> The new operator is already a weak symbol in libcxx, so it looks like an ODR
> violation, doesn't it?
I don't think so. It's just symbol interposition. Every module in the process
gets the same defin
eugenis requested changes to this revision.
eugenis added a comment.
This revision now requires changes to proceed.
Sorry for the delay.
This is wrong, static linking is NOT supported.
You could be confusing it with static linking of asan runtime library to an
executable - that is and has always
eugenis added a comment.
How about "Static linking of executables is not supported"?
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55066/new/
https://reviews.llvm.org/D55066
___
cfe-commits mailing list
cfe-commits@l
eugenis added a comment.
Linux linkers won't include a member of an archive only because it resolves a
weak symbol, so in your example the answer is none.
ASan uses -Wl,-whole-archive to pull all its members, this will resolve
operator new to ASan definition unless there is another definition i
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55066/new/
https://reviews.llvm.org/D55066
___
cfe-commits
eugenis accepted this revision.
eugenis added a comment.
LGTM
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57711/new/
https://reviews.llvm.org/D57711
___
cfe-commits mailing list
cfe-commits@lists.llv
eugenis added a comment.
I find the current code more readable than with this change.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57722/new/
https://reviews.llvm.org/D57722
___
cfe-commits mailing li
eugenis added a comment.
In https://reviews.llvm.org/D26796#853446, @mgorny wrote:
> The problems:
>
> 1.
> http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-android/builds/2140/steps/annotate/logs/stdio
> -- purely this change,
This one still builds i686 libraries. Maybe it needs a cl
eugenis added a comment.
I may have underestimated the number of places that will need to be patched
because of this change. Perhaps we should restore the special case in the
android library name?
Repository:
rL LLVM
https://reviews.llvm.org/D26764
___
eugenis added a comment.
IMHO it was a very bad idea to include the "architecture name" (not even a
target triple!) in the library path in the first place. No one else does that.
GCC made the right choice and called theirs "libasan.so".
My plan is to tweak the code that sets the library name to
eugenis created this revision.
Herald added a subscriber: srhines.
Recent changes canonicalized clang_rt library names to refer to
"i386" on all x86 targets. Android historically uses i686.
This change adds a special case to keep i686 in all clang_rt
libraries when targeting Android.
https://re
eugenis updated this revision to Diff 113167.
eugenis added a comment.
+comment
https://reviews.llvm.org/D37278
Files:
clang/lib/Driver/ToolChain.cpp
clang/test/Driver/sanitizer-ld.c
compiler-rt/cmake/Modules/AddCompilerRT.cmake
Index: compiler-rt/cmake/Modules/AddCompilerRT.cmake
=
This revision was automatically updated to reflect the committed changes.
Closed by commit rL312048: Restore clang_rt library name on i686-android.
(authored by eugenis).
Changed prior to commit:
https://reviews.llvm.org/D37278?vs=113167&id=113170#toc
Repository:
rL LLVM
https://reviews.llv
eugenis added a comment.
I've landed the android special case in r312048
Repository:
rL LLVM
https://reviews.llvm.org/D26764
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis created this revision.
Herald added subscribers: hiraditya, kristof.beyls, srhines, aemerson.
Set target_cpu and target_features attributes on __cfi_check_fail and
__cfi_check. Make cfi_check use Thumb encoding on ARM target.
https://reviews.llvm.org/D37656
Files:
clang/lib/CodeGen/CG
eugenis added a comment.
This function was added to the header recently, but it has been provided by
ASan runtime library since the beginning. Why not simply declare it in
libc++abi?
https://reviews.llvm.org/D37871
___
cfe-commits mailing list
cfe
eugenis added a comment.
Have you looked at performance?
https://reviews.llvm.org/D37867
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis accepted this revision.
eugenis added a comment.
Oh right, I was looking at https://reviews.llvm.org/D37860.
https://reviews.llvm.org/D37867
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listin
eugenis added a comment.
Looking at __sanitizer_dtor_callback implementation, this change will add a
(fast) stack unwind in every destructor. In extreme cases (like a tight loop
doing string operations) it could be bad for performance. I've seen ~15% AFAIR.
https://reviews.llvm.org/D37860
_
eugenis added inline comments.
Comment at: include/clang/Basic/SanitizerSpecialCaseList.h:33
+
+ bool inSection(SanitizerMask Mask, StringRef Prefix, StringRef Query,
+ StringRef Category = StringRef()) const;
Please add a comment on the meaning
eugenis added inline comments.
Comment at: docs/SanitizerSpecialCaseList.rst:57
+
+Sections are regular expressions written in square brackets that denote which
+sanitizer the following entries apply to. For example, ``[address]`` specifies
Section names are regu
eugenis added a comment.
A test, please.
Comment at: clang/lib/CodeGen/CGClass.cpp:1592
+ llvm::CallInst *I = CGF.EmitNounwindRuntimeCall(Fn, Args);
+ I->setMetadata("nosanitize", llvm::MDNode::get(CGF.getLLVMContext(),
+ llv
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
Please also add a tiny LLVM test that call instructions with nosanitize
metadata are not instrumented.
https://reviews.llvm.org/D38063
___
cfe
eugenis added a subscriber: dberris.
eugenis added inline comments.
Comment at: include/clang/Basic/SanitizerSpecialCaseList.h:39
+ // Initialize SanitizerSections.
+ void sanitizerCompile();
+
"compile" in this method name is confusing. It's used in the base c
eugenis added a comment.
ping
https://reviews.llvm.org/D37656
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis added inline comments.
Comment at: clang/lib/CodeGen/CGExpr.cpp:2917
+CodeGenFunction &CGF, llvm::Function *F,
+bool ForceThumb) {
+ StringRef TargetCPU = CGF.getTarget().getTargetOpts().CPU;
---
eugenis added inline comments.
Comment at: clang/docs/UndefinedBehaviorSanitizer.rst:207
+equivalence by pointer, not also by name (even on platforms that would
+otherwise fall back to checking equivalence by name).
I don't think this is true. As far as I can s
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63967/new/
https://reviews.llvm.org/D63967
_
eugenis updated this revision to Diff 209578.
eugenis marked 4 inline comments as done.
eugenis added a comment.
addressed review comments
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64169/new/
https://reviews.llvm.org/D64169
Files:
clang/incl
eugenis added inline comments.
Comment at: clang/lib/CodeGen/SanitizerMetadata.cpp:28
+ if (!CGM.getLangOpts().Sanitize.hasOneOf(
+ SanitizerKind::Address | SanitizerKind::KernelAddress |
+ SanitizerKind::HWAddress | SanitizerKind::KernelHWAddress |
---
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM, but please update the summary:
An alternative would be to disallow -fsanitize=function ...
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61479/new/
https://reviews.llvm.org
This revision was automatically updated to reflect the committed changes.
Closed by commit rL366123: ARM MTE stack sanitizer. (authored by eugenis,
committed by ).
Changed prior to commit:
https://reviews.llvm.org/D64169?vs=209578&id=209936#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
eugenis added a subscriber: chandlerc.
eugenis added a comment.
I don't know what is the best practice here. Other sanitizers have both module
and function passes, is there a reason to do things differently here?
@chandlerc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
http
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
OK, sure.
As I understand functon passes also have better data locality by running a
sequence of passes over a single function. Not sure how important that is.
LGTM
Repository:
rG LLVM Gi
eugenis added inline comments.
Comment at: clang/test/CodeGen/cfi-icall-canonical-jump-tables.c:15
+// CHECK: define void @g({{.*}} [[ATTR2:#[0-9]+]]
+__attribute__((cfi_jump_table_canonical)) void g() {}
+
would it be more natural to spell it "cfi_canonical_jump
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65629/new/
https://reviews.llvm.org/D65629
_
eugenis created this revision.
eugenis added reviewers: pcc, hctim, vitalybuka, ostannard.
Herald added subscribers: dexonsmith, steven_wu, cryptoad, hiraditya,
kristof.beyls, javed.absar, mehdi_amini, srhines.
Herald added projects: clang, LLVM.
Add "memtag" sanitizer that detects and mitigates
eugenis updated this revision to Diff 207920.
eugenis added a comment.
fix bitcode docs
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64169/new/
https://reviews.llvm.org/D64169
Files:
clang/include/clang/Basic/Features.def
clang/include/clang/
eugenis added inline comments.
Comment at: compiler-rt/lib/hwasan/hwasan_allocator.cpp:159
? (t ? t->GenerateRandomTag() : kFallbackAllocTag)
: 0;
+uptr tag_size = orig_size ? orig_size : 1;
When !(flags()->tag_in_mal
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63908/new/
https://reviews.llvm.org/D63908
_
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
Comment at: clang/test/CodeGen/init-memset.c:36
+ int a[16] = {0, 0, 1};
+ // CHECK: call void @llvm.memset.{{.*}}
+ // CHECK: store i32 1
Would it
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM if it's really NFC
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63854/new/
https://reviews.llvm.org/D63854
__
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D63940/new/
https://reviews.llvm.org/D63940
_
eugenis added a comment.
Ha, I think it matches LLVM perfectly :)
G, of course, stands for "Galaxy".
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60593/new/
https://reviews.llvm.org/D60593
___
cfe-com
eugenis added a comment.
I think the idea is that implementing our own spinlock is not much harder than
having 3 platform-specific implementations (posix, window, fuchsia).
Also, scudo_standalone is doing the same ( @cryptoad, why? ).
As Mitch mentioned, we should move the implementation into a
eugenis added inline comments.
Comment at: compiler-rt/lib/gwp_asan/mutex.h:27
+private:
+#include "gwp_asan/platform_specific/mutex_members.inc"
+};
What's the point of this include? You are leaking platform details into this
common header anyway.
We can make
eugenis added inline comments.
Comment at: compiler-rt/lib/gwp_asan/platform_specific/mutex_posix.cpp:43
+
+Mutex::Mutex() : PImpl(new Impl) {}
+Mutex::~Mutex() { delete PImpl; }
This is a dependency on libc++ / libstdc++.
I'm not sure about using malloc() insid
1 - 100 of 280 matches
Mail list logo