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