From: JMGross <ms...@gr...> - 2010-10-06 10:28:10
|
Not necessarily IN it, only related to it. :) The question is, why got only this function compiled with reference/usage of the hwmul functions and all other didn't. Or do you just use only this one function that does multiplication? Is the complete stdlib compiled wrong and uses hwmul while it shouldn't? Or just strtol? If so, why and how (all should be compiled the same way) Or is the linker using the wrong version of the stdlib? If so, why? And in this case it isn't the fault of the stdlib at all, but in the linker script. how did you redefine strtol? did you use your own version of it, do you not use it anymore or did you change something in the stdlib sources and recompiled it? My suggested hotfix was to write your own hwmul function override and use the stdlib normally. (the hwmul functions are in the gcclib and never called directly, they are helper functions the compiler calls depending on normal C multiplications, and they are weak, so you can write your own). I did so for the mspgcc3, so the functions use the MPY32 instead of the MPY16 emulation where it is available. Much faster and also a bit smaller. JMGross ----- Ursprüngliche Nachricht ----- Von: Paolo Zebelloni An: msp...@li... Gesendet am: 06 Okt 2010 00:21:19 Betreff: [Mspgcc-users] 227x HW multiplier problem identified (Paolo Zebelloni) Peter, JMGross, After a stupid patch (a simple redefinition of strtol) I can compile the whole project. Now I'm sure that problem ***IS*** in stdlib, as Peter said. Regards. |