#1932 closed defect (fixed)
Error in <dering_MMX2> when configured with --disable-optimizations --disable-mmx on x86-32
Reported by: | Aleksey | Owned by: | |
---|---|---|---|
Priority: | important | Component: | postproc |
Version: | git-master | Keywords: | build regression |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
I've got following error during 'make' (in MinGW at Windows):
{{{libpostproc/postprocess_template.c: In function ‘dering_MMX2’:
libpostproc/postprocess_template.c:1045:5: error: can’t find a register in class ‘GENERAL_REGS’ while reloading ‘asm’
libpostproc/postprocess_template.c:1045:5: error: ‘asm’ operand has impossible constraints}}}
Using commit ba353436a375b92659366aeec8c0139da08f8a0b. Configure string:
./configure --prefix=build --enable-gpl --enable-w32threads --enable-runtime-cpudetect --enable-memalign-hack --enable-libx264 --enable-shared --disable-static --disable-optimizations --disable-mmx --disable-stripping --extra-cflags=" -I/c/ffmpeg/x264/staticbuild/include" --extra-ldflags="-L/c/ffmpeg/x264/staticbuild/lib"
Found the related ticket https://ffmpeg.org/trac/ffmpeg/ticket/1695, it says that the problem is fixed in commit ec36aa69448f20a78d8c4588265022e0b2272ab5. Checked this commit, it's in the tree but the problem is still there.
Attachments (3)
Change History (8)
by , 12 years ago
Attachment: | config.asm added |
---|
by , 12 years ago
by , 12 years ago
Attachment: | config.log added |
---|
comment:1 by , 12 years ago
comment:2 by , 12 years ago
I am unable to reproduce the compilation problem.
Could you confirm that "./configure --disable-optimizations" is sufficient to trigger it?
Please run the minimal needed configure line, run make again, then run "make V=1" and post the complete, uncut console output of the last run here.
follow-up: 4 comment:3 by , 12 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Summary: | Error in <dering_MMX2> when configured with --disable-optimizations --disable-mmx → Error in <dering_MMX2> when configured with --disable-optimizations --disable-mmx on x86-32 |
--disable-optimization without --disable-asm is not possible on x86-32. gcc is too buggy for this. On 64bit, gcc has twice as many registers so it should work.
You can thus either enable optimizations, disable asm or compile for x86-64 if your platform supports it
You can also use --disable-mmx --disable-runtume-cpudetect instead if you prefer
Iam closing this as invalid as its a gcc bug not a ffmpeg bug. But iam not opposed to consider some workaround if theres some volunteer who wants to maintain such workarounds.
comment:4 by , 12 years ago
Replying to michael:
--disable-optimization without --disable-asm is not possible on x86-32.
It only fails with --enable-gpl (without --disable-postproc).
comment:5 by , 12 years ago
Component: | undetermined → postproc |
---|---|
Keywords: | build regression added |
Reproduced by developer: | set |
Resolution: | invalid → fixed |
Version: | unspecified → git-master |
Fixed in 7a259a5 (Feb 9).
Tried to omit --disable-mmx option but get the same result. So seems as this error is produced by --disable-optimizations.