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;