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>