tags 295018 + patch
thanks
Package: libxine1
Version: 1.0.1-1
Followup-For: Bug #295018
Hi,
For quite some time now, I've been unable to run xine on my sparc
because it crashed with SIGBUS. I just checked that xine-ui 0.9.13-2
with libxine0 0.9.13-3 used to work much finer...
Reading the report from the original submitter of the bug, I found his
patch very helpful to write my own trivial one, attached to this
message. The resulting libxine1 works much better than the unpatched one
for me: at least I can play some MPEG videos through my dxr3 board...
Unfortunately, as far as I can see from bug log, you have shown no
interest in his work... :-( Did you respon to him privately? Or don't
you care about bugs on architectures you don't own? Or do you need some
help to maintain xine-lib?
Thanks in advance,
Nicolas Boullis
PS: I think this bugs deserves an important severity, as it renders the
package unusable on sparc (and perhaps a few other arches as well)...
-- System Information:
Debian Release: 3.1
APT prefers testing
APT policy: (500, 'testing')
Architecture: sparc (sparc64)
Kernel: Linux 2.4.29-castafiore
Locale: LANG=C, [EMAIL PROTECTED] (charmap=ISO-8859-15)
Versions of packages libxine1 depends on:
ii libasound2 1.0.8-3 ALSA library
ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an
ii libfreetype6 2.1.7-2.4 FreeType 2 font engine, shared lib
ii libmodplug0 1:0.7-4 shared libraries for mod music bas
ii libogg0 1.1.2-1 Ogg Bitstream Library
ii libpng12-0 1.2.8rel-1 PNG library - runtime
ii libspeex1 1.1.6-2 The Speex Speech Codec
ii libstdc++5 1:3.3.5-12 The GNU Standard C++ Library v3
ii libtheora0 0.0.0.alpha4-1.1 The Theora Video Compression Codec
ii libvorbis0a 1.1.0-1 The Vorbis General Audio Compressi
ii libxext6 4.3.0.dfsg.1-12 X Window System miscellaneous exte
ii xlibmesa-gl [libgl1] 4.3.0.dfsg.1-12 Mesa 3D graphics library [XFree86]
ii xlibmesa-glu [libglu1] 4.3.0.dfsg.1-12 Mesa OpenGL utility library [XFree
ii xlibs 4.3.0.dfsg.1-12 X Keyboard Extension (XKB) configu
ii zlib1g 1:1.2.2-4 compression library - runtime
-- no debconf information
--- xine-lib-1.0.1.orig/src/xine-engine/input_cache.c
+++ xine-lib-1.0.1/src/xine-engine/input_cache.c
@@ -72,35 +72,7 @@
/* optimized for common cases */
if (len <= (this->buf_len - this->buf_pos)) {
/* all bytes are in the buffer */
- switch (len) {
- case 8:
- *((uint64_t *)buf) = *(uint64_t *)(&(this->buf[this->buf_pos]));
- break;
- case 7:
- buf[6] = (char)this->buf[this->buf_pos + 6];
- /* fallthru */
- case 6:
- *((uint32_t *)buf) = *(uint32_t *)(&(this->buf[this->buf_pos]));
- *((uint16_t *)&buf[4]) = *(uint16_t *)(&(this->buf[this->buf_pos +
4]));
- break;
- case 5:
- buf[4] = (char)this->buf[this->buf_pos + 4];
- /* fallthru */
- case 4:
- *((uint32_t *)buf) = *(uint32_t *)(&(this->buf[this->buf_pos]));
- break;
- case 3:
- buf[2] = (char)this->buf[this->buf_pos + 2];
- /* fallthru */
- case 2:
- *((uint16_t *)buf) = *(uint16_t *)(&(this->buf[this->buf_pos]));
- break;
- case 1:
- *buf = (char)this->buf[this->buf_pos];
- break;
- default:
- xine_fast_memcpy(buf, this->buf + this->buf_pos, len);
- }
+ xine_fast_memcpy(buf, this->buf + this->buf_pos, len);
this->buf_pos += len;
read_len += len;