←back to thread

196 points generichuman | 1 comments | | HN request time: 0.2s | source
Show context
sylware ◴[] No.43552021[source]
This article missed a critical point which is "the right way" to select a glibc ABI version: see binutils ld documentation, second part of the page related to VERSION support. This must include glibc internal symbols.

This will allow to craft ELF binaries on a modern distro which will run on "older" distros. This is critical for games and game engines. There is an significant upfront only-once work in order to select an "old" glibc ABI.

The quick and dirty alternative being having a toolchain configured to link with an "old" glibc on the side.

This article missed the -static-libstdc++ critical option for c++ applications (the c++ ABI is hell on earth), but did not miss the -static-libgcc and the dynamic loading of system interface shared libs.

replies(4): >>43552297 #>>43552425 #>>43552438 #>>43552524 #
1. IX-103 ◴[] No.43552524[source]
Could you point to an example of a project doing it the right way? I'm a little unclear on the type of incantation needed for the "version script".