Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 80658 - ruby-1.8.2 segfaults on compile with gcc-3.4.3 and -fomit-frame-pointer
Summary: ruby-1.8.2 segfaults on compile with gcc-3.4.3 and -fomit-frame-pointer
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High minor (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-03 17:19 UTC by Martin Diers
Modified: 2005-02-04 09:44 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 Martin Diers 2005-02-03 17:19:52 UTC
Noticed this first with more aggressive flags.

CFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer" consistently fails.
CFLAGS="-O2 -march=i686 -pipe" consistently works.

I think this is a good filter-flags candidate. I did not test with gcc-3.3.4.

Tail of emerge output:

i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe  -fPIC   -I. -I. -O2 -march=i686 -pipe -fomit-frame-pointer -c variable.c
i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe  -fPIC   -I. -I. -O2 -march=i686 -pipe -fomit-frame-pointer -c version.c
i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe  -fPIC   -I. -I. -O2 -march=i686 -pipe -fomit-frame-pointer -c dmyext.c
i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe  -fPIC   -I. -I. -O2 -march=i686 -pipe -fomit-frame-pointer -c main.c
ar rcu libruby18-static.a array.o bignum.o class.o compar.o dir.o dln.o enum.o error.o eval.o file.o gc.o hash.o inits.o io.o marshal.o math.o numeric.o object.o pack.o parse.o process.o prec.o random.o range.o re.o regex.o ruby.o signal.o sprintf.o st.o string.o struct.o time.o util.o variable.o version.o  dmyext.o
i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe  -fPIC    -rdynamic -Wl,-export-dynamic  main.o dmyext.o libruby18-static.a -ldl -lcrypt -lm   -o miniruby
i686-pc-linux-gnu-gcc -shared -Wl,-soname,libruby18.so.1.8   array.o bignum.o class.o compar.o dir.o dln.o enum.o error.o eval.o file.o gc.o hash.o inits.o io.o marshal.o math.o numeric.o object.o pack.o parse.o process.o prec.o random.o range.o re.o regex.o ruby.o signal.o sprintf.o st.o string.o struct.o time.o util.o variable.o version.o  dmyext.o -ldl -lcrypt -lm   -o libruby18.so.1.8.2
: [BUG] unknown node type 0
ruby 1.8.2 (2004-12-25) [i686-linux]

make: *** [all] Aborted



emerge info follows:
______________________
Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20040808-r1, 2.6.10-nitro4 i686)
=================================================================
System uname: 2.6.10-nitro4 i686 Intel(R) Pentium(R) 4 Mobile CPU 1.60GHz
Gentoo Base System version 1.6.7
Python:              dev-lang/python-2.3.4 [2.3.4 (#1, Jan 30 2005, 12:21:31)]
distcc 2.17 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.4
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r1
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/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/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=i686 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig candy ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://gentoo.llarian.net/ http://gentoo.binarycompass.org"
LANG="en_US"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/overlays/bmg-gnome-current /usr/local/overlays/bmg-main"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aalib acpi alsa apache2 arts avi berkdb bitmap-fonts bonobo bzlib cdparanoia cdr crypt cscope cups curl dga directfb dnd dv dvd dvdr encode esd ethereal expat f77 fam fastcgi fbcon flac flash font-server foomaticdb fortran gd gdbm gif gimp gimpprint gnome gpm gstreamer gtk gtk2 guile imagemagick imap imlib innodb ipv6 jabber jack java javascript jikes joystick jpeg junit kde ldap libg++ libwww mad maildir memlimit mikmod motif mpeg mysql ncurses nls nptl odbc oggvorbis opengl oss pcmcia pda pdflib perl png pnp python qt quicktime readline ruby samba sasl sdl slang slp speedo speex spell ssl svga tcltk tcpd tetex tiff truetype truetype-fonts trusted type1 type1-fonts usb wmf xinerama xml xml2 xmms xv zeo zlib video_cards_radeon"
Unset:  ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
Comment 1 Michael Kohl (RETIRED) gentoo-dev 2005-02-04 02:31:22 UTC
You can find "filter-flags -fomit-framepointer" on line 55 of ruby-1.8.2.ebuild. 

According to the ChangeLog it has been added to ruby-1.6.8 on December 30th 2002, and seems to have been there ever since. At least it's in all the Ruby ebuilds currently in the tree.
Comment 2 Martin Diers 2005-02-04 09:24:10 UTC
That may well be true, but note the output in my report above:

i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe  -fPIC   -I. -I. -O2 -march=i686 -pipe -fomit-frame-pointer -c variable.c
i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe  -fPIC   -I. -I. -O2 -march=i686 -pipe -fomit-frame-pointer -c version.c
i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe  -fPIC   -I. -I. -O2 -march=i686 -pipe -fomit-frame-pointer -c dmyext.c
i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe  -fPIC   -I. -I. -O2 -march=i686 -pipe -fomit-frame-pointer -c main.c

As you can see, -fomit-frame-pointer is clearly not being filtered. Why this is, I cannot say. As you noted, the filter-flags line is there. A portage issue, perhaps?
Comment 3 Martin Diers 2005-02-04 09:44:24 UTC
Ok, my bad. I had the following line in my make.conf

CPPFLAGS=${CFLAGS}

Obviously, filter-flags would ignore CPPFLAGS. Why the heck I had this there, I have no idea.

Changing status to Invalid.