Hi,
I face the same problem. My linker script is as follows
--- Quote Start ---
SECTIONS
{
.pcode ALIGN(0x1000) : {
__pcode_start = .;
*(.pcode)
. = ALIGN(0x1000);
__pcode_end = .;
}
.tcode ALIGN(0x1000) : {
__tcode_start = .;
*(.tcode)
. = ALIGN(0x1000);
__tcode_end = .;
}
}
--- Quote End ---
and I get the following error messages:
--- Quote Start ---
/usr/src/linux-3.9.4/sound/usb/****/utils.o: In function `__pcode_start':
(.pcode+0x0): multiple definition of `__pcode_start'
/usr/src/linux-3.9.4/sound/usb/****/vmm.o : (.pcode+0x0): first defined here
/usr/src/linux-3.9.4/sound/usb/****/utils.o: In function `__tcode_end':
(.tcode+0x0): multiple definition of `__tcode_end'
/usr/src/linux-3.9.4/sound/usb/****/vmm.o : (.tcode+0x0): first defined here
/usr/src/linux-3.9.4/sound/usb/****/utils.o: In function `__tcode_end':
(.tcode+0x0): multiple definition of `__tcode_start'
/usr/src/linux-3.9.4/sound/usb/****/vmm.o: (.tcode+0x0): first defined here
/usr/src/linux-3.9.4/sound/usb/****/utils.o: In function `__pcode_start':
(.pcode+0x0): multiple definition of `__pcode_end'
/usr/src/linux-3.9.4/sound/usb/****/vmm.o: (.pcode+0x0): first defined here
make[1]: *** [/usr/src/linux-3.9.4/sound/usb/snd-usb-audio.o] Error 1
--- Quote End ---
I didn't get the solution you mentioned.
--- Quote Start ---
:o
I solved the problem by providing exactly the same path to the file that is used by the makefile to invoke the linker. It appeared that any modification in the path the linker considers it as a new object file. Thus, multiple definitions, of the global symbols in that file, error occurred in my case.
--- Quote End ---
Can you please give me some clue?