J.C. Wren wrote:
Steve,
Your FAQ update doesn't address the actual issue, and that's NONE of the .a
files in /usr/local/msp430 contain the object code for __umulsi3hw.
What you asked is actually a frequently asked question, with the answer
I gave. Therefore, it was a reasonable thing to add to the FAQ,
regardless of whether it solves your problem.
As you
can see from the 'nm' output, there are 4 functions that need it, and no
declarations for it (compared to the 'strcmp', picked at random). FWIW, I'm
compiling for a MSP430F147.
In /usr/local/msp430/lib/lib/gcc-lib/msp430/3.2.3/msp2/libgcc.a, the
functions _mulvsi3, _udivmoddi4 and _mulvsi3 want __umulsi3hw.
In /usr/local/msp430/msp430/lib/msp2/libc.a, the functions strtol and strtoul
want __umulsi3hw.
So where is it?
--John
I haven't followed through the whole thing, but an nm on my machine
gives different results
[ste...@xeon msp2]$ nm libgcc.a | grep umul
_umulqihi3.o:
00000000 T __umulqihi3
_umulhisi3.o:
00000000 T __umulhisi3
U __umulsi3hw
U __umulsi3hw
It looks like umulsi3hw isn't there, but less things seem to be looking
for it. Also, my file is in:
/usr/local/msp430/lib/gcc-lib/msp430/3.2.3/msp2/libgcc.a
which has one less "lib/" in it than yours. I wonder why?
Regards,
Steve