Re: [Pixman] 'AV_386_SSSE3' undeclared when building pixman0.34.1 with Solaris10-u2
Thanks Alan, I would try with that option. Hopefully we would not came across any functions actually invoke SSSE3 supported feature. Best Regards Yike -Original Message- From: Alan Coopersmith [mailto:alan.coopersm...@oracle.com] Sent: Tuesday, April 05, 2016 10:01 AM To: Yike Zhang; pixman@lists.freedesktop.org Subject: Re: [Pixman] 'AV_386_SSSE3' undeclared when building pixman0.34.1 with Solaris10-u2 On 04/ 4/16 06:51 PM, Yike Zhang wrote: > Hi Alan, > > Thanks so much for your promptly response. Based on your valuable input, I > find the following RN > > https://urldefense.proofpoint.com/v2/url?u=http-3A__www.c0t0d0s0.org_archives_4974-2DWhats-2Dnew-2Din-2DSolaris-2D10-2D1008-2Dalso-2Dknown-2Das-2DUpdate-2D6.html=BQICaQ=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs=omJQL_siy7L8qYdXDzXVtIRGnyB5mkyk91I8ZKguO3s=iVXmzHLk6_vYCC59etKsOrnE_1Cgd8nTpSiw0K-MzEo=zyMHfos2JwwkowxbJERvbcXEVfLP55YVq0Gc2fCUnOk= > > and > x86: Kernel Support for Intel SSSE3, SSE4.1, SSE4.2, and AMD SSE4A > > Am I finding the correct path? > > It is a little bit embarrassing to say that the build system we kept for > Solaris is still based on 10-u2, company-wide unfortunately. So to adding a > fresh new 10-u6 build env might bring much effort. > > So may I know if any other simpler solution if we have to stick to 10-u2 (CC > flag?) I've not tried it, but I can't see any reason why "cc -DAV_386_SSSE3=0x40" wouldn't work for that particular bit of code. If you need to actually call other functions added in that support, you'd probably need something more though. -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - https://urldefense.proofpoint.com/v2/url?u=http-3A__blogs.oracle.com_alanc=BQICaQ=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs=omJQL_siy7L8qYdXDzXVtIRGnyB5mkyk91I8ZKguO3s=iVXmzHLk6_vYCC59etKsOrnE_1Cgd8nTpSiw0K-MzEo=vwBypDbJqpvvNfIUouiI9ETsZ5tU5L8cwGqk9DDvKAw= ___ Pixman mailing list Pixman@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/pixman
Re: [Pixman] 'AV_386_SSSE3' undeclared when building pixman0.34.1 with Solaris10-u2
Hi Alan, Thanks so much for your promptly response. Based on your valuable input, I find the following RN http://www.c0t0d0s0.org/archives/4974-Whats-new-in-Solaris-10-1008-also-known-as-Update-6.html and x86: Kernel Support for Intel SSSE3, SSE4.1, SSE4.2, and AMD SSE4A Am I finding the correct path? It is a little bit embarrassing to say that the build system we kept for Solaris is still based on 10-u2, company-wide unfortunately. So to adding a fresh new 10-u6 build env might bring much effort. So may I know if any other simpler solution if we have to stick to 10-u2 (CC flag?) Br Yike -Original Message- From: Alan Coopersmith [mailto:alan.coopersm...@oracle.com] Sent: Tuesday, April 05, 2016 9:20 AM To: Yike Zhang; pixman@lists.freedesktop.org Subject: Re: [Pixman] 'AV_386_SSSE3' undeclared when building pixman0.34.1 with Solaris10-u2 On 04/ 4/16 05:56 PM, Yike Zhang wrote: > Hello there, > > May I know if anyone hit the similar issue and guide me how to work around it? > > Double check and found that AV_386_SSSE3 is not defined in the > solaris10-u2 header file, According to our bug tracker, it was added in Solaris 10 Update 6 (Solaris 10 8/08). Can you not update to an OS that's only 8 years old instead of sticking to the 10 year old release? -- -Alan Coopersmith- alan.coopersm...@oracle.com Oracle Solaris Engineering - https://urldefense.proofpoint.com/v2/url?u=http-3A__blogs.oracle.com_alanc=BQICaQ=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs=omJQL_siy7L8qYdXDzXVtIRGnyB5mkyk91I8ZKguO3s=YeedvpoCAygWcs3GI-ZwR-isL7L_B2xxVyqXlpuwAPE=p1_0V6QH6eSsjojymYMCIAsGxw-f3Wo0Ne3AN11_lPU= ___ Pixman mailing list Pixman@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/pixman
[Pixman] 'AV_386_SSSE3' undeclared when building pixman0.34.1 with Solaris10-u2
Hello there, May I know if anyone hit the similar issue and guide me how to work around it? I am trying to build and pixman library for Solaris10, but get the following error 2016-03-30 18:15:32 gobuilds.Compile : 18:15:32.994 make INFO CC pixman-x86.lo 2016-03-30 18:15:33 gobuilds.Compile : 18:15:33.023 make INFO pixman-x86.c: In function 'detect_cpu_features': 2016-03-30 18:15:33 gobuilds.Compile : 18:15:33.023 make INFO pixman-x86.c:68: error: 'AV_386_SSSE3' undeclared (first use in this function) 2016-03-30 18:15:33 gobuilds.Compile : 18:15:33.023 make INFO pixman-x86.c:68: error: (Each undeclared identifier is reported only once 2016-03-30 18:15:33 gobuilds.Compile : 18:15:33.023 make INFO pixman-x86.c:68: error: for each function it appears in.) 2016-03-30 18:15:33 gobuilds.Compile : 18:15:33.025 make INFO make[2]: *** [pixman-x86.lo] Error 1 Double check and found that AV_386_SSSE3 is not defined in the solaris10-u2 header file, ... #define AV_386_FPU 0x1 /* x87-style floating point */ #define AV_386_TSC 0x2 /* rdtsc insn */ #define AV_386_CX8 0x4 /* cmpxchg8b insn */ #define AV_386_SEP 0x8 /* sysenter and sysexit */ #define AV_386_AMD_SYSC 0x00010 /* AMD's syscall and sysret */ #define AV_386_CMOV 0x00020 /* conditional move insns */ #define AV_386_MMX 0x00040 /* MMX insns */ #define AV_386_AMD_MMX 0x00080 /* AMD's MMX insns */ #define AV_386_AMD_3DNow0x00100 /* AMD's 3Dnow! insns */ #define AV_386_AMD_3DNowx 0x00200 /* AMD's 3Dnow! extended insns */ #define AV_386_FXSR 0x00400 /* fxsave and fxrstor */ #define AV_386_SSE 0x00800 /* SSE insns and regs */ #define AV_386_SSE2 0x01000 /* SSE2 insns and regs */ #define AV_386_PAUSE0x02000 /* use pause insn (in spin loops) */ #define AV_386_SSE3 0x04000 /* SSE3 insns and regs */ #define AV_386_MON 0x08000 /* monitor/mwait insns */ #define AV_386_CX16 0x1 /* cmpxchg16b insn */... However, I could find related definition in the header file for Solaris11, see cat ./solaris11_/usr/include/sys/auxv_386.h |grep AV_386_SS*E3 #define AV_386_SSE3 0x04000 /* SSE3 insns and regs */ #define AV_386_SSSE30x40 /* Intel SSSE3 insns */ May I know do I have to manipulate the 10u2 header file by including related definition, or I need to update the pixman source code like diff --git a/pixman/pixman-x86.c b/pixman/pixman-x86.c index 05297c4..32b4018 100644 --- a/pixman/pixman-x86.c +++ b/pixman/pixman-x86.c @@ -65,8 +65,10 @@ detect_cpu_features (void) features |= X86_SSE; if (result & AV_386_SSE2) features |= X86_SSE2; +#ifdef USE_SSSE3 if (result & AV_386_SSSE3) features |= X86_SSSE3; +#endif } Thanks Yike ___ Pixman mailing list Pixman@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/pixman