Tux Machines

Do you waddle the waddle?

Other Sites

LinuxGizmos.com

Jetway F35-ARU1 Combines Core Ultra SoC in 3.5-inch Form Factor

Jetway has shared early details of the F35-ARU1, a 3.5-inch subcompact board based on Intel Core Ultra processors from the Arrow Lake-U series. The board integrates CPU, GPU, and NPU resources within a low-power platform intended for embedded and industrial systems.

Vividnode Mobile AI Packs RISC-V Processor and 60 TOPS AI Engine

A compact system from ZUIKI based on a K3 RISC-V processor has appeared on the Japanese crowdfunding platform Kibidango. The Vividnode Mobile AI is presented as a small form-factor system for local inference and development.

9to5Linux

KaOS Linux 2026.03 Is Out with Linux 6.19, More systemd Components Removed

Last month, when KaOS Linux 2026.02 was released, we reported that the distribution had dropped its KDE/Plasma desktop environment, after more than 12 years using it as the default, in favor of a Niri/Noctalia setup to avoid any use the systemd init system and move to Dinit instead.

GIMP 3.2.2 Released with Various Improvements and UI/UX Updates

GIMP 3.2.2 is here to improve the importing of SVG paths in the Paths dock by properly scaling the imported path based on user preference, improve the FITS, TIM, PAA, ICNS, PVR, SFW, and JIF image import plugins, and improve the Paintshop Pro plugin to correctly load the active selection shape.

SystemRescue 13 Released with Linux Kernel 6.18 LTS, GParted 1.8.1, and More

Powered by the long-term supported Linux 6.18 LTS kernel series, SystemRescue 13 ships with updated Bcachefs tools and kernel module, and new tools including the FATSort utility for sorting FAT12, FAT16, FAT32, and exFAT partitions, and nss-mdns, a NSS plugin providing host name resolution via Multicast DNS.

Mixxx 2.5.6 Open-Source DJ App Improves Controller Mapping Support and Effects

Mixxx 2.5.6 is yet another maintenance update in the Mixxx 2.5 series, improving support for Numark Mixtrack 3, Pioneer CDJ-350, Reloop Beatmix 2, Reloop Beatmix 4, Traktor Kontrol Z1, and Traktor Kontrol S4 MK2 controllers, as well as the White Noise, Echo, Glitch, and Reverb effects.

Calibre 9.6 Adds New Card-Based View of Full-Text Search Results with Book Covers

Coming two weeks after Calibre 9.5, the Calibre 9.6 release updates the full text search feature with a new card-based view of full text search results that includes book covers. To perform a full-text search, click the “FT” button on the left of the search bar.

news

Overview of cross-architecture portability problems

posted by Roy Schestowitz on Sep 24, 2024

Ideally, you’d want your program to work everywhere. Unfortunately, that’s not that simple, even if you’re using high-level “portable” languages such as Python. In this blog post, I’d like to focus on some aspects of cross-architecture problems I’ve seen or heard about during my time in Gentoo. Please note that I don’t mean this to be a comprehensive list of problems — instead, I’m aiming for an interesting read.

What breaks programs on 32-bit systems?

Basic integer type sizes

If you asked anyone what’s the primary difference between 64-bit and 32-bit architectures, they will probably answer that it’s register sizes. For many people, register sizes imply differences in basic integer types, and therefore the primary source of problems on 32-bit architectures, when programs are tested on 64-bit architectures only (which is commonly the case nowadays). Actually, it’s not that simple.

Contrary to common expectations, the differences in basic integer types are minimal. Most importantly, your plain int is 32-bit everywhere. The only type that’s actually different is long — it’s 32-bit on 32-bit architectures, and 64-bit on 64-bit architectures. However, people don’t use long all that often in modern programs, so that’s not very likely to cause issues.

Perhaps some people worry about integer sizes because they still foggily remember the issues from porting old 32-bit software to 64-bit architectures. As I’ve mentioned before, int remained 32-bit — but pointers became 64-bit. As a result, if you attempted to cast pointers (or related data) to int, you’d be in trouble (hence we have size_t, ssize_t, ptrdiff_t). Of course, the same thing (i.e. casting pointers to long) made for 64-bit architectures is ugly but won’t technically cause problems on 32-bit architectures.

Note that I’m talking about System V ABI here. Technically, the POSIX and the C standards don’t specify exact integer sizes, and permit a lot more flexibility (the C standard especially — up to having, say, all the types exactly 32-bit).

Address space size

Now, a more likely problem is the address space limitation. Since pointers are 32-bit on 32-bit architectures, a program can address no more than 4 GiB of memory (in reality, somewhat less than that). What’s really important here is that this limits allocated memory, even it is never actually used.

This can cause curious issues. For example, let’s say that you have a program that allocates a lot of memory, but doesn’t use most of it. If you run this program on a 64-bit system with 2 GiB of total memory, it works just fine. However, if you run it on 32-bit userland with a lot of memory, it fails. And why is that? It’s because the system permitted the program to allocate more memory than it could ever provide — risking an OOM if the program actually tried to use it all; but on the 32-bit architecture, it simply cannot fit all these allocations into 32-bit addresses.

The following sample can trivially demonstrate this: [...]

Read on

Other Recent Tux Machines' Posts

This Week in Plasma: Easier Microphone Sensitivity Adjustment
This week saw a large variety of improvements in fields as diverse as better support for multi-screen and multi-GPU setups
KaOS Linux 2026.03 Is Out with Linux 6.19, More systemd Components Removed
KaOS Linux 2026.03 distribution is now available for download with Linux kernel 6.19, Niri 25.11 compositor, Noctalia 4.7 desktop shell, and more.
Framework Becomes a KDE Patron
Framework supports free open-source software and becomes KDE's latest patron
Audiocasts/Shows: Hackaday Podcast, Smashing Security, and Linux Age Checks
Episodes for today and video of interest
SaaS/Back End/Databases: DNSDB, "SaaS is mostly dead", and Greenmask Releases
server-centric news
Ubuntu 26.04 LTS Beta Is Out Now with Linux Kernel 7.0 and GNOME 50
Canonical released today the beta version of the upcoming Ubuntu 26.04 LTS (Resolute Racoon) distribution ahead of the final release on April 23rd, 2026.
 
Android Leftovers
5 Android Phones That Still Come With A Headphone Jack In 2026
Free, Libre, and Open Source Software, Programming, and Standards
FOSS and more
GNU/Linux and BSD Leftovers
GNU/Linux mostly
GNU/Linux Devices, Open Hardware, and Linux for smartphones
gadgets and hardware
Games: ScummVM 2026.2.0 "Railmonicon" and Stagger v0.1.0
gaming picks
today's howtos
Instructionals/Technical posts
Say hello to Neil Roberts, new LibreOffice developer focusing on scripting support
The Document Foundation, the non-profit entity behind LibreOffice
GIMP 3.2.2 Released
We present the first micro-release of GIMP 3.2! Over the last two weeks
Fedora 44 will automatically make your Windows games run faster, no tweaks required
Don't get me wrong; gaming on Linux has come a long way in the last few years
Free and Open Source Software
This is free and open source software
ZestISO – desktop Linux distribution built on Arch Linux
ZestISO is a rolling-release desktop Linux distribution built on Arch Linux
PluriOS – Bolivian Linux distribution based on Ubuntu LTS
PluriOS is an open-source project that aims to standardize a Linux desktop environment for Bolivia
Open Hardware/Modding: GNU-like Mobile Linux, Raspberry Pi Pico, and More
Projects and gadgets
Programming Leftovers
Development picks
Fedora: Update Problem and Ultra-powerful Tool
Fedora quietly solved Linux's update problem
AçorOS – Debian-based Linux distribution
AçorOS is an arm64 and amd64 Debian-based Linux distribution from Portugal
Linux KDu – Brazilian Ubuntu-based operating system
Linux KDu is a Brazilian, Ubuntu-based operating system in the Brazilian-Portuguese language version
After a Long Time, Ubuntu Shows Some Respect to Deb Packages
It will be easier to manage the classic Debian packages in the Snap/App Center in the upcoming Ubuntu 26.04 LTS
February/March in KDE Itinerary
In the past two months since the previous report we added a new welcome screen
Today in Techrights
Some of the latest articles
GIMP 3.2.2 Released with Various Improvements and UI/UX Updates
GIMP 3.2.2 open-source image editor is now available for download with various improvements, bug fixes, and UI/UX updates.
GNU/Linux and BSD Leftovers
GNU/Linux mostly
Free, Libre, and Open Source Software Leftovers
Mozilla and more
Ubuntu Against Choice and Diversity, the Excuse Being 'Security'
bad turn
New Debian Developers and Maintainers and Samuel Henrique on Curl
Debian leftovers
Wikipedia Tarnished by Slop, Not Just 'Donations' From Rich People Who Control the Wiki
Wikipedia woes, slop vs Open Access/Content
Programming Leftovers
Development with Python and more
Fedora, Red Hat, and Slop
mostly Red Hat's site
OpenSUSE Planet News Roundup and Tumbleweed Review
OpenSUSE news
Season of KDE 2026 Report on Lokalize and More
KDE development
GNOME Desktop/GTK: This Week in GNOME, Gedit 50.0 Released, and Monitor Panel
some GNOME updates
Canonical/Ubuntu Leftovers
"I stopped using Snap" and more
Open Hardware/Modding: ESP32, SparkFun, 64-bit RISC-V, and More
devices and gadgets
Samsung and Linux UI
5 new picks
today's howtos
from two domains only
Games: Visual Game Script Editor, Alien Deathstorm, and More
mostly Liam's articles
Security Leftovers
Security news with focus on Linux
SystemRescue 13 Released with Linux Kernel 6.18 LTS, GParted 1.8.1, and More
SystemRescue 13 live Linux system rescue toolkit is now available for download with the Linux kernel 6.18 LTS, new tools, and HiDPI improvements.
Recent Videos About GNU/Linux and Free Software
Shows and clips via Invidious
Android Leftovers
Android Auto has had a rough time lately, with yet another issue popping up
Even if you have 16GB of RAM, this one "compressed swap" trick makes Linux significantly smoother
RAM swapping is a common tool your OS uses to free up RAM in occasions
Age verification isn't sage verification inside OSes
Toothbrushes, Turing and the truth give the lie to California’s legal lunacy
This non-Chromium Linux browser can run Chrome, Firefox, and Safari extensions
It can be really tough to settle on a browser if you're not a fan of Chromium, at least on Linux
Free and Open Source Software
This is free and open source software
Mageia 10 Art Voting
With the release of the first version candidate planned for the coming weeks
LazyLinux – Void-based desktop Linux distribution with Xfce
LazyLinux is a fully pre-configured Linux distribution originating from Hadrut, Armenia, built on top of Void Linux
Coyote Linux – security-focused distribution
Coyote Linux is a security-focused Linux distribution designed to deliver firewall
Linux 6.12.79
I'm announcing the release of the 6.12.79 kernel
ODF is the future, OOXML is the past
Whenever a user, a government, a school or a business chooses the format in which to store and exchange its digital documents
Today in Techrights
Some of the latest articles
Security Leftovers
Security related picks
Operating System Leftovers
BSD and SUSE
Free, Libre, and Open Source Software Leftovers
FOSS picks
Programming Leftovers
Development news
Canonical/Ubuntu: sudo-rs, Ubuntu’s App Center, Ubuntu 26.04 LTS, and NucBox
Canonical/Ubuntu leftovers
Open Hardware/Modding: 3D Printing, Raspberry Pi, and More
the hardware leftovers
Mixxx 2.5.6 Open-Source DJ App Improves Controller Mapping Support and Effects
Mixxx 2.5.6 open-source virtual DJ software for performing live mixes is now available for download with improvements to controller mappings and effects, as well as bug fixes.
Linux and so-called 'Linux' Foundation Leftovers
LF and more
FOSS Applications and News
Software leftovers
today's howtos
Instructionals/Technical picks
Fedora, Red Hat, and Oracle's Unbreakable Enterprise Kernel 8.2
RHEL and more
CIQ (Rocky Linux) Trying to Ride "Hey Hi" Hype Wave With x86
4 new picks
Kali Linux 2026.1 Is Out with New Default Theme, New Tools, and BackTrack Mode
Offensive Security released today Kali Linux 2026.1 as the latest stable snapshot of this Debian-based GNU/Linux distribution for penetration testing and ethical hacking, coming more than three months after Kali Linux 2025.4.
Games: Godot, Aethermancer, SteamRT3 Beta, and More
Some gaming news
Switching Switches [original]
Now back to normal
We Need Fewer Buildings, More Nature [original]
"Manchester’s new spy HQ"
No Social Control Media? No Problem. [original]
It's widely known and days ago a high-profile American court confirmed that Social Control Media is intentionally designed to be addictive
HaikuOS and Openwashing at Google
another pair of links
NVIDIA 595 Linux Graphics Driver Released as Latest Production Branch Version
NVIDIA released today the stable version of the NVIDIA 595 graphics driver for GNU/Linux, FreeBSD, and Solaris systems, introducing various new features and improvements.
Server: eBPF, Kubernetes, and Slop
4 new picks
Canonical/Ubuntu Pushing Proprietary Software/Payware and Rust (Experimental Code Instead of Stable Code, in the Name of "Security")
Canonical/Ubuntu latest
Tails 7.6 Privacy-Focused Linux Distro Released with Automatic Tor Bridges
Tails 7.6 has been released today as the sixth update in the Tails 7.x series of this portable Linux distribution based on Debian GNU/Linux and designed to protect you against surveillance and censorship.
Applications and HowTos
today's howtos
Programming Leftovers
Development picks
Android Leftovers
Android Auto is having a hard time recommending media
Tux Machines' Position on "Age Verification" in GNU/Linux [original]
It's not about protecting children
LibreOffice 26.2.2 Open-Source Office Suite Released with More Than 80 Bug Fixes
The Document Foundation announced today the general availability of LibreOffice 26.2.2 as the second maintenance update to the latest LibreOffice 26.2 office suite series with various bug fixes.
Free and Open Source Software
This is free and open source software
Calibre 9.6 Adds New Card-Based View of Full-Text Search Results with Book Covers
Calibre developer Kovid Goyal released Calibre 9.6 today as a hefty update of this open-source, free, and cross-platform e-book management software for GNU/Linux, macOS, and Windows.
Today in Techrights
Some of the latest articles