# i386

Published articles for i386.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Patches Updated To Begin Removing The Linux x32 ABI

DevFeed: [Patches Updated To Begin Removing The Linux x32 ABI](<https://devfeed.tech/articles/patches-updated-to-begin-removing-the-linux-x32-abi-77335.md>)

Original publisher: [Read original article](<https://www.phoronix.com/news/Patches-Removing-Linux-x32-ABI>)

Author: Michael Larabel

Published: 2026-10-08T12:09:53Z

Content type: news

Language: en

Sources: [Phoronix](<https://devfeed.tech/sources/phoronix.md>)

Topics: [Linux Kernel](<https://devfeed.tech/topics/linux-kernel.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [adoption](<https://devfeed.tech/tags/adoption.md>), [amd](<https://devfeed.tech/tags/amd.md>), [attack-surface](<https://devfeed.tech/tags/attack-surface.md>), [desktop-linux](<https://devfeed.tech/tags/desktop-linux.md>), [i386](<https://devfeed.tech/tags/i386.md>), [intel](<https://devfeed.tech/tags/intel.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-benchmarking](<https://devfeed.tech/tags/linux-benchmarking.md>), [linux-hardware-benchmarks](<https://devfeed.tech/tags/linux-hardware-benchmarks.md>), [linux-hardware-reviews](<https://devfeed.tech/tags/linux-hardware-reviews.md>), [linux-how-to](<https://devfeed.tech/tags/linux-how-to.md>), [linux-performance](<https://devfeed.tech/tags/linux-performance.md>), [linux-server-benchmarks](<https://devfeed.tech/tags/linux-server-benchmarks.md>), [lts](<https://devfeed.tech/tags/lts.md>), [open-source-graphics](<https://devfeed.tech/tags/open-source-graphics.md>), [patches](<https://devfeed.tech/tags/patches.md>), [phoronix](<https://devfeed.tech/tags/phoronix.md>), [phoronix-test-suite](<https://devfeed.tech/tags/phoronix-test-suite.md>), [retirement](<https://devfeed.tech/tags/retirement.md>), [ubuntu-benchmarks](<https://devfeed.tech/tags/ubuntu-benchmarks.md>), [ubuntu-hardware](<https://devfeed.tech/tags/ubuntu-hardware.md>), [x86](<https://devfeed.tech/tags/x86.md>), [x86-64](<https://devfeed.tech/tags/x86-64.md>)

### AI overview

Linux kernel developers have proposed patches to begin removing the x32 ABI by marking it as BROKEN. The proposal cites limited adoption and security concerns; removal would follow after this year's last LTS kernel.

### Source excerpt

Linux developers are once again considering the removal of the Linux x32 ABI...

## C++26 standardizes breakpoints and debugger detection

DevFeed: [C++26 standardizes breakpoints and debugger detection](<https://devfeed.tech/articles/c-26-62258.md>)

Original publisher: [Read original article](<https://www.sandordargo.com/blog/2026/09/30/cpp26-debugging>)

Author: Sandor Dargo

Published: 2026-09-29T22:00:00Z

Content type: article

Language: en

Sources: [Sandor Dargo's Blog](<https://devfeed.tech/sources/sandor-dargo-s-blog.md>)

Topics: [c/c++](<https://devfeed.tech/topics/c-c-plus-plus.md>), [x86](<https://devfeed.tech/topics/x86.md>), [gdb](<https://devfeed.tech/topics/gdb.md>)

Tags: [asm](<https://devfeed.tech/tags/asm.md>), [bare-metal](<https://devfeed.tech/tags/bare-metal.md>), [breakpoint](<https://devfeed.tech/tags/breakpoint.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [c-plus-plus-26](<https://devfeed.tech/tags/c-plus-plus-26.md>), [clang](<https://devfeed.tech/tags/clang.md>), [debugger](<https://devfeed.tech/tags/debugger.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [dev](<https://devfeed.tech/tags/dev.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [i386](<https://devfeed.tech/tags/i386.md>), [libstdc-plus-plus](<https://devfeed.tech/tags/libstdc-plus-plus.md>), [linux](<https://devfeed.tech/tags/linux.md>), [x86-64](<https://devfeed.tech/tags/x86-64.md>)

### AI overview

C++26 adds standardized functions for triggering breakpoints and checking whether a debugger is attached. The article explains their behavior, platform-specific implementation choices, and how replaceability supports freestanding environments where operating-system debugger detection may be unavailable.

### Source excerpt

If you've ever needed to hit a breakpoint programmatically in C++, you've probably written something like this: #if defined(_MSC_VER) __debugbreak(); #elif defined(__clang__) __builtin_debugtrap(); #elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) __asm__ volatile("int3"); #else raise(SIGTRAP); #endif Every major C++ project reinvents this wheel. B...

## I ported Return to Castle Wolfenstein to the web with multiplayer in an hour using AI

DevFeed: [I ported Return to Castle Wolfenstein to the web with multiplayer in an hour using AI](<https://devfeed.tech/articles/i-ported-return-to-castle-wolfenstein-to-the-web-with-multiplayer-in-an-hour-using-ai-105118.md>)

Original publisher: [Read original article](<https://levels.io/ported-return-to-castle-wolfenstein-to-web-with-ai>)

Author: Pieter Levels

Published: 2026-06-11T00:00:00Z

Content type: article

Language: en

Sources: [@levelsio (Pieter Levels)](<https://devfeed.tech/sources/levelsio-pieter-levels.md>)

Topics: [multiplayer](<https://devfeed.tech/topics/multiplayer.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [cd](<https://devfeed.tech/tags/cd.md>), [deflate](<https://devfeed.tech/tags/deflate.md>), [fable](<https://devfeed.tech/tags/fable.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [game](<https://devfeed.tech/tags/game.md>), [games](<https://devfeed.tech/tags/games.md>), [gpl](<https://devfeed.tech/tags/gpl.md>), [https](<https://devfeed.tech/tags/https.md>), [i386](<https://devfeed.tech/tags/i386.md>), [installer](<https://devfeed.tech/tags/installer.md>), [iso](<https://devfeed.tech/tags/iso.md>), [multiplayer](<https://devfeed.tech/tags/multiplayer.md>), [native](<https://devfeed.tech/tags/native.md>), [networking](<https://devfeed.tech/tags/networking.md>), [opengl](<https://devfeed.tech/tags/opengl.md>), [protocols](<https://devfeed.tech/tags/protocols.md>), [quake](<https://devfeed.tech/tags/quake.md>), [tech](<https://devfeed.tech/tags/tech.md>), [the-web](<https://devfeed.tech/tags/the-web.md>), [web](<https://devfeed.tech/tags/web.md>), [wolfenstein](<https://devfeed.tech/tags/wolfenstein.md>)

### AI overview

The author reports porting Return to Castle Wolfenstein's multiplayer mode to the web in about an hour of work, using Fable. The port started from the GPL iortcw source and adapted Emscripten patches from Wwasm, a single-player-only port; because multiplayer code differed substantially, the author manually grafted the relevant changes and fixed renderer initialization. The engine was compiled to WebAssembly with GL4ES translating OpenGL 1.x calls to WebGL2. Multiplayer networking was restored, and a matching native dedicated server was built from the same source. Game data was extracted from the 2001 CD installer, then downloaded by the browser before startup and stored in IndexedDB for reuse. The excerpt describes a working multiplayer game, including the mp_beach map.

### Source excerpt

I have to stop boring all of you with my game ports but I ported another game to web with multiplayer, after Quake 1 yesterday and Quake 2 today, I thought, wh...

## Adding a new target/object backend to LLVM JITLink

DevFeed: [Adding a new target/object backend to LLVM JITLink](<https://devfeed.tech/articles/adding-a-new-target-object-backend-to-llvm-jitlink-43093.md>)

Original publisher: [Read original article](<https://blog.llvm.org/posts/2023-03-16-adding-new-llvm-jitlink-target-object-backend/>)

Author: Kshitij Jain

Published: 2023-03-28T00:00:00Z

Content type: article

Language: en

Sources: [LLVM Project](<https://devfeed.tech/sources/the-llvm-project-blog.md>)

Topics: [LLVM](<https://devfeed.tech/topics/llvm.md>), [linker](<https://devfeed.tech/topics/linker.md>), [JIT](<https://devfeed.tech/topics/jit.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [C](<https://devfeed.tech/topics/c.md>), [static linking](<https://devfeed.tech/topics/static-linking.md>), [Assembly](<https://devfeed.tech/topics/assembly.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [elf](<https://devfeed.tech/tags/elf.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [i386](<https://devfeed.tech/tags/i386.md>), [jit](<https://devfeed.tech/tags/jit.md>), [jitlink](<https://devfeed.tech/tags/jitlink.md>), [linker](<https://devfeed.tech/tags/linker.md>), [linking](<https://devfeed.tech/tags/linking.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [relocations](<https://devfeed.tech/tags/relocations.md>), [static-linking](<https://devfeed.tech/tags/static-linking.md>)

### AI overview

This article documents the addition of a new target/object backend to LLVM JITLink. It explains linking fundamentals, contrasts static and just-in-time linking, and describes the goal of linking 32-bit ELF objects with i386 relocations into a 32-bit process.

### Source excerpt

Motivation For the last year, I have been contributing to LLVM JITLink. This post aims todoubly serve as a summary of my work and documentation for future contributors looking to add a new target/objectbackend to LLVM JITLink. We will start by establishing some background and definitions of relevant concepts. Then, we will talk about whatthe project actually entailed. Finally, we will go over the execution details of the project. The end goal of the project was to make LLVM JITLink capable of linking a 32-bit ELF object file, with i386specific relocations, into a 32-bit process on the i386 hardware architecture. If the goal of the project already makes sense to you and you are looking to get started with adding a newtarget/object backend to LLVM JITLink yourself, you can skip to the "Recap and conveniences"section. BackgroundLinking Our code often relies on external dependencies. For example, even a simple hello-world program written in C dependson the C stdlib for the printf function. These external dependencies are expressed as symbolic references, which Iwill henceforth refer to as just symbols. Symbols are names of data or functions that have unknown addresses andare resolved or fixed up during the linking process. In chronological order - The compiler converts source code to machine code. The assembler converts machine code to object files (ELF, MachO, COFF etc.) The linker links one or more object files (fixing up symbolic references along the way) and produces anexecutable or a shared library (also called shared object or dylib). For the purposes of this discussion we will focus on executables, but the points that will be made hold for sharedobjects as well. JIT linking Unlike static linking, JIT (Just-in-time) linking is performed at runtime. While a static linker producesexecutables that are stored on disk, a JIT linker produces an in-memory image of the executable - essentiallyready to execute bytes in memory. JIT linking a C program may feel very much lik

## Salsa CI now includes i386 build support

DevFeed: [Salsa CI now includes i386 build support](<https://devfeed.tech/articles/salsa-ci-now-includes-i386-build-support-46985.md>)

Original publisher: [Read original article](<https://bits.debian.org/2020/10/salsa-ci-i386-build.html>)

Author: Salsa CI Team

Published: 2020-10-09T18:20:00Z

Content type: news

Language: en

Sources: [Bits from Debian](<https://devfeed.tech/sources/bits-from-debian.md>)

Topics: [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [builds](<https://devfeed.tech/topics/builds.md>), [Git](<https://devfeed.tech/topics/git.md>)

Tags: [2020](<https://devfeed.tech/tags/2020.md>), [build](<https://devfeed.tech/tags/build.md>), [ci](<https://devfeed.tech/tags/ci.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [debian](<https://devfeed.tech/tags/debian.md>), [git](<https://devfeed.tech/tags/git.md>), [i386](<https://devfeed.tech/tags/i386.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [salsa](<https://devfeed.tech/tags/salsa.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

Salsa CI, Debian's continuous integration pipeline, added support for building packages on the i386 architecture alongside amd64. The change required core pipeline updates and provides earlier feedback on package changes through automated builds and tests.

### Source excerpt

Salsa CI aims at improving the Debian packaging lifecycle by delivering Continuous Integration fully compatible with Debian packaging. The main Salsa CI's project is the pipeline, that builds packages and run different tests after every git push to Salsa. The pipeline makes it possible to have a quick and early feedback about any issues the new changes may have created or solved, without the need to upload to the archive. All of the pipeline jobs run on amd64 architecture, but the Salsa CI Team has recently added support to build packages also on i386 architecture. This work started during the Salsa CI Sprint at DebConf20 after the "Where is Salsa CI right now" talk, and required different changes at the core of pipeline to make it possible. For more details, this is the related merge request: https://salsa.debian.org/salsa-ci-team/pipeline/-/merge_requests/256 If you have any questions, you can contact the Salsa CI Team at the #salsaci channel on irc.oftc.net

## LLVM Weekly - #7, Feb 17th 2014

DevFeed: [LLVM Weekly - #7, Feb 17th 2014](<https://devfeed.tech/articles/llvm-weekly-7-feb-17th-2014-42901.md>)

Original publisher: [Read original article](<https://blog.llvm.org/2014/02/llvm-weekly-7-feb-17th-2014.html>)

Author: Alex Bradbury

Published: 2014-02-17T04:19:00Z

Content type: article

Language: en

Sources: [LLVM Project](<https://devfeed.tech/sources/the-llvm-project-blog.md>)

Topics: [LLVM](<https://devfeed.tech/topics/llvm.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [clang](<https://devfeed.tech/topics/clang.md>), [Cross-Compilation](<https://devfeed.tech/topics/cross-compilation.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [arm](<https://devfeed.tech/tags/arm.md>), [clang](<https://devfeed.tech/tags/clang.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [cross-compilation](<https://devfeed.tech/tags/cross-compilation.md>), [embedded](<https://devfeed.tech/tags/embedded.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [i386](<https://devfeed.tech/tags/i386.md>), [llvm](<https://devfeed.tech/tags/llvm.md>), [llvmweekly](<https://devfeed.tech/tags/llvmweekly.md>), [rust](<https://devfeed.tech/tags/rust.md>), [x86-64](<https://devfeed.tech/tags/x86-64.md>)

### AI overview

The seventh LLVM Weekly issue reviews recent LLVM and Clang developments, including ELLCC's statically linked cross-compilation builds for several architectures, LLVM IR pointer-addressing discussions, precise garbage collection work, GCC collaboration, and control-flow integrity.

### Source excerpt

Welcome to the seventh issue of LLVM Weekly, a weekly newsletter (published every Monday) covering developments in LLVM, Clang, and related projects. LLVM Weekly is brought to you by Alex Bradbury. Subscribe to future issues at http://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter. As always, apologies if I didn't pick up your favourite mailing list discussion or commits. Do drop me a line if you think I'm missing something interesting. There haven't been that many external news stories or blog posts (that I've found) in the last week, but it's been a particularly busy week on the mailing lists with a whole bunch of interesting discussions or RFCs. The canonical home for this issue can be found here at llvmweekly.org. News and articles from around the web The ELLCC Embedded Compiler Collection now has precompiled builds available for ARM, i386, Mips, PowerPC and x86-64. Handily, these are all statically linked. The aim of ELLCC is to provide an easy to use multi-target cross compilation environment for embedded systems, and is of course based on LLVM and clang. The next Waterloo Region LLVM Social has been announced for Feb 20th. The next Paris LLVM Social will take place on Feb 24th, hosted by Mozilla. On the mailing lists Philip Reames contributed an RFC on using GetElementPtr as the canonical form for pointer addressing in LLVM IR before CodeGenPrepare. The motivation behind this proposal will be interesting to many, particularly the Rust community and other language implementors looking to target LLVM. Philip and his colleagues (at Azul Systems I believe) are looking to support precise garbage collection in LLVM, and excitingly a complete upstreamable implementation should be coming "relatively shortly. (i.e. months, not weeks, not years)" As a followup to last week's discussions on the GCC mailing list, Renato Golin has written a detailed

## Debian GNU/Hurd 2013 released!

DevFeed: [Debian GNU/Hurd 2013 released!](<https://devfeed.tech/articles/debian-gnu-hurd-2013-released-46804.md>)

Original publisher: [Read original article](<https://bits.debian.org/2013/05/debian-gnu-hurd-wheezy.html>)

Author: Ana Guerrero

Published: 2013-05-22T20:50:00Z

Content type: news

Language: en

Sources: [Bits from Debian](<https://devfeed.tech/sources/bits-from-debian.md>)

Topics: [GNU/Hurd](<https://devfeed.tech/topics/gnu-hurd.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Software](<https://devfeed.tech/topics/software.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Disk image](<https://devfeed.tech/topics/disk-image.md>)

Tags: [2013](<https://devfeed.tech/tags/2013.md>), [announce](<https://devfeed.tech/tags/announce.md>), [debian](<https://devfeed.tech/tags/debian.md>), [gnu](<https://devfeed.tech/tags/gnu.md>), [gnu-hurd](<https://devfeed.tech/tags/gnu-hurd.md>), [hurd](<https://devfeed.tech/tags/hurd.md>), [i386](<https://devfeed.tech/tags/i386.md>), [installation](<https://devfeed.tech/tags/installation.md>), [iso](<https://devfeed.tech/tags/iso.md>), [operating-systems](<https://devfeed.tech/tags/operating-systems.md>), [release](<https://devfeed.tech/tags/release.md>), [software](<https://devfeed.tech/tags/software.md>), [wheezy](<https://devfeed.tech/tags/wheezy.md>)

### AI overview

Debian GNU/Hurd 2013 is announced as an official GNU/Hurd port release based largely on Debian sid at the time of the Debian wheezy release. It provides installation ISOs and a pre-installed disk image for i386, with more than 10,000 available software packages.

### Source excerpt

It is with huge pleasure that the Debian GNU/Hurd team announces the release of Debian GNU/Hurd 2013. This is a snapshot of Debian "sid" at the time of the Debian "wheezy" release (May 2013), so it is mostly based on the same sources. It is not an official Debian release, but it is an official Debian GNU/Hurd port release. The installation ISO images can be downloaded from Debian Ports in the usual three Debian flavors: NETINST, CD, DVD. Besides the friendly Debian installer, a pre-installed disk image is also available, making it even easier to try Debian GNU/Hurd. Debian GNU/Hurd is currently available for the i386 architecture with more than 10.000 software packages available (more than 75% of the Debian archive, and more to come!). Please make sure to read the configuration information, the FAQ, and the translator primer to get a grasp of the great features of GNU/Hurd. Due to the very small number of developers, our progress of the project has not been as fast as other successful operating systems, but we believe to have reached a very decent state, even with our limited resources. We would like to thank all the people who have worked on GNU/Hurd over the past decades. There were not many people at any given time (and still not many people today, please join!), but in the end a lot of people have contributed one way or another. Thanks everybody! This article appeared originally at GNU Hurd news and in News about Debian GNU/Hurd.