Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 May 2012 13:59:34 +0300
From:      George Liaskos <geo.liaskos@gmail.com>
To:        Andriy Gapon <avg@freebsd.org>
Cc:        chromium@freebsd.org
Subject:   Re: chromium-19.0.1084.52 build failed with gcc 4.6 on amd 10h cpu
Message-ID:  <CANcjpODckwCdMXDdfum37nOVO%2BdFwy-GGMPiJmA7ScQSHWPp9Q@mail.gmail.com>
In-Reply-To: <4FC5F236.1020809@FreeBSD.org>
References:  <4FC47CF8.7020909@FreeBSD.org> <CANcjpODFwTL6_5pJ2uvv2vMpsbfV%2BA3qx2Zx0njuV=Ts%2BuObjg@mail.gmail.com> <4FC5F236.1020809@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, May 30, 2012 at 1:11 PM, Andriy Gapon <avg@freebsd.org> wrote:
> on 30/05/2012 10:47 George Liaskos said the following:
>> On Tue, May 29, 2012 at 10:38 AM, Andriy Gapon <avg@freebsd.org> wrote:
>>> =C2=A0CXX(target)
>>> out/Release/obj.target/skia_opts_ssse3/third_party/skia/src/opts/SkBitm=
apProcState_opts_SSSE3.o
>>> In file included from
>>> third_party/skia/src/opts/SkBitmapProcState_opts_SSSE3.cpp:8:0:
>>> /usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd10.0/4.6.3/include/tmmin=
trin.h:31:3:
>>> error: #error "SSSE3 instruction set not enabled"
>>>
>>> A snippet from the tmmintrin.h:
>>> #ifndef __SSSE3__
>>> # error "SSSE3 instruction set not enabled"
>>> #else
>>>
>>> gcc command line during the build:
>>> =C2=A0g++46 '-D_FILE_OFFSET_BITS=3D64' '-DNO_TCMALLOC' '-DDISABLE_NACL'
>>> '-DCHROMIUM_BUILD' '-DUSE_NSS=3D1' '-DTOOLKIT_USES_GTK=3D1' '-DGTK_DISA=
BLS=3D1'
>>> '-DENABLE_REMOTING=3D1' '-DENABLE_P2P_APIS=3D1' '-DUSE_PROPRIETARY_CODE=
CS'
>>> '-DENABLE_CONFIGURATION_POLICY' '-DENABLE_INPUT_SPEECH' '-IONS' '-DENAB=
LE_GPU=3D1'
>>> '-DENABLE_EGLIMAGE=3D1' '-DUSE_SKIA=3D1' '-DENABLE_REGISTER_PROTOCOL_HA=
NDLER=3D1'
>>> '-DENABLE_WEB_INTENTS=3D1' '-DENABLE_ON=3D1' '-DENABLE_THEMES=3D1'
>>> '-DENABLE_AUTOMATION=3D1' '-DNDEBUG' '-DNVALGRIND'
>>> '-DDYNAMIC_ANNOTATIONS_ENABLED=3D0' -I. -Iskia/config -Ithirdde/config
>>> -Ithird_party/skia/include/core -Ithird_party/skia/src/core =C2=A0-pthr=
ead
>>> -fno-exceptions -fno-strict-aliasing -Wno-unused-param-field-initialize=
rs
>>> -fvisibility=3Dhidden -pipe -fPIC -Wno-format -O2 -fno-ident -fdata-sec=
tions
>>> -ffunction-sections -fno-rtti -fno-threvisibility-inlines-hidden -Wno-d=
eprecated
>>> -MMD -MF
>>> out/Release/.deps/out/Release/obj.target/skia_opts_ssse3/third_party/sk=
ia/src/opts/_opts_SSSE3.o.d.raw
>>> -O2 -pipe -O2 -fno-strict-aliasing -pipe -march=3Dk8-sse3 -Wno-error
>>> -Wl,-rpath=3D/usr/local/lib/gcc46 -march=3Damdfam10aliasing -pipe -marc=
h=3Damdfam10 -c
>>> -o
>>> out/Release/obj.target/skia_opts_ssse3/third_party/skia/src/opts/SkBitm=
apProcState_opts_SSSE3.o
>>> trc/opts/SkBitmapProcState_opts_SSSE3.cp
>>>
>>> According to the wikipedia (I know, I know) SSSE3 [note three S-s] is s=
upported
>>> only on newest AMD processors, I have an older generation (Athlon II):
>>> http://en.wikipedia.org/wiki/SSSE3#CPUs_with_SSSE3
>>> (while on Intel it is supported for a far wider range of the CPUs).
>>>
>>> Is the SSSE3 support mis-detected or mis-enabled?
>>>
>>> Final notes:
>>> $ g++46 -E -dM -O2 -march=3Damdfam10 -x c /dev/null | fgrep SSE
>>> #define __SSE2_MATH__ 1
>>> #define __SSE4A__ 1
>>> #define __SSE_MATH__ 1
>>> #define __SSE2__ 1
>>> #define __SSE__ 1
>>> #define __SSE3__ 1
>>>
>>> CPU: AMD Athlon(tm) II X2 250 Processor (3013.79-MHz K8-class CPU)
>>> =C2=A0Origin =3D "AuthenticAMD" =C2=A0Id =3D 0x100f62 =C2=A0Family =3D =
10 =C2=A0Model =3D 6 =C2=A0Stepping =3D 2
>>>
>>> Features=3D0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,=
PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
>>> =C2=A0Features2=3D0x802009<SSE3,MON,CX16,POPCNT>
>>> =C2=A0AMD Features=3D0xee500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM=
,3DNow!+,3DNow!>
>>> =C2=A0AMD
>>> Features2=3D0x37ff<LAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS,Prefetch,OSVW=
,IBS,SKINIT,WDT>
>>> --
>>> Andriy Gapon
>>
>> Hello,
>>
>> I will have time later today to work on the issue; in the meantime you
>> can probably disable ssse3 from skia/skia.gyp [0].
>> Search for -mssse3, remove freebsd and you should be able to compile.
>>
>> [0] http://src.chromium.org/svn/trunk/src/skia/skia.gyp
>
> Hmm, the problem appears to be the opposite - it doesn't look like -mssse=
3 was
> actually passed to the compiler...
>
> --
> Andriy Gapon

Duhh, sorry I am multitasking at work.

Then if i understand correctly we should drop the dependency to the
skia_opts_ssse3 target.
There is a line[1135] which does this for android, try to add freebsd
in the condition.

The skia_opts_ssse3 target includes SkBitmapProcState_opts_SSSE3.cpp,
which uses tmmintrin.h.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANcjpODckwCdMXDdfum37nOVO%2BdFwy-GGMPiJmA7ScQSHWPp9Q>