Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 118624 - xine-lib-1.1.1-r4: reenable MMX and SSE
Summary: xine-lib-1.1.1-r4: reenable MMX and SSE
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement
Assignee: Gentoo Developers for the x86 Architecture
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-10 23:53 UTC by Prakash Punnoor
Modified: 2006-05-03 19:31 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Prakash Punnoor 2006-01-10 23:53:20 UTC
Could you try again, if xine-lib ebuild still needs to disable MMX and SSE? I enabled both by editing ebuild and it compiled fine on my Athlon-XP, using gcc 4.1. It already worked with earlier ebuilds and then using gcc 4.0. If you want, I can also try gcc 3.4.
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-01-11 03:48:04 UTC
MMX and SSE on x86 has to be disabled while building hardened or it would go in registers starvation. The way it's not you have to wait for ffmpeg to change the code.
Comment 2 Prakash Punnoor 2006-01-11 11:05:38 UTC
Oh great, because of a few hardened guys all x86 should suffer? What about

if use hardened

# disable MMX SSE
fi

?

I'd even provide a patch if it is too much work for you...
Comment 3 PL Hayes 2006-01-14 00:08:52 UTC
It works fine with gcc 3.4 on an Athlon-XP. I've found over time that using an overlay ebuild with *none* of the patches etc. in the official ebuild works best for me.
Comment 4 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-01-26 03:16:53 UTC
Moving this to x86 arch team...
Comment 5 Kevin F. Quinn (RETIRED) gentoo-dev 2006-01-26 15:06:36 UTC
Removing:

1) has_pic && append-flags -UHAVE_MMX
2) -mno-sse (from append-flags)
3) --disable-optimizations

xine-lib-1.1.1-r4 builds fine for me on x86 hardened 3.4.4


I haven't built for all use flags, but most are there:

[ebuild   R   ] media-libs/xine-lib-1.1.1-r4  +X -a52 +aac +aalib +alsa (-altivec) +arts -asf -cle266 -debug -directfb +dts +dvd +dxr3 +esd +fbcon +ffmpeg +flac -gnome +i8x0 +imagemagick -ipv6 +libcaca +mad +mng -modplug +nls -nvidia +opengl +oss +samba +sdl +speex +theora +v4l -vcd +vidix +vorbis -win32codecs +xinerama +xv +xvmc 0 kB
Comment 6 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-01-26 15:11:46 UTC
+ffmpeg -> the ffmpeg code is built out of xine-lib, try with -ffmpeg to see what it breaks, as it's all there.

--disable-optimisations is there for other reasons, it disables the mangling of CFLAGS by xine-lib's configure, fixes its own unstable code
Comment 7 Kevin F. Quinn (RETIRED) gentoo-dev 2006-01-26 15:34:50 UTC
I thought that too after I posted - but I just tried with USE=-ffmpeg and it built fine again (build log shows configure was done with '--without-external-ffmpeg' and the 'xine-lib summary' lists ffmpeg as an internal library).  I don't understand how, as media-video/ffmpeg itself does indeed fail. However it's late; I'll try again tomorrow.

Comment 8 Joshua Jackson (RETIRED) gentoo-dev 2006-01-30 07:59:17 UTC
what is the current status of this with reguards to the hardened/ffmpeg situation?
Comment 9 Mark Loeser (RETIRED) gentoo-dev 2006-04-08 13:54:19 UTC
Kevin, have you made any progress on this?
Comment 10 Mark Loeser (RETIRED) gentoo-dev 2006-04-26 15:11:45 UTC
The following change seems fine for x86, no idea about hardened.

 	if [[ $(tc-arch) == "x86" ]]; then
-		append-flags -UHAVE_MMX
 		filter-flags -fforce-addr  # breaks ffmpeg module
 		filter-flags -momit-leaf-frame-pointer # break on gcc 3.4/4.x
-		append-flags -mno-sse -fomit-frame-pointer


Could a few more people on x86 please test and let me know of any problems you run into?  Hardened users too.  I would like to get some sort of resolution this .
Comment 11 Matthias Langer 2006-04-27 05:34:20 UTC
The 'patch' mentioned in comment #10 seems to work well when applied to xine-lib-1.1.2_pre20060328-r1 

[+X +a52 +aac +aalib +alsa (-altivec) -arts -asf -debug +directfb +dts +dvd -dxr3 -esd +fbcon +ffmpeg +flac +gnome +imagemagick +ipv6 -libcaca +mad +mng -modplug +nls +opengl -oss -samba +sdl +speex +theora -v4l +vcd -video_cards_i810 +video_cards_nvidia -video_cards_via -vidix +vorbis +win32codecs -xinerama +xv -xvmc] 

on x86. I've tied playing different movies (xvid, divx, mpeg-4, mpeg-2, a52, ...)  with xine-u0.99.4-r5 and totem-1.2.1 (usig the xine backend).

Portage 2203-svn (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.16-gentoo-r3 i686)
=================================================================
System uname: 2.6.16-gentoo-r3 i686 AMD Athlon(tm) XP 2400+
Gentoo Base System version 1.6.14
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig collision-protect distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.inode.at/ "
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LINGUAS="en de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://192.168.0.1/gentoo-portage"
USE="x86 3dnow 3dnowext X a52 aac aalib acpi alsa apm audiofile avi berkdb bitmap-fonts bonobo bzip2 cairo cdr cli crypt css cups curl dbus directfb dri dts dvd dvdr dvdread eds emboss encode exif expat fam fbcon ffmpeg firefox flac foomaticdb fortran gd gdbm gif ginac glut gmp gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal icq idn imagemagick imlib ipv6 isdnlog java javascript jpeg jpeg2k junit lcms libg++ libwww mad mikmod mime mmx mmxext mng motif mozsvg mp3 mpeg msn nautilus ncurses nls nptl nsplugin nvidia offensive ogg oggvorbis openal opengl pam pcre pdflib perl plotutils png posix pppd python quicktime readline real reflection ruby sdl session slang sockets speex spell spl sqlite sqlite3 sse ssl subtitles svg svga tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts udev unicode usb vcd vorbis win32codecs wma xine xml xml2 xmms xorg xv xvid zlib linguas_en linguas_de userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, Portage 2203-svn (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.16-gentoo-r3 i686)
=================================================================
System uname: 2.6.16-gentoo-r3 i686 AMD Athlon(tm) XP 2400+
Gentoo Base System version 1.6.14
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig collision-protect distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.inode.at/ "
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LINGUAS="en de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://192.168.0.1/gentoo-portage"
USE="x86 3dnow 3dnowext X a52 aac aalib acpi alsa apm audiofile avi berkdb bitmap-fonts bonobo bzip2 cairo cdr cli crypt css cups curl dbus directfb dri dts dvd dvdr dvdread eds emboss encode exif expat fam fbcon ffmpeg firefox flac foomaticdb fortran gd gdbm gif ginac glut gmp gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal icq idn imagemagick imlib ipv6 isdnlog java javascript jpeg jpeg2k junit lcms libg++ libwww mad mikmod mime mmx mmxext mng motif mozsvg mp3 mpeg msn nautilus ncurses nls nptl nsplugin nvidia offensive ogg oggvorbis openal opengl pam pcre pdflib perl plotutils png posix pppd python quicktime readline real reflection ruby sdl session slang sockets speex spell spl sqlite sqlite3 sse ssl subtitles svg svga tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts udev unicode usb vcd vorbis win32codecs wma xine xml xml2 xmms xorg xv xvid zlib linguas_en linguas_de userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, INSTALL_MASK, LDFLAGS
INSTALL_MASK, LDFLAGS
Comment 12 Matthias Langer 2006-04-27 05:35:45 UTC
sorry for posting "emerge --info twice"; maybe i should buy a new mouse ...
Comment 13 David Morgan 2006-04-27 10:50:32 UTC
Working fine on x86 and ~x86 here so far. I won't post my emerge --info unless you really want me to, but

USE="X a52 aac aalib alsa asf directfb dvd fbcon ffmpeg flac imagemagick libcaca mad mng nls opengl samba sdl theora vcd vidix vorbis win32codecs xv xvmc -arts -debug -dts -dxr3 -esd -gnome -ipv6 -modplug -oss -speex -v4l -xinerama"

default-linux/x86/2005.1, gcc-4.1.0, glibc-2.4-r1, 2.6.16-gentoo-r4 i686 on ~x86

and default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.16-gentoo-r4 i686 on x86

Comment 14 Mark Loeser (RETIRED) gentoo-dev 2006-04-29 20:24:12 UTC
xine-lib-1.1.2_pre20060328-r5 has the changes I mentioned in it (still masked).  If it breaks anything, let us know.