Page MenuHomePhabricator
Feed Advanced Search

Sep 5 2018

rprichard updated the diff for D51671: [ELF] Set Out::TlsPhdr earlier for encoding packed reloc tables.

Make Out::TlsPhdr a pointer to const.

Sep 5 2018, 3:04 PM
rprichard added inline comments to D51671: [ELF] Set Out::TlsPhdr earlier for encoding packed reloc tables.
Sep 5 2018, 2:25 AM

Sep 4 2018

rprichard added a reviewer for D51671: [ELF] Set Out::TlsPhdr earlier for encoding packed reloc tables: grimar.
Sep 4 2018, 9:34 PM
rprichard created D51671: [ELF] Set Out::TlsPhdr earlier for encoding packed reloc tables.
Sep 4 2018, 9:32 PM

Aug 29 2018

rprichard accepted D51400: Always add a .note.GNU-stack section if -r..

It's intentionally omitted, as I think if you want an exectuable stack, you should explicitly pass -z execstack to the final linker.

Aug 29 2018, 12:15 AM

Aug 28 2018

rprichard added inline comments to D51400: Always add a .note.GNU-stack section if -r..
Aug 28 2018, 9:04 PM

Jun 11 2018

rprichard committed rCRT334463: [builtins] Delay emutls deallocation for one round.
[builtins] Delay emutls deallocation for one round
Jun 11 2018, 6:37 PM
rprichard committed rL334463: [builtins] Delay emutls deallocation for one round.
[builtins] Delay emutls deallocation for one round
Jun 11 2018, 6:37 PM
rprichard committed rCRT334462: [builtins] emutls cleanup: determine header size using sizeof.
[builtins] emutls cleanup: determine header size using sizeof
Jun 11 2018, 6:37 PM
rprichard closed D46978: [builtins] Delay emutls deallocation for one round.
Jun 11 2018, 6:37 PM
rprichard committed rL334462: [builtins] emutls cleanup: determine header size using sizeof.
[builtins] emutls cleanup: determine header size using sizeof
Jun 11 2018, 6:36 PM
rprichard closed D47861: [builtins] emutls cleanup: determine header size using sizeof.
Jun 11 2018, 6:36 PM

Jun 8 2018

rprichard committed rL334324: Test commit: remove a blank line.
Test commit: remove a blank line
Jun 8 2018, 2:26 PM

Jun 7 2018

rprichard retitled D47861: [builtins] emutls cleanup: determine header size using sizeof from emutls cleanup: determine header size using sizeof to [builtins] emutls cleanup: determine header size using sizeof.
Jun 7 2018, 3:46 PM
rprichard retitled D46978: [builtins] Delay emutls deallocation for one round from Delay emutls deallocation for one round to [builtins] Delay emutls deallocation for one round.
Jun 7 2018, 3:46 PM

Jun 6 2018

rprichard added reviewers for D47861: [builtins] emutls cleanup: determine header size using sizeof: echristo, srhines.
Jun 6 2018, 6:00 PM
rprichard added a child revision for D47861: [builtins] emutls cleanup: determine header size using sizeof: D46978: [builtins] Delay emutls deallocation for one round.
Jun 6 2018, 5:58 PM
rprichard added a parent revision for D46978: [builtins] Delay emutls deallocation for one round: D47861: [builtins] emutls cleanup: determine header size using sizeof.
Jun 6 2018, 5:58 PM
rprichard updated the diff for D46978: [builtins] Delay emutls deallocation for one round.

I think(?) each git commit should be a separate Phabricator review?

Jun 6 2018, 5:57 PM
rprichard created D47861: [builtins] emutls cleanup: determine header size using sizeof.
Jun 6 2018, 5:55 PM
rprichard updated the diff for D46978: [builtins] Delay emutls deallocation for one round.

Remove links to bug trackers. (I think the links to the internal Google
tracker need to be removed because other members of the LLVM community can't
access them. I think I *could* keep the GitHub link, but I don't think
there's anything especially useful there.) The Phabricator link is useful,
because it explains why jemalloc needs 2 rounds.

Jun 6 2018, 4:37 PM

May 22 2018

rprichard added inline comments to D46978: [builtins] Delay emutls deallocation for one round.
May 22 2018, 3:01 PM
rprichard updated the diff for D46978: [builtins] Delay emutls deallocation for one round.

Avoid a NULL dereference on out-of-memory. Reuse emutls_setspecific.

May 22 2018, 2:56 PM

May 21 2018

rprichard updated the diff for D46978: [builtins] Delay emutls deallocation for one round.

Address chh's comments from
https://android-review.googlesource.com/c/toolchain/compiler-rt/+/683602
(change int -> uintptr_t) and add a link to my Phabricator jemalloc comment.

May 21 2018, 11:58 PM
rprichard added a comment to D46978: [builtins] Delay emutls deallocation for one round.

My emutls.c comment:

May 21 2018, 11:00 PM

May 16 2018

rprichard added a comment to D36447: private_typeinfo: limit is_dst_type_derived_from_static_type optimization.

Looking at the actual raw diff, it looks like it's indented correctly - but phab's being a little weird about how it's displaying it.
I couldn't actually apply the phab patch directly, so I had to recreate it. So I'm not talking about any problem in specific.

May 16 2018, 4:03 PM
rprichard added a comment to D46978: [builtins] Delay emutls deallocation for one round.

I uploaded this change earlier to https://android-review.googlesource.com/c/toolchain/compiler-rt/+/683602.

May 16 2018, 2:56 PM
rprichard created D46978: [builtins] Delay emutls deallocation for one round.
May 16 2018, 2:54 PM

May 12 2018

rprichard added a comment to D36447: private_typeinfo: limit is_dst_type_derived_from_static_type optimization.

This also LGTM. Please make sure to correct the new blocks are properly indented before committing.

May 12 2018, 7:06 PM

Feb 7 2018

rprichard updated the diff for D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA.

Remove the AsmPrinter::EmitPaddedULEB128 and
MCStreamer::EmitPaddedULEB128IntValue functions, which are now unused.

Feb 7 2018, 2:20 PM

Feb 6 2018

rprichard updated subscribers of D43001: [CodeGen] Emit smaller exception tables for non-SJLJ mode.
Feb 6 2018, 8:10 PM
rprichard added a reviewer for D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA: espindola.
Feb 6 2018, 8:10 PM
rprichard added a reviewer for D43001: [CodeGen] Emit smaller exception tables for non-SJLJ mode: espindola.
Feb 6 2018, 8:10 PM
rprichard added a parent revision for D43001: [CodeGen] Emit smaller exception tables for non-SJLJ mode: D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA.
Feb 6 2018, 6:57 PM
rprichard added a child revision for D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA: D43001: [CodeGen] Emit smaller exception tables for non-SJLJ mode.
Feb 6 2018, 6:57 PM
rprichard created D43001: [CodeGen] Emit smaller exception tables for non-SJLJ mode.
Feb 6 2018, 6:57 PM
rprichard retitled D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA from [CodeGen] Switch non-SJLJ EH encoding to uleb128 to [CodeGen] Use assembler expressions to lay out the EH LSDA.
Feb 6 2018, 6:54 PM
rprichard updated the diff for D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA.

Split this patch into two parts:

  • a patch that uses assembler directives to lay out the LSDA
  • a patch that switches the CST encoding to uleb128 and omits TTBase for empty type tables
Feb 6 2018, 6:47 PM

Feb 5 2018

rprichard updated the diff for D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA.

Remove the -layout-eh-table-in-assembler option; emit uleb128 code
offsets unconditionally.

Feb 5 2018, 11:26 PM
rprichard added a comment to D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA.

I described this change on the llvm-dev mailing list a month ago: https://lists.llvm.org/pipermail/llvm-dev/2018-January/120178.html.

Feb 5 2018, 4:40 PM

Jan 31 2018

rprichard added a reviewer for D42722: [MC] Fix assembler infinite loop on EH table using LEB padding: rafael.
Jan 31 2018, 3:54 PM

Jan 30 2018

rprichard updated the diff for D42722: [MC] Fix assembler infinite loop on EH table using LEB padding.

Remove the RelaxAllowances behavior where an LEB fragment could be shrunk a
fixed number of times. Instead, never shrink an LEB fragment.

Jan 30 2018, 11:13 PM
rprichard updated subscribers of D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA.
Jan 30 2018, 4:30 PM
rprichard updated subscribers of D42722: [MC] Fix assembler infinite loop on EH table using LEB padding.
Jan 30 2018, 4:30 PM
rprichard updated subscribers of D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA.
Jan 30 2018, 4:26 PM
rprichard updated subscribers of D42722: [MC] Fix assembler infinite loop on EH table using LEB padding.
Jan 30 2018, 4:26 PM
rprichard added a child revision for D42722: [MC] Fix assembler infinite loop on EH table using LEB padding: D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA.
Jan 30 2018, 4:16 PM
rprichard added a parent revision for D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA: D42722: [MC] Fix assembler infinite loop on EH table using LEB padding.
Jan 30 2018, 4:16 PM
rprichard created D42722: [MC] Fix assembler infinite loop on EH table using LEB padding.
Jan 30 2018, 4:13 PM
rprichard created D42720: [CodeGen] Use assembler expressions to lay out the EH LSDA.
Jan 30 2018, 4:06 PM

Jan 17 2018

rprichard added a comment to D42055: Fallback option for colorized output when terminfo isn't available.

FWIW: Someone filed an issue against the Android NDK complaining about the ncurses/libtinfo dependency. It prevented Clang from running out-of-the-box on Arch Linux: https://github.com/android-ndk/ndk/issues/574.

Jan 17 2018, 9:02 PM

Dec 18 2017

rprichard added a comment to D41300: [ARM] Fix PR35379 - incorrect unwind information when compiling with -Oz.

I think "Diff 2" fixes the problem I found. The fix seems OK to me.

Dec 18 2017, 4:02 PM

Dec 15 2017

rprichard added a comment to D41300: [ARM] Fix PR35379 - incorrect unwind information when compiling with -Oz.

If I understand correctly, with this fix, we'll output something like this for the original test case (https://godbolt.org/g/rJRr75):

Dec 15 2017, 8:52 PM

Oct 17 2017

rprichard added a comment to D38599: Remove warnings for dynamic_cast fallback..

Fwiw, I wrote this code. All of that "fallback" stuff was written to make customer code that was incorrect, but working on OS X -version-that-used-libsupc++ continue to work. I.e. to be a crutch for incorrect code. It should all be removed if you no longer want to provide such a crutch.

Android may end up wanting to use it for the same reason. I've backed it out for now, but it may end up being something we need since a fair number of NDK users (majority, probably) use libsupc++ and that might be a point of pain in migrating to libc++abi. Other Linux distros may want it as well, so probably worth leaving the code around.

Oct 17 2017, 1:44 AM

Oct 10 2017

rprichard added a comment to D38599: Remove warnings for dynamic_cast fallback..

Some relevant code links:

Oct 10 2017, 2:50 PM
rprichard added a comment to D38599: Remove warnings for dynamic_cast fallback..

Here's the Clang bug I filed: https://bugs.llvm.org/show_bug.cgi?id=34907

Oct 10 2017, 2:38 PM
rprichard added a comment to D38599: Remove warnings for dynamic_cast fallback..

I assume std::type_info::operator== also needs to be adjusted to compare string names? It looks like libc++'s version of the function does string comparisons for ARM64 iOS, but only on some classes (e.g. public(?) ones). Look for the _LIBCPP_HAS_NONUNIQUE_TYPEINFO and _LIBCPP_NONUNIQUE_RTTI_BIT flags. I wonder if ARM64 iOS also sets _LIBCXX_DYNAMIC_FALLBACK for libc++abi.

Oct 10 2017, 2:37 PM

Oct 8 2017

rprichard updated the diff for D36447: private_typeinfo: limit is_dst_type_derived_from_static_type optimization.
Oct 8 2017, 2:03 AM
rprichard updated the diff for D36446: private_typeinfo: propagate static flags in vmi search_above_dst method.
Oct 8 2017, 2:00 AM
rprichard updated the diff for D36446: private_typeinfo: propagate static flags in vmi search_above_dst method.
Oct 8 2017, 1:59 AM
rprichard updated the diff for D36446: private_typeinfo: propagate static flags in vmi search_above_dst method.

Use arcanist and see if context shows properly on Phabricator.

Oct 8 2017, 1:46 AM
rprichard abandoned D36449: Add dynamic_cast regression tests from PR33425, PR33439, and PR33487.

The tests are now included with the two bugfix revisions.

Oct 8 2017, 1:34 AM
rprichard added a parent revision for D36447: private_typeinfo: limit is_dst_type_derived_from_static_type optimization: D36446: private_typeinfo: propagate static flags in vmi search_above_dst method.
Oct 8 2017, 1:32 AM
rprichard added a child revision for D36446: private_typeinfo: propagate static flags in vmi search_above_dst method: D36447: private_typeinfo: limit is_dst_type_derived_from_static_type optimization.
Oct 8 2017, 1:32 AM
rprichard updated the diff for D36447: private_typeinfo: limit is_dst_type_derived_from_static_type optimization.

Consolidate the regression test with the bugfix.

Oct 8 2017, 1:32 AM
rprichard updated the diff for D36446: private_typeinfo: propagate static flags in vmi search_above_dst method.

Consolidate the regression test with the bugfix.

Oct 8 2017, 1:28 AM

Aug 10 2017

rprichard created D36605: CodeGen: Match GCC's __non_diamond_repeat_mask ABI handling.
Aug 10 2017, 10:08 PM

Aug 8 2017

rprichard added a comment to D36449: Add dynamic_cast regression tests from PR33425, PR33439, and PR33487.

@Quuxplusone Yes, the tests fail regardless of whether the padding fields exist or how large they are. I copied them from the other libcxxabi dynamic_cast* tests. I'm not really sure what they do. Considering their sizes, I'm guessing the intent was something like, "ensure that every combination of padding fields (plus internal vptrs / alignment) yields a unique sum". Adding padding fields also seems to make pointers of different types have different values. (Maybe the "nearly empty class" stuff in the Itanium C++ ABI document is relevant.)

Aug 8 2017, 5:47 PM
rprichard added a comment to D36446: private_typeinfo: propagate static flags in vmi search_above_dst method.

See https://reviews.llvm.org/D36449 for a set of regression tests.

Aug 8 2017, 4:01 PM
rprichard added a comment to D36447: private_typeinfo: limit is_dst_type_derived_from_static_type optimization.

See https://reviews.llvm.org/D36449 for a set of regression tests.

Aug 8 2017, 4:01 PM
rprichard added a comment to D36449: Add dynamic_cast regression tests from PR33425, PR33439, and PR33487.

See https://reviews.llvm.org/D36446 and https://reviews.llvm.org/D36447 for the fixes themselves.

Aug 8 2017, 4:00 PM
rprichard updated the diff for D36447: private_typeinfo: limit is_dst_type_derived_from_static_type optimization.

Incorporate cosmetic changes to comments.

Aug 8 2017, 3:30 PM
rprichard created D36449: Add dynamic_cast regression tests from PR33425, PR33439, and PR33487.
Aug 8 2017, 12:37 AM
rprichard created D36447: private_typeinfo: limit is_dst_type_derived_from_static_type optimization.
Aug 8 2017, 12:35 AM
rprichard created D36446: private_typeinfo: propagate static flags in vmi search_above_dst method.
Aug 8 2017, 12:33 AM