[nanvix] .nanvix/setup_local: split POSIX-wrapper modules into their own section#747
Open
esaurez wants to merge 4 commits into
Open
[nanvix] .nanvix/setup_local: split POSIX-wrapper modules into their own section#747esaurez wants to merge 4 commits into
esaurez wants to merge 4 commits into
Conversation
added 2 commits
July 15, 2026 16:28
Use the SDK-supported static-PIE and dynamic loader contract instead of the retired GCC wrapper and manual Newlib runtime composition. Shared extensions bind to the SDK libc.so/libm.so through /lib and the install flow stages those runtime libraries. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 23312a7e-62f5-477a-a83f-65fd99522fe3
Generate one Setup.local for native and Docker builds, link migrated extensions against the exported Nanvix SDK PIE without duplicating libc state, and retain static C-API anchors required by the current loader. Strip installed modules and exercise real nested-import and dlopen paths. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 23312a7e-62f5-477a-a83f-65fd99522fe3
ppenna
force-pushed
the
split/cleanup-setup-local-sections
branch
from
July 16, 2026 01:22
c3c69f7 to
a819f7d
Compare
ppenna
changed the base branch from
feat/wave5-pr-c-unbundle-group-a
to
feat/wave5-pr-a-stdlib-so
July 16, 2026 01:23
|
Reworked and retargeted onto the SDK-compatible #732 branch at Local validation: |
Emit the gb2312 fixture through Unicode escapes so Windows runners using CP1252 can write test_hello.py without changing the guest assertion. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 23312a7e-62f5-477a-a83f-65fd99522fe3
Keep bundled CPython dependencies and POSIX wrapper/concurrency extensions in distinct generated Setup.local groups on the SDK-era shared-module branch. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 23312a7e-62f5-477a-a83f-65fd99522fe3
ppenna
force-pushed
the
split/cleanup-setup-local-sections
branch
from
July 16, 2026 01:42
a819f7d to
51d4208
Compare
|
Rebased onto corrected #732 at |
ppenna
force-pushed
the
feat/wave5-pr-a-stdlib-so
branch
from
July 17, 2026 18:49
9def47b to
96fc2a7
Compare
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.
Moves
_asyncio,_datetime,select,_socket,_posixsubprocess,fcntl, andtermiosout of the "Modules with bundled-in-cpython C deps" section in.nanvix/setup_local.pyand into a dedicated "POSIX syscall wrappers + concurrency primitives" section. The old grouping was misleading: none of these bundle a vendored.a; they are thin POSIX/syscall wrappers (plus_asyncio/_datetime) whose libc / libm symbols resolve againstpython.elf's.dynsymatdlopentime via--export-dynamic. The new section mirrors upstreamModules/Setup.stdlib.in's "Modules with some UNIX dependencies" grouping.Purely cosmetic: no change to the generated
Setup.localexcept entry order within the*shared*block (which makesetup does not depend on; each module name still appears at most once).Validated with
./z lint.Dependencies
Must merge after nanvix/cpython#739, the base it branches from: it reorders the
setup_local.pyentries that #739 populates, so it has to sit on top of #739's version of the file. Independent of the three sibling cleanups that share the same base -- #745 (drop dead Makefile variables), #746 (drop deadconfig.pyhelpers), and #748 (enableinet_pton) -- which touch different files, so the four can merge in any order.