Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

winksaville (Wink Saville)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 18 2016, 11:11 AM (374 w, 5 d)

Recent Activity

May 28 2019

winksaville added a comment to D61267: Update Phabricator.rst.

I think this is ready to be commit, if additional changes are needed let me know.

May 28 2019, 2:06 PM · Restricted Project
winksaville added a comment to D61203: [compiler-rt] Fix cmake warnings.

@smeenai thanks for submitting!

May 28 2019, 2:00 PM · Restricted Project, Restricted Project

May 25 2019

winksaville abandoned D62215: Fixes to distribution example for X86_64 Arch Linux.

Rather than creating LLVMgold.so as this change does, @beanz suggested we use a known LTO capable linker, lld. See D62279..

May 25 2019, 10:36 AM · Restricted Project, Restricted Project

May 24 2019

winksaville added a comment to D61203: [compiler-rt] Fix cmake warnings.

@winksaville I can commit this for you on Monday if no one's gotten to it before.

May 24 2019, 5:23 PM · Restricted Project, Restricted Project
winksaville added a comment to D61203: [compiler-rt] Fix cmake warnings.

@smeenai, who/how does this get submitted?

May 24 2019, 1:46 PM · Restricted Project, Restricted Project
winksaville updated the summary of D61203: [compiler-rt] Fix cmake warnings.
May 24 2019, 1:41 PM · Restricted Project, Restricted Project
winksaville updated the diff for D61203: [compiler-rt] Fix cmake warnings.

Update commit message and rebase on newer master

May 24 2019, 1:37 PM · Restricted Project, Restricted Project
winksaville added a comment to D62279: Use LTO capable linker.

So this compiles and improves on what we currently have and as such I think it should be
merged, although there maybe other solutions. It still fails ninja stage2-check-all with the
gtest problem which @beanz is working on resolving.

May 24 2019, 12:50 PM · Restricted Project, Restricted Project
winksaville updated the diff for D62279: Use LTO capable linker.

Added libcxxabi and rebased

May 24 2019, 10:49 AM · Restricted Project, Restricted Project

May 23 2019

winksaville added a comment to D62279: Use LTO capable linker.

@winksaville I've figured out how to resolve the gtest issue, but unfortunately that isn't good enough to get the check-runtimes target working. A change went in back in February (rL353601), which breaks running compiler-rt's tests when building a distribution in non-trivial ways, which will unfortunately be difficult to resolve.

I will land the gtest fix sometime today, and I'm going to start working toward getting the larger issue resolved, although that is going to take some time.

May 23 2019, 2:40 PM · Restricted Project, Restricted Project
winksaville added a comment to D62279: Use LTO capable linker.

Are you still having that issue after rL361436? That should have resolved that problem. The issue isn't that gtest is missing from the bootstrap, but rather that it was missing from the dependencies for the runtime libraries.

May 23 2019, 11:52 AM · Restricted Project, Restricted Project
winksaville added a comment to D62279: Use LTO capable linker.

Adding libcxxabi worked and ninja stage2-distribution succeeded but I then ran ninja check-all and from within stage2-bins/ but that failed:

[1072/1526] cd /home/wink/prgs/llvm/llvm-project/build-dist-use-lto-capable-linker-and-add-libcxxabi/tools/clang/stage2-bins/runtimes/runtimes-bins && /usr/bin/cmake --build /home/wink/prgs/llvm/llvm-project/build-dist-use-lto-capable-linker-and-add-libcxxabi/tools/clang/stage2-bins/runtimes/runtimes-bins/ --target check-runtimes --config RelWithDebInfo
ninja: error: '/home/wink/prgs/llvm/llvm-project/build-dist-use-lto-capable-linker-and-add-libcxxabi/tools/clang/stage2-bins/lib/libgtest.a', needed by 'compiler-rt/lib/asan/tests/ASAN_INST_TEST_OBJECTS.gtest-all.cc.x86_64-calls.o', missing and no known rule to make it
FAILED: runtimes/CMakeFiles/check-runtimes 
cd /home/wink/prgs/llvm/llvm-project/build-dist-use-lto-capable-linker-and-add-libcxxabi/tools/clang/stage2-bins/runtimes/runtimes-bins && /usr/bin/cmake --build /home/wink/prgs/llvm/llvm-project/build-dist-use-lto-capable-linker-and-add-libcxxabi/tools/clang/stage2-bins/runtimes/runtimes-bins/ --target check-runtimes --config RelWithDebInfo
May 23 2019, 8:42 AM · Restricted Project, Restricted Project

May 22 2019

winksaville abandoned D62279: Use LTO capable linker.

Chris, I was going to report that libcxxabi_shared was missing as I thought you had added it to in LLVM_ENABLE_RUNTIMES, but you hadn't so abandoning and trying again.

May 22 2019, 6:47 PM · Restricted Project, Restricted Project
winksaville created D62279: Use LTO capable linker.
May 22 2019, 6:32 PM · Restricted Project, Restricted Project
winksaville added a comment to D62215: Fixes to distribution example for X86_64 Arch Linux.

I actually really appreciate you trying this out and reporting back with such detailed feedback on your experience. Thank you for your patience, and I'm sorry if I'm being a bit of a pain.

May 22 2019, 4:09 PM · Restricted Project, Restricted Project
winksaville added a comment to D62215: Fixes to distribution example for X86_64 Arch Linux.

Adding "libcxxabi" to LLVM_ENABLE_RUNTIMES is fine, but the other changes to the DistributionExample are only needed because you chose to use gold, which is a configuration-specific decision that is not representative of how most people will build, therefore it shouldn't be in the example.

I'm also not sure the PLUGIN_TOOL line is correct. That seems to assume that you either set LLVM_ENABLE_LLVM_DYLIB, or have libLLVM pre-installed, which I don't think most people do.

May 22 2019, 11:36 AM · Restricted Project, Restricted Project

May 21 2019

winksaville updated the summary of D62215: Fixes to distribution example for X86_64 Arch Linux.
May 21 2019, 1:06 PM · Restricted Project, Restricted Project
winksaville added a comment to D62215: Fixes to distribution example for X86_64 Arch Linux.

This may not "correct" but I had to do these to get ninja stage2-distribution to complete on my computer.

May 21 2019, 1:06 PM · Restricted Project, Restricted Project
winksaville created D62215: Fixes to distribution example for X86_64 Arch Linux.
May 21 2019, 12:39 PM · Restricted Project, Restricted Project

May 20 2019

winksaville added a comment to D62040: [docs] Add new document on building distributions.

@winksaville I just committed an update to the DistributionExamples a minute ago that should get them working as long as you aren't using a Darwin host. If you are using a Darwin host you need D62155 as well.

May 20 2019, 11:37 AM · Restricted Project

May 19 2019

winksaville added a comment to D62040: [docs] Add new document on building distributions.

@winksaville, sorry those cache files pre-date the monorepo, and they haven’t been updated to support it. I will try and get a patch to update them today.

May 19 2019, 8:47 PM · Restricted Project
winksaville added a comment to D62040: [docs] Add new document on building distributions.

What have I done wrong?

May 19 2019, 2:24 PM · Restricted Project

May 18 2019

winksaville added a comment to D62040: [docs] Add new document on building distributions.

I'm trying to test the distribution commands from lines 65-67, I first do the cmake:

$ cd ~/prgs/llvm/llvm-project
$ mkdir build
$ cd build
$ cmake -G Ninja -C ../clang/cmake/caches/DistributionExample.cmake ../llvm
loading initial cache file ../clang/cmake/caches/DistributionExample.cmake
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
...
-- Performing Test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wink/prgs/llvm/llvm-project/build
May 18 2019, 12:50 PM · Restricted Project

May 16 2019

winksaville added a comment to D62033: Change llvm_add_library to always use name for static libraries.

OK, I'll do that tomorrow.

May 16 2019, 10:09 PM · Restricted Project
winksaville added a comment to D62033: Change llvm_add_library to always use name for static libraries.

I disagree but I'm the neophyte :)

May 16 2019, 5:41 PM · Restricted Project
winksaville added a comment to D62040: [docs] Add new document on building distributions.

A few suggestions to consider, but this is GREAT, thanks!

May 16 2019, 5:36 PM · Restricted Project
winksaville added a comment to D62033: Change llvm_add_library to always use name for static libraries.

I don't know that we want to support building component libraries as both STATIC and SHARED except in very specific and limited situations.

We actually don't seem to use this functionality in-tree anywhere, so I'm more inclined to turn this into an error than to fix it.

May 16 2019, 4:48 PM · Restricted Project
winksaville added a comment to D62033: Change llvm_add_library to always use name for static libraries.

Why are the clang libraries being built STATIC and SHARED?

We need to understand the problem you are trying to solve, because this doesn't seem like the right solution.

May 16 2019, 3:55 PM · Restricted Project
winksaville created D62033: Change llvm_add_library to always use name for static libraries.
May 16 2019, 2:19 PM · Restricted Project
winksaville added a comment to D61203: [compiler-rt] Fix cmake warnings.

Is there anything more I need to do to get this merged?

May 16 2019, 12:56 PM · Restricted Project, Restricted Project
winksaville added a comment to D61267: Update Phabricator.rst.

I believe this is ready for merging, is there something more I need to do?

May 16 2019, 12:56 PM · Restricted Project
winksaville added a comment to D61909: Add Clang shared library with C++ exports.

Just to be clear, I have nothing to do with any distribution except as a user (Arch Linux) so please take
what I say and request with a huge grain of salt. As mentioned I have filed a bug
against the clang package in Arch Linux so hopefully we'll be able to get them going in the right direction.

May 16 2019, 11:54 AM · Restricted Project
winksaville added a comment to D61909: Add Clang shared library with C++ exports.

There is a simpler example distribution configuration, but sadly there isn't documentation. That is something I can fix.

May 16 2019, 11:07 AM · Restricted Project

May 15 2019

winksaville added a comment to D61909: Add Clang shared library with C++ exports.

Distributions only get libclang_shared if they run the install target which installs all of LLVM & Clang. The point of LLVM_DISTRIBUTION_COMPONENTS is to allow people constructing distributions to choose which pieces they want to install without introducing a whole lot of overhead in the build system. The old method of passing dozens of flags to enable and disable individual pieces of the build resulted in a combinatoric explosion in build settings which are confusing and ill understood. The new method is one setting that is much cleaner to use.

Anyone constructing a distribution should be specifying LLVM_DISTRIBUTION_COMPONENTS and running the install-distribution target.

May 15 2019, 11:10 PM · Restricted Project
winksaville added a comment to D61909: Add Clang shared library with C++ exports.

IMHO "BUILD_CLANG_DYLIB" is needed. As you have it now libclang_shared.so is always builds on UNIX systems, which I believe means that all linux distros would have both increasing their sizes.

Distributions shouldn't be installing all unless they really want everything and the kitchen sink. We have the LLVM_DISTRIBUTION_COMPONENTS so that distributions can decide which pieces of the LLVM & Clang distributions they want to install. That is the cleanest mechanism for curating an install.

May 15 2019, 2:14 PM · Restricted Project
winksaville added a comment to D61909: Add Clang shared library with C++ exports.

IMHO "BUILD_CLANG_DYLIB" is needed. As you have it now libclang_shared.so is always builds on UNIX systems, which I believe means that all linux distros would have both increasing their sizes. I think the default should be "always" build libclang*.a as it is now, and optionally build libclang_shared.so using some flag.

May 15 2019, 11:56 AM · Restricted Project
winksaville abandoned D61804: Support building shared and static libraries simultaneously.

Abandoning, @beanz has proposed a better solution, D61909

May 15 2019, 9:59 AM · Restricted Project, Restricted Project

May 14 2019

winksaville added a comment to D61804: Support building shared and static libraries simultaneously.

Sorry, the two previous comments were meant for D61909 and I've moved them.

May 14 2019, 10:43 PM · Restricted Project, Restricted Project
winksaville added a comment to D61909: Add Clang shared library with C++ exports.
  • Should we only build libclang_shared.so if LLVM_BUILD_LLVM_DYLIB is ON?
  • Should we use link clang-9 to libclang_shared.so when LLVM_LINK_LLVM_DYLIB is ON?
  • Or maybe we should define BUILD_CLANG_DYLIB and LINK_CLANG_DYLIB or ... ?
May 14 2019, 10:40 PM · Restricted Project
winksaville added a comment to D61909: Add Clang shared library with C++ exports.

I did some quick testing.

May 14 2019, 10:39 PM · Restricted Project
winksaville added a comment to D61804: Support building shared and static libraries simultaneously.
May 14 2019, 10:36 PM · Restricted Project, Restricted Project
winksaville added a comment to D61804: Support building shared and static libraries simultaneously.
May 14 2019, 10:28 PM · Restricted Project, Restricted Project
winksaville added a comment to D61909: Add Clang shared library with C++ exports.

You mention that you're using OBJECT libraries so objects aren't built mutliples times
and in my current tests the number of steps increased by only 3, it went from 4353 to 4356,
when using this patch, which is great!

May 14 2019, 11:08 AM · Restricted Project

May 13 2019

winksaville added a comment to D61804: Support building shared and static libraries simultaneously.

@beanz I found what I think is the reason libclang_shared.so isn't being created.

May 13 2019, 5:08 PM · Restricted Project, Restricted Project
winksaville added a comment to D61804: Support building shared and static libraries simultaneously.

My change should not have decreased build time from trunk, nor should it have reduced the number of build steps. That patch should generate lib/libClang_shared.so, which will export the C++ API. libClang is unchanged since changing it would break existing clients of the library.

OK, I'll look into what I've done wrong. If you see anything or have any guesses please let me know.

May 13 2019, 2:16 PM · Restricted Project, Restricted Project
winksaville added a comment to D61804: Support building shared and static libraries simultaneously.

My change should not have decreased build time from trunk, nor should it have reduced the number of build steps. That patch should generate lib/libClang_shared.so, which will export the C++ API. libClang is unchanged since changing it would break existing clients of the library.

May 13 2019, 1:06 PM · Restricted Project, Restricted Project
winksaville added a comment to D61804: Support building shared and static libraries simultaneously.

Arch Linux is in an unsupported state, and your patch isn't the way forward.

May 13 2019, 12:46 PM · Restricted Project, Restricted Project

May 12 2019

winksaville updated the diff for D61804: Support building shared and static libraries simultaneously.

Change default to be CLANG_ENABLE_STATIC_LIBRARIES=ON CLANG_ENABLE_SHARED_LIBRARIeS=OFF

May 12 2019, 11:41 AM · Restricted Project, Restricted Project
winksaville added a comment to D61804: Support building shared and static libraries simultaneously.

As an additional note, Arch linux should not be building clang with BUILD_SHARED_LIBS nor should it be distributing those ,so files. That isn't a supported configuration for Clang deployment.

May 12 2019, 10:54 AM · Restricted Project, Restricted Project
winksaville added a comment to D61804: Support building shared and static libraries simultaneously.

I question the general utility of this patch, and I don't really think this does anything we want the build system doing.

May 12 2019, 10:43 AM · Restricted Project, Restricted Project

May 10 2019

winksaville created D61804: Support building shared and static libraries simultaneously.
May 10 2019, 1:43 PM · Restricted Project, Restricted Project
winksaville updated the diff for D61267: Update Phabricator.rst.

Update as suggested by jyknight

May 10 2019, 10:54 AM · Restricted Project

May 9 2019

winksaville added a comment to D61267: Update Phabricator.rst.

Are there any other edits people would like?

May 9 2019, 8:42 AM · Restricted Project
winksaville added a comment to D61203: [compiler-rt] Fix cmake warnings.

I believe this is ready to merge.

May 9 2019, 8:29 AM · Restricted Project, Restricted Project

May 3 2019

winksaville accepted D61337: [hwasan] Fix HWASAN_WITH_INTERCEPTORS=OFF build on not-android..

Adding action "Accept Revision", I'm not sure this is the processes so correct me if this is inapprporpriate and let me know what I should do.

May 3 2019, 9:35 AM · Restricted Project, Restricted Project
winksaville abandoned D61291: [compiler-rt] Fix compile error in hwasan_linux.cpp.

Supercedded by D61337

May 3 2019, 9:32 AM · Restricted Project, Restricted Project
winksaville added a comment to D61337: [hwasan] Fix HWASAN_WITH_INTERCEPTORS=OFF build on not-android..

LGTM

May 3 2019, 12:42 AM · Restricted Project, Restricted Project

May 2 2019

winksaville added a comment to D61337: [hwasan] Fix HWASAN_WITH_INTERCEPTORS=OFF build on not-android..

Should this be an error and cause an "unsupported configuration"?

But we don't really know that, because a change that makes this configuration supported needs to be in libc or in platform build files, not in compiler-rt. I'd rather not block anyone from experimenting.

What about makeing it a warning, "untested configuration"? Obviously your call, just seems prudent to me.

Sorry, but I don't like it for the same reason.

May 2 2019, 5:44 PM · Restricted Project, Restricted Project
winksaville added a comment to D61337: [hwasan] Fix HWASAN_WITH_INTERCEPTORS=OFF build on not-android..

@eugenis, which of the following conditions have tests?

HWASAN_WITH_INTERCEPTORS=OFF, SANITIZER_ANDROID=OFF

This configuration does not exist.

Should this be an error and cause an "unsupported configuration"?

But we don't really know that, because a change that makes this configuration supported needs to be in libc or in platform build files, not in compiler-rt. I'd rather not block anyone from experimenting.

May 2 2019, 5:20 PM · Restricted Project, Restricted Project

May 1 2019

winksaville added a comment to D61337: [hwasan] Fix HWASAN_WITH_INTERCEPTORS=OFF build on not-android..

@eugenis, which of the following conditions have tests?

HWASAN_WITH_INTERCEPTORS=OFF, SANITIZER_ANDROID=OFF

This configuration does not exist.

May 1 2019, 5:04 PM · Restricted Project, Restricted Project
winksaville added a comment to D61337: [hwasan] Fix HWASAN_WITH_INTERCEPTORS=OFF build on not-android..

@eugenis, which of the following conditions have tests?

May 1 2019, 11:41 AM · Restricted Project, Restricted Project

Apr 30 2019

winksaville added inline comments to D61337: [hwasan] Fix HWASAN_WITH_INTERCEPTORS=OFF build on not-android..
Apr 30 2019, 6:55 PM · Restricted Project, Restricted Project
winksaville added inline comments to D61267: Update Phabricator.rst.
Apr 30 2019, 10:10 AM · Restricted Project
winksaville updated the diff for D61267: Update Phabricator.rst.

Changes suggested by Don Hinton

Apr 30 2019, 10:09 AM · Restricted Project

Apr 29 2019

winksaville created D61291: [compiler-rt] Fix compile error in hwasan_linux.cpp.
Apr 29 2019, 6:59 PM · Restricted Project, Restricted Project
winksaville added inline comments to D61267: Update Phabricator.rst.
Apr 29 2019, 6:38 PM · Restricted Project
winksaville added inline comments to D61267: Update Phabricator.rst.
Apr 29 2019, 1:08 PM · Restricted Project
winksaville updated the diff for D61267: Update Phabricator.rst.

Apply changes from review comments

Apr 29 2019, 12:56 PM · Restricted Project
winksaville added inline comments to D61267: Update Phabricator.rst.
Apr 29 2019, 12:31 PM · Restricted Project
winksaville added inline comments to D61267: Update Phabricator.rst.
Apr 29 2019, 11:57 AM · Restricted Project
winksaville added inline comments to D61267: Update Phabricator.rst.
Apr 29 2019, 10:52 AM · Restricted Project
winksaville added inline comments to D61267: Update Phabricator.rst.
Apr 29 2019, 10:37 AM · Restricted Project
winksaville updated the diff for D61267: Update Phabricator.rst.

Update with additional information

Apr 29 2019, 10:27 AM · Restricted Project
winksaville created D61267: Update Phabricator.rst.
Apr 29 2019, 9:33 AM · Restricted Project

Apr 26 2019

winksaville added a comment to D61203: [compiler-rt] Fix cmake warnings.

I think __hwasan_tls should be defined if !SANITIZER_ANDROID, without the other condition.

Apr 26 2019, 11:57 AM · Restricted Project, Restricted Project
winksaville created D61203: [compiler-rt] Fix cmake warnings.
Apr 26 2019, 10:50 AM · Restricted Project, Restricted Project

Jul 18 2016

winksaville added inline comments to D22463: [RFC] Moving to GitHub Proposal: NOT DECISION!.
Jul 18 2016, 11:17 AM