On 2013/02/17 01:50, frantisek holop wrote: > hmm, on Sat, Feb 16, 2013 at 07:40:55PM -0500, Brad Smith said that > > > how can i trigger this? if i do "make -D DEBUG", i get: > > > > env DEBUG="-O0 -g" make package > > thanks, however this build stops rather early > in the process: > > cc -I. -I./ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC > -DHAVE_AV_CONFIG_H -O2 -pipe -O0 -g -I/usr/local/include -I/usr/X11R6/include > -std=c99 -fomit-frame-pointer -fPIC -pthread > -I/usr/local/include/schroedinger-1.0 -I/usr/local/include/orc-0.4 > -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/X11R6/include > -DXTHREADS -Wdeclaration-after-statement -Wall -Wno-parentheses -Wno-switch > -Wno-format-zero-length -Wdisabled-optimization -Wpointer-arith > -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -Wundef > -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -O2 -pipe > -O0 -g -Wno-redundant-decls -fno-math-errno -fno-tree-vectorize > -Werror=implicit-function-declaration -Werror=missing-prototypes -MMD -MF > libavfilter/libmpcodecs/vf_eq.d -MT libavfilter/libmpcodecs/vf_eq.o -c -o > libavfilter/libmpcodecs/vf_eq.o libavfilter/libmpcodecs/vf_eq.c > libavfilter/libmpcodecs/vf_eq.c:38: warning: useless storage class specifier > in empty declaration > libavfilter/libmpcodecs/vf_eq.c: In function 'process_MMX': > libavfilter/libmpcodecs/vf_eq.c:58: error: can't find a register in class > 'GENERAL_REGS' while reloading 'asm' > libavfilter/libmpcodecs/vf_eq.c:58: error: 'asm' operand has impossible > constraints > gmake: *** [libavfilter/libmpcodecs/vf_eq.o] Error 1 > *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2622 > '/usr/ports/pobj/ffmpeg-20121026/.build_done') > *** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:1823 > '/usr/ports/packages/i386/all/ffmpeg-20121026p2.tgz') > *** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2362 > '_internal-package') > *** Error 1 in /usr/ports/graphics/ffmpeg > (/usr/ports/infrastructure/mk/bsd.port.mk:2342 'package') > > > > > content. but the funny thing is: > > > > > > $ file /usr/local/lib/libpostproc.so.15.0 > > > libpostproc.so.15.0: ELF 32-bit LSB shared object, Intel 80386, version > > > 1, for OpenBSD, dynamically linked, not stripped > > just for the fun of it i stripped this file, > and the new size is 104552, from 108724... > > -f > -- > be sure not to start a tagline you can't finis >
Dropping the optimisation level is leaving you with too few free registers on i386, normally I'd suggest -fomit-frame-pointer to free one up, but this is already being used for that file. I would try cd'ing into the build directory and building this one file with -O1 or -O2 (paste the cc line from above into an editor or it might just fit in a shell's line editor, and change the -O0 for -O1, or if that fails get rid of it and leave it as -O2) then resuming the build from the port. There may be more files where you will have to do the same. If the crash can be repeated on amd64 it will be easier to get a debug build there; more registers are available.
