From: SourceForge.net <no...@so...> - 2008-10-25 05:20:19
|
Patches item #2193442, was opened at 2008-10-25 13:20 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-10-27 02:23:26
|
Patches item #2193442, was opened at 2008-10-25 13:20 Message generated for change (Comment added) made by pabs3 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- >Comment By: Paul Wise (pabs3) Date: 2008-10-27 11:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-10-28 00:28:46
|
Patches item #2193442, was opened at 2008-10-25 13:20 Message generated for change (Comment added) made by pabs3 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- >Comment By: Paul Wise (pabs3) Date: 2008-10-28 09:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 11:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-07 02:51:09
|
Patches item #2193442, was opened at 2008-10-25 13:20 Message generated for change (Comment added) made by pabs3 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- >Comment By: Paul Wise (pabs3) Date: 2008-11-07 11:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 09:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 11:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-12 02:09:07
|
Patches item #2193442, was opened at 2008-10-25 13:20 Message generated for change (Comment added) made by pabs3 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- >Comment By: Paul Wise (pabs3) Date: 2008-11-12 10:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 11:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 09:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 11:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-15 22:26:07
|
Patches item #2193442, was opened at 2008-10-25 07:20 Message generated for change (Comment added) made by kichik You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 00:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 03:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 04:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 02:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 04:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-16 06:00:19
|
Patches item #2193442, was opened at 2008-10-25 13:20 Message generated for change (Comment added) made by pabs3 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- >Comment By: Paul Wise (pabs3) Date: 2008-11-16 15:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 07:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 10:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 11:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 09:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 11:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-19 21:55:41
|
Patches item #2193442, was opened at 2008-10-25 07:20 Message generated for change (Comment added) made by kichik You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 08:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 00:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 03:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 04:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 02:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 04:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-19 22:32:15
|
Patches item #2193442, was opened at 2008-10-25 07:20 Message generated for change (Comment added) made by kichik You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 00:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 08:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 00:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 03:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 04:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 02:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 04:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-19 23:03:34
|
Patches item #2193442, was opened at 2008-10-25 07:20 Message generated for change (Comment added) made by kichik You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 00:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 08:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 00:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 03:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 04:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 02:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 04:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-19 23:13:09
|
Patches item #2193442, was opened at 2008-10-25 07:20 Message generated for change (Comment added) made by kichik You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 00:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 08:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 00:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 03:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 04:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 02:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 04:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-20 05:46:07
|
Patches item #2193442, was opened at 2008-10-25 13:20 Message generated for change (Comment added) made by pabs3 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- >Comment By: Paul Wise (pabs3) Date: 2008-11-20 14:46 Message: I've notified Thomas of your review and changes. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 08:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 08:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 07:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 06:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 15:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 07:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 10:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 11:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 09:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 11:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-20 21:02:50
|
Patches item #2193442, was opened at 2008-10-25 07:20 Message generated for change (Comment added) made by kichik You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Nobody/Anonymous (nobody) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 23:02 Message: I've committed the changes for the next version (2.42). Thank you both very much for this impressive patch. Let me know if you find any problems with the version I've committed. The next release is in about a month. ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-20 07:46 Message: I've notified Thomas of your review and changes. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 00:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 08:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 00:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 03:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 04:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 02:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 04:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-20 21:03:02
|
Patches item #2193442, was opened at 2008-10-25 07:20 Message generated for change (Settings changed) made by kichik You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None >Status: Closed >Resolution: Accepted Priority: 5 Private: No Submitted By: Paul Wise (pabs3) >Assigned to: Amir Szekely (kichik) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 23:02 Message: I've committed the changes for the next version (2.42). Thank you both very much for this impressive patch. Let me know if you find any problems with the version I've committed. The next release is in about a month. ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-20 07:46 Message: I've notified Thomas of your review and changes. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 00:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 08:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 00:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 03:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 04:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 02:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 04:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-21 10:01:06
|
Patches item #2193442, was opened at 2008-10-25 07:20 Message generated for change (Comment added) made by kichik You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Amir Szekely (kichik) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 12:00 Message: Found another issue where ebp was never popped from the stack in CallProc which caused register corruption and eventual crashes or other weird behaviors. See bug #2318670. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 23:02 Message: I've committed the changes for the next version (2.42). Thank you both very much for this impressive patch. Let me know if you find any problems with the version I've committed. The next release is in about a month. ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-20 07:46 Message: I've notified Thomas of your review and changes. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 00:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 08:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 00:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 03:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 04:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 02:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 04:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-21 15:08:06
|
Patches item #2193442, was opened at 2008-10-25 07:20 Message generated for change (Comment added) made by kichik You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Amir Szekely (kichik) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 17:07 Message: Another one. Don't know what causes it yet or how exactly to reproduce it, but esp is corrupted. You need Firefox for this one. SetOutPath "$PROGRAMFILES\Mozilla Firefox" StrCpy $R0 $TEMP\nss System::Call 'nss3::NSS_Initialize(t R0, t "", t "", t "secmod.db", i 0) i .r0' ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 12:00 Message: Found another issue where ebp was never popped from the stack in CallProc which caused register corruption and eventual crashes or other weird behaviors. See bug #2318670. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 23:02 Message: I've committed the changes for the next version (2.42). Thank you both very much for this impressive patch. Let me know if you find any problems with the version I've committed. The next release is in about a month. ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-20 07:46 Message: I've notified Thomas of your review and changes. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 00:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 08:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 00:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 03:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 04:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 02:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 04:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-11-23 21:15:59
|
Patches item #2193442, was opened at 2008-10-25 07:20 Message generated for change (Comment added) made by kichik You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Amir Szekely (kichik) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-23 23:15 Message: Solved that too. It was all due to `push ebp` being in the wrong place. It should only have been saved and restored when stack generation was required. In the original code it was always saved but restored only for POPT_GENSTACK. Then I added `pop` on the bottom and so it was popped twice for POPT_GENSTACK. Now it pushes once and pops once and only for POPT_GENSTACK. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 17:07 Message: Another one. Don't know what causes it yet or how exactly to reproduce it, but esp is corrupted. You need Firefox for this one. SetOutPath "$PROGRAMFILES\Mozilla Firefox" StrCpy $R0 $TEMP\nss System::Call 'nss3::NSS_Initialize(t R0, t "", t "", t "secmod.db", i 0) i .r0' ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 12:00 Message: Found another issue where ebp was never popped from the stack in CallProc which caused register corruption and eventual crashes or other weird behaviors. See bug #2318670. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 23:02 Message: I've committed the changes for the next version (2.42). Thank you both very much for this impressive patch. Let me know if you find any problems with the version I've committed. The next release is in about a month. ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-20 07:46 Message: I've notified Thomas of your review and changes. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 01:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 00:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 08:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-16 00:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 03:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 04:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 02:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 04:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2008-12-07 05:57:03
|
Patches item #2193442, was opened at 2008-10-25 05:20 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Amir Szekely (kichik) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2008-12-07 05:56 Message: HbT9nh <a href="http://oxtbpvczylmc.com/">oxtbpvczylmc</a>, [url=http://vfqpjxxpplfr.com/]vfqpjxxpplfr[/url], [link=http://wrbuuavjywxo.com/]wrbuuavjywxo[/link], http://mlyyxakjkrwh.com/ ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-23 21:15 Message: Solved that too. It was all due to `push ebp` being in the wrong place. It should only have been saved and restored when stack generation was required. In the original code it was always saved but restored only for POPT_GENSTACK. Then I added `pop` on the bottom and so it was popped twice for POPT_GENSTACK. Now it pushes once and pops once and only for POPT_GENSTACK. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 15:07 Message: Another one. Don't know what causes it yet or how exactly to reproduce it, but esp is corrupted. You need Firefox for this one. SetOutPath "$PROGRAMFILES\Mozilla Firefox" StrCpy $R0 $TEMP\nss System::Call 'nss3::NSS_Initialize(t R0, t "", t "", t "secmod.db", i 0) i .r0' ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 10:00 Message: Found another issue where ebp was never popped from the stack in CallProc which caused register corruption and eventual crashes or other weird behaviors. See bug #2318670. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 21:02 Message: I've committed the changes for the next version (2.42). Thank you both very much for this impressive patch. Let me know if you find any problems with the version I've committed. The next release is in about a month. ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-20 05:46 Message: I've notified Thomas of your review and changes. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 22:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 21:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 06:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-15 22:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 01:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 02:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 00:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 02:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2009-01-01 11:56:28
|
Patches item #2193442, was opened at 2008-10-25 05:20 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Amir Szekely (kichik) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2009-01-01 11:53 Message: xj7VLW <a href="http://xbtgffjqyuvm.com/">xbtgffjqyuvm</a>, [url=http://sesbrqlilids.com/]sesbrqlilids[/url], [link=http://fgqukyxrkggn.com/]fgqukyxrkggn[/link], http://xpnjmuagclul.com/ ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-23 21:15 Message: Solved that too. It was all due to `push ebp` being in the wrong place. It should only have been saved and restored when stack generation was required. In the original code it was always saved but restored only for POPT_GENSTACK. Then I added `pop` on the bottom and so it was popped twice for POPT_GENSTACK. Now it pushes once and pops once and only for POPT_GENSTACK. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 15:07 Message: Another one. Don't know what causes it yet or how exactly to reproduce it, but esp is corrupted. You need Firefox for this one. SetOutPath "$PROGRAMFILES\Mozilla Firefox" StrCpy $R0 $TEMP\nss System::Call 'nss3::NSS_Initialize(t R0, t "", t "", t "secmod.db", i 0) i .r0' ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 10:00 Message: Found another issue where ebp was never popped from the stack in CallProc which caused register corruption and eventual crashes or other weird behaviors. See bug #2318670. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 21:02 Message: I've committed the changes for the next version (2.42). Thank you both very much for this impressive patch. Let me know if you find any problems with the version I've committed. The next release is in about a month. ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-20 05:46 Message: I've notified Thomas of your review and changes. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 22:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 21:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 06:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-15 22:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 01:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 02:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 00:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 02:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2009-03-01 10:45:30
|
Patches item #2193442, was opened at 2008-10-25 05:20 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Amir Szekely (kichik) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2009-03-01 10:45 Message: dlluku 2504602 yzuhba [URL=http://reachingforlucidity.net/live/wohnung-berlin.php] wohnung berlin [/URL] <a href="http://reachingforlucidity.net/live/wohnung-berlin.php"> wohnung berlin </a> http://reachingforlucidity.net/live/wohnung-berlin.php ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-23 21:15 Message: Solved that too. It was all due to `push ebp` being in the wrong place. It should only have been saved and restored when stack generation was required. In the original code it was always saved but restored only for POPT_GENSTACK. Then I added `pop` on the bottom and so it was popped twice for POPT_GENSTACK. Now it pushes once and pops once and only for POPT_GENSTACK. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 15:07 Message: Another one. Don't know what causes it yet or how exactly to reproduce it, but esp is corrupted. You need Firefox for this one. SetOutPath "$PROGRAMFILES\Mozilla Firefox" StrCpy $R0 $TEMP\nss System::Call 'nss3::NSS_Initialize(t R0, t "", t "", t "secmod.db", i 0) i .r0' ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 10:00 Message: Found another issue where ebp was never popped from the stack in CallProc which caused register corruption and eventual crashes or other weird behaviors. See bug #2318670. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 21:02 Message: I've committed the changes for the next version (2.42). Thank you both very much for this impressive patch. Let me know if you find any problems with the version I've committed. The next release is in about a month. ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-20 05:46 Message: I've notified Thomas of your review and changes. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 22:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 21:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 06:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-15 22:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 01:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 02:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 00:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 02:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |
From: SourceForge.net <no...@so...> - 2009-03-12 21:38:50
|
Patches item #2193442, was opened at 2008-10-25 05:20 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: None Status: Closed Resolution: Accepted Priority: 5 Private: No Submitted By: Paul Wise (pabs3) Assigned to: Amir Szekely (kichik) Summary: port System::Call and related functions to GCC Initial Comment: This patch updates the System plugin so that it can be compiled on GNU/Linux using the mingw version of GCC. Some comments about the choices made within it can be found here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=319999#50 Things that need fixing in it before it can be applied are: A review of the changes. Testing the scons changes on Windows - not sure about the .asm -> .spp change. Fixing the invalid lvalue FTBFS properly. Integrating the test.py into scons test stuff. Fixing the crash in Contrib/System/System.nsi crashed at the systemSplash demo stage. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2009-03-12 21:38 Message: dlluku 2504602 yzuhba [URL=http://seeworthy.org/ducktales/gesundheit/] gesundheit [/URL] <a href="http://seeworthy.org/ducktales/gesundheit/"> gesundheit </a> http://seeworthy.org/ducktales/gesundheit/ ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-23 21:15 Message: Solved that too. It was all due to `push ebp` being in the wrong place. It should only have been saved and restored when stack generation was required. In the original code it was always saved but restored only for POPT_GENSTACK. Then I added `pop` on the bottom and so it was popped twice for POPT_GENSTACK. Now it pushes once and pops once and only for POPT_GENSTACK. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 15:07 Message: Another one. Don't know what causes it yet or how exactly to reproduce it, but esp is corrupted. You need Firefox for this one. SetOutPath "$PROGRAMFILES\Mozilla Firefox" StrCpy $R0 $TEMP\nss System::Call 'nss3::NSS_Initialize(t R0, t "", t "", t "secmod.db", i 0) i .r0' ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-21 10:00 Message: Found another issue where ebp was never popped from the stack in CallProc which caused register corruption and eventual crashes or other weird behaviors. See bug #2318670. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-20 21:02 Message: I've committed the changes for the next version (2.42). Thank you both very much for this impressive patch. Let me know if you find any problems with the version I've committed. The next release is in about a month. ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-20 05:46 Message: I've notified Thomas of your review and changes. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:13 Message: I've uploaded a new version of Call.S which should fix all the issues I've mentioned. Let me know if this new version is fine with you and I'll upload it. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 23:03 Message: In _CallBack, it's assumed _GetValueOffsetParam and _Get_valueOffsetParam don't change ecx and edx. That might not always be the case and so eax should be pushed on the stack just like in _RealCallBack and _CallProc. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 22:32 Message: Found another one in the same function. Large parameters are parsed in wrong order and so 1 becomes 0x100000000 and vice versa. Lines 794 (cb_params_loop) to 825 (cb_params_loop_done). ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-19 21:55 Message: I'm currently reviewing the assembly code itself. I'm already done with _CallProc and now looking at _RealCallBack. It has an issue with zero-parameters callback functions. On line 749, if there are no parameters, it jumps to cb_params_loop_done and skips line 792 which sets [ebp-12] (args size). This causes line 826 to fill bogus values into proc->ArgsSize and in turn causes _CallBack to improperly clean up the stack. To reproduce this, I've created a simple DLL that just gets a callback function and calls it and then used the following script. SetPluginUnload alwaysoff System::Get ()i.s Pop $0 System::Call scb::show(kr0) Pop $R0 System::Call $0 SetPluginUnload manual System::Free $0 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-16 06:00 Message: Updated the patch to include the ms ASFLAGS change. Hopefully I did it right. File Added: gcc-system-call-5.patch ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2008-11-15 22:26 Message: Another change required for SCons to avoid conversion warnings is the following line in SCons/Config/ms: defenv.Append(ASFLAGS = ['/coff']) ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-12 01:31 Message: Updated patch that fixes the warnings about the use of #pragma once by only using #pragma once with MSVC and adding #include guards too. File Added: gcc-system-call-4.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-11-07 02:51 Message: Updated patch that fixes the DLL entry point for the system plugin, allowing it to be built and work on Windows again. File Added: gcc-system-call-3.patch ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-28 00:28 Message: I'm informed that test.py isn't really needed. Posted in the forums asking for some testing of the patch on Windows: http://forums.winamp.com/showthread.php?s=&goto=lastpost&threadid=227304 ---------------------------------------------------------------------- Comment By: Paul Wise (pabs3) Date: 2008-10-27 02:23 Message: This version of the patch fixes the invalid lvalue FTBFS properly and fixes the crash in Contrib/System/System.nsi. TODO list for this patch: Testing the scons changes on Windows - not sure about the .asm -> .spp change. Integrating the test.py into scons test stuff. File Added: gcc-system-call-2.patch ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373087&aid=2193442&group_id=22049 |