Selon Zachary Drew <zachary.drew at gmail.com>: > I commited the amd64 patch. It passed my assembly tests. I was unable to > test it on amd64 because the machine I had access to wasn't running a 64 bit > kernel. If someone would like to test it on amd64, change > > #undef DEBUG_ASM > > to > > #define DEBUG_ASM > > in src/modules/motion_est/filter_motion_est.c > > and recompile. It should complain loudly if the reference function and the > assembly function disagree.
Thank you Zachary for working on the AMD64 issue so fast. I was able to cvs update -C -P -d and then I modified the DEBU_ASM line as suggested. 1. First issue - MMX failure Compilation with MMX fails (I guess it is normal) ./configure --enable-gpl --enable-shared --enable-theora --enable-vorbis --enable-libogg --enable-pp --enable-shared-pp --enable-motion-est --disable-mmx make [...] cc -Wall -fPIC -DPIC -O4 -pipe -fomit-frame-pointer -ffast-math -DUSE_MMX -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -pthread `pkg-config gtk+-2.0 --cflags` `pkg-config gdk-pixbuf-2.0 --cflags` `pkg-config pangoft2 --cflags` -I../.. -c -o producer_pango.o producer_pango.c cc -o have_mmx.o -c have_mmx.S have_mmx.S: Messages de l'assembleur: have_mmx.S:20: ERREUR: suffixe ou op?rande invalide pour ? push ? have_mmx.S:24: ERREUR: suffixe ou op?rande invalide pour ? pushf ? have_mmx.S:25: ERREUR: suffixe ou op?rande invalide pour ? pop ? have_mmx.S:28: ERREUR: suffixe ou op?rande invalide pour ? push ? have_mmx.S:29: ERREUR: suffixe ou op?rande invalide pour ? popf ? have_mmx.S:30: ERREUR: suffixe ou op?rande invalide pour ? pushf ? have_mmx.S:31: ERREUR: suffixe ou op?rande invalide pour ? pop ? have_mmx.S:51: ERREUR: suffixe ou op?rande invalide pour ? pop ? make[2]: *** [have_mmx.o] Erreur 1 make[2]: quittant le r?pertoire ? /home/jmpoure/logiciels/mlt/mlt/src/modules/gtk2 ? make[1]: *** [all] Erreur 1 make[1]: quittant le r?pertoire ? /home/jmpoure/logiciels/mlt/mlt/src/modules ? make: *** [all] Erreur 1 2. Second issue - fPIC compilation variable ./configure --enable-gpl --enable-shared --enable-theora --enable-vorbis --enable-libogg --enable-pp --enable-shared-pp --enable-motion-est --disable-mmx make [...] cc -Wall -fPIC -DPIC -O4 -pipe -fomit-frame-pointer -ffast-math -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -pthread `libst-config --cflags` -I../../ -c -o filter_sox.o filter_sox.c cc -shared -o ../libmltsox.so factory.o filter_sox.o -lst `libst-config --libs` -L../../framework -lmlt /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libst.a(util.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libst.a: ne peut lire les symboles: Mauvaise valeur collect2: ld a retourn? 1 code d'?tat d'ex?cution make[2]: *** [../libmltsox.so] Erreur 1 make[2]: quittant le r?pertoire ? /home/jmpoure/logiciels/mlt/mlt/src/modules/sox ? make[1]: *** [all] Erreur 1 make[1]: quittant le r?pertoire ? /home/jmpoure/logiciels/mlt/mlt/src/modules ? make: *** [all] Erreur 1 Kind regards, Jean-Michel
