I figured it out. I have to specify the libraries AFTER my objects. Why does the order matter?
Also ... why does the example in the fact (apparently from msp430-gcc -v) link in libgcc twice? -----Original Message----- From: Christopher Piggott Sent: Tuesday, December 06, 2005 8:08 PM To: 'mspgcc-users@lists.sourceforge.net' Subject: Multiplier errors when invoking ld directly The FAQ says: >>I am getting link errors about missing multiply routines. What is wrong? >The usual cause for this problem is that you specified a different "-mmcu=" option at the compile and link stages. For invoking ld directly, the above probably means "-m emulation". I pass this to ld: -m msp430x149 -nostdlib -L/mspgcc/msp430/lib -L/mspgcc/lib/gcc-lib/msp430/3.2.3 -lc -lm -lgcc I think those are the only libraries I should need, but those symbosl are indeed not there. I did objdumps on every library in the toolsuite and didn't find ANY of the symbols it is looking for ... __udivmodsi4 __umulsi3hw etc. If I am linking explicitly with LD, where do I find these objects?