From: Siggi L. <lan...@fa...> - 2004-05-15 13:04:54
|
Hi all, the automatic build of the xine-lib Debian package has failed for SPARC. The problem lies in ffmpeg/libavcodec's sparc specific code: dsputil_vis.c produced some quite odd (at least for me...) error messages: sparc-linux-gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -O3 -mcpu=supersparc -mtune=supersparc -funroll-loops -funroll-all-loops -finline-functions -Wall -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -MT dsputil_vis.lo -MD -MP -MF .deps/dsputil_vis.Tpo -c dsputil_vis.c -fPIC -DPIC -o .libs/dsputil_vis.o In file included from ../dsputil.h:31, from dsputil_vis.c:35: ../common.h: In function `put_bits': ../common.h:442: warning: cast increases required alignment of target type dsputil_vis.c: At top level: dsputil_vis.c:3990: warning: no previous prototype for `get_pixels_vis' dsputil_vis.c: In function `dsputil_init_vis': dsputil_vis.c:4064: warning: assignment from incompatible pointer type /tmp/cck8xGQ9.s: Assembler messages: /tmp/cck8xGQ9.s:522: Error: Illegal operands: There are only 32 f registers; [0-31] /tmp/cck8xGQ9.s:526: Error: Illegal operands: There are only 32 f registers; [0-31] /tmp/cck8xGQ9.s:528: Error: Illegal operands: There are only 32 f registers; [0-31] [...] The complete build log can be found on http://buildd.debian.org/fetch.php?&pkg=xine-lib&ver=1-rc4a-1&arch=sparc&stamp=1084434287&file=log&as=raw It looks like the compiler generates assembler code that tries to access registers that don't exist. However, the original code doesn't exactly look like normal C to me, so does anybody have a clue what's going wrong here, and maybe how to fix it? TIA, Siggi |