Godzil (./4753) :
Voila pourquoi il ne faut pas faire confiance a un compilateur open source:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56881#c8
Monsieur se permet de faire des optimisation en partant sur des supositions.
Ce genre d'optimisation ne devrait jamais etre fait, jamais
La fonction
memmove a des sémantiques bien définies dans le standard C, tu n'as pas le droit de la remplacer par n'importe quoi. Si tu développes un programme sans la libc, utilise
-ffreestanding. Si tu veux juste remplacer
memmove en particulier, alors appelle ton implémentation incompatible autrement. Le nom
memmove est réservé par le standard C.
Bref, GCC a parfaitement raison, c'est le code qui est incorrect.