Boost C++ Libraries: Ticket #11946: Boost.Context crashes on x86_64/MinGW https://svn.boost.org/trac10/ticket/11946 <p> Dear Boost Developers, </p> <p> The GNU assembler version of the make_fcontext()/jump_fcontext() functions on x86_64 platforms have a serious bug that causes the program to segfault: the GAS code loads an invalid memory location instead of a constant due to a missing '$', for example: </p> <p> Is: movq 1, rcx <em> rcx = mem<a class="changeset" href="https://svn.boost.org/trac10/changeset/1" title="Import core sources for SVNmanger 0.38 ">[1]</a> Should be: movq $1, rcx </em> rcx = 1 movq $1, %rcx -&gt; moves </p> <p> The attached patch fixes the issue. </p> <p> Best Regards, Tomasz Wlostowski </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11946 Trac 1.4.3 tomasz.wlostowski@… Thu, 28 Jan 2016 16:33:43 GMT attachment set https://svn.boost.org/trac10/ticket/11946 https://svn.boost.org/trac10/ticket/11946 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">boost-mingw64-context.patch</span> </li> </ul> Ticket olli Thu, 28 Jan 2016 18:33:09 GMT <link>https://svn.boost.org/trac10/ticket/11946#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11946#comment:1</guid> <description> <p> Hello Thomas, unfortunately the patch would not apply because the code has some significant changes. Issue regarding to 'movl 1, %rcx' is gone. </p> </description> <category>Ticket</category> </item> <item> <author>tomasz.wlostowski@…</author> <pubDate>Thu, 28 Jan 2016 18:34:52 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/11946#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11946#comment:2</guid> <description> <p> Hi, </p> <p> I don't mind as long as it works again on Win64. </p> <p> BTW. Are you planning to introduce any changes to the API? </p> <p> Tom </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Thu, 28 Jan 2016 18:44:18 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/11946#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11946#comment:3</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/11946#comment:2" title="Comment 2">tomasz.wlostowski@…</a>: </p> <blockquote class="citation"> <p> I don't mind as long as it works again on Win64. </p> </blockquote> <p> the unit-tests should pass </p> <blockquote class="citation"> <p> BTW. Are you planning to introduce any changes to the API? </p> </blockquote> <p> yes, already done (see branch master/develop). I was asked to change the API for performance reasons. This applies only to fcontext_t (removed to namespace detail) - boost.context still uses the fcontext_t-API. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Wed, 27 Apr 2016 08:10:21 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/11946#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11946#comment:4</guid> <description> <p> Ok, no further comments - so I close this issue. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Wed, 27 Apr 2016 08:10:47 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/11946#comment:5 https://svn.boost.org/trac10/ticket/11946#comment:5 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> Ticket