Bug 171255 - Fix www/firefox on FreeBSD 7.4/amd64
Fix www/firefox on FreeBSD 7.4/amd64
Status: Closed FIXED
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s)
Latest
Any Any
: Normal Affects Only Me
Assigned To: gecko
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-02 15:30 UTC by Christian Weisgerber
Modified: 2013-02-23 23:05 UTC (History)
1 user (show)

See Also:


Attachments
file.diff (1.53 KB, patch)
2012-09-02 15:30 UTC, Christian Weisgerber
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christian Weisgerber freebsd_committer 2012-09-02 15:30:10 UTC
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.
Comment 1 Edwin Groothuis freebsd_committer 2012-09-02 15:30:58 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gecko

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter freebsd_committer 2012-09-03 22:16:11 UTC
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"
Comment 3 Florian Smeets freebsd_committer 2012-09-03 23:34:02 UTC
State Changed
From-To: open->patched

Patched. Awaiting further discussion of possible MFCs to stable/7.
Comment 4 Florian Smeets freebsd_committer 2013-02-23 23:05:24 UTC
State Changed
From-To: patched->closed

Close this PR as a MFC to stable/7 is very unlikely at this point.