Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 300473 - sys-devel/gcc-4.3.4: arm-softfloat-linux-gnu target fails on libgcc_s.so (symbols redefined)
Summary: sys-devel/gcc-4.3.4: arm-softfloat-linux-gnu target fails on libgcc_s.so (sym...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-10 17:56 UTC by dougztr
Modified: 2012-08-12 05:04 UTC (History)
3 users (show)

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


Attachments
/var/log/portage/cross-arm-softfloat-linux-gnu-info.log (cross-arm-softfloat-linux-gnu-info.log,11.92 KB, text/plain)
2010-01-10 18:02 UTC, dougztr
Details
/var/log/portage/cross-arm-softfloat-linux-gnu-gcc-stage2.log (cross-arm-softfloat-linux-gnu-gcc-stage2.log,1.14 MB, text/plain)
2010-01-10 18:03 UTC, dougztr
Details
/var/log/portage/cross-armv4l-softfloat-linux-gnu-gcc-stage2.log (cross-armv4l-softfloat-linux-gnu-gcc-stage2.log,1.06 MB, text/plain)
2010-01-11 06:17 UTC, dougztr
Details
/var/log/portage/cross-armv4l-softfloat-linux-gnu-info.log (cross-armv4l-softfloat-linux-gnu-info.log,10.22 KB, text/plain)
2010-01-11 06:20 UTC, dougztr
Details
patch to get cross-armv4l-softfloat-gnu-gcc to compile (gcc-4.3.4-armv4l-softfloat-hackjob.patch,918 bytes, patch)
2010-01-11 21:27 UTC, dougztr
Details | Diff
Fixing the above problem exposes another problem fixed by this patch here (armv4l-softfloat-fenv-inclusion.patch,535 bytes, patch)
2010-01-13 15:36 UTC, dougztr
Details | Diff
Updated ebuild to apply the patches for armv4l-softfloat-* (gcc-4.3.4.ebuild,2.45 KB, text/plain)
2010-01-13 15:37 UTC, dougztr
Details
described what I did (ChangeLog,128.33 KB, text/plain)
2010-01-13 15:39 UTC, dougztr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description dougztr 2010-01-10 17:56:00 UTC
The crossdev tools fail when trying to emerge gcc stage2 at the end of the build process.

Reproducible: Always

Steps to Reproduce:
1. crossdev -S -t arm-softfloat-linux-gnu


Actual Results:  
* Emerging cross-gcc-stage2 ...

 * gcc failed :(
 * If you file a bug, please attach the following logfiles:
 * /var/log/portage/cross-arm-softfloat-linux-gnu-info.log
 * /var/log/portage/cross-arm-softfloat-linux-gnu-gcc-stage2.log


Expected Results:  
It should have finished the emerge

I've tried almost every combination of things and none of them work for arm-softfloat-linux-gnu. I think this might be an upstream bug with gcc.
Comment 1 dougztr 2010-01-10 17:58:48 UTC
Phantom ~ # emerge --info
Portage 2.1.6.13 (default/linux/amd64/10.0/desktop, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.32-gentoo-Phantom-G15 x86_64)
=================================================================
System uname: Linux-2.6.32-gentoo-Phantom-G15-x86_64-AMD_Phenom-tm-_9850_Quad-Core_Processor-with-gentoo-1.12.13
Timestamp of tree: Wed, 06 Jan 2010 07:00:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.9-r2
dev-lang/python:     2.6.4
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /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/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=amdfam10 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_US"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
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/portage"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X Xaw3d a52 aac aalib acl acpi alsa amd64 aspell bash-completion berkdb blas bluetooth boost branding bzip2 cairo cdda cdr cgi cli consolekit cpudetection cracklib crypt cscope cups curl cxx dbus dga dia dmx dri dts dvb dvd dvdr eds emboss encode evo exif expat fam fastcgi fbcon ffmpeg fftw firefox flac fltk fontforge foomaticdb fortran ftp fts3 gci gd gdbm gif gmp gnome gnome-keyring gnome-print gnuplot gnutls gpg gpm grace gsl gstreamer gtk gzip hal iceweasel iconv icu imagemagick inkjar inotify ipv6 irc jack java javascript joystick jpeg jpeg2k kqemu ladspa latex latex3 lcms ldap libnotify lzo mad mikmod mmx mng modules mozdevelop mp3 mp4 mpeg mplayer mudflap multilib musepack ncurses netpbm nextaw nls npp nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl php physfs plotutils png postscript ppds pppd profile python qt3support qt4 quicktime readline reflection sdl session sharedmem smp sndfile snmp sockets sparse spell spl sqlite sse sse2 ssl startup-notification svg sysfs syslog tcl tcpd threads thunar tiff timidity tk truetype unicode usb v4l2 vim-syntax vorbis wav wavpack wifi wmf wxwidgets x264 xcomposite xft xinerama xml xorg xpm xrandr xulrunner xv xvid zlib" ALSA_CARDS="hda-intel" 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" CAMERAS="fuji" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" QEMU_SOFTMMU_TARGETS="arm i386 mipsel" QEMU_USER_TARGETS="arm mipsel i386" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fglrx radeon fbdev radeonhd vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 dougztr 2010-01-10 18:02:58 UTC
Created attachment 216008 [details]
/var/log/portage/cross-arm-softfloat-linux-gnu-info.log
Comment 3 dougztr 2010-01-10 18:03:25 UTC
Created attachment 216009 [details]
/var/log/portage/cross-arm-softfloat-linux-gnu-gcc-stage2.log
Comment 4 dougztr 2010-01-10 18:09:48 UTC
The package versions selected by "crossdev -S -t arm-softfloat-linux-gnu" are listed below. These are the *stable* versions (selected by -S above)

cross-arm-softfloat-linux-gnu/binutils-2.18-r3
cross-arm-softfloat-linux-gnu/linux-headers-2.6.27-r2
cross-arm-softfloat-linux-gnu/glibc-2.9_p20081201-r2
cross-arm-softfloat-linux-gnu/gcc-4.3.4
Comment 5 SpanKY gentoo-dev 2010-01-10 20:41:05 UTC
patrick: you need to start wrangling these bugs correctly.  bugs that say "crossdev" are rarely a bug in "crossdev".  Jer knows what's going on.  you also need to fix summaries instead of simply reassigning bugs.
Comment 6 dougztr 2010-01-11 06:15:26 UTC
I tried running this inside a qemu user chroot into the latest armv4l-unknown-linux-gnu stage3 file also.


chroot:# crossdev --g 4.3.4 --k 2.6.27-r2 --b 2.18-r3 --l 2.9_p20081201-r2 -t armv4l-softfloat-linux-gnu
------------------------------------------------------------------------------------------------------------------
 * Host Portage ARCH:     arm
 * Target Portage ARCH:   arm
 * Target System:         armv4l-softfloat-linux-gnu
 * Stage:                 4 (C/C++ compiler)

 * binutils:              binutils-2.18-r3
 * gcc:                   gcc-4.3.4
 * headers:               linux-headers-2.6.27-r2
 * libc:                  glibc-2.9_p20081201-r2

 * PORTDIR_OVERLAY:       /usr/local/portage
 * PORT_LOGDIR:           /var/log/portage
 * PKGDIR:                /home/pkgs/cross/armv4l-softfloat-linux-gnu
 * PORTAGE_TMPDIR:        /var/tmp/cross/armv4l-softfloat-linux-gnu
  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -  ~  -  _  -
 * Forcing the latest versions of {binutils,gcc}-config/gnuconfig ...                                       [ ok ]
 * Log: /var/log/portage/cross-armv4l-softfloat-linux-gnu-binutils.log
 * Emerging cross-binutils ...                                                                              [ ok ]
 * Log: /var/log/portage/cross-armv4l-softfloat-linux-gnu-linux-headers-quick.log
 * Emerging cross-linux-headers-quick ...                                                                   [ ok ]
 * Log: /var/log/portage/cross-armv4l-softfloat-linux-gnu-glibc-headers.log
 * Emerging cross-glibc-headers ...                                                                         [ ok ]
 * Log: /var/log/portage/cross-armv4l-softfloat-linux-gnu-gcc-stage1.log
 * Emerging cross-gcc-stage1 ...                                                                            [ ok ]
 * Log: /var/log/portage/cross-armv4l-softfloat-linux-gnu-linux-headers.log
 * Emerging cross-linux-headers ...                                                                         [ ok ]
 * Log: /var/log/portage/cross-armv4l-softfloat-linux-gnu-glibc.log
 * Emerging cross-glibc ...                                                                                 [ ok ]
 * Log: /var/log/portage/cross-armv4l-softfloat-linux-gnu-gcc-stage2.log
 * Emerging cross-gcc-stage2 ...

 * gcc failed :(
 * If you file a bug, please attach the following logfiles:
 * /var/log/portage/cross-armv4l-softfloat-linux-gnu-info.log
 * /var/log/portage/cross-armv4l-softfloat-linux-gnu-gcc-stage2.log


chroot:# emerge --info
Portage 2.1.6.13 (default/linux/arm/10.0, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.32-gentoo-Phantom-G15 armv5tel)
=================================================================
System uname: Linux-2.6.32-gentoo-Phantom-G15-armv5tel-with-gentoo-1.12.13
Timestamp of tree: Wed, 06 Jan 2010 07:00:01 +0000
app-shells/bash:     4.0_p28
dev-lang/python:     2.6.4
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.63-r1
sys-devel/automake:  1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="arm"
CBUILD="armv4l-unknown-linux-gnu"
CFLAGS="-Os -march=armv4 -pipe"
CHOST="armv4l-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /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/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-Os -march=armv4 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_US"
MAKEOPTS="-j5"
PKGDIR="/home/pkgs"
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"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl arm berkdb bzip2 cli cracklib crypt cups cxx gdbm gpm iconv ipv6 modules ncurses nptl nptlonly pam pcre perl pppd python readline reflection session spl ssl sysfs tcpd unicode xorg zlib" 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="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint mach64 mga nv r128 radeon savage sis tdfx trident 	voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 7 dougztr 2010-01-11 06:17:07 UTC
Created attachment 216052 [details]
/var/log/portage/cross-armv4l-softfloat-linux-gnu-gcc-stage2.log
Comment 8 dougztr 2010-01-11 06:20:10 UTC
Created attachment 216054 [details]
/var/log/portage/cross-armv4l-softfloat-linux-gnu-info.log
Comment 9 dougztr 2010-01-11 21:27:28 UTC
Created attachment 216119 [details, diff]
patch to get cross-armv4l-softfloat-gnu-gcc to compile

This patch is probably wrong and I have no idea what effects it may have, but it allows the compile to finish. At least it identifies the problem area in the gcc source code -> gcc/libgcc2.c  Apparently arm has an assembly version of these functions and thats what causes the multiple definition errors.
Comment 10 dougztr 2010-01-13 15:36:52 UTC
Created attachment 216365 [details, diff]
Fixing the above problem exposes another problem fixed by this patch here

I found this patch on a mailing list. I didn't write it but it works.
Comment 11 dougztr 2010-01-13 15:37:58 UTC
Created attachment 216366 [details]
Updated ebuild to apply the patches for armv4l-softfloat-*
Comment 12 dougztr 2010-01-13 15:39:06 UTC
Created attachment 216367 [details]
described what I did
Comment 13 dougztr 2010-02-12 04:55:04 UTC
Comment on attachment 216365 [details, diff]
Fixing the above problem exposes another problem fixed by this patch here

I found the code for this patch here: http://gcc.gnu.org/bugzilla/attachment.cgi?id=19374&action=view
Comment 14 dougztr 2010-02-12 04:56:09 UTC
Comment on attachment 216365 [details, diff]
Fixing the above problem exposes another problem fixed by this patch here

I found the code for this patch here:

http://gcc.gnu.org/bugzilla/attachment.cgi?id=19374&action=view
Comment 15 dougztr 2010-02-12 04:57:28 UTC
Comment on attachment 216119 [details, diff]
patch to get cross-armv4l-softfloat-gnu-gcc to compile

I wrote this patch myself
Comment 16 SpanKY gentoo-dev 2012-08-12 05:04:20 UTC
we've moved onto much newer versions for stable now