pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/47035: xine-lib function 'affine_1d_MMX': eq2.c expected string literal before ')'



The following reply was made to PR pkg/47035; it has been noted by GNATS.

From: David Shao <davshao%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: pkg/47035: xine-lib function 'affine_1d_MMX': eq2.c expected
 string literal before ')'
Date: Thu, 11 Oct 2012 09:33:57 -0700

 multimedia/xine-lib build broken for DragonFly has been observed for
 pkgsrc-2012Q3 as well as pkgsrc current.
 As xine-lib is a dependency for kde-runetime4 and pkgsrc-2012Q3 will
 apparently be the version used for
 the upcoming DragonFly 3.2 release, it is important that this problem
 be fixed in both pkgsrc current and
 pkgsrc-2012Q3.
 
 Further testing has revealed that the DragonFly compiler
 
  cc --version
 cc (DragonFly) 4.4.7 2012.03.13
 
 does not accept having an empty clobbered registers list in constructs
 of the form:
 
 asm volatile (
 ...
 :
 :
 :  /* clobbered registers */
 );
 
 A recent patch to xine-lib to correct a compilation problem for
 NetBSD, whose compiler evidently does accept such constructs,
 introduced exactly such a construct into src/post/planar/eq2.c.
 
 The patch to the patch patch-src-post-planar-eq2.c results in a
 xine-lib that can build on both NetBSD amd64 and DragonFly x86_64.
 It simply removes the superfluous colon that creates the empty
 clobbered registers list.
 
  --- src/post/planar/eq2.c.orig        2012-02-05 19:17:02.000000000 +0000
  +++ src/post/planar/eq2.c
 -@@ -126,8 +126,13 @@ void affine_1d_MMX (eq2_param_t *par, un
 +@@ -126,8 +126,12 @@ void affine_1d_MMX (eq2_param_t *par, un
 
     while (h-- > 0) {
       asm volatile (
 @@ -21,13 +12,12 @@ eq2.c:128:5: error: 'asm' operand has impossible 
constraints
  +      "movq (%1), %%mm4 \n\t"
  +      :
  +      : "r" (brvec), "r" (contvec)
 -+      :
  +    );
  +    asm volatile (
         "pxor %%mm0, %%mm0 \n\t"
         "movl %4, %%eax\n\t"
         ASMALIGN(4)
 


Home | Main Index | Thread Index | Old Index