Skip to content

[nanvix] Makefile.nanvix: enable ac_cv_func_inet_pton=yes#748

Open
esaurez wants to merge 1 commit into
nanvix/v3.12.3from
split/enable-inet-pton
Open

[nanvix] Makefile.nanvix: enable ac_cv_func_inet_pton=yes#748
esaurez wants to merge 1 commit into
nanvix/v3.12.3from
split/enable-inet-pton

Conversation

@esaurez

@esaurez esaurez commented Jun 17, 2026

Copy link
Copy Markdown

Flips ac_cv_func_inet_pton from no to yes in Makefile.nanvix. nm against the toolchain libposix.a confirms inet_pton is defined (a T symbol), so the previous =no override was incorrect. With =yes, cpython's configure defines HAVE_INET_PTON in pyconfig.h, which enables the IPv6 fast paths in socketmodule.c and registers the socket.inet_pton / inet_ntop builtins. The symbol resolves at dlopen time from python.elf's .dynsym (libposix.a is whole-archived into the main binary and exported via --export-dynamic). inet_aton stays at =no -- libposix does not provide it.

Dependencies

Merges after nanvix/cpython#739, the base it branches from, but the inet_pton override is otherwise unrelated to the .so migration. Independent of the three sibling cleanups that share the same base -- #745 (drop dead Makefile variables, which also edits Makefile.nanvix but a disjoint region), #746 (drop dead config.py helpers), and #747 (split setup_local sections) -- so the four can merge in any order.

Use the current Nanvix SDK libc implementations, enable CPython socket address conversion APIs, and remove the obsolete local inet_ntop fallback for the former stub.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 23312a7e-62f5-477a-a83f-65fd99522fe3
@ppenna
ppenna force-pushed the split/enable-inet-pton branch from f94ee18 to 19d802e Compare July 16, 2026 01:22
@ppenna
ppenna changed the base branch from feat/wave5-pr-c-unbundle-group-a to nanvix/v3.12.3 July 16, 2026 01:23
@ppenna

ppenna commented Jul 16, 2026

Copy link
Copy Markdown

Reworked independently onto current nanvix/v3.12.3 at 19d802e2bb7. The pinned SDK exports real inet_pton and inet_ntop, so the configure cache now enables the socket APIs and the obsolete Nanvix inet_ntop fallback was removed.

Local validation: ./z build, ./z test (all 160 configured modules, socket and HTTP coverage), and ./z lint all pass.

@ppenna

ppenna commented Jul 16, 2026

Copy link
Copy Markdown

The full manually dispatched Linux/Windows Nanvix CI run passed for 19d802e2bb7: https://github.com/nanvix/cpython/actions/runs/29464086310

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