Skip to content

feat(userland): ported GNU binutils - #184

Merged
FlareCoding merged 6 commits into
masterfrom
pr/binutils-port
Sep 1, 2026
Merged

feat(userland): ported GNU binutils#184
FlareCoding merged 6 commits into
masterfrom
pr/binutils-port

Conversation

@FlareCoding

@FlareCoding FlareCoding commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Note

Medium Risk
Adds a large third-party toolchain build and CI dependency; kernel syscall semantics for fcntl(F_GETFL) and new lstat can affect any userland that relies on those interfaces.

Overview
Adds a pinned GNU binutils 2.45 cross-build (make binutils) that installs static as, ld, objdump, and related tools into userland/toolchain/ for x86_64 and aarch64, using a new stellux-cc wrapper and optional patches. A binutils userland app copies those binaries into the initrd at /usr/bin, and CI caches userland/toolchain before kernel/userland builds. Setup docs, .gitignore, and toolchain-check are updated accordingly.

UEFI disk images (Makefile and flash scripts) grow from 256 MB to 512 MB to fit the larger rootfs.

Kernel fixes to support typical binutils/configure behavior: lstat on x86_64 (via newfstatat with AT_SYMLINK_NOFOLLOW), and fcntl(F_GETFL) now reports read/write access mode from handle rights instead of the handle flag word.

Reviewed by Cursor Bugbot for commit b2afd7d. Bugbot is set up for automated code reviews on this repo. Configure here.

cursor[bot]

This comment was marked as resolved.

@FlareCoding
FlareCoding merged commit 7ee2eaa into master Sep 1, 2026
19 checks passed
@FlareCoding
FlareCoding deleted the pr/binutils-port branch September 1, 2026 21:50
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