This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Rename symbol at link time


Hi

I'm trying to build a very simple project composed of one source file and a
linker script : 

file f1.c :
#include <stdio.h>

extern void fct1_wrongname();

void fct9()
{
	printf("I'm fct9\n");
}

int main( int argc, char** argv)
{
	fct1_wrongname();
	return 0;
}
end of file f1.c

This file is compiled with command :
gcc -O0 -xc -g -Wall -c f1.c -of1.o
then build with :
ld -T'Link.cmd' -O0 -Map out.map -o rename.exe f1.o

file Link.cmd contains :

fct1_wrongname = fct9 ;

end of file Link.cmd


Function fct1_wrongname doesn't exist, and I want to replace the call of
this function by a call of fct9.

I always get this error message :
Link.cmd:4: undefined symbol `fct9' referenced in expression

I need to use a linker script (here Link.cmd) to apply this to a larger
project, and I can't use symbol definition (i.e. -D"fct1_wrongname=fct9")
because there are to many symbols.
I've been looking for a solution for a long time, but I couldn't find
anything.

Can anybody help me ?

Thanks in advance

Damien
-- 
View this message in context: http://old.nabble.com/Rename-symbol-at-link-time-tp33968382p33968382.html
Sent from the gcc - Help mailing list archive at Nabble.com.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]