Skip to content

[android] Update to LTS NDK 26c #69908

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 28, 2024
Merged

[android] Update to LTS NDK 26c #69908

merged 1 commit into from
Feb 28, 2024

Conversation

finagolfin
Copy link
Member

NDK 26 renamed the directory in which it places the Android compiler-rt from lib64/, and added a bunch of nullability annotations to the Bionic libc.

@drodriguez, please review. You'll need to update the NDK on the community CI and this will likely break some tests in the compiler validation suite, which I haven't tried with NDK 26b yet. I will submit a separate pull to fix any tests once this is in.

@finagolfin finagolfin requested a review from a team as a code owner November 16, 2023 08:38
@@ -61,7 +61,7 @@ SWIFT_READONLY
static inline int _swift_stdlib_memcmp(const void *s1, const void *s2,
__swift_size_t n) {
// FIXME: Is there a way to identify Glibc specifically?
#if defined(__gnu_linux__)
#if defined(__gnu_linux__) || defined(__ANDROID__)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the only line that will break the last NDK 25c, as there's no way to check the NDK version without including headers like sys/cdefs.h, which this header doesn't include.

@finagolfin
Copy link
Member Author

Ran the compiler validation suite natively with NDK 26b also now, works well, though more C++ Interop tests may break with the new NDK.

@drodriguez, let me know.

@drodriguez
Copy link
Contributor

As explained in #70174 (comment) you might need to live with the existing NDK for the time being until another Android Community CI is available. I do not have time to install and test new pieces in the existing machines.

@finagolfin
Copy link
Member Author

Alright, understood.

@finagolfin
Copy link
Member Author

@kateinoigakukun, please run the CI here.

@kateinoigakukun
Copy link
Member

@swift-ci Please smoke test

@finagolfin
Copy link
Member Author

Mac CI failed at checkout.

@kateinoigakukun
Copy link
Member

@swift-ci smoke test macOS platform

@finagolfin
Copy link
Member Author

@bnbarham, the mac CI was broken a couple weeks ago, please run it again now.

@bnbarham
Copy link
Contributor

@swift-ci please test

@finagolfin
Copy link
Member Author

Heh, now the Windows CI failed at source checkout.

@bnbarham
Copy link
Contributor

@swift-ci please test Windows platform

NDK 26 renamed the directory in which it places the Android compiler-rt from
`lib64/`, and added a bunch of nullability annotations to the Bionic libc.
@finagolfin
Copy link
Member Author

@compnerd, removed the breaking change in stdlib/public/SwiftShims/swift/shims/LibcShims.h and updated this pull, ready for a last CI run and merge.

@finagolfin finagolfin changed the title [android] Update to LTS NDK 26b [android] Update to LTS NDK 26c Feb 28, 2024
@compnerd
Copy link
Member

@swift-ci please test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants