Bug 183248 - multimedia/libxine broken on i386 after recent update
Summary: multimedia/libxine broken on i386 after recent update
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Juergen Lock
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-23 21:20 UTC by bsd
Modified: 2013-11-16 15:28 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description bsd 2013-10-23 21:20:00 UTC
After recent multimedia/libxine port update it does not compile on i386, tested on gcc only system and clang compiled too. Relevant (hopefully) part of log:

./greedy2frame_template_sse2.c:176:38: error: register %rbp is only available in 64-bit mode
            "movdqa  (%3), %%xmm0               \n\t" /* xmm0 = T0 */
                                                  ^
<inline asm>:3:11: note: instantiated into assembly here
        movdqa  (%rbp,%esi), %xmm3              
                 ^~~~~
In file included from greedy2frame.c:55:
./greedy2frame_template_sse2.c:177:42: error: register %rbp is only available in 64-bit mode
            "movdqa  (%q4,%2), %%xmm3           \n\t" /* xmm3 = B1 */
                                                  ^
<inline asm>:4:11: note: instantiated into assembly here
        movdqa  (%rbp,%ecx), %xmm2              
                 ^~~~~
In file included from greedy2frame.c:55:
./greedy2frame_template_sse2.c:193:40: error: register %rbp is only available in 64-bit mode
            "pcmpeqd %%xmm7, %%xmm5             \n\t"
                                                  ^
<inline asm>:14:17: note: instantiated into assembly here
        prefetcht0  64(%rbp,%esi)               
                       ^~~~~
In file included from greedy2frame.c:55:
./greedy2frame_template_sse2.c:195:40: error: register %rbp is only available in 64-bit mode
            "prefetcht0  64(%q4,%2)             \n\t"
                                                  ^
<inline asm>:15:17: note: instantiated into assembly here
        prefetcht0  64(%rbp,%ecx)               
 
All options were left at default for all ports compiled.

How-To-Repeat: Upgrade ports tree and try to build multimedia/libxine port with all options at defaults for every port involved in building process.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-10-23 21:20:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->nox

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2013-10-23 22:33:14 UTC
Author: nox
Date: Wed Oct 23 21:33:06 2013
New Revision: 331432
URL: http://svnweb.freebsd.org/changeset/ports/331432

Log:
  (Attempt to) fix build on i386 by readding equivalent patch from
  ports/181786 that was lost in the update to 1.2.4 .
  
  PR:		ports/183248 [1], ports/181786 (related to)
  Submitted by:	Milan Obuch <bsd@dino.sk> [1]

Added:
  head/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c   (contents, props changed)

Added: head/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/libxine/files/patch-src-post-deinterlace-plugins-greedy2frame_template_sse2.c	Wed Oct 23 21:33:06 2013	(r331432)
@@ -0,0 +1,28 @@
+--- src/post/deinterlace/plugins/greedy2frame_template_sse2.c.orig
++++ src/post/deinterlace/plugins/greedy2frame_template_sse2.c
+@@ -174,8 +174,8 @@ static void DeinterlaceGreedy2Frame_SSE2
+         */
+             "movdqa  (%2), %%xmm1		\n\t" /* xmm1 = T1 */
+             "movdqa  (%3), %%xmm0		\n\t" /* xmm0 = T0 */
+-            "movdqa  (%q4,%2), %%xmm3		\n\t" /* xmm3 = B1 */
+-            "movdqa  (%q4,%3), %%xmm2		\n\t" /* xmm2 = B0 */
++            "movdqa  (%2,%4), %%xmm3		\n\t" /* xmm3 = B1 */
++            "movdqa  (%3,%4), %%xmm2		\n\t" /* xmm2 = B0 */
+ 
+             /* calculate |T1-T0| keep T1 put result in xmm5 */
+             "movdqa  %%xmm1, %%xmm5		\n\t"
+@@ -192,11 +192,11 @@ static void DeinterlaceGreedy2Frame_SSE2
+             "pcmpgtb %0, %%xmm5			\n\t"
+             "pcmpeqd %%xmm7, %%xmm5		\n\t"
+ 
+-            "prefetcht0  64(%q4,%2)		\n\t"
+-            "prefetcht0  64(%q4,%3)		\n\t"
++            "prefetcht0  64(%2,%4)		\n\t"
++            "prefetcht0  64(%3,%4)		\n\t"
+           :
+           : "m" (GreedyTwoFrameThreshold128),
+-            "m" (*Destc), "r" (T1), "r" (T0), "r" (Pitch) );
++            "m" (*Destc), "r" (T1), "r" (T0), "r" ((register_t)Pitch) );
+ 
+           asm volatile (
+             /* calculate |B1-B0| keep B1 put result in xmm4 */
_______________________________________________
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 Juergen Lock freebsd_committer freebsd_triage 2013-11-16 15:28:47 UTC
State Changed
From-To: open->closed

Committed. Thanks!