Skip to content

Conversation

@jacob-hughes
Copy link
Collaborator

As part of the bootstrap phase, we now search for
src/bdwgc/include/gc.h and use that to automatically generate Rust
bindings. This is less error-prone and means that we can any BDWGC API
we wish without having to manually export them one by one.

@ltratt ltratt added this pull request to the merge queue Jun 4, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jun 4, 2025
@jacob-hughes
Copy link
Collaborator Author

Ah, I see what’s happened here. I’ve not taken into account existing BDWGC artefacts in the build directory.

@jacob-hughes
Copy link
Collaborator Author

I've pushed some changes that are needed to land this PR. It mainly revolves around pulling BDWGC out of the library/std build.rs script and into the bootstrapper, this is then reused as a dynamic libgc.so object that is placed inside the sysroot.

@ltratt
Copy link
Member

ltratt commented Jun 9, 2025

Please squash.

@jacob-hughes
Copy link
Collaborator Author

These commits are logically separate so I think we can leave as-is

@ltratt ltratt added this pull request to the merge queue Jun 9, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jun 9, 2025
@jacob-hughes
Copy link
Collaborator Author

I missed a couple things on CI for this one: fixed in d80adb8 and eaaae14.

@ltratt
Copy link
Member

ltratt commented Jun 9, 2025

Please squash.

@jacob-hughes
Copy link
Collaborator Author

Squashed

@ltratt ltratt added this pull request to the merge queue Jun 9, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jun 9, 2025
@jacob-hughes
Copy link
Collaborator Author

I've pushed a fix for this here d25db11. The run-make tests now work for me but it's still testing the full suite on TryCi which takes a long time so it might be worth giving it a go in parallel.

I'll need to rebase this against ToT if you're happy?

@ltratt
Copy link
Member

ltratt commented Jun 9, 2025

Please squash.

As part of the bootstrap phase, we now search for
`src/bdwgc/include/gc.h` and use that to automatically generate Rust
bindings. This is less error-prone and means that we can any BDWGC API
we wish without having to manually export them one by one.
This works by ensuring that the bootstrap phase puts libgc.so inside the
sysroot, where the librustc-driver and libtest objects are already
given to search at load time in their RPATH.
@jacob-hughes
Copy link
Collaborator Author

Squashed

@ltratt ltratt added this pull request to the merge queue Jun 9, 2025
Merged via the queue into softdevteam:master with commit c97c679 Jun 9, 2025
2 checks passed
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.

2 participants