Re: [Pixman] 'AV_386_SSSE3' undeclared when building pixman0.34.1 with Solaris10-u2

2016-04-04 Thread Yike Zhang
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

2016-04-04 Thread Yike Zhang
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

2016-04-04 Thread Yike Zhang
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