Bonjour à tous

J'aimerais compiler un fichier en remplaçant l'appel à une fonction par un appel à une autre fonction, en utilisant un fichier de link. J'utilise un fichier source :

fichier f1.c :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
extern void fct1_wrongname();
 
void fct9()
{
	printf("fct9\n");
}
 
int main( int argc, char** argv)
{
	fct1_wrongname();
	return 0;
}

je compile avec la commande :
<i>gcc -O0 -xc -g -Wall -c f1.c -of1.o</i>
puis construis avec :
<i>ld -T'Link.cmd' -O0 -Map out.map -o rename.exe f1.o</i>

Le fichier Link.cmd contient :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
fct1_wrongname = fct9 ;


La fonction fct1_wrongname n'existe pas, et je voudrais la remplacer au link par fct9. Or j'obtiens toujours le message suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Link.cmd:4: undefined symbol `fct9' referenced in expression
Je dois utiliser un script de link pour appliquer le principe à un projet plus gros. Je ne peux pas utiliser une définition de symbole (type -D"fct1_wrongname=fct9") car il y a énormément de symboles.
Cela fait un moment que je cherche, mais je n'ai pas réussi à trouver d'info.

Pouvez-vous m'aider ?

Merci par avance

Damien