- User Since
- Dec 12 2016, 10:04 PM (197 w, 17 h)
Fri, Sep 4
Looks ok to me.
Fri, Aug 28
--warn-backrefs-exclude='*' disables all warnings. We may need --no-warn-backrefs if it is more like the option users want to use. If you are happy to try out, I'd happy to know whether ChromeOS packages have no warnings if --warn-backrefs is added (--fatal-warnings upgrade warnings to errors).
@MaskRay Is there a global option to disable e.g --no-warn-backrefs . It is not easy for us to add -warn-backrefs-exclude=<glob> individually to all packages where we need to suppress the error.
Jun 1 2020
Apr 28 2020
@nikic Thanks for the work.
Apr 26 2020
I believe chromium's version is a copy of compiler-rt's implementation of clear_cache  .
@vhscampos Can you please fix compiler-rt version as well?
Apr 7 2020
I opened https://github.com/ClangBuiltLinux/linux/issues/979 to see if we can fix this in Linux kernel.
Apr 2 2020
Yes, it'd be nice if all of the FORTIFY handling can be improved. For a simple call like memcpy of 8 bytes in the example, there is no reason to emit all these stack/range checks since they'd degrade memcpy performance.
Apr 1 2020
Copying an email reply to phab thread from @EricWF , not sure why it did not make it here.
Mar 31 2020
Unfortunately, cherry-picking the kernel patches didn't work including latest memcpy for x86 (https://github.com/torvalds/linux/commit/170d13ca3a2fdaaa0283399247631b76b441cca2 and https://github.com/torvalds/linux/commit/c228d294f2040c3a5f5965ff04d4947d0bf6e7da ).
Also tried ToT Linux kernel but still the same problem.
I was able to reduce to following:
Sure, I am trying to root cause the issue. Will report back hopefully soon.
We believe this change (relanded as https://reviews.llvm.org/rGd437fba8ef626b6d8b7928540f630163a9b04021) is causing a mis-compile in Linux kernel 4.4 builds resulting in local test failures.
Chrome OS bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1066638
Mar 23 2020
Noticed a few typos. Rest lgtm but deferring to other reviewers for now for approval.
Mar 20 2020
Thanks for the quick fix, verified that the crash is fixed on trunk.
Still causing a crash using a previously supplied test https://bugs.chromium.org/p/chromium/issues/detail?id=1061533#c7. Any reason this was not tested with a previous repro?
Mar 18 2020
Thanks a lot!
Friendly ping @pcc and @ldionne . We have been carrying this patch I think for too long now.
Also, we have not discovered any LTO issues elsewhere so can't tell from our side if there are other places in libc++ that need visibility annotations.
Mar 17 2020
Mar 13 2020
Can you also test on the reduced test cases in https://bugs.llvm.org/show_bug.cgi?id=45181 ?
Mar 12 2020
I see another crash with this change when building gdb.
Mar 6 2020
Thanks, Verified that this fixes the kernel warnings in my local builds with https://gist.github.com/nathanchance/767cccf4d093c1342e1994083518815e!
Mar 4 2020
Feb 27 2020
Feb 24 2020
Feb 18 2020
Feb 5 2020
Thanks, should this be cherry picked to 11.0 release as well?
Oct 10 2019
Sep 30 2019
Opened PR43518 with repro instructions.
Heads up: This is causing an error when building Chrome on ARM32 (Thumb2):
Sep 13 2019
Sep 12 2019
Submitted as https://reviews.llvm.org/rL371785.
Thanks for the patch!
Sep 4 2019
Thanks for working on it. Have you tested if Linux perf can symbolize the perf traces using the split debug files especially with large binaries?
Aug 23 2019
Aug 21 2019
Aug 19 2019
Adding a few more reviewers since I am not very familiar with this part of clang.
Please also update the patch description as suggested by @thakis
Aug 14 2019
Aug 3 2019
Jul 16 2019
@pcc can you please submit this patch if there are no objections?
Jul 15 2019
@dankm are you still working on this patch?
Jun 24 2019
@ldionne Does Peter's example answer your questions?
May 29 2019
May 28 2019
Hi Peter and Marshall,
Apr 10 2019
The motivation for this change is to make "crypto" setting an additive option e.g. like "-mavx" used in many media packages. Some packages in Chrome want to enable crypto conditionally for a few files to allow crypto feature to be used based on runtime cpu detection. They set "-march=armv8+crypto" flag but it gets overridden by the global "-march=armv8a" flag set by the build system in Chrome OS because the target cpu does not support crypto causing compile-time errors.
Ability to specify "-mcrypto" standalone makes it an additive option and ensures that it it is not lost. i.e. this will help in decoupling "-mcrypto" from "-march" so that they could be set independently. The current additive alternate is '-Xclang -target-feature -Xclang "+crypto" ' which is ugly.
Apr 9 2019
Mar 13 2019
Mar 9 2019
Nov 14 2018
Nov 13 2018
Doesn't clang already has -grecord-gcc-switches option (https://clang.llvm.org/docs/ClangCommandLineReference.html#debug-information-flags) ?
Oct 24 2018
Took another look and seems like long double is hardcoded in many of the builtins. So I think the current patch needs to rename a lot of places using long double to __float128 type.
Oct 23 2018
I am also getting these tests failures because of missing trunctfxf2 and extendxftf2. These are provided by libgcc but compiler-rt does not seem to have an implementation for them.
Added checked for defined(FLOAT128) || defined(SIZEOF_FLOAT128)
Sep 26 2018
Sep 20 2018
lgtm. But someone more familiar with these code paths should approve.
Sep 19 2018
As per https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80868, I thought GCC also emits this error but only with -pedantic. So probably should keep this error but under -Wextra or another appropriate group?
Sep 12 2018
What is the call generated with -pg for AMR32, gnu_mcount_nc or _mount? gnu_mcount_nc with "-pg" is known to be broken ( https://bugs.llvm.org/show_bug.cgi?id=33845)
Sep 4 2018
Aug 29 2018
Just a minor comment regarding test cases: Since you are adding both -L/path/ and -l<libname>, the test cases should be updated to check for the -L/path/ argument as well.
Jul 30 2018
Jul 26 2018
Random uneducated thought - how does it work with multiple translation units, where not all of them have/don't have that flag set?
Jul 25 2018
Jul 23 2018
Thanks for the quick review!
Thanks Piotr for the testcase.
Jul 19 2018
What clang version is that? Works fine for me.
@efriedma Maybe not relevant to the patch here but our kernel devs were looking into preserve_all but it does not seem to work for AArch64.
Jul 18 2018
Jul 17 2018
Added helper text, updated tests.