Skip to content

Conversation

@eduardosm
Copy link
Contributor

The Linux kernel is already built with CONFIG_M686=y, which suggests that the bootstrap is not supported on anything older thant i686. So, use i686 on userspace too. Some software, such as gettext, cmake or elfutils, has trouble building for i386 due to missing atomic intrinsics.

For example, building gettext 0.26 would fail with:

/usr/lib/i386-unknown-linux-musl/gcc/i386-unknown-linux-musl/13.3.0/../../../../../i386-unknown-linux-musl/bin/ld: /build/gettext-0.26_1/gettext-0.26/build/gettext-tools/gnulib-lib/.libs/libgettextlib.so: undefined reference to `__atomic_compare_exchange_4'

The Linux kernel is already built with CONFIG_M686=y, which suggests that the bootstrap is not supported on anything older thant i686. So, use i686 on userspace too. Some software, such as gettext, cmake or elfutils, has trouble building for i386 due to missing atomic intrinsics.

For example, building gettext 0.26 would fail with:

```
/usr/lib/i386-unknown-linux-musl/gcc/i386-unknown-linux-musl/13.3.0/../../../../../i386-unknown-linux-musl/bin/ld: /build/gettext-0.26_1/gettext-0.26/build/gettext-tools/gnulib-lib/.libs/libgettextlib.so: undefined reference to `__atomic_compare_exchange_4'
```
@stikonas stikonas merged commit 14937ef into fosslinux:master Aug 19, 2025
6 checks passed
@eduardosm eduardosm deleted the i686 branch August 20, 2025 18:42
@Googulator
Copy link
Collaborator

Googulator commented Aug 25, 2025

This has caused a regression on bare metal due to musl still linking /lib/ld-linux.so.2 to the old i386 path, which no longer exists. EDIT: only on my branch, due to a commit I made. Please disregard.

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.

3 participants