User Activity

  • Posted a comment on ticket #966 on MinGW-w64 - for 32 and 64 bit Windows

    Fix confirmed. Binaries built with -D_WIN32_WINNT=0x0400 load succesfully in NT4

  • Posted a comment on ticket #966 on MinGW-w64 - for 32 and 64 bit Windows

    Thank you, Pali. I'm using mingw package from msys2 to build my project, and your fix is not yet released there. I'll re-test as soon as it becomes available and report back with the results. Cheers!

  • Created ticket #966 on MinGW-w64 - for 32 and 64 bit Windows

    msvcrt!_strtoi64 doesn't exist in Windows NT 4

  • Posted a comment on ticket #1248 on NSIS: Nullsoft Scriptable Install System

    Good point. I've committed the changes here.

  • Posted a comment on ticket #1248 on NSIS: Nullsoft Scriptable Install System

    After some more research I think there's a better way to fix this... It turns out that -fno-tree-loop-distribute-patterns flag turns off the pattern recognition (such as memmove, memcpy, memset, etc.) and fixes our linker error. It also requires no changes to decompress.c. More details here (look for "-ftree-loop-distribute-patterns"). Check out my full commit here.

  • Posted a comment on ticket #1248 on NSIS: Nullsoft Scriptable Install System

    I'm afraid this wouldn't work. From compiler's perspective *(pos + v) is the same as pos[v]. You'll get the same linker error. It's the volatile keyword that turns off compiler optimizations and prevents memmove calls. Another approach would be to enclose the entire decompress.c into a pragma block like so: #pragma GCC push_options #pragma GCC optimize ("O0") ..existing code... #pragma GCC pop_options That would turn off optimizations on the entire file, and, get rid of typecasts...

  • Posted a comment on ticket #1248 on NSIS: Nullsoft Scriptable Install System

    Hi guys. I've been struggling with this issue myself for a few days... Indeed, the gcc10 optimizer identifies code that moves memory and replaces it with msvcrt!memmove calls. My approach was to disable these optimizations in decompress.c by using the volatile qualifier on destination addresses. For instance, the line decompress.c:266 while (v > 0) { pos[v] = pos[v-1]; v--; } ...would become... while (v > 0) { ((volatile UChar*)pos)[v] = pos[v-1]; v--; } See my full commit here.

  • Posted a comment on ticket #523 on NSIS: Nullsoft Scriptable Install System

    This is exactly what I was looking for. Thanks!

View All

Personal Data

Username:
negrutiu
Joined:
2008-08-04 21:26:15

Projects

  • No projects to display.

Personal Tools