Skip to content

[ci] E: Pin nanvix to v0.12.538#14

Closed
ppenna wants to merge 0 commit into
nanvix/v2.12.9from
automation/update-nanvix-version
Closed

[ci] E: Pin nanvix to v0.12.538#14
ppenna wants to merge 0 commit into
nanvix/v2.12.9from
automation/update-nanvix-version

Conversation

@ppenna

@ppenna ppenna commented May 9, 2026

Copy link
Copy Markdown

Automated bump of nanvix-version to v0.12.538.

Generated by the Nanvix CI reusable workflow.

@ppenna ppenna closed this May 9, 2026
@ppenna ppenna force-pushed the automation/update-nanvix-version branch from 19fed3d to d8a0ecd Compare May 9, 2026 15:11
@ppenna ppenna deleted the automation/update-nanvix-version branch May 9, 2026 15:15
esaurez added a commit to esaurez/libxml2 that referenced this pull request Jun 9, 2026
… `-Wl,--allow-multiple-definition` flag was added in the previouscommit to silently coalesce 37 duplicate strong symbols that appearedin BOTH `libnvx_crt0.a` and `libposix.a`: * 34 `__kcall_*` FFI wrappers (`__kcall_lock_mutex`, `__kcall_signal_cond`, `__kcall_send`, ...) * `_do_exit_thread` (thread-exit handler) * `_do_start_thread` (asm thread-bootstrap stub) * `_do_start` (process-entry stub)These have now been resolved structurally upstream: * 36 of 37 by the `sys-ffi` crate split that moves the `#[no_mangle]` FFI exports out of `sys` into a dedicated crate that only `libposix.a` links: nanvix/nanvix#2487.  * The remaining `_do_start` by declaring newlib's stub `.weak` so    libnvx_crt0's strong SSE-aligned override wins cleanly:    nanvix/newlib#17, plus the toolchain image republish in    nanvix/toolchain-gcc#14.Once all three of the above have merged and the toolchain image isrepublished with the new newlib commit, the link line no longerneeds `--allow-multiple-definition`.MERGE ORDER: do NOT merge this PR until ALL of the following havelanded:  1. nanvix/nanvix#2487 (sys-ffi crate split) -- already filed.  2. nanvix/newlib#17   (.weak _do_start)    -- already filed.  3. nanvix/toolchain-gcc#14 (republish image with new newlib)     -- already filed; draft until newlib#17 merges.  4. The toolchain image at ghcr.io/nanvix/toolchain-gcc has been     republished from nanvix#14 with the new newlib commit.  5. The parent E: PR adding the libnvx_crt0.a wildcard link     entry, which this PR is stacked on top of.If merged early, the .so / test ELF link step will fail with"multiple definition of __kcall_*" errors.Validated end-to-end against a locally-rebuilt toolchain imagecarrying the newlib nanvix#17 change: the resulting ELF's `_do_start`entry point is libnvx_crt0's SSE-aligned variant (`and $0xfffffff0,%esp ; sub $0x8, %esp ; push ; push ; call _start`) -- the latentSSE-alignment bug present in shipping binaries today is fixed.Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

1 participant