Boost C++ Libraries: Ticket #9743: Patch for context/coroutine assembler for Linux On Power (BE & LE) https://svn.boost.org/trac10/ticket/9743 <p> Hi, </p> <p> Tests of context and coroutine libraries produce cores on Linux on Power (LoP), Little Endian and Big Endian. </p> <p> LoP LE: Ubuntu 14.04 : </p> <blockquote> <p> "uname -m" --&gt; ppc64le <span class="underline">LITTLE_ENDIAN</span> defined. </p> </blockquote> <p> LoP BE: Fedora 19 : </p> <blockquote> <p> "uname -m" --&gt; ppc64 <span class="underline">BIG_ENDIAN</span> defined. </p> </blockquote> <p> Linux On Power is only 64bits. No 32bits version. </p> <p> The source codes to be changed are: </p> <ul><li>libs/context/build/Jamfile.v2 </li><li>libs/context/src/asm : PPC assembler files jump...S and make...S </li></ul><blockquote> <blockquote> <p> jump_ppc64_sysv_elf_gas.S make_ppc64_sysv_elf_gas.S </p> </blockquote> </blockquote> <p> I am preparing a patch for the PPC assembler files, either as 1 file for each of jump... and make... files (using #ifdef for producing LE or BE code), or 2 files for each (one for LE and one for BE). I don't know yet what is the most appropriate solution: one common file for LE&amp;BE with #ifdef (easier for maintenance), or one file for LE and one other for BE. To be discussed. </p> <p> Looking at Jamfile.v2 file, I see several cases for PPC : </p> <ul><li>power - 32 - elf - gcc </li><li>power - 32 - elf - qcc </li><li>power - 64 - elf - gcc </li><li>power - 64 - elf - qcc </li></ul><p> (I'm not an expert of Jam) </p> <p> I guess that "power - 32 - *" cases should be let as they are, for compatibility with older or different environments. </p> <p> About "power - 64", the files require changes for running fine on LoP BE &amp; LE. I've done these changes, and tests work fine. However, I don't know if there are some older 64bits PPC environment to keep compatibility with. (I'm also working on a patch for AIX/PPC 32-64, with xcoff format, and with AIX assembler. I'll manage it after LoP patch.) </p> <p> So, I need some help for finalizing my patch: </p> <ul><li>How to name the files ? which code is now different from the existing ones: </li></ul><blockquote> <blockquote> <p> jump_ppc64_sysv_elf_gas.S make_ppc64_sysv_elf_gas.S </p> </blockquote> </blockquote> <ul><li>Is it possible to use #fidef in these .S files for having one file for LE and BE ? </li></ul><blockquote> <blockquote> <p> I thought to use: <span class="underline">LITTLE_ENDIAN</span> and <span class="underline">BIG_ENDIAN</span> macros. I still have to check that Jam handle them. </p> </blockquote> </blockquote> <ul><li>How should I change Jam.v2 ? </li></ul><p> I'll provide the modified ppc64 files I've built, in this "ticket". </p> <p> Regards, </p> <p> Tony </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/9743 Trac 1.4.3 Tony Reix <tony.reix@…> Wed, 05 Mar 2014 10:01:26 GMT attachment set https://svn.boost.org/trac10/ticket/9743 https://svn.boost.org/trac10/ticket/9743 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">jump_ppc64_sysv_elf_gas.S</span> </li> </ul> Ticket Tony Reix <tony.reix@…> Wed, 05 Mar 2014 10:01:43 GMT attachment set https://svn.boost.org/trac10/ticket/9743 https://svn.boost.org/trac10/ticket/9743 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">make_ppc64_sysv_elf_gas.S</span> </li> </ul> Ticket olli Wed, 05 Mar 2014 10:23:48 GMT <link>https://svn.boost.org/trac10/ticket/9743#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:1</guid> <description> <p> Hello Toni, I suggest to combine little and big endian into one file for make_fcontext and jump_fcontext. Could you adapt your patches according to the code of the develop branch? In this new version the registers will be stored at the current end of the stack. </p> </description> <category>Ticket</category> </item> <item> <author>Tony Reix <tony.reix@…></author> <pubDate>Wed, 05 Mar 2014 12:58:30 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:2</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/9743#comment:1" title="Comment 1">olli</a>: </p> <blockquote class="citation"> <p> Hello Toni, I suggest to combine little and big endian into one file for make_fcontext and jump_fcontext. Could you adapt your patches according to the code of the develop branch? </p> </blockquote> <p> Hello Olli, Hummm You seem to say that changes have occured about this subject between 1.55 and now. So, yes, I have to look at develop branch. </p> <p> Moreover, instead of using the <span class="underline">LITTLE_ENDIAN</span> and <span class="underline">BIG_ENDIAN</span>, I should use something like: </p> <blockquote> <table class="wiki"> <tr>#if !defined POWERPC64 <td> _CALL_ELF == 2 </td></tr></table> </blockquote> <blockquote class="citation"> <p> In this new version the registers will be stored at the current end of the stack. </p> </blockquote> <p> OK. I have to manage these changes. </p> <p> Thanks </p> </description> <category>Ticket</category> </item> <item> <author>Tony Reix <tony.reix@…></author> <pubDate>Wed, 05 Mar 2014 15:14:51 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:3</guid> <description> <p> Looking at build/Jamfile.v2 file, I see changes. Probably also within .S files. I'm now rebuilding my Boost environment on LoP BE &amp; LE with this develop version. So that I can compare and test, and build a new patch, I guess. Tony </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Wed, 05 Mar 2014 16:18:08 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:4</guid> <description> <p> please note that you have to remove the untested.cpp file from build/Jamfile.v2 for the PPC target </p> </description> <category>Ticket</category> </item> <item> <author>Tony Reix <tony.reix@…></author> <pubDate>Wed, 05 Mar 2014 16:32:41 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:5</guid> <description> <p> I have removed the untested.cpp file for POWER64 from context/build/Jamfile.vé . However, I still have the following error while trying to run the tests of context : </p> <p> [root@tbx6 build]# cd - /home/reixt/BOOST/modular-boost/status [root@tbx6 status]# ../b2 Performing configuration checks </p> <ul><li>symlinks supported : yes (cached) </li><li>hardlinks supported : yes (cached) </li><li>32-bit : no (cached) </li><li>64-bit : yes (cached) </li><li>arm : no (cached) </li><li>mips1 : no (cached) </li><li>power : yes (cached) </li><li>lockfree boost::atomic_flag : yes (cached) </li><li>has_icu builds : yes (cached) </li></ul><p> ...patience... ...patience... ...found 4421 targets... ...updating 13 targets... Jamfile&lt;/home/reixt/BOOST/modular-boost/libs/context/build&gt;.gas ../bin.v2/libs/context/build/gcc-4.8.2/debug/address-model-64/architecture-power/link-static/asm/make_ppc64_sysv_elf_gas.o ../libs/context/src/asm/make_ppc64_sysv_elf_gas.S: Messages de l'assembleur: ../libs/context/src/asm/make_ppc64_sysv_elf_gas.S:98: Erreur: pseudo-op inconnu: « .localentry » ../libs/context/src/asm/make_ppc64_sysv_elf_gas.S:102: Erreur: symbole « make_fcontext » est déjà défini </p> <blockquote> <p> as -o "../bin.v2/libs/context/build/gcc-4.8.2/debug/address-model-64/architecture-power/link-static/asm/make_ppc64_sysv_elf_gas.o" "../libs/context/src/asm/make_ppc64_sysv_elf_gas.S" </p> </blockquote> <p> ...failed Jamfile&lt;/home/reixt/BOOST/modular-boost/libs/context/build&gt;.gas ../bin.v2/libs/context/build/gcc-4.8.2/debug/address-model-64/architecture-power/link-static/asm/make_ppc64_sysv_elf_gas.o... Jamfile&lt;/home/reixt/BOOST/modular-boost/libs/context/build&gt;.gas ../bin.v2/libs/context/build/gcc-4.8.2/debug/address-model-64/architecture-power/link-static/asm/jump_ppc64_sysv_elf_gas.o ../libs/context/src/asm/jump_ppc64_sysv_elf_gas.S: Messages de l'assembleur: ../libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:98: Erreur: pseudo-op inconnu: « .localentry » ../libs/context/src/asm/jump_ppc64_sysv_elf_gas.S:102: Erreur: symbole « jump_fcontext » est déjà défini </p> <blockquote> <p> as -o "../bin.v2/libs/context/build/gcc-4.8.2/debug/address-model-64/architecture-power/link-static/asm/jump_ppc64_sysv_elf_gas.o" "../libs/context/src/asm/jump_ppc64_sysv_elf_gas.S" </p> </blockquote> <p> ...failed Jamfile&lt;/home/reixt/BOOST/modular-boost/libs/context/build&gt;.gas ../bin.v2/libs/context/build/gcc-4.8.2/debug/address-model-64/architecture-power/link-static/asm/jump_ppc64_sysv_elf_gas.o... ...skipped &lt;p../bin.v2/libs/context/build/gcc-4.8.2/debug/link-static&gt;libboost_context.a(clean) for lack of &lt;p../bin.v2/libs/context/build/gcc-4.8.2/debug/address-model-64/architecture-power/link-static&gt;asm/make_ppc64_sysv_elf_gas.o... ...skipped &lt;p../bin.v2/libs/context/build/gcc-4.8.2/debug/link-static&gt;libboost_context.a for lack of &lt;p../bin.v2/libs/context/build/gcc-4.8.2/debug/address-model-64/architecture-power/link-static&gt;asm/make_ppc64_sysv_elf_gas.o... ...skipped &lt;p../bin.v2/libs/context/test/test_context.test/gcc-4.8.2/debug/link-static&gt;test_context for lack of &lt;p../bin.v2/libs/context/build/gcc-4.8.2/debug/link-static&gt;libboost_context.a... ...skipped &lt;p../bin.v2/libs/context/test/test_context.test/gcc-4.8.2/debug/link-static&gt;test_context.run for lack of &lt;p../bin.v2/libs/context/test/test_context.test/gcc-4.8.2/debug/link-static&gt;test_context... ...skipped &lt;p../bin.v2/libs/coroutine/test/test_asymmetric_coroutine.test/gcc-4.8.2/debug/link-static&gt;test_asymmetric_coroutine for lack of &lt;p../bin.v2/libs/context/build/gcc-4.8.2/debug/link-static&gt;libboost_context.a... ...skipped &lt;p../bin.v2/libs/coroutine/test/test_asymmetric_coroutine.test/gcc-4.8.2/debug/link-static&gt;test_asymmetric_coroutine.run for lack of &lt;p../bin.v2/libs/coroutine/test/test_asymmetric_coroutine.test/gcc-4.8.2/debug/link-static&gt;test_asymmetric_coroutine... ...skipped &lt;p../bin.v2/libs/coroutine/test/test_symmetric_coroutine.test/gcc-4.8.2/debug/link-static&gt;test_symmetric_coroutine for lack of &lt;p../bin.v2/libs/context/build/gcc-4.8.2/debug/link-static&gt;libboost_context.a... ...skipped &lt;p../bin.v2/libs/coroutine/test/test_symmetric_coroutine.test/gcc-4.8.2/debug/link-static&gt;test_symmetric_coroutine.run for lack of &lt;p../bin.v2/libs/coroutine/test/test_symmetric_coroutine.test/gcc-4.8.2/debug/link-static&gt;test_symmetric_coroutine... ...failed updating 2 targets... ...skipped 11 targets... </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Wed, 05 Mar 2014 18:28:18 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:6</guid> <description> <p> try to add following to build/Jamfile.v2: </p> <p> alias asm_context_sources </p> <blockquote> <p> : asm/make_ppc64_sysv_elf_gas.S </p> <blockquote> <p> asm/jump_ppc64_sysv_elf_gas.S </p> </blockquote> <p> : &lt;address-model&gt;64 </p> <blockquote> <p> &lt;architecture&gt;power &lt;binary-format&gt;elf &lt;toolset&gt;gcc </p> </blockquote> <p> ; </p> </blockquote> </description> <category>Ticket</category> </item> <item> <author>Tony Reix <tony.reix@…></author> <pubDate>Thu, 06 Mar 2014 10:07:36 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:7</guid> <description> <p> Hi anonymous, </p> <p> There are several errors in the current Boost code for PPC64. (tests below were done in LoP PPC64/BE environment) </p> <p> 1) src/asm/make_ppc64_sysv_elf_gas.S This file contains use of macros, like: #if _CALL_ELF == 2 However, in build/Jamfile.v2, the gas action is defined as: actions gas { </p> <blockquote> <p> as -o "$(&lt;)" "$(&gt;)" </p> </blockquote> <p> } and that does not expend the Macros. There is a need of calling cpp. </p> <p> 2) Adding the lines you gave me in previous comment still leads to an error (both on BE and LE): [root@tbx6 build]# pwd /home/reixt/BOOST/modular-boost/libs/context/build [root@tbx6 build]# bjam warning: mismatched versions of Boost.Build engine and core warning: Boost.Build engine (bjam) is 2011.12.01 warning: Boost.Build core (at /home/reixt/BOOST/modular-boost/tools/build/src) is 2013.05-svn Performing configuration checks </p> <ul><li>symlinks supported : yes </li><li>hardlinks supported : yes </li></ul><p> /home/reixt/BOOST/modular-boost/tools/build/src/tools/link.jam:314: in link-recursively ERROR: rule "READLINK" unknown in module "link". ........ </p> <p> Maybe I have some mis-match in my environment. Or I'm not building in the correct place ? </p> <p> 3) src/asm/make_ppc64_sysv_elf_gas.S contains PPC 32bits assembler instructions, and it mixes PPC 32bits conventions with 64bits. So it cannot work. </p> <p> I need some clarifications. </p> <p> Thanks </p> <p> Tony </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Thu, 06 Mar 2014 12:47:58 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:8</guid> <description> <p> 1) you could try the modified Jamfile -&gt; the assembler files are passed to the preprocessor before applied to gas. </p> <p> 2) I guess it's a problem of the boost.build system </p> <p> 3) could you identify which instructions must be corrected and generate a patch for it? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Thu, 06 Mar 2014 12:48:35 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/9743 https://svn.boost.org/trac10/ticket/9743 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">Jamfile.v2</span> </li> </ul> <p> preprocessor before gas </p> Ticket Tony Reix <tony.reix@…> Thu, 06 Mar 2014 14:32:46 GMT <link>https://svn.boost.org/trac10/ticket/9743#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:9</guid> <description> <p> Hi, </p> <p> I'm nuts about complex assembler stuff. However I'm helped by an expert. He has found the following: </p> <p> 1) First, it seems that the API of jump_fcontext() has been changed (from 1.55 to today). </p> <p> intptr_t jump_fcontext( fcontext_t * ofc, <strong>fcontext_t const*</strong> nfc, intptr_t vp, bool preserve_fpu = true); </p> <p> =&gt; </p> <p> intptr_t jump_fcontext( fcontext_t * ofc, <strong>fcontext_t</strong> nfc, intptr_t vp, bool preserve_fpu = true); </p> <p> 2) It seems that you have made changes for Power that are not valid for Linux on Power (LoP), both BE and LE. </p> <p> So, we propose the following changes (see files that I gonna attach to the ticket) that are valid to Linux on PowerPC Big Endian or Little Endian (there is only 64bits systems, no 32bits systems): </p> <ul><li>make_fcontext : <ul><li>use of 64bits opcodes (std instead of stw) </li><li>about ELFv1 case: we grab the address and TOC of the context function. </li></ul></li></ul><ul><li>jump_fcontext : <ul><li>about ELFv1 case: we save/restore the TOC. </li><li>we don't save/restore R13 </li><li>about ELFv2: the address of the context function is passed through R12 </li></ul></li></ul><p> 4) We use the Macros: </p> <blockquote> <p> _CALL_ELF == 2 _CALL_LINUX </p> </blockquote> <p> 3) These jump/make files must be preprocessed by cpp, in order to process the Macros. I'm not sure that it works now with Jamfile.v2. My colleague tested his code in a much simpler environment. I gonna check asap. </p> <p> We have tested the files I gonna attach both on LoP BE and LE. Only 64bits. </p> <blockquote> <p> jump_ppc64_sysv_elf_gas.S make_ppc64_sysv_elf_gas.S </p> </blockquote> <p> In order to prevent confusion, I suggest that either you rename these 2 files another way (jump/make_ppc64_linux_elf_gas.S) or you mix all versions together (which may be difficult to maintain). I would suggest first solution. However, I do not yet master what the Jamfile.v2 of context lib does. </p> <p> Regards, </p> <p> Tony </p> </description> <category>Ticket</category> </item> <item> <author>Tony Reix <tony.reix@…></author> <pubDate>Thu, 06 Mar 2014 14:34:56 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/9743 https://svn.boost.org/trac10/ticket/9743 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">jump_ppc64_linux_elf_gas.S</span> </li> </ul> <p> Assembler code for Linux on Power BE/LE PPC64 </p> Ticket Tony Reix <tony.reix@…> Thu, 06 Mar 2014 14:35:14 GMT attachment set https://svn.boost.org/trac10/ticket/9743 https://svn.boost.org/trac10/ticket/9743 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">make_ppc64_linux_elf_gas.S</span> </li> </ul> <p> Assembler code for Linux on Power BE/LE PPC64 </p> Ticket Tony Reix <tony.reix@…> Thu, 06 Mar 2014 14:36:34 GMT <link>https://svn.boost.org/trac10/ticket/9743#comment:10 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:10</guid> <description> <p> I've attached the 2 new files, named: </p> <blockquote> <p> jump_ppc64_linux_elf_gas.S make_ppc64_linux_elf_gas.S </p> </blockquote> <p> (but use the name that seems appropriate for you). </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Thu, 06 Mar 2014 18:12:45 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:11 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:11</guid> <description> <p> Hi Tony, thx for the paches. I've changed the Jamfile - the asm files will be passed to the preprocessor before GNU as. Could you pull the last changes from git repo (branch develop) and execute the unit-tests (sub-directory test; call b2/bjam at command line)? best, Oliver </p> </description> <category>Ticket</category> </item> <item> <author>Tony Reix <tony.reix@…></author> <pubDate>Fri, 07 Mar 2014 10:58:51 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:12 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:12</guid> <description> <p> Hi Oliver, </p> <p> I've pulled the last changes in context directory from "develop" to my Ubuntu PC, and I've copied the files on my tests machines. However, I still have an error when running bjam in "modular-boost/libs/context/build" (on my test machines and on my PC), though it worked fine with v1.55 : </p> <p> tony@tony2:~/BOOST/modular-boost/libs/context/build$ bjam </p> <ul><li>symlinks supported : yes </li><li>hardlinks supported : yes </li></ul><p> /home/tony/BOOST/modular-boost/tools/build/src/tools/link.jam:314: in link-recursively ERROR: rule "<strong>READLINK</strong>" unknown in module "link". </p> <p> Any idea about why this does not work ? </p> <p> Anyway: If I run ./b2 at top and then run ../b2 in status directory, that works fine, and I've been able to check that all the context and coroutine tests are "<strong>passed</strong>", both on LoP LE (Ubuntu 14.04) and LOP BE (Fedora 19). </p> <p> Jamfile&lt;/home/tony/BOOST/modular-boost/libs/context/build&gt;.gas ../bin.v2/libs/context/build/gcc-4.8/debug/address-model-64/architecture-power/link-static/asm/make_ppc64_sysv_elf_gas.o Jamfile&lt;/home/tony/BOOST/modular-boost/libs/context/build&gt;.gas ../bin.v2/libs/context/build/gcc-4.8/debug/address-model-64/architecture-power/link-static/asm/jump_ppc64_sysv_elf_gas.o </p> <p> So, that seems perfect for Linux On Power in LE and BE modes ! :) </p> <p> However, please check that it does not break other PPC64 environment. </p> <p> Regards, </p> <p> Tony </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Fri, 07 Mar 2014 11:42:50 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:13 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:13</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/9743#comment:12" title="Comment 12">Tony Reix &lt;tony.reix@…&gt;</a>: </p> <blockquote class="citation"> <p> Hi Oliver, </p> <p> I've pulled the last changes in context directory from "develop" to my Ubuntu PC, and I've copied the files on my tests machines. However, I still have an error when running bjam in "modular-boost/libs/context/build" (on my test machines and on my PC), though it worked fine with v1.55 : </p> <p> tony@tony2:~/BOOST/modular-boost/libs/context/build$ bjam </p> <ul><li>symlinks supported : yes </li><li>hardlinks supported : yes </li></ul><p> /home/tony/BOOST/modular-boost/tools/build/src/tools/link.jam:314: in link-recursively ERROR: rule "<strong>READLINK</strong>" unknown in module "link". </p> <p> Any idea about why this does not work ? </p> </blockquote> <p> no idea - boost/tools/build/src/tools/link.jam is part of the boost.build system and I'm not an expert of boost.build. maybe you should add an bug for boost.build? </p> <blockquote class="citation"> <p> Anyway: If I run ./b2 at top and then run ../b2 in status directory, that works fine, and I've been able to check that all the context and coroutine tests are "<strong>passed</strong>", both on LoP LE (Ubuntu 14.04) and LOP BE (Fedora 19). </p> <p> Jamfile&lt;/home/tony/BOOST/modular-boost/libs/context/build&gt;.gas ../bin.v2/libs/context/build/gcc-4.8/debug/address-model-64/architecture-power/link-static/asm/make_ppc64_sysv_elf_gas.o Jamfile&lt;/home/tony/BOOST/modular-boost/libs/context/build&gt;.gas ../bin.v2/libs/context/build/gcc-4.8/debug/address-model-64/architecture-power/link-static/asm/jump_ppc64_sysv_elf_gas.o </p> <p> So, that seems perfect for Linux On Power in LE and BE modes ! :) </p> </blockquote> <p> that's really nice - I'll merge the changes to branch master </p> <blockquote class="citation"> <p> However, please check that it does not break other PPC64 environment. </p> </blockquote> <p> unfortunately I've no PPC64 system and boost does not have PPC64 regression tests for this platform. </p> <p> best, Oliver </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Fri, 07 Mar 2014 16:13:19 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/9743#comment:14 https://svn.boost.org/trac10/ticket/9743#comment:14 <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 Steven Watanabe Fri, 07 Mar 2014 16:53:59 GMT <link>https://svn.boost.org/trac10/ticket/9743#comment:15 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:15</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/9743#comment:12" title="Comment 12">Tony Reix &lt;tony.reix@…&gt;</a>: </p> <blockquote class="citation"> <p> tony@tony2:~/BOOST/modular-boost/libs/context/build$ bjam </p> <ul><li>symlinks supported : yes </li><li>hardlinks supported : yes </li></ul><p> /home/tony/BOOST/modular-boost/tools/build/src/tools/link.jam:314: in link-recursively ERROR: rule "<strong>READLINK</strong>" unknown in module "link". </p> <p> Any idea about why this does not work ? </p> </blockquote> <p> Your b2 is out of date. Please rebuild it. READLINK is a new builtin rule which is needed to support modular boost. </p> </description> <category>Ticket</category> </item> <item> <author>Tony Reix <tony.reix@…></author> <pubDate>Tue, 11 Mar 2014 10:05:13 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:16 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:16</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/9743#comment:15" title="Comment 15">steven_watanabe</a>: </p> <blockquote class="citation"> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/9743#comment:12" title="Comment 12">Tony Reix &lt;tony.reix@…&gt;</a>: </p> <blockquote class="citation"> <p> tony@tony2:~/BOOST/modular-boost/libs/context/build$ bjam </p> <ul><li>symlinks supported : yes </li><li>hardlinks supported : yes </li></ul><p> /home/tony/BOOST/modular-boost/tools/build/src/tools/link.jam:314: in link-recursively ERROR: rule "<strong>READLINK</strong>" unknown in module "link". </p> <p> Any idea about why this does not work ? </p> </blockquote> <p> Your b2 is out of date. Please rebuild it. READLINK is a new builtin rule which is needed to support modular boost. </p> </blockquote> <p> Hummm AFAIK, rebuilding b2 is done by: 1) remove it, 2) launch again ./bootstrap.sh . I've done this and it produced exactly the same file b2. Is there a special process I'm not aware of for rebuilding b2 ? Thx </p> </description> <category>Ticket</category> </item> <item> <author>ad@…</author> <pubDate>Wed, 12 Mar 2014 23:27:06 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:17 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:17</guid> <description> <p> I have a regression from 1.55 final to 1.56 develop and this change </p> <p> gcc-4.8.2 =&gt; target-os=windows =&gt; ok clang-darwin-4.2.1 =&gt; target-os=darwin =&gt; failure </p> <p> "cpp" is not known (I may symlink cpp to clang.exe) but after "as" doesn't know the switch -am </p> </description> <category>Ticket</category> </item> <item> <author>ad@…</author> <pubDate>Wed, 12 Mar 2014 23:29:08 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:18 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:18</guid> <description> <p> I have a regression from 1.55 final to 1.56 develop and this change<br /> </p> <p> gcc-4.8.2 =&gt; target-os=windows =&gt; ok <br /> gcc-4.8.2 =&gt; target-os=linux =&gt; ok <br /> clang-darwin-4.2.1 =&gt; target-os=darwin =&gt; failure<br /> </p> <p> "cpp" is not known (I may symlink cpp to clang.exe) but after "as" doesn't know the switch -am </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Thu, 13 Mar 2014 07:14:19 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:19 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:19</guid> <description> <p> is already fixed </p> </description> <category>Ticket</category> </item> <item> <author>class101 <ad@…></author> <pubDate>Thu, 13 Mar 2014 12:23:26 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9743#comment:20 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9743#comment:20</guid> <description> <p> Thank you olli , indeed fixed, posted my results <a class="changeset" href="https://svn.boost.org/trac10/changeset/1" title="Import core sources for SVNmanger 0.38 ">[1]</a> </p> <p> <a class="changeset" href="https://svn.boost.org/trac10/changeset/1" title="Import core sources for SVNmanger 0.38 ">[1]</a> <a class="ext-link" href="https://svn.boost.org/trac/boost/ticket/9774#comment:4"><span class="icon">​</span>https://svn.boost.org/trac/boost/ticket/9774#comment:4</a> </p> </description> <category>Ticket</category> </item> </channel> </rss>