Opened 13 years ago

Closed 12 years ago

#2118 closed patch (fixed)

Compilation problem on x86_64

Reported by: mikemiron@… Owned by: Janne Grunau
Priority: minor Milestone: 0.21
Component: mythtv Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

Compilation on amd64 give this errror

make[2]: Entering directory `/root/install/MythTV/svntest2/mythtv/filters/ivtc'
gcc -c -pipe -Wall -W -O3 -Wall -Wno-switch -fomit-frame-pointer -Wno-missing-prototypes -D_REENTRANT -DPIC -fPIC  -DMMX -DUSING_FREEBOX -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -DLIBDIR=\"/usr/local/lib\" -I/usr/share/qt3/mkspecs/default -I. -I/usr/local/include -I../../libs/libmythtv -I../.. -o pullup.o pullup.c
pullup.c: In function `decide_frame_length':
pullup.c:572: warning: unused variable `f3'
pullup.c: In function `pullup_pack_frame':
pullup.c:704: warning: unused variable `par'
pullup.c: In function `var_y_mmx':
pullup.c:153: warning: unused parameter `b'
pullup.c: In function `print_aff_and_breaks':
pullup.c:612: warning: unused parameter `c'
pullup.c: At top level:
pullup.c:226: warning: `qpcomb_y' defined but not used
{standard input}: Assembler messages:
{standard input}:1134: Error: `(%esi)' is not a valid 64 bit base/index expression
{standard input}:1135: Error: `(%esi)' is not a valid 64 bit base/index expression
{standard input}:1137: Error: `(%edi)' is not a valid 64 bit base/index expression
{standard input}:1182: Error: `(%esi)' is not a valid 64 bit base/index expression
{standard input}:1183: Error: `(%edi)' is not a valid 64 bit base/index expression
{standard input}:1185: Error: `(%edi,%eax)' is not a valid 64 bit base/index expression
{standard input}:1195: Error: `(%esi)' is not a valid 64 bit base/index expression
{standard input}:1196: Error: `(%edi)' is not a valid 64 bit base/index expression
{standard input}:1198: Error: `(%edi,%eax)' is not a valid 64 bit base/index expression
{standard input}:1208: Error: `(%edi,%eax)' is not a valid 64 bit base/index expression
{standard input}:1209: Error: `(%esi)' is not a valid 64 bit base/index expression
{standard input}:1211: Error: `(%esi,%eax)' is not a valid 64 bit base/index expression
{standard input}:1221: Error: `(%edi,%eax)' is not a valid 64 bit base/index expression
{standard input}:1222: Error: `(%esi)' is not a valid 64 bit base/index expression
{standard input}:1224: Error: `(%esi,%eax)' is not a valid 64 bit base/index expression
{standard input}:1264: Error: `(%esi)' is not a valid 64 bit base/index expression
{standard input}:1265: Error: `(%esi)' is not a valid 64 bit base/index expression
{standard input}:1266: Error: `(%esi,%eax)' is not a valid 64 bit base/index expression
make[2]: *** [pullup.o] Ошибка 1
make[2]: Leaving directory `/root/install/MythTV/svntest2/mythtv/filters/ivtc'
make[1]: *** [sub-ivtc] Ошибка 2
make[1]: Leaving directory `/root/install/MythTV/svntest2/mythtv/filters'
make: *** [sub-filters] Ошибка 2

Solution: change pullup.c use code from mplayer as base. Patch added.

Attachments (2)

amd64.diff (699 bytes) - added by mikemiron@… 13 years ago.
ivtc_update.diff (4.0 KB) - added by skamithi 12 years ago.
mplayer project updated pullup.c to support 64bit cpus. potential patch for mythtv. i don't have a 64bit PC so i'm not sure if the configure options in the patch are done properly.

Download all attachments as: .zip

Change History (10)

Changed 13 years ago by mikemiron@…

Attachment: amd64.diff added

comment:1 Changed 13 years ago by danielk

Milestone: 0.21
Owner: changed from Isaac Richards to danielk

What compiler is this?

I'm not having any problems with gcc 3.4.6 on an AMD64 system.

comment:2 Changed 13 years ago by mikemiron@…

gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
g++ (GCC) 3.3.5 (Debian 1:3.3.5-13)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

System Debian AMD64 Stable/Testing?

comment:3 Changed 13 years ago by danielk

Resolution: fixed
Status: newclosed

(In [10726]) Fixes #2118. Disables the 32 bit MMX code in pullup.c and uses the C version on AMD64 machines.

My bintools doesn't complain about it, but later versions do, and do so correctly. The longer term solution is to use 64 bit pointers in the problem methods on AMD64, but if you have a AMD64 it is not going to be struggling with this filter anyway.

comment:4 Changed 13 years ago by anonymous

Milestone: 0.210.20

Changed 12 years ago by skamithi

Attachment: ivtc_update.diff added

mplayer project updated pullup.c to support 64bit cpus. potential patch for mythtv. i don't have a 64bit PC so i'm not sure if the configure options in the patch are done properly.

comment:5 Changed 12 years ago by skamithi

Resolution: fixed
Status: closedreopened

mplayer project updated pullup.c to support 64bit cpus. potential patch for mythtv. i don't have a 64bit PC so i'm not sure if the configure options in the patch are done properly.

comment:6 Changed 12 years ago by Janne Grunau

Owner: changed from danielk to Janne Grunau
Status: reopenednew

Stanley,

The configure part of the patch is uneeded. ARCH_X86_64 is already set above.

I'll test the patch and apply it if it works.

comment:7 Changed 12 years ago by Janne Grunau

Milestone: 0.200.21

comment:8 Changed 12 years ago by Janne Grunau

Resolution: fixed
Status: newclosed

(In [13910]) Closes #2118. reenables MMX code for X86-64 based on a patch from skamithi

Note: See TracTickets for help on using tickets.