-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Glibc] Use VFS to inject modulemap into Glibc include path #59846
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
Conversation
@swift-ci please smoke test |
@swift-ci please smoke test Linux |
This will fix modularization issues caused by the presence of Glibc and libstdc++ in a single context. Some Glibc headers were getting hijacked by the libstdc++ module, and the decls in them were incorrectly determined to be a part of libstdc++. This caused compiler errors when trying to use those decls. After this change, we will be able to reference Glibc headers directly from the module map, without using an additional header (`SwiftGlibc.h`).
aab2f66
to
cf33542
Compare
@swift-ci please smoke test |
cc @buttaface @3405691582 |
I'm going to merge this to unblock other work, but I'm happy to discuss this post-merge. |
I will build this natively on Android with the next trunk snapshot tag, whenever that is, and let you know if it causes any problems. |
I think this broke the build on the Android CI, will look into fixing it. |
Built this with the latest July 6 trunk source snapshot natively on Android without a problem, but I think it is the cause of the Android CI failures when cross-compiling the stdlib. It most likely has to do with passing the path to the |
This fixes modularization issues caused by the presence of Glibc and libstdc++ in a single context.
Some Glibc headers were getting hijacked by the libstdc++ module, and the decls in them were incorrectly determined to be a part of libstdc++. This caused compiler errors when trying to use those decls.
This also means that we can simplify the actual modulemap file (
glibc.modulemap.gyb
) and reference the Glibc headers directly from it.Similar to #58843.