Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 135567 - xine-lib-1.1.2_pre20060328-r9 will not compile with -fno-omit-frame-pointer
Summary: xine-lib-1.1.2_pre20060328-r9 will not compile with -fno-omit-frame-pointer
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High trivial (vote)
Assignee: Diego Elio Pettenò (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-04 14:25 UTC by Christopher Warrington (c45207)
Modified: 2006-06-05 03:49 UTC (History)
0 users

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 Christopher Warrington (c45207) 2006-06-04 14:25:53 UTC
When trying to complie xine-lib with the CFLAG -fno-omit-frame-pointer, I get the following error:

h264dsp_mmx.c:865:1: warning: "PUT_OP" redefined
dsputil_mmx.c:2377:1: warning: this is the location of the previous definition
h264dsp_mmx.c: In function `h264_h_loop_filter_chroma_mmx2':
dsputil_mmx.c:621: error: can't find a register in class `GENERAL_REGS' while reloading `asm'
dsputil_mmx.c:621: error: can't find a register in class `GENERAL_REGS' while reloading `asm'

Some searching led me to this gcc bug:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11203

Seeing the phrase "register starved", I decided to try compiling with -fomit-frame-pointer and it worked.

This seems to be a frequent problem with ffmpeg-related code, so I may be duplicating a bug. The solutions I found in the forums (USE="-pic" and USE="-aac") did not work.

emerge --info:
Portage 2.0.54-r2 (default-linux/x86/2005.1, gcc-3.4.6, glibc-2.3.6-r3, 2.6.16-gentoo-r7 i686)
=================================================================
System uname: 2.6.16-gentoo-r7 i686 Intel(R) Pentium(R) M processor 1.86GHz
Gentoo Base System version 1.6.14
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.2
dev-python/pycrypto: [Not Present]
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
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-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-mtune=pentium-m -O2 -fno-omit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /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/"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-mtune=pentium-m -O2 -fno-omit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks keepwork nostrip sandbox sfperms strict userpriv"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://gentoo.mirrors.easynews.com/linux/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.cites.uiuc.edu/pub/gentoo/"
LINGUAS="en eo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="x86 X a52 aac aalib acl acpi aim alsa apache2 audiofile avi bash-completion berkdb bitmap-fonts bzip2 caps cdr cli crypt cups curl dri dvd dvdr dvdread eds emacs emboss encode exif expat fam ffmpeg flac foomaticdb fortran freetds ftp gd gdbm gif glut gmp gnutls gpm gs gstreamer gtk gtk2 guile idn imagemagick imap imlib ipv6 isdnlog jabber java jikes jpeg junit kde kdeenablefinal kerberos lcms ldap libcaca libg++ libwww mad memlimit mhash mikmod mime mmx mng motif mozilla mp3 mpeg mysql mysqli ncurses nls nptl ogg oggvorbis opengl pam pcre pdflib perl png pppd python qt quicktime readline reflection samba sdk sdl session speex spell spl sqlite sse sse2 ssl svg svga tcltk tcpd test tetex theora threads tiff truetype truetype-fonts type1-fonts udev unicode usb vcd vorbis wmf xine xml2 xmms xorg xv xvid zlib video_cards_i810 video_cards_i915 linguas_en linguas_eo userland_GNU kernel_linux elibc_glibc"
Unset:  CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTAGE_RSYNC_OPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-06-04 14:29:32 UTC
You neglected to post ebuild version. Also, feel free to remove that flag from your make.conf, we really are not keen on filtering every single flag that someone  sticks for whatever reason into their make.conf

Comment 2 Christopher Warrington (c45207) 2006-06-05 00:59:07 UTC
(In reply to comment #1)
> You neglected to post ebuild version.

Sorry about that. I got distracted while filing this and forgot to include it:
xine-lib-1.1.2_pre20060328-r9

> Also, feel free to remove that flag from
> your make.conf, we really are not keen on filtering every single flag that
> someone  sticks for whatever reason into their make.conf

I keep it in there to help with debugging. Does it not add value to backtraces as I think it does?
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-06-05 03:49:25 UTC
If you want to build xine-lib with -fno-omit-frame-pointer use ffmpeg useflag that uses external ffmpeg (that will still be built with -fomit-frame-pointer).

The problem is that without -fomit-frame-pointer there won't be enough registers to execute the code.