Journal Challenge: Écrire la plus petite implémentation de /bin/true

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
54
7
avr.
2022

Bonjour Nal,

/bin/true est un programme qui ne fait rien et retourne le code de sortie 0.

Par exemple, en C :

int main() {
    return 0;
}

Si on compile ce dernier avec la commande suivante:

$ gcc true.c -o true
$ wc -c true
16464
$ ./true && echo $?
0

On obtient un binaire d'environ 16kb.

Si on pousse plus loin avec la version assembleur:

bits 64
global _start
section .text

_start:
  mov eax
(…)

Journal [LWN] Une porte de sortie pour a.out

Posté par  (site web personnel) . Licence CC By‑SA.
61
24
mar.
2022

Ceci est une traduction de l'article LWN A way out for a.out, rédigé et publié par Jonathan Corbet.

Contrairement à ma précédente tentative, j'ai cette fois ci l'autorisation de l'éditoriat de LWN (cf fin du journal).


Le format d'exécutable a.out date des tout premiers jours de Linux—et même avant. Il n'a pas été utilisé sérieusement depuis plusieurs décennies, mais le support existe toujours dans le noyau Linux et a résisté à toutes les tentatives de suppression. En Janvier (…)