id summary reporter owner description type status milestone component version severity resolution keywords cc 9743 Patch for context/coroutine assembler for Linux On Power (BE & LE) Tony Reix olli "Hi, Tests of context and coroutine libraries produce cores on Linux on Power (LoP), Little Endian and Big Endian. LoP LE: Ubuntu 14.04 : ""uname -m"" --> ppc64le __LITTLE_ENDIAN__ defined. LoP BE: Fedora 19 : ""uname -m"" --> ppc64 __BIG_ENDIAN__ defined. Linux On Power is only 64bits. No 32bits version. The source codes to be changed are: - libs/context/build/Jamfile.v2 - libs/context/src/asm : PPC assembler files jump...S and make...S jump_ppc64_sysv_elf_gas.S make_ppc64_sysv_elf_gas.S 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&BE with #ifdef (easier for maintenance), or one file for LE and one other for BE. To be discussed. Looking at Jamfile.v2 file, I see several cases for PPC : - power - 32 - elf - gcc - power - 32 - elf - qcc - power - 64 - elf - gcc - power - 64 - elf - qcc (I'm not an expert of Jam) I guess that ""power - 32 - *"" cases should be let as they are, for compatibility with older or different environments. About ""power - 64"", the files require changes for running fine on LoP BE & 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.) So, I need some help for finalizing my patch: - How to name the files ? which code is now different from the existing ones: jump_ppc64_sysv_elf_gas.S make_ppc64_sysv_elf_gas.S - Is it possible to use #fidef in these .S files for having one file for LE and BE ? I thought to use: __LITTLE_ENDIAN__ and __BIG_ENDIAN__ macros. I still have to check that Jam handle them. - How should I change Jam.v2 ? I'll provide the modified ppc64 files I've built, in this ""ticket"". Regards, Tony" Patches closed To Be Determined context Boost 1.55.0 Problem fixed