Václav Zeman wrote: > > On 6 June 2012 09:27, DamienDaG wrote: >> >> 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. > Is it possible that the linker script should contain leading > underscores for the symbols? E.g., _fct1_wrongname=_fct9? Take a look > at nm -AB output for the f1.o file. > > -- > VZ > > I tried many combinations with/without leanding underscores : with _fct1_wrongname = fct9 ; I get Link.cmd:4: undefined symbol `fct9' referenced in expression with _fct1_wrongname = _fct9 ; and fct1_wrongname = _fct9 ; I get ld: BFD 2.13 assertion fail ../../src/bfd/stabs.c:783 nm -AB f1.o outputs : $ nm -AB f1.o f1.o:00000000 b .bss f1.o:00000000 d .data f1.o:00000000 N .stab f1.o:00000000 N .stabstr f1.o:00000000 t .text f1.o: U ___main f1.o: U __alloca f1.o: U _fct1_wrongname f1.o: U _fct2 f1.o:00000012 T _fct9 f1.o:0000002a T _main f1.o: U _printf Thanks Damien -- View this message in context: http://old.nabble.com/Rename-symbol-at-link-time-tp33968382p33968581.html Sent from the gcc - Help mailing list archive at Nabble.com.