Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 289837 - sys-devel/gcc-4.4.2: crtfastmath.o broken, breaking all apps using -ffast-math
Summary: sys-devel/gcc-4.4.2: crtfastmath.o broken, breaking all apps using -ffast-math
Status: RESOLVED DUPLICATE of bug 288977
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-20 08:52 UTC by Peter Alfredsen (RETIRED)
Modified: 2009-10-20 12:40 UTC (History)
1 user (show)

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


Attachments
Initial state of affairs (config.log,47.74 KB, text/plain)
2009-10-20 08:54 UTC, Peter Alfredsen (RETIRED)
Details
broken crtfastmath.o (crtfastmath.o,1.34 KB, application/octet-stream)
2009-10-20 08:57 UTC, Peter Alfredsen (RETIRED)
Details
working crtfastmath.o from 4.4.0 binpkg (crtfastmath.o,1.32 KB, application/octet-stream)
2009-10-20 09:50 UTC, Peter Alfredsen (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Alfredsen (RETIRED) gentoo-dev 2009-10-20 08:52:25 UTC
Causes all compilations where -ffast-math is used to error out like this:

 configure:21091: x86_64-pc-linux-gnu-gcc -o conftest -O20 -ffast-math -fsigned-char -O2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -mtune=core2 -pipe -Wall -ggdb  -Wl,--as-needed conftest.c  >&5 /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/crtfastmath.o:(.ctors+0x0): undefined reference to `no symbol' /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.2/crtfastmath.o:(.eh_frame+0x20): undefined reference to `no symbol' collect2: ld returned 1 exit status

Libogg is the fastest way to test this.

Will be testing my CFLAGS to try and narrow this down. Using this bug as a whiteboard till then. I've tried rebuilding world, but no change.
Comment 1 Peter Alfredsen (RETIRED) gentoo-dev 2009-10-20 08:54:59 UTC
Created attachment 207641 [details]
Initial state of affairs

CFLAGS="-O2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -mtune=core2 -pipe -Wall -ggdb"
CXXFLAGS="-O2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -mtune=core2 -pipe -Wall -ggdb"
Comment 2 Peter Alfredsen (RETIRED) gentoo-dev 2009-10-20 08:57:58 UTC
Created attachment 207642 [details]
broken crtfastmath.o
Comment 3 Peter Alfredsen (RETIRED) gentoo-dev 2009-10-20 09:50:10 UTC
Created attachment 207648 [details]
working crtfastmath.o from 4.4.0 binpkg
Comment 4 Peter Alfredsen (RETIRED) gentoo-dev 2009-10-20 09:52:17 UTC
readelf -s output from broken crtfastmath.o
Symbol table '.symtab' contains 9 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    2 
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
     4: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 
     5: 0000000000000000     0 SECTION LOCAL  DEFAULT    6 
     6: 0000000000000000     0 SECTION LOCAL  DEFAULT    7 
     7: 0000000000000000     0 SECTION LOCAL  DEFAULT    8 
     8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND 

readelf -s from working crtfastmath.o:
Symbol table '.symtab' contains 8 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
     2: 0000000000000000     0 SECTION LOCAL  DEFAULT    2 
     3: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
     4: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 
     5: 0000000000000000     0 SECTION LOCAL  DEFAULT    6 
     6: 0000000000000000     0 SECTION LOCAL  DEFAULT    7 
     7: 0000000000000000     0 SECTION LOCAL  DEFAULT    8 
Comment 5 Peter Alfredsen (RETIRED) gentoo-dev 2009-10-20 09:57:17 UTC
Diff between readelf -a from working (4.4.0) to broken (4.4.2)

--- 4.4.0	2009-10-20 11:51:20.000000000 +0200
+++ 4.4.2	2009-10-20 11:51:29.000000000 +0200
@@ -30,52 +30,53 @@
        0000000000000000  0000000000000000  WA       0     0     4
   [ 3] .bss              NOBITS           0000000000000000  00000054
        0000000000000000  0000000000000000  WA       0     0     4
   [ 4] .ctors            PROGBITS         0000000000000000  00000058
        0000000000000008  0000000000000000  WA       0     0     8
-  [ 5] .rela.ctors       RELA             0000000000000000  00000518
+  [ 5] .rela.ctors       RELA             0000000000000000  00000530
        0000000000000018  0000000000000018          11     4     8
   [ 6] .comment          PROGBITS         0000000000000000  00000060
-       0000000000000020  0000000000000000           0     0     1
+       0000000000000020  0000000000000001  MS       0     0     1
   [ 7] .note.GNU-stack   PROGBITS         0000000000000000  00000080
        0000000000000000  0000000000000000           0     0     1
   [ 8] .eh_frame         PROGBITS         0000000000000000  00000080
        0000000000000030  0000000000000000   A       0     0     8
-  [ 9] .rela.eh_frame    RELA             0000000000000000  00000530
+  [ 9] .rela.eh_frame    RELA             0000000000000000  00000548
        0000000000000018  0000000000000018          11     8     8
   [10] .shstrtab         STRTAB           0000000000000000  000000b0
        0000000000000060  0000000000000000           0     0     1
   [11] .symtab           SYMTAB           0000000000000000  00000450
-       00000000000000c0  0000000000000018          12     8     8
-  [12] .strtab           STRTAB           0000000000000000  00000510
+       00000000000000d8  0000000000000018          12     8     8
+  [12] .strtab           STRTAB           0000000000000000  00000528
        0000000000000001  0000000000000000           0     0     1
 Key to Flags:
   W (write), A (alloc), X (execute), M (merge), S (strings)
   I (info), L (link order), G (group), x (unknown)
   O (extra OS processing required) o (OS specific), p (processor specific)
 
 There are no section groups in this file.
 
 There are no program headers in this file.
 
-Relocation section '.rela.ctors' at offset 0x518 contains 1 entries:
+Relocation section '.rela.ctors' at offset 0x530 contains 1 entries:
   Offset          Info           Type           Sym. Value    Sym. Name + Addend
-000000000000  000100000001 R_X86_64_64       0000000000000000 .text + 0
+000000000000  000800000001 R_X86_64_64       0000000000000000 <null> + 0
 
-Relocation section '.rela.eh_frame' at offset 0x530 contains 1 entries:
+Relocation section '.rela.eh_frame' at offset 0x548 contains 1 entries:
   Offset          Info           Type           Sym. Value    Sym. Name + Addend
-000000000020  000100000002 R_X86_64_PC32     0000000000000000 .text + 0
+000000000020  000800000002 R_X86_64_PC32     0000000000000000 <null> + 0
 
 There are no unwind sections in this file.
 
-Symbol table '.symtab' contains 8 entries:
+Symbol table '.symtab' contains 9 entries:
    Num:    Value          Size Type    Bind   Vis      Ndx Name
      0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
      1: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
      2: 0000000000000000     0 SECTION LOCAL  DEFAULT    2 
      3: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
      4: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 
      5: 0000000000000000     0 SECTION LOCAL  DEFAULT    6 
      6: 0000000000000000     0 SECTION LOCAL  DEFAULT    7 
      7: 0000000000000000     0 SECTION LOCAL  DEFAULT    8 
+     8: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND 
 
 No version information found in this file.
Comment 6 Peter Alfredsen (RETIRED) gentoo-dev 2009-10-20 10:12:53 UTC
toolchain ninjas:
crtfastmath.o is broken on my system after I did a world recompile the 17th of October. I've just tried re-re-compiling world, but no luck.

Characteristics of the previously working system (gleaned from genlop output):
Binutils-2.19.1-r1
gcc-4.4.1
CFLAGS="-O2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -pipe -Wall -ggdb"

Known to be broken after world re-compile:
Binutils-2.19.1-r1
Binutils-2.20
gcc-4.4.1
gcc-4.4.2
CFLAGS="-O2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -pipe -Wall -ggdb"
CFLAGS="-O2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -pipe -Wall"
CFLAGS="-O2 -pipe -Wall"

The problem seems to be that some elf stuff in crtfastmath.o is done wrong. I have a working crtfastmath.o from a 4.4.0 binpkg which fixes the problem if I swap that out for the broken one. That and the broken one are attached to this bug report along with readelf output. This stumps me. Any input appreciated.

emerge --info from broken system:
Portage 2.2_rc46 (default/linux/amd64/10.0, gcc-4.4.2, glibc-2.10.1-r0, 2.6.30.5 x86_64)
=================================================================
System uname: Linux-2.6.30.5-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-gentoo-2.0.1
Timestamp of tree: Mon, 19 Oct 2009 21:15:01 +0000
app-shells/bash:     4.0_p33
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.3
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.2
sys-apps/sandbox:    2.1
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -pipe -Wall -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -pipe -Wall -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests buildpkg distlocks fixlafiles fixpackages installsources multilib-strict news parallel-fetch protect-owned sandbox sfperms splitdebug strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS=" ftp://ftp.klid.dk/gentoo/ http://gentoo.osuosl.org/ http://gentoo.oregonstate.edu"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LDFLAGS="-Wl,--as-needed"
LINGUAS="en da"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_COMPRESS="lzma"
PORTAGE_COMPRESS_FLAGS="--best"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/dirtyepic /home/pa/loki_overlay /home/pa/dotnet-overlay /home/pa/poppler-overlay /home/pa/sekrit-poverlay"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acpi aiglx aim alsa amarok amd64 archive authdaemond avahi bash-completion berkdb bidi bzip2 cairo cdda cddb cdparanoia cdr cdrtools cgi cjk cleartype cli consolekit cpudetection cracklib crypt css cups curl dbus dirac directfb djbfft djvu dri dts dvd dvdr dvdread encode evdev exif fam fastcgi fbcon ffmpeg firefox flac fontconfig fortran ftp gadu gif glib gnome gnutls gphoto2 gpm graphviz gstreamer gtk hal hbci iconv icq icu idea ieee1394 imagemagick imap imlib isdnlog jabber java javascript jbig jpeg jpeg2k kdeenablefinal lcd libnotify logitech-mouse logrotate lzma lzo mad maildir matroska mbox metric midi mikmod mime mmx mmxext mng modules mono moznopango mp3 mp4 mpeg mplayer msn mudflap multilib musepack ncurses network-cron nls nocd nptl nptlonly objc objc++ objc-gc offensive ogg openal openexr opengl openmp oscar pam pcre pdf perl php png pop ppds pppd python qt3support qt4 quicktime readline reflection rle sasl schroedinger sdl sensord session shorten slang smime sms soup speex spell spl sse sse2 ssl ssse3 svg sysfs t1lib tcpd texteffect theora threads tiff translator truetype unicode usb vcd vorbis wavpack wmf wxwindows x264 xanim xcb xface xfce xine xml xmlrpc xorg xscreensaver xulrunner xv xvid xvmc yahoo zeroconf zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en da" USERLAND="GNU" VIDEO_CARDS="vesa i810 intel" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_RSYNC_EXTRA_OPTS
Comment 7 Graham Murray 2009-10-20 11:56:19 UTC
This looks like a duplicate of bug #288977. Do you have FEATURES="INSTALLSOURCES" enabled?
Comment 8 Peter Alfredsen (RETIRED) gentoo-dev 2009-10-20 12:40:54 UTC
You're right. I only searched for ffast-math. Could've saved me a lot of trouble.

*** This bug has been marked as a duplicate of bug 288977 ***