hi everyone, I'm using the using the ADSP-21xxx linker version 2.3.0.0 which came with VisualDSP++. When I try to use the -e (eliminate unused symbols) option on a very simple C project (see below) and the "stock" ADSP-21160.ldf straight out of the VisualDSP directory, the linker quits with the following message: [Error E2007] LinkProject.cpp:0 No object Needed?? Linker finished with 1 error(s) 0 warning(s) cc21k: Fatal Error: Link failed Tool failed with exit/exception code: 1. I get the same effect if I remove the "-e" flag and add "ELIMINATE()" to the .ldf. If I use "-ev" (eliminate verbose), the linker quits without even a diagnostic message. does anyone know what I'm doing wrong? thanks -Rob the example program is compiled with "-g -21160rev0": void main() { float a; a = 1.0; a += 1.0; } |
|
adsp-21xxx linker: [Error E2007]
Started by ●May 23, 2001
Reply by ●May 24, 20012001-05-24
On Wed, 23 May 2001 17:25:25 -0000, Robert K Yu wrote: > I'm using the using the ADSP-21xxx linker version > 2.3.0.0 which came with VisualDSP++. When I try > to use the -e (eliminate unused symbols) option > on a very simple C project (see below) and the "stock" > ADSP-21160.ldf straight out of the VisualDSP directory, > the linker quits with the following message: > > [Error E2007] LinkProject.cpp:0 No object Needed?? The linker is deliberately dumb here. It needs to know a root symbol to keep, and from that it determines what else is connected to it. Everything else is eligible to be discarded. If you don't specify the root symbol, the linker has an empty "in use" tree, so it figures it can discard everything. IIRC, you need to specify a symbol from the C++ startup code to anchor your code, and you need to specify which segments are eligible for pruning. |