www/firefox fails to build on 7.4-STABLE/amd64, because the old as(1) from binutils 2.15 does not support SSE3 instructions. The patch below, adapted from https://bugzilla.mozilla.org/show_bug.cgi?id=786995 fixes this. Presumably this is also required for other ports of the Mozilla family.
Responsible Changed From-To: freebsd-ports-bugs->gecko Over to maintainer (via the GNATS Auto Assign Tool)
Author: flo Date: Mon Sep 3 21:16:00 2012 New Revision: 303621 URL: http://svn.freebsd.org/changeset/ports/303621 Log: - fix build of www/firefox, www/seamonkey and mail/thunderbird on stable/7 after r219639 which MFC'd SSSE3 instruction set to gcc but not to gas. Configure picks up SSSE3 support in gcc but linking fails with {standard input}:283: Error: no such instruction: `pmaddubsw %xmm2,%xmm3' {standard input}:400: Error: no such instruction: `pmaddubsw %xmm0,%xmm1' {standard input}:544: Error: no such instruction: `pmaddubsw %xmm0,%xmm1' PR: ports/171255 Submitted by: naddy, Jan Beich <jbeich@tormail.org> Added: head/mail/thunderbird/files/patch-bug786995 (contents, props changed) head/www/firefox/files/patch-bug786995 (contents, props changed) head/www/seamonkey/files/patch-bug786995 (contents, props changed) Added: head/mail/thunderbird/files/patch-bug786995 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/mail/thunderbird/files/patch-bug786995 Mon Sep 3 21:16:00 2012 (r303621) @@ -0,0 +1,36 @@ +# Bug 786995 - configure should check for SSSE3 support in the whole toolchain + +--- mozilla/configure.in.orig 2012-09-02 00:37:29.000000000 +0200 ++++ mozilla/configure.in 2012-09-02 00:38:50.000000000 +0200 +@@ -1710,15 +1710,15 @@ + _MOZ_RTTI_FLAGS_OFF=-fno-rtti + + # Check for -mssse3 on $CC +- AC_MSG_CHECKING([for -mssse3 option to $CC]) +- HAVE_COMPILER_FLAG_MSSSE3= ++ AC_MSG_CHECKING([if toolchain supports -mssse3 option]) ++ HAVE_TOOLCHAIN_SUPPORT_MSSSE3= + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -mssse3" +- AC_TRY_COMPILE(,,AC_MSG_RESULT([yes]) +- [HAVE_COMPILER_FLAG_MSSSE3=1], ++ AC_TRY_COMPILE([asm ("pmaddubsw %xmm2,%xmm3");],,AC_MSG_RESULT([yes]) ++ [HAVE_TOOLCHAIN_SUPPORT_MSSSE3=1], + AC_MSG_RESULT([no])) + CFLAGS=$_SAVE_CFLAGS +- AC_SUBST(HAVE_COMPILER_FLAG_MSSSE3) ++ AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSSE3) + + # Turn on GNU-specific warnings: + # -Wall - turn on a lot of warnings +--- mozilla/gfx/skia/Makefile.in.orig 2012-09-02 00:39:00.000000000 +0200 ++++ mozilla/gfx/skia/Makefile.in 2012-09-02 00:39:21.000000000 +0200 +@@ -365,7 +365,7 @@ + SkUtils_opts_SSE2.cpp \ + opts_check_SSE2.cpp \ + $(NULL) +-ifdef HAVE_COMPILER_FLAG_MSSSE3 ++ifdef HAVE_TOOLCHAIN_SUPPORT_MSSSE3 + DEFINES += -DSK_BUILD_SSSE3 + CPPSRCS += SkBitmapProcState_opts_SSSE3.cpp + endif Added: head/www/firefox/files/patch-bug786995 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/firefox/files/patch-bug786995 Mon Sep 3 21:16:00 2012 (r303621) @@ -0,0 +1,36 @@ +# Bug 786995 - configure should check for SSSE3 support in the whole toolchain + +--- configure.in.orig 2012-09-02 00:37:29.000000000 +0200 ++++ configure.in 2012-09-02 00:38:50.000000000 +0200 +@@ -1710,15 +1710,15 @@ + _MOZ_RTTI_FLAGS_OFF=-fno-rtti + + # Check for -mssse3 on $CC +- AC_MSG_CHECKING([for -mssse3 option to $CC]) +- HAVE_COMPILER_FLAG_MSSSE3= ++ AC_MSG_CHECKING([if toolchain supports -mssse3 option]) ++ HAVE_TOOLCHAIN_SUPPORT_MSSSE3= + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -mssse3" +- AC_TRY_COMPILE(,,AC_MSG_RESULT([yes]) +- [HAVE_COMPILER_FLAG_MSSSE3=1], ++ AC_TRY_COMPILE([asm ("pmaddubsw %xmm2,%xmm3");],,AC_MSG_RESULT([yes]) ++ [HAVE_TOOLCHAIN_SUPPORT_MSSSE3=1], + AC_MSG_RESULT([no])) + CFLAGS=$_SAVE_CFLAGS +- AC_SUBST(HAVE_COMPILER_FLAG_MSSSE3) ++ AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSSE3) + + # Turn on GNU-specific warnings: + # -Wall - turn on a lot of warnings +--- gfx/skia/Makefile.in.orig 2012-09-02 00:39:00.000000000 +0200 ++++ gfx/skia/Makefile.in 2012-09-02 00:39:21.000000000 +0200 +@@ -365,7 +365,7 @@ + SkUtils_opts_SSE2.cpp \ + opts_check_SSE2.cpp \ + $(NULL) +-ifdef HAVE_COMPILER_FLAG_MSSSE3 ++ifdef HAVE_TOOLCHAIN_SUPPORT_MSSSE3 + DEFINES += -DSK_BUILD_SSSE3 + CPPSRCS += SkBitmapProcState_opts_SSSE3.cpp + endif Added: head/www/seamonkey/files/patch-bug786995 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/seamonkey/files/patch-bug786995 Mon Sep 3 21:16:00 2012 (r303621) @@ -0,0 +1,36 @@ +# Bug 786995 - configure should check for SSSE3 support in the whole toolchain + +--- mozilla/configure.in.orig 2012-09-02 00:37:29.000000000 +0200 ++++ mozilla/configure.in 2012-09-02 00:38:50.000000000 +0200 +@@ -1710,15 +1710,15 @@ + _MOZ_RTTI_FLAGS_OFF=-fno-rtti + + # Check for -mssse3 on $CC +- AC_MSG_CHECKING([for -mssse3 option to $CC]) +- HAVE_COMPILER_FLAG_MSSSE3= ++ AC_MSG_CHECKING([if toolchain supports -mssse3 option]) ++ HAVE_TOOLCHAIN_SUPPORT_MSSSE3= + _SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -mssse3" +- AC_TRY_COMPILE(,,AC_MSG_RESULT([yes]) +- [HAVE_COMPILER_FLAG_MSSSE3=1], ++ AC_TRY_COMPILE([asm ("pmaddubsw %xmm2,%xmm3");],,AC_MSG_RESULT([yes]) ++ [HAVE_TOOLCHAIN_SUPPORT_MSSSE3=1], + AC_MSG_RESULT([no])) + CFLAGS=$_SAVE_CFLAGS +- AC_SUBST(HAVE_COMPILER_FLAG_MSSSE3) ++ AC_SUBST(HAVE_TOOLCHAIN_SUPPORT_MSSSE3) + + # Turn on GNU-specific warnings: + # -Wall - turn on a lot of warnings +--- mozilla/gfx/skia/Makefile.in.orig 2012-09-02 00:39:00.000000000 +0200 ++++ mozilla/gfx/skia/Makefile.in 2012-09-02 00:39:21.000000000 +0200 +@@ -365,7 +365,7 @@ + SkUtils_opts_SSE2.cpp \ + opts_check_SSE2.cpp \ + $(NULL) +-ifdef HAVE_COMPILER_FLAG_MSSSE3 ++ifdef HAVE_TOOLCHAIN_SUPPORT_MSSSE3 + DEFINES += -DSK_BUILD_SSSE3 + CPPSRCS += SkBitmapProcState_opts_SSSE3.cpp + endif _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->patched Patched. Awaiting further discussion of possible MFCs to stable/7.
State Changed From-To: patched->closed Close this PR as a MFC to stable/7 is very unlikely at this point.