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



Reply via email to