Closed
Conversation
The main issue for Android is that the monolithic build was not linking against system libraries. In particular, liblog used in Log.cpp. The issue is discussed https://issues.chromium.org/issues/441355989
|
👋 Thanks for your contribution! Your PR has been imported to Gerrit. |
copybara-service bot
pushed a commit
that referenced
this pull request
Apr 8, 2026
The main issue for Android is that the monolithic build was not being linked against system libraries. In particular, liblog used in Log.cpp. Changes: The main change is in `src/cmake/BundleLibraries.cmake`. As suggested on the issue tracker, in the function `bundle_libraries` we now collect the system dependencies of all the bundled components and propagate that to the monolithic library. **Disclaimer**: this was developed with the help of an AI agent. But the result seems reasonable and effective. I did test it using NDK 29 and observed the log messages being properly displayed. This helped me investigate an assertion failure. Without this fix, I was forced to comment out the call to `__android_print_log` in `Log.cpp` which prevented `handleAssertionFailure` from properly displaying the assertion failure message. With this change I was able to uncomment `__android_print_log` and get the assertion message. Happy to adapt it in any way as necessary of course. This is an imported pull request from #60 GITHUB_PR_HEAD_SHA=bfaf374f8971f2803f7664b523409925b456c4c0 ORIGINAL_AUTHOR=Cédric Meuter <cedric.meuter@gmail.com> Bug: 441355989 GitOrigin-RevId: b0e6221 Change-Id: I38e99bc41b96039289cf1dbea1d322e6ee366ccd Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/301215 Commit-Queue: James Price <jrprice@google.com> Reviewed-by: James Price <jrprice@google.com> Reviewed-by: Kai Ninomiya <kainino@chromium.org> Reviewed-by: dan sinclair <dsinclair@chromium.org>
|
🚀 PR was merged in 96e9e61! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The main issue for Android is that the monolithic build was not being linked against system libraries. In particular, liblog used in Log.cpp.
The issue is discussed https://issues.chromium.org/issues/441355989
Changes
The main change is in
src/cmake/BundleLibraries.cmake. As suggested on the issue tracker, in the functionbundle_librarieswe now collect the system dependencies of all the bundled components and propagate that to the monolithic library.Disclaimer: this was developped with the help of an AI agent. But the result seems reasonable and effective. I did test it using NDK 29 and observed the log messages being properly displayed. This helped me investigate an assertion failiure. Without this fix, I was forced to comment out the call to
__android_print_loginLog.cppwhich preventedhandleAssertionFailurefrom properly displaying the assertion failure message. With this change I was able to uncomment__android_print_logand get the assertion message.Happy to adapt it in any way as necessary of course.
EDIT: some typos.