DO NOT REPLY TO THIS MESSAGE. INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.
[STR New] Link: http://www.fltk.org/str.php?L2637 Version: 1.3.0 Sorry, it took a little longer ... but now I can confirm everything Csaba found out. Many thanks for reporting the bug and for your thorough testing. I get the same valgrind errors when running on 64-bit Linux except the screen_init() error (I have currently only one monitor configured). I do also think what we see here is a questionable and maybe even counter-productive attempt to optimize something. I know for sure that reads and writes to not properly aligned data in IA64 architecture (Intel Itanium) are very expensive WRT performance, because this will be trapped, and then "repaired" by a system handler. This is true for at least one OS I'm working with on IA64 (OpenVMS), but I assume that it doesn't depend on the OS, since it's a hardware (processor) property. Is the data here aligned for 64-bit access? I don't know, but maybe not. The other important point Csaba made is that the destination array's bounds will be overwritten as well, although this is not found by Valgrind in our tests. On a first look it seems however, that the destination buffer might be allocated with rounding to the correct sizes, but this needs to be checked further. It's too late here now to do more testing, but I'll take another look ASAP this weekend. Maybe removing the U64 part could be a *simple* solution, but then we must make sure that U32 is always defined. Looking at configure.in this seems to be so, but I'm not sure about that. Link: http://www.fltk.org/str.php?L2637 Version: 1.3.0 _______________________________________________ fltk-bugs mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk-bugs
