ports/74045: maintainer-update: multimedia/transcode: unbreak on recent GCCs

Hendrik Scholz hendrik at scholz.net
Wed Nov 17 16:40:33 UTC 2004


>Number:         74045
>Category:       ports
>Synopsis:       maintainer-update: multimedia/transcode: unbreak on recent GCCs
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 17 16:40:16 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Hendrik Scholz
>Release:        FreeBSD 6.0-CURRENT i386
>Organization:
Freenet Cityline GmbH
>Environment:

FreeBSD zoidberg.freenet-ag.de 6.0-CURRENT FreeBSD 6.0-CURRENT #0: Wed Nov 17 09:02:02 CET 2004     hscholz at zoidberg.freenet-ag.de:/usr/src/sys/i386/compile/ZOIDBERG  i386
>Description:

transcode doesn't compile on recent -current systems due to gcc changes.
It will complain about unknown symbols ff_pw_20 and ff_pw_3 while linking.

The fix has been provided on the transcode mailinglist by Peter Knaggs.

>How-To-Repeat:

Try to make transcode in /usr/ports/multimedia/transcode
The error will happen in ffmpeg/libavcodec
>Fix:

Save as files/patch-ffmpeg:libavcodec:i386:dsputil_mmx.c

--- ffmpeg/libavcodec/i386/dsputil_mmx.c.orig	Wed Nov 17 17:30:15 2004
+++ ffmpeg/libavcodec/i386/dsputil_mmx.c	Wed Nov 17 17:30:33 2004
@@ -31,8 +31,8 @@
 static const uint64_t mm_wone __attribute__ ((aligned(8))) = 0x0001000100010001ULL;
 static const uint64_t mm_wtwo __attribute__ ((aligned(8))) = 0x0002000200020002ULL;
 
-static const uint64_t ff_pw_20 __attribute__ ((aligned(8))) = 0x0014001400140014ULL;
-static const uint64_t ff_pw_3  __attribute__ ((aligned(8))) = 0x0003000300030003ULL;
+static const uint64_t ff_pw_20 __attribute__ ((aligned(8), used)) = 0x0014001400140014ULL;
+static const uint64_t ff_pw_3  __attribute__ ((aligned(8), used)) = 0x0003000300030003ULL;
 static const uint64_t ff_pw_16 __attribute__ ((aligned(8))) = 0x0010001000100010ULL;
 static const uint64_t ff_pw_15 __attribute__ ((aligned(8))) = 0x000F000F000F000FULL;
 
Save as files/patch-ffmpeg:libavcodec:i386:motion_est_mmx.c

--- ffmpeg/libavcodec/i386/motion_est_mmx.c.orig	Wed Nov 17 17:31:38 2004
+++ ffmpeg/libavcodec/i386/motion_est_mmx.c	Wed Nov 17 17:31:47 2004
@@ -26,7 +26,7 @@
 0x0002000200020002ULL,
 };
 
-static __attribute__ ((aligned(8), unused)) uint64_t bone= 0x0101010101010101LL;
+static __attribute__ ((aligned(8), used)) uint64_t bone= 0x0101010101010101LL;
 
 static inline void sad8_mmx(uint8_t *blk1, uint8_t *blk2, int stride, int h)
 {

Save as files/patch-ffmpeg:libavcodec:i386:simple_idct_mmx.c

--- ffmpeg/libavcodec/i386/simple_idct_mmx.c.orig	Wed Nov 17 17:32:21 2004
+++ ffmpeg/libavcodec/i386/simple_idct_mmx.c	Wed Nov 17 17:32:37 2004
@@ -45,8 +45,8 @@
 #define ROW_SHIFT 11
 #define COL_SHIFT 20 // 6
 
-static const uint64_t __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000ULL;
-static const uint64_t __attribute__((aligned(8))) d40000= 0x0000000000040000ULL;
+static const uint64_t __attribute__((aligned(8), used)) wm1010= 0xFFFF0000FFFF0000ULL;
+static const uint64_t __attribute__((aligned(8), used)) d40000= 0x0000000000040000ULL;
 
 static const int16_t __attribute__((aligned(8))) coeffs[]= {
 	1<<(ROW_SHIFT-1), 0, 1<<(ROW_SHIFT-1), 0,


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list