Author: eugenis
Date: Wed Sep 25 15:38:20 2019
New Revision: 372925
URL: http://llvm.org/viewvc/llvm-project?rev=372925=rev
Log:
Fix memory leak in DeclTest.
Fixes a leak introduced in r372903, detected on the ASan bot.
Author: eugenis
Date: Mon Jul 15 13:02:23 2019
New Revision: 366123
URL: http://llvm.org/viewvc/llvm-project?rev=366123=rev
Log:
ARM MTE stack sanitizer.
Add "memtag" sanitizer that detects and mitigates stack memory issues
using armv8.5 Memory Tagging Extension.
It is similar in principle to
Author: eugenis
Date: Thu Jan 3 14:50:45 2019
New Revision: 350363
URL: http://llvm.org/viewvc/llvm-project?rev=350363=rev
Log:
Fix check-hwasan with LLVM_BUILD_EXTERNAL_COMPILER_RT=ON
Add a forwarding target for check-hwasan in clang.
Modified:
cfe/trunk/runtime/CMakeLists.txt
Modified:
Author: eugenis
Date: Thu Jan 3 14:41:10 2019
New Revision: 350361
URL: http://llvm.org/viewvc/llvm-project?rev=350361=rev
Log:
[cmake] Fix monorepo + LLVM_BUILD_EXTERNAL_COMPILER_RT=ON.
In cmake 3.10.2, if (${VARIABLE_NAME}) seems to always be false no
matter what documentation says (or maybe
Author: eugenis
Date: Tue Jul 10 12:49:07 2018
New Revision: 336716
URL: http://llvm.org/viewvc/llvm-project?rev=336716=rev
Log:
Revert r336590 "[libclang] evalute compound statement cursors before trying to
evaluate"
New memory leaks in
Author: eugenis
Date: Tue Jul 10 12:48:53 2018
New Revision: 336715
URL: http://llvm.org/viewvc/llvm-project?rev=336715=rev
Log:
Revert r336591 "[libclang] NFC, simplify clang_Cursor_Evaluate"
This change is blocking r336590 which is being reverted due to memory leaks.
Modified:
Author: eugenis
Date: Tue Jun 26 16:10:48 2018
New Revision: 335684
URL: http://llvm.org/viewvc/llvm-project?rev=335684=rev
Log:
Revert "[MS] Use mangled names and comdats for string merging with ASan"
Depends on r334313, which has been reverted in r335681.
Modified:
Author: eugenis
Date: Thu Jun 21 16:22:37 2018
New Revision: 335305
URL: http://llvm.org/viewvc/llvm-project?rev=335305=rev
Log:
Ignore blacklist when generating __cfi_check_fail.
Summary: Fixes PR37898.
Reviewers: pcc, vlad.tsyrklevich
Subscribers: cfe-commits
Differential Revision:
Author: eugenis
Date: Wed Jun 20 17:16:32 2018
New Revision: 335193
URL: http://llvm.org/viewvc/llvm-project?rev=335193=rev
Log:
ASan docs: no_sanitize("address") works on globals.
Summary: Mention that no_sanitize attribute can be used with globals.
Reviewers: alekseyshl
Subscribers:
Author: eugenis
Date: Wed Apr 4 16:48:06 2018
New Revision: 329241
URL: http://llvm.org/viewvc/llvm-project?rev=329241=rev
Log:
Enable msan unconditionally on Linux.
Memory sanitizer compatibility are already done in
MemorySanitizer::doInitialization. It verifies whether the necessary offsets
Author: eugenis
Date: Fri Mar 9 11:35:16 2018
New Revision: 327165
URL: http://llvm.org/viewvc/llvm-project?rev=327165=rev
Log:
Don't use -pie in relocatable link.
Summary:
Android, in particular, got PIE enabled by default in r316606. It resulted in
relocatable links passing both -r and -pie
Author: eugenis
Date: Fri Feb 2 17:06:21 2018
New Revision: 324163
URL: http://llvm.org/viewvc/llvm-project?rev=324163=rev
Log:
[hwasan] Add a paragraph on stack instrumentation.
Reviewers: kcc
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D42874
Modified:
Author: eugenis
Date: Wed Dec 20 11:05:44 2017
New Revision: 321203
URL: http://llvm.org/viewvc/llvm-project?rev=321203=rev
Log:
[hwasan] Implement -fsanitize-recover=hwaddress.
Summary: Very similar to AddressSanitizer, with the exception of the error type
encoding.
Reviewers: kcc, alekseyshl
Author: eugenis
Date: Fri Dec 8 18:15:42 2017
New Revision: 320233
URL: http://llvm.org/viewvc/llvm-project?rev=320233=rev
Log:
Fix fsanitize-blacklist test on Windows.
Broken in r320232.
Modified:
cfe/trunk/test/Driver/fsanitize-blacklist.c
Modified:
Author: eugenis
Date: Fri Dec 8 17:32:07 2017
New Revision: 320232
URL: http://llvm.org/viewvc/llvm-project?rev=320232=rev
Log:
Hardware-assisted AddressSanitizer (clang part).
Summary:
Driver, frontend and LLVM codegen for HWASan.
A clone of ASan, basically.
Reviewers: kcc, pcc, alekseyshl
Author: eugenis
Date: Wed Oct 25 13:39:22 2017
New Revision: 316606
URL: http://llvm.org/viewvc/llvm-project?rev=316606=rev
Log:
Enable -pie and --enable-new-dtags by default on Android.
Summary:
Also enable -no-pie on Gnu toolchain (previously available on Darwin only).
Non-PIE executables
Author: eugenis
Date: Mon Oct 16 11:02:57 2017
New Revision: 315921
URL: http://llvm.org/viewvc/llvm-project?rev=315921=rev
Log:
Do not link clang_rt.cfi on Android.
Summary:
The OS provides cross-dso CFI support starting with Android O.
Trapping mode does not require any runtime at all, and
Author: eugenis
Date: Thu Oct 5 13:14:00 2017
New Revision: 315015
URL: http://llvm.org/viewvc/llvm-project?rev=315015=rev
Log:
Cleanup and generalize -shared-libasan.
Summary:
* Rename -shared-libasan to -shared-libsan, keeping the old name as alias.
* Add -static-libsan for targets that
Author: eugenis
Date: Fri Sep 1 13:37:20 2017
New Revision: 312361
URL: http://llvm.org/viewvc/llvm-project?rev=312361=rev
Log:
Enable check-ubsan-minimal in standalone compiler-rt build.
Modified:
cfe/trunk/runtime/CMakeLists.txt
Modified: cfe/trunk/runtime/CMakeLists.txt
URL:
Author: eugenis
Date: Tue Aug 29 15:12:31 2017
New Revision: 312048
URL: http://llvm.org/viewvc/llvm-project?rev=312048=rev
Log:
Restore clang_rt library name on i686-android.
Summary:
Recent changes canonicalized clang_rt library names to refer to
"i386" on all x86 targets. Android historically
Author: eugenis
Date: Tue Aug 29 13:03:51 2017
New Revision: 312029
URL: http://llvm.org/viewvc/llvm-project?rev=312029=rev
Log:
Minimal runtime for UBSan.
Summary:
An implementation of ubsan runtime library suitable for use in production.
Minimal attack surface.
* No stack traces.
* Definitely
Author: eugenis
Date: Thu Jul 6 17:48:12 2017
New Revision: 307341
URL: http://llvm.org/viewvc/llvm-project?rev=307341=rev
Log:
Update Cross-DSO CFI documentation.
Reviewers: pcc
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D35094
Modified:
Author: eugenis
Date: Mon May 15 15:43:48 2017
New Revision: 303114
URL: http://llvm.org/viewvc/llvm-project?rev=303114=rev
Log:
[asan] One more test for -fsanitize-address-globals-dead-stripping.
Added:
cfe/trunk/test/CodeGen/asan-no-globals-no-comdat.cpp
Added:
Author: eugenis
Date: Tue May 9 17:28:57 2017
New Revision: 302594
URL: http://llvm.org/viewvc/llvm-project?rev=302594=rev
Log:
Fix clang_cl argument in fsanitize.c driver test.
Modified:
cfe/trunk/test/Driver/fsanitize.c
Modified: cfe/trunk/test/Driver/fsanitize.c
URL:
Author: eugenis
Date: Tue May 9 16:57:39 2017
New Revision: 302590
URL: http://llvm.org/viewvc/llvm-project?rev=302590=rev
Log:
Remove unnecessary calls to MakeArgString.
Modified:
cfe/trunk/lib/Driver/SanitizerArgs.cpp
cfe/trunk/lib/Driver/ToolChains/Arch/Mips.cpp
Modified:
Author: eugenis
Date: Tue May 9 16:57:43 2017
New Revision: 302591
URL: http://llvm.org/viewvc/llvm-project?rev=302591=rev
Log:
[asan] A clang flag to enable ELF globals-gc.
This feature is subtly broken when the linker is gold 2.26 or
earlier. See the following bug for details:
Author: eugenis
Date: Tue Apr 25 19:51:06 2017
New Revision: 301374
URL: http://llvm.org/viewvc/llvm-project?rev=301374=rev
Log:
[asan] Unconditionally enable GC of globals on COFF.
This change restores pre-r301225 behavior, where linker GC compatible global
instrumentation was used on COFF
Author: eugenis
Date: Mon Apr 24 14:34:12 2017
New Revision: 301225
URL: http://llvm.org/viewvc/llvm-project?rev=301225=rev
Log:
[asan] Disable ASan global-GC depending on the target and compiler flags.
Added:
cfe/trunk/test/CodeGen/asan-globals-gc.cpp
Modified:
Author: eugenis
Date: Fri Apr 7 18:00:38 2017
New Revision: 299806
URL: http://llvm.org/viewvc/llvm-project?rev=299806=rev
Log:
[cfi] Emit __cfi_check stub in the frontend.
Previously __cfi_check was created in LTO optimization pipeline, which
means LLD has no way of knowing about the existence
Author: eugenis
Date: Wed Feb 15 19:35:23 2017
New Revision: 295267
URL: http://llvm.org/viewvc/llvm-project?rev=295267=rev
Log:
Add missing regexp quantifiers in a test.
Modified:
cfe/trunk/test/CodeGen/sanitize-init-order.cpp
Modified: cfe/trunk/test/CodeGen/sanitize-init-order.cpp
URL:
Author: eugenis
Date: Fri Nov 11 17:17:36 2016
New Revision: 286669
URL: http://llvm.org/viewvc/llvm-project?rev=286669=rev
Log:
Tread TSan LLVM flags to driver: add TSan controlling flags to clang.
Summary:
New clang flags, all default to true:
-f[no-]sanitize-thread-data-races
This revision was automatically updated to reflect the committed changes.
Closed by commit rL286669: Tread TSan LLVM flags to driver: add TSan
controlling flags to clang. (authored by eugenis).
Changed prior to commit:
https://reviews.llvm.org/D26461?vs=77667=77683#toc
Repository:
rL LLVM
eugenis accepted this revision.
eugenis added a comment.
LGTM
https://reviews.llvm.org/D26461
___
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: lib/Frontend/CompilerInvocation.cpp:732
Args.hasArg(OPT_fsanitize_coverage_trace_pc_guard);
+ Opts.SanitizeThreadMemoryAccess =
+ Args.hasFlag(OPT_fsanitize_thread_memory_access,
It looks like lib/Frontend
Author: eugenis
Date: Fri Nov 11 12:49:49 2016
New Revision: 286613
URL: http://llvm.org/viewvc/llvm-project?rev=286613=rev
Log:
[cfi] Enable cfi-icall on ARM and AArch64.
Modified:
cfe/trunk/lib/Driver/ToolChain.cpp
cfe/trunk/test/Driver/fsanitize.c
Modified:
eugenis accepted this revision.
eugenis added a reviewer: eugenis.
eugenis added a comment.
Looks great!
https://reviews.llvm.org/D26491
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis added inline comments.
Comment at: lib/Frontend/CompilerInvocation.cpp:735
+ OPT_fno_sanitize_thread_data_races,
+ Opts.SanitizeThreadDataRaces);
+ Opts.SanitizeThreadStackTraces =
alekseyshl wrote:
> eugenis wrote:
>
eugenis added a comment.
Oh, and this needs a test. See test/Driver/fsanitize.c (search for
-fsanitize-address-use-after-scope as an example).
https://reviews.llvm.org/D26461
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis added inline comments.
Comment at: lib/Frontend/CompilerInvocation.cpp:735
+ OPT_fno_sanitize_thread_data_races,
+ Opts.SanitizeThreadDataRaces);
+ Opts.SanitizeThreadStackTraces =
It seems common to hardcode the
eugenis accepted this revision.
eugenis added a reviewer: eugenis.
eugenis added a comment.
LGTM
https://reviews.llvm.org/D26385
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis added a comment.
This is a good change, but I don't think it is the right fix for PR30940.
Instead of handling this in the NDK, we should change *::getIRStackGuard to
fallback to __stack_chk_guard when targeting an old version.
https://reviews.llvm.org/D26385
Author: eugenis
Date: Mon Nov 7 15:02:11 2016
New Revision: 286148
URL: http://llvm.org/viewvc/llvm-project?rev=286148=rev
Log:
Use -fsanitize-recover instead of -mllvm -msan-keep-going: clang.
Summary: Use -fsanitize-recover instead of -mllvm -msan-keep-going: pass
-fsanitize-recover value to
eugenis closed this revision.
eugenis added a comment.
thanks!
r285650
Repository:
rL LLVM
https://reviews.llvm.org/D26164
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: eugenis
Date: Mon Oct 31 17:28:10 2016
New Revision: 285650
URL: http://llvm.org/viewvc/llvm-project?rev=285650=rev
Log:
[cfi] Fix missing !type annotation.
CFI (only in the cross-dso mode) fails to set !type annotations when
a function is used before it is defined.
Added:
eugenis updated this revision to Diff 76489.
Repository:
rL LLVM
https://reviews.llvm.org/D26164
Files:
lib/CodeGen/CodeGenModule.cpp
test/CodeGen/cfi-icall-cross-dso2.c
Index: test/CodeGen/cfi-icall-cross-dso2.c
===
---
eugenis created this revision.
eugenis added a reviewer: pcc.
eugenis added a subscriber: cfe-commits.
eugenis set the repository for this revision to rL LLVM.
CFI (only in the cross-dso mode) fails to set !type annotations when
a function is used before it is defined.
Repository:
rL LLVM
eugenis created this revision.
eugenis added a reviewer: pcc.
eugenis added a subscriber: cfe-commits.
eugenis set the repository for this revision to rL LLVM.
Herald added subscribers: srhines, danalbert, tberghammer, rengolin, aemerson.
Backend support added in https://reviews.llvm.org/D25927
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
Comment at: lib/Frontend/CompilerInvocation.cpp:739
+ UasArg &&
+ UasArg->getOption().matches(OPT_fsanitize_address_use_after_scope);
Opts.SSPBufferSize
eugenis added inline comments.
Comment at: lib/CodeGen/VarBypassDetector.h:50
@@ +49,3 @@
+public:
+ void Reset(const Stmt *Body);
+
rename to smth like StartFunction()?
add some API documentation.
https://reviews.llvm.org/D24693
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
Looks great.
Thank you for seeing it through!
https://reviews.llvm.org/D24642
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis added a comment.
I would also expect -nodefaultlibs and -nostdlib to remove all standard
libraries from the link command line, including the sanitizer ones.
I like the idea of -flink-sanitizer-runtime=address, but may be without
"address" - the set of sanitizer runtime libraries can be
Author: eugenis
Date: Mon Aug 29 18:42:34 2016
New Revision: 280031
URL: http://llvm.org/viewvc/llvm-project?rev=280031=rev
Log:
[cfi] Export __cfi_check when linking with -fsanitize-cfi-cross-dso.
Multi-DSO CFI model requires every DSO to export a __cfi_check function.
Modified:
Author: eugenis
Date: Mon Aug 29 18:15:46 2016
New Revision: 280028
URL: http://llvm.org/viewvc/llvm-project?rev=280028=rev
Log:
Fix typo in test.
Modified:
cfe/trunk/test/Driver/sanitizer-ld.c
Modified: cfe/trunk/test/Driver/sanitizer-ld.c
URL:
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
http://reviews.llvm.org/D21122
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis closed this revision.
eugenis added a comment.
r272717
Repository:
rL LLVM
http://reviews.llvm.org/D21317
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis added a comment.
This timeval thing looks like a legitimate warning to me.
I don't think the analysis should go beyond the function boundaries. If a
callee expects timeval * as part of its signature it should get a properly
aligned timeval *.
http://reviews.llvm.org/D20561
Author: eugenis
Date: Wed Jun 15 18:29:26 2016
New Revision: 272856
URL: http://llvm.org/viewvc/llvm-project?rev=272856=rev
Log:
Fix sanitizer-ld test.
Modified:
cfe/trunk/test/Driver/sanitizer-ld.c
Modified: cfe/trunk/test/Driver/sanitizer-ld.c
URL:
Author: eugenis
Date: Wed Jun 15 18:05:21 2016
New Revision: 272853
URL: http://llvm.org/viewvc/llvm-project?rev=272853=rev
Log:
Fix linking of DFSan + coverage.
Broken in r272717 because of no test coverage.
Modified:
cfe/trunk/lib/Driver/SanitizerArgs.cpp
Author: eugenis
Date: Tue Jun 14 18:21:19 2016
New Revision: 272735
URL: http://llvm.org/viewvc/llvm-project?rev=272735=rev
Log:
Fix sanitizer coverage support in the win32 driver.
--dependent-lib arguments for the sanitizer libraries must be emitted when
coverage is enabled w/o any sanitizers.
Author: eugenis
Date: Tue Jun 14 16:33:40 2016
New Revision: 272717
URL: http://llvm.org/viewvc/llvm-project?rev=272717=rev
Log:
[sanitizer] Allow sanitize coverage w/o sanitizers.
The reason is that this (a) seems to work just fine and (b) useful when
building stuff with
sanitizer+coverage,
eugenis updated this revision to Diff 60759.
eugenis added a comment.
+ docs
Repository:
rL LLVM
http://reviews.llvm.org/D21317
Files:
docs/SanitizerCoverage.rst
lib/Driver/SanitizerArgs.cpp
test/Driver/fsanitize-coverage.c
Index: test/Driver/fsanitize-coverage.c
eugenis added a comment.
In http://reviews.llvm.org/D21317#457784, @kcc wrote:
> Can you at least add a compiler-rt test where we ensure that this flag can
> not be used such that it wil compile but fail to link?
>
> E.g.
>
> clang -fsanitize-coverage=edge x.c
>
> should compile *and* link
eugenis added a comment.
ubsan_standalone (that's what the needsUbsanRt change is for).
Repository:
rL LLVM
http://reviews.llvm.org/D21317
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis added a comment.
For the context, this is supposed to fix this problem:
https://bugs.chromium.org/p/chromium/issues/detail?id=618534
Of course there are other ways of dealing with that that do not require
changing the compiler, but this change seems like the right thing to do. The
eugenis created this revision.
eugenis added reviewers: pcc, kcc.
eugenis added a subscriber: cfe-commits.
eugenis set the repository for this revision to rL LLVM.
The reason is that this (a) seems to work just fine and (b) is useful when
building stuff with
sanitizer+coverage, but needing to
eugenis added a subscriber: eugenis.
eugenis added a comment.
In http://reviews.llvm.org/D20561#446031, @aaron.ballman wrote:
> In http://reviews.llvm.org/D20561#445824, @rogfer01 wrote:
>
> > I think I wasn't clear with the purpose of the fix-it: there are a few
> > cases where getting the
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
http://reviews.llvm.org/D19854
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis accepted this revision.
eugenis added a reviewer: eugenis.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
http://reviews.llvm.org/D21054
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis added a comment.
This needs a driver test.
http://reviews.llvm.org/D19854
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: eugenis
Date: Thu Apr 21 20:04:55 2016
New Revision: 267093
URL: http://llvm.org/viewvc/llvm-project?rev=267093=rev
Log:
Cleanup: move visibility/linkage attributes to the first declaration.
http://reviews.llvm.org/D15404
Modified:
libcxx/trunk/include/complex
eugenis closed this revision.
eugenis added a comment.
r267093
Thanks for your help!
Repository:
rL LLVM
http://reviews.llvm.org/D15404
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis added a comment.
This change does not affect libc++.so on Linux in any way.
Repository:
rL LLVM
http://reviews.llvm.org/D15404
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis updated this revision to Diff 54562.
eugenis added a comment.
Updates with Eric's patch from
https://gist.github.com/EricWF/487e5b1de2bb320e93fbb3c9c758b013
without the iostream changes.
Repository:
rL LLVM
http://reviews.llvm.org/D15404
Files:
include/complex
eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.
LGTM
http://reviews.llvm.org/D19170
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis added a comment.
In http://reviews.llvm.org/D19170#402939, @mlemay-intel wrote:
> In http://reviews.llvm.org/D19170#402861, @eugenis wrote:
>
> > Test, please.
>
>
> Do you know of any examples of the sort of test that you would like to see
> for a feature like this?
eugenis added a comment.
Test, please.
Where is this runtime support implemented? Some platform's libc, or an external
library?
http://reviews.llvm.org/D19170
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
Author: eugenis
Date: Tue Apr 12 12:51:59 2016
New Revision: 266095
URL: http://llvm.org/viewvc/llvm-project?rev=266095=rev
Log:
Stricter checks in the stack-protector codegen test.
Modified:
cfe/trunk/test/CodeGen/stack-protector.c
Modified: cfe/trunk/test/CodeGen/stack-protector.c
URL:
Author: eugenis
Date: Mon Apr 11 17:27:55 2016
New Revision: 266005
URL: http://llvm.org/viewvc/llvm-project?rev=266005=rev
Log:
Allow simultaneous safestack and stackprotector attributes.
This is the clang part of http://reviews.llvm.org/D18846.
SafeStack instrumentation pass adds stack
eugenis added inline comments.
Comment at: docs/ClassScope.rst:23
@@ +22,3 @@
+
+ - ``-fdefault-class-scope=attrs`` indicates that the compiler will infer
+ class scope based on platform-specific attributes that control the class's
Maybe call it "default"?
eugenis added a comment.
r263578, finally
Repository:
rL LLVM
http://reviews.llvm.org/D17360
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: eugenis
Date: Tue Mar 15 15:19:29 2016
New Revision: 263578
URL: http://llvm.org/viewvc/llvm-project?rev=263578=rev
Log:
[cfi] Don't emit checks for disabled CFI kinds.
In the cross-DSO CFI mode clang emits __cfi_check_fail that handles
errors triggered from other modules with targets in
eugenis added a comment.
No, this is not committed.
I've run dcommit in the wrong checkout and landed
http://reviews.llvm.org/D17900 instead.
Repository:
rL LLVM
http://reviews.llvm.org/D17360
___
cfe-commits mailing list
eugenis closed this revision.
eugenis added a comment.
r263310
Thanks!
Repository:
rL LLVM
http://reviews.llvm.org/D18107
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: eugenis
Date: Fri Mar 11 17:50:57 2016
New Revision: 263310
URL: http://llvm.org/viewvc/llvm-project?rev=263310=rev
Log:
Disable CFI checks in std::addressof.
std::addressof may be used on a storage of an object before the start
of its lifetime (see std::allocate_shared for example). CFI
eugenis created this revision.
eugenis added a reviewer: EricWF.
eugenis added a subscriber: cfe-commits.
eugenis set the repository for this revision to rL LLVM.
std::addressof may be used on a storage of an object before the start
of its lifetime (see std::allocate_shared for example). CFI
eugenis added inline comments.
Comment at: tools/driver/cc1as_main.cpp:413-416
@@ -412,6 +414,6 @@
// FIXME: init MCTargetOptions from sanitizer flags here.
MCTargetOptions Options;
std::unique_ptr TAP(
TheTarget->createMCAsmParser(*STI, *Parser, *MCII,
eugenis closed this revision.
eugenis added a comment.
r263180, thanks for the review!
Repository:
rL LLVM
http://reviews.llvm.org/D17360
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis added a comment.
ping
Repository:
rL LLVM
http://reviews.llvm.org/D17360
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
eugenis updated the summary for this revision.
eugenis updated this revision to Diff 49115.
eugenis added a comment.
OK, done. Please take another look.
This is inferior to the original patch in terms of functionality, but the
implementation is a lot simpler.
Repository:
rL LLVM
eugenis added a comment.
This lets us support the following case:
module A checks vcalls and casts, with diagnostics
module B checks vcalls but not casts (but it still has bitsets for vtables),
with diagnostics
then a cast check from module A with a target in module B should print
diagnostics
eugenis created this revision.
eugenis added reviewers: pcc, krasin.
eugenis added a subscriber: cfe-commits.
eugenis set the repository for this revision to rL LLVM.
In the cross-DSO CFI mode a module may be asked to handle any type of
CFI error, even if the module itself is not checked for that
Author: eugenis
Date: Wed Feb 10 15:53:28 2016
New Revision: 260441
URL: http://llvm.org/viewvc/llvm-project?rev=260441=rev
Log:
Fix invalid casts in .
static_cast of a pointer to object before the start of the object's
lifetime has undefined behavior.
This code triggers CFI warnings.
This
eugenis closed this revision.
eugenis added a comment.
Thanks for the review!
Committed as r260441.
Repository:
rL LLVM
http://reviews.llvm.org/D16738
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
eugenis added a comment.
In http://reviews.llvm.org/D16738#345696, @EricWF wrote:
> I prefer using the `(void*)` casts when possible. In particular when doing
> the pointer comparisons. Could you change those back to `void*` casts then
> use the `__as_base` function for the rest?
done
eugenis updated this revision to Diff 47271.
Repository:
rL LLVM
http://reviews.llvm.org/D16738
Files:
include/__config
include/functional
Index: include/functional
===
--- include/functional
+++ include/functional
@@
eugenis closed this revision.
eugenis added a comment.
http://llvm.org/viewvc/llvm-project?rev=259716=rev
Repository:
rL LLVM
http://reviews.llvm.org/D16823
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
Author: eugenis
Date: Wed Feb 3 16:18:55 2016
New Revision: 259716
URL: http://llvm.org/viewvc/llvm-project?rev=259716=rev
Log:
[cfi] Safe handling of unaddressable vtable pointers (clang).
Avoid crashing when printing diagnostics for vtable-related CFI
errors. In diagnostic mode, the frontend
eugenis updated this revision to Diff 46857.
eugenis added a comment.
How about this?
Repository:
rL LLVM
http://reviews.llvm.org/D16738
Files:
include/__config
include/functional
Index: include/functional
===
---
eugenis added inline comments.
Comment at: lib/CodeGen/CGClass.cpp:2608
@@ -2607,3 +2607,3 @@
auto TypeId = CGM.CreateCfiIdForTypeMetadata(MD);
if (CGM.getCodeGenOpts().SanitizeCfiCrossDso && TypeId) {
EmitCfiSlowPathCheck(M, BitSetTest, TypeId, CastedVTable,
eugenis updated this revision to Diff 46807.
Repository:
rL LLVM
http://reviews.llvm.org/D16823
Files:
lib/CodeGen/CGClass.cpp
lib/CodeGen/CGExpr.cpp
lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/CodeGenModule.h
test/CodeGen/cfi-check-fail.c
test/CodeGenCXX/cfi-cast.cpp
1 - 100 of 262 matches
Mail list logo