Page MenuHomePhabricator

sgraenitz (Stefan Gränitz)
dev

Projects

User does not belong to any projects.

User Details

User Since
Jul 10 2018, 11:23 AM (23 w, 11 h)

weliveindetail

Recent Activity

Today

sgraenitz added a comment to D55328: [CMake] Revised LLDB.framework builds.

Thanks everyone for your patience with the review. I will spare us the potential merge conflicts before Christmas and land this after the holidays. Cheers

Tue, Dec 18, 9:33 AM
sgraenitz created D55816: [CMake] Use XCODE_ATTRIBUTE properties for code signing and entitlements in Xcode.
Tue, Dec 18, 2:57 AM

Thu, Dec 13

sgraenitz added a comment to D55116: [CMake] llvm_codesign workaround for Xcode double-signing errors.

Fair enough. Will create a ticket for it. At least this works for now.

Thu, Dec 13, 11:24 PM

Wed, Dec 12

sgraenitz added a comment to D55116: [CMake] llvm_codesign workaround for Xcode double-signing errors.

Ninja builds work well without it. In order to catch actual double-signing problems here, I would prefer to pass it only in case of Xcode generator.

Wed, Dec 12, 11:49 AM
sgraenitz added inline comments to D55332: [CMake] Python bindings generation polishing.
Wed, Dec 12, 11:01 AM
sgraenitz retitled D55116: [CMake] llvm_codesign workaround for Xcode double-signing errors from [CMake] llvm_codesign polishing to [CMake] llvm_codesign workaround for Xcode double-signing errors.
Wed, Dec 12, 10:07 AM
sgraenitz updated the diff for D55116: [CMake] llvm_codesign workaround for Xcode double-signing errors.

Add --force flag when using the Xcode generator to avoid double-signing errors

Wed, Dec 12, 9:52 AM

Mon, Dec 10

sgraenitz updated the summary of D55332: [CMake] Python bindings generation polishing.
Mon, Dec 10, 12:46 PM
sgraenitz added a parent revision for D55317: [CMake] Aggregate options for LLDB in LLDBConfig.cmake: D55013: [CMake] Streamline code signing for debugserver #2.
Mon, Dec 10, 12:15 PM
sgraenitz added a child revision for D55013: [CMake] Streamline code signing for debugserver #2: D55317: [CMake] Aggregate options for LLDB in LLDBConfig.cmake.
Mon, Dec 10, 12:15 PM
sgraenitz updated the diff for D55013: [CMake] Streamline code signing for debugserver #2.

Turn LLDB_CODESIGN_IDENTITY_USED variable from STRING into INTERNAL

Mon, Dec 10, 11:35 AM
sgraenitz updated the diff for D55317: [CMake] Aggregate options for LLDB in LLDBConfig.cmake.

Remove old option LLDB_USE_ENTITLEMENTS here and not in D55328

Mon, Dec 10, 11:28 AM
sgraenitz updated the diff for D55320: [CMake] Move debugserver options to separate debugserverConfig.cmake.

Also remove code sign configuration as it moved back into debugserver in D55013. With this, debugserverConfig became really small (for the moment), but I still think it's good to have it as counterpart for LLDBConfig.

Mon, Dec 10, 11:24 AM
sgraenitz added inline comments to D55328: [CMake] Revised LLDB.framework builds.
Mon, Dec 10, 10:28 AM
sgraenitz added inline comments to D55328: [CMake] Revised LLDB.framework builds.
Mon, Dec 10, 10:24 AM
sgraenitz updated the diff for D55328: [CMake] Revised LLDB.framework builds.

Move code sign changes to D55328, minor improvements

Mon, Dec 10, 10:18 AM
sgraenitz added a comment to D55330: [CMake] Revised RPATH handling.

Looks good to me overall. You also probably probably also invoke lldb_setup_rpaths_framework for the tools included in the framework (argdumper, darwin-debug, debugserver, lldb-server).

Mon, Dec 10, 9:05 AM
sgraenitz added inline comments to D55332: [CMake] Python bindings generation polishing.
Mon, Dec 10, 8:49 AM
sgraenitz updated the diff for D55332: [CMake] Python bindings generation polishing.

Address feedback and minor improvements

Mon, Dec 10, 8:49 AM
sgraenitz updated the diff for D55332: [CMake] Python bindings generation polishing.

Account for changes in parent revision to keep individual commits compiling.

Mon, Dec 10, 8:10 AM
sgraenitz updated the diff for D55330: [CMake] Revised RPATH handling.

Rename function to setup rpaths and extend comments

Mon, Dec 10, 7:47 AM
sgraenitz added inline comments to D55013: [CMake] Streamline code signing for debugserver #2.
Mon, Dec 10, 4:34 AM
sgraenitz updated the summary of D55013: [CMake] Streamline code signing for debugserver #2.
Mon, Dec 10, 4:34 AM
sgraenitz added a comment to D55013: [CMake] Streamline code signing for debugserver #2.

Sorry for editing this again, but D55328 brought up an important change request (see https://reviews.llvm.org/D55328#anchor-1322655) and I only realized this side-effect afterwards: adding LLDB to a LLVM build tree (all with default configurations), would have caused all binaries to be signed with the lldb_codesign identity. This is clearly not intended. The modified summary now outlines the identity handling in more detail. @labath thanks for bringing up your concerns, I did the change here and will adjust the other review.

Mon, Dec 10, 4:18 AM
sgraenitz updated the summary of D55013: [CMake] Streamline code signing for debugserver #2.
Mon, Dec 10, 4:16 AM
sgraenitz updated the diff for D55013: [CMake] Streamline code signing for debugserver #2.

Avoid force-overwriting of LLVM_CODESIGNING_IDENTITY

Mon, Dec 10, 4:16 AM

Fri, Dec 7

sgraenitz added inline comments to D55328: [CMake] Revised LLDB.framework builds.
Fri, Dec 7, 9:20 AM
sgraenitz added inline comments to D55328: [CMake] Revised LLDB.framework builds.
Fri, Dec 7, 9:06 AM
sgraenitz updated the diff for D55328: [CMake] Revised LLDB.framework builds.

Finally fix that typo

Fri, Dec 7, 8:56 AM
sgraenitz updated the diff for D55328: [CMake] Revised LLDB.framework builds.

Improve handling of LLDB_CODESIGN_IDENTITY vs. LLVM_CODESIGNING_IDENTITY

Fri, Dec 7, 8:54 AM
sgraenitz added a comment to D55328: [CMake] Revised LLDB.framework builds.

Working on it..

Fri, Dec 7, 8:37 AM
sgraenitz added a comment to D55332: [CMake] Python bindings generation polishing.

Thanks for taking a look!

Fri, Dec 7, 7:59 AM
sgraenitz added a comment to D55328: [CMake] Revised LLDB.framework builds.

It's not introduced in this patch, but the part that struck me as a hack has the force-overwriting of LLVM_CODESIGNING_IDENTITY. Is there any way that could be removed?

I agree, this is unfortunate. The problem is that we only have a single global setting for the identity in LLVM and we want lldb_codesign as the default for LLDB.

Fri, Dec 7, 7:00 AM
sgraenitz added a comment to D55328: [CMake] Revised LLDB.framework builds.

Thanks for taking a look!

Fri, Dec 7, 6:55 AM
sgraenitz added inline comments to D55320: [CMake] Move debugserver options to separate debugserverConfig.cmake.
Fri, Dec 7, 5:53 AM
sgraenitz updated the diff for D55320: [CMake] Move debugserver options to separate debugserverConfig.cmake.

Revert accidental change utils/lldb-dotest/CMakeLists.txt

Fri, Dec 7, 5:52 AM
sgraenitz updated the diff for D55320: [CMake] Move debugserver options to separate debugserverConfig.cmake.

Remove LLDB_VERSION as it's not currently used by debugserver

Fri, Dec 7, 5:49 AM
sgraenitz added inline comments to D55316: [CMake] Add support for NO_INSTALL_RPATH argument in llvm_add_library().
Fri, Dec 7, 1:12 AM
sgraenitz updated the diff for D55316: [CMake] Add support for NO_INSTALL_RPATH argument in llvm_add_library().

Add short comment for NO_INSTALL_RPATH parameter to function description

Fri, Dec 7, 1:06 AM

Thu, Dec 6

sgraenitz added a reviewer for D55328: [CMake] Revised LLDB.framework builds: labath.
Thu, Dec 6, 10:09 AM
sgraenitz updated the diff for D55328: [CMake] Revised LLDB.framework builds.

LLDB.framework requires an in-tree build

Thu, Dec 6, 10:07 AM
sgraenitz updated the diff for D55328: [CMake] Revised LLDB.framework builds.

Copy Clang headers to LLDB.framework without an intermediate staging directory. This approach seems much simpler and it avoids errors from an ordering issue at configuration time (preventing Clang headers from being copied to the staging directory).

Thu, Dec 6, 9:50 AM
sgraenitz updated the diff for D55332: [CMake] Python bindings generation polishing.

Avoid conflicts: updating diff for recent changes on master

Thu, Dec 6, 5:16 AM
sgraenitz updated the diff for D55330: [CMake] Revised RPATH handling.

Avoid conflicts: updating diff for recent changes on master

Thu, Dec 6, 5:13 AM
sgraenitz updated the diff for D55328: [CMake] Revised LLDB.framework builds.

Avoid conflicts: updating diff for recent changes on master

Thu, Dec 6, 4:49 AM
sgraenitz updated the diff for D55320: [CMake] Move debugserver options to separate debugserverConfig.cmake.

Avoid conflicts: updating diff for recent changes on master

Thu, Dec 6, 4:26 AM
sgraenitz updated the diff for D55013: [CMake] Streamline code signing for debugserver #2.

Avoid conflicts: updating diff for recent changes on master

Thu, Dec 6, 4:17 AM

Wed, Dec 5

sgraenitz updated the diff for D55116: [CMake] llvm_codesign workaround for Xcode double-signing errors.

Add --force parameter

Wed, Dec 5, 9:20 AM
sgraenitz added a child revision for D55330: [CMake] Revised RPATH handling: D55332: [CMake] Python bindings generation polishing.
Wed, Dec 5, 9:09 AM
sgraenitz added a parent revision for D55332: [CMake] Python bindings generation polishing: D55330: [CMake] Revised RPATH handling.
Wed, Dec 5, 9:09 AM
sgraenitz added inline comments to D55332: [CMake] Python bindings generation polishing.
Wed, Dec 5, 9:09 AM
sgraenitz added a comment to D55328: [CMake] Revised LLDB.framework builds.

I am still running some remaining tests, but please let me know what you think about it in the meantime. In case you want to try this patch yourself, please checkout together with the related revisions (see Stack).

Wed, Dec 5, 9:06 AM
sgraenitz updated the summary of D55332: [CMake] Python bindings generation polishing.
Wed, Dec 5, 9:02 AM
sgraenitz created D55332: [CMake] Python bindings generation polishing.
Wed, Dec 5, 9:01 AM
sgraenitz added a comment to D55319: [CMake] Proposal: Prefer LLDB_VERSION over plist value in EmbedAppleVersion.cmake.

In order to reduce the risk of breaking the Xcode build, I use a separate resources/LLDB-Info.plist.in (https://reviews.llvm.org/D55328#change-SBZDFQxftWtU) for the framework. I did not yet change which plist is used here, but yes writing the correct version would be ideal I belief.

Wed, Dec 5, 8:48 AM
sgraenitz added a child revision for D55316: [CMake] Add support for NO_INSTALL_RPATH argument in llvm_add_library(): D55330: [CMake] Revised RPATH handling.
Wed, Dec 5, 8:27 AM
sgraenitz added parent revisions for D55330: [CMake] Revised RPATH handling: D55328: [CMake] Revised LLDB.framework builds, D55316: [CMake] Add support for NO_INSTALL_RPATH argument in llvm_add_library().
Wed, Dec 5, 8:27 AM
sgraenitz added a child revision for D55328: [CMake] Revised LLDB.framework builds: D55330: [CMake] Revised RPATH handling.
Wed, Dec 5, 8:27 AM
sgraenitz updated the summary of D55330: [CMake] Revised RPATH handling.
Wed, Dec 5, 8:26 AM
sgraenitz created D55330: [CMake] Revised RPATH handling.
Wed, Dec 5, 8:23 AM
sgraenitz added a reviewer for D55328: [CMake] Revised LLDB.framework builds: clayborg.
Wed, Dec 5, 8:22 AM
sgraenitz added a parent revision for D55328: [CMake] Revised LLDB.framework builds: D55317: [CMake] Aggregate options for LLDB in LLDBConfig.cmake.
Wed, Dec 5, 7:53 AM
sgraenitz added a child revision for D55317: [CMake] Aggregate options for LLDB in LLDBConfig.cmake: D55328: [CMake] Revised LLDB.framework builds.
Wed, Dec 5, 7:53 AM
sgraenitz added a child revision for D55320: [CMake] Move debugserver options to separate debugserverConfig.cmake: D55328: [CMake] Revised LLDB.framework builds.
Wed, Dec 5, 7:52 AM
sgraenitz added a parent revision for D55328: [CMake] Revised LLDB.framework builds: D55320: [CMake] Move debugserver options to separate debugserverConfig.cmake.
Wed, Dec 5, 7:52 AM
sgraenitz added a reviewer for D55328: [CMake] Revised LLDB.framework builds: stella.stamenova.
Wed, Dec 5, 7:51 AM
sgraenitz created D55328: [CMake] Revised LLDB.framework builds.
Wed, Dec 5, 7:50 AM
sgraenitz created D55320: [CMake] Move debugserver options to separate debugserverConfig.cmake.
Wed, Dec 5, 6:03 AM
sgraenitz created D55319: [CMake] Proposal: Prefer LLDB_VERSION over plist value in EmbedAppleVersion.cmake.
Wed, Dec 5, 6:00 AM
sgraenitz created D55317: [CMake] Aggregate options for LLDB in LLDBConfig.cmake.
Wed, Dec 5, 5:38 AM
sgraenitz abandoned D55084: [CMake] Add RPATHS parameter to llvm_add_executable/library.

More requirements for RPATH handling in LLDB came up. We will do it manually over there instead of adding support in LLVM. Added D55316 to avoid the need for reverting default settings.

Wed, Dec 5, 5:24 AM
sgraenitz created D55316: [CMake] Add support for NO_INSTALL_RPATH argument in llvm_add_library().
Wed, Dec 5, 5:19 AM

Fri, Nov 30

sgraenitz added a comment to D55116: [CMake] llvm_codesign workaround for Xcode double-signing errors.

One more note here about the --force parameter (which we shortly discussed in D54443): When using Xcode for testing multi-config generators, I run into double signing issues. I didn't investigate in detail yet, but I am slightly in favor of hardcoding it in the codesign invocation now.
Is it possible that Xcode runs PostBuild even if it did not actually regenerate the binary? With Ninja all goes well.

Fri, Nov 30, 9:35 AM
sgraenitz created D55128: [CMake] Store path to vendor-specific headers in clang-headers target property.
Fri, Nov 30, 8:18 AM
sgraenitz created D55116: [CMake] llvm_codesign workaround for Xcode double-signing errors.
Fri, Nov 30, 4:06 AM
sgraenitz created D55114: [CMake] Add LLVM_EXTERNALIZE_DEBUGINFO_OUTPUT_DIR for custom dSYM target directory on Darwin.
Fri, Nov 30, 3:33 AM

Thu, Nov 29

sgraenitz created D55084: [CMake] Add RPATHS parameter to llvm_add_executable/library.
Thu, Nov 29, 3:23 PM
sgraenitz added inline comments to D55013: [CMake] Streamline code signing for debugserver #2.
Thu, Nov 29, 7:04 AM
sgraenitz added reviewers for D55013: [CMake] Streamline code signing for debugserver #2: davide, vsk, aprantl.
Thu, Nov 29, 7:03 AM
sgraenitz added a comment to D55032: [CMake] Fix standalone build for debugserver on macOS.

Thought about it, but yes, at the moment it looks like overkill. I'd go on duplicating options to debugserver for now and change the approach if it gets unpractical. There are some more changes to come. I want to upstream these first and see how it looks then.

Thu, Nov 29, 5:45 AM

Wed, Nov 28

sgraenitz added a comment to D55013: [CMake] Streamline code signing for debugserver #2.

In-tree builds look good now. I successfully built and tested with these configurations:

green dragon: xcrun cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=On -DLLVM_ENABLE_MODULES=On ../llvm
my default: xcrun cmake -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" ../llvm
Wed, Nov 28, 4:03 PM
sgraenitz added a comment to D55013: [CMake] Streamline code signing for debugserver #2.

Thanks for having a look.

Wed, Nov 28, 3:26 PM
sgraenitz created D55032: [CMake] Fix standalone build for debugserver on macOS.
Wed, Nov 28, 2:51 PM
sgraenitz updated the summary of D55013: [CMake] Streamline code signing for debugserver #2.
Wed, Nov 28, 12:03 PM
sgraenitz updated the diff for D55013: [CMake] Streamline code signing for debugserver #2.

Move code sign settings to LLDBConfig.cmake

Wed, Nov 28, 11:47 AM
sgraenitz updated the diff for D55013: [CMake] Streamline code signing for debugserver #2.

Default identity for code signing must be lldb_codesign. Also remove the comment to deprecate LLDB_CODESIGN_IDENTITY in favor of LLVM_CODESIGNING_IDENTITY.

Wed, Nov 28, 11:42 AM
sgraenitz updated the diff for D55013: [CMake] Streamline code signing for debugserver #2.

Fix target directory for debugserver: it must not be LLVM_TOOLS_BINARY_DIR but LLVM_RUNTIME_OUTPUT_INTDIR. It's a difference in standalone builds of LLDB. LLVM_TOOLS_BINARY_DIR was wrong here as it points to the binary directory in the detached LLVM build tree. It should make no difference for in-tree builds.

Wed, Nov 28, 11:38 AM
sgraenitz created D55013: [CMake] Streamline code signing for debugserver #2.
Wed, Nov 28, 11:35 AM
sgraenitz abandoned D55012: [CMake] Streamline code signing for debugserver #2.
Wed, Nov 28, 11:27 AM
sgraenitz updated the diff for D55012: [CMake] Streamline code signing for debugserver #2.

Move code sign settings to LLDBConfig.cmake + polishing

Wed, Nov 28, 11:21 AM
sgraenitz updated the diff for D55012: [CMake] Streamline code signing for debugserver #2.

The default identity for code signing must be lldb_codesign. Also remove the comment to deprecate LLDB_CODESIGN_IDENTITY in favor of LLVM_CODESIGNING_IDENTITY.

Wed, Nov 28, 11:14 AM
sgraenitz updated the diff for D55012: [CMake] Streamline code signing for debugserver #2.

Fix target directory for debugserver: it must not be LLVM_TOOLS_BINARY_DIR but LLVM_RUNTIME_OUTPUT_INTDIR. It's a difference in standalone builds of LLDB. LLVM_TOOLS_BINARY_DIR was wrong here as it points to the binary directory in the detached LLVM build tree. It should make no difference for in-tree builds.

Wed, Nov 28, 10:44 AM
sgraenitz created D55012: [CMake] Streamline code signing for debugserver #2.
Wed, Nov 28, 10:37 AM

Mon, Nov 26

sgraenitz added a comment to D54893: [Demangle] remove itaniumFindTypesInMangledName.

Basically reverts https://reviews.llvm.org/D50586. Thanks for cleaning this up! LGTM

Mon, Nov 26, 7:19 AM

Nov 16 2018

sgraenitz added a comment to D54476: [CMake] Streamline code signing for debugserver.

My change for lldb-server (https://reviews.llvm.org/D54444) became obsolete, but two small pieces of it are required in general/here.
Added them post-approval with the update above. It's the two additions to cmake/modules/AddLLDB.cmake and CMakeLists.txt. Will leave this open for a little longer and commit next week.

Nov 16 2018, 10:56 AM
sgraenitz abandoned D54444: [CMake] Use extended llvm_codesign to pass entitlements for lldb-server.

Ok, I will close this then. Added the remaining part of the patch to https://reviews.llvm.org/D54476

Nov 16 2018, 10:52 AM
sgraenitz updated the diff for D54476: [CMake] Streamline code signing for debugserver.

Set global LLVM_CODESIGNING_IDENTITY from LLDB_CODESIGN_IDENTITY (if given).
Pass through ENTITLEMENTS from add_lldb_executable to add_llvm_executable.

Nov 16 2018, 10:50 AM
sgraenitz added a comment to D54476: [CMake] Streamline code signing for debugserver.

Thanks. Waiting for https://reviews.llvm.org/D54443

Nov 16 2018, 8:59 AM
sgraenitz added a comment to D54443: [CMake] Accept ENTITLEMENTS in add_llvm_executable and llvm_codesign.

Tested on macOS and Linux with the use-cases mentioned.

Nov 16 2018, 8:57 AM
sgraenitz added a comment to D54616: [Reproducers] Improve reproducer API and add unit tests..

Looks pretty good to me, but added my 2¢ on minor things.

Nov 16 2018, 8:52 AM · Restricted Project