Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 267126 - sys-devel/glibc fails on native ARM eabi if -march is being used
Summary: sys-devel/glibc fails on native ARM eabi if -march is being used
Status: RESOLVED FIXED
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-04-22 17:46 UTC by Raúl Porcel (RETIRED)
Modified: 2009-05-30 00:20 UTC (History)
2 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 Raúl Porcel (RETIRED) gentoo-dev 2009-04-22 17:46:46 UTC
armv5tel-softfloat-linux-gnueabi-gcc pthread_cond_signal.c -c -std=gnu99  -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -march=armv5te -pipe -Wstrict-prototypes   -fPIC    -I../include -I/var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work/build-default-armv5tel-softfloat-linux-gnueabi-nptl/nptl -I/var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work/build-default-armv5tel-softfloat-linux-gnueabi-nptl -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/eabi/nptl -I../ports/sysdeps/unix/sysv/linux/arm/eabi -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/eabi -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/armv5tel-softfloat-linux-gnueabi/4.1.2/include -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h  -DPIC -DSHARED -DNOT_IN_libc=1 -DIS_IN_libpthread=1    -U_FORTIFY_SOURCE -U_FORTIFY_SOURCE -o /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work/build-default-armv5tel-softfloat-linux-gnueabi-nptl/nptl/pthread_cond_signal.os -MD -MP -MF /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work/build-default-armv5tel-softfloat-linux-gnueabi-nptl/nptl/pthread_cond_signal.os.dt -MT /var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work/build-default-armv5tel-softfloat-linux-gnueabi-nptl/nptl/pthread_cond_signal.os
pthread_cond_signal.c: In function '__pthread_cond_signal':
pthread_cond_signal.c:61: error: unable to find a register to spill in class 'GENERAL_REGS'
pthread_cond_signal.c:61: error: this is the insn:
(insn:HI 61 165 70 5 (parallel [
            (set (reg:DI 109 [ D.5070 ])
                (plus:DI (reg:DI 109 [ D.5070 ])
                    (reg:DI 117)))
            (clobber (reg:CC 24 cc))
        ]) 1 {*arm_adddi3} (insn_list:REG_DEP_ANTI 44 (insn_list:REG_DEP_ANTI 50 (insn_list:REG_DEP_ANTI 43 (insn_list:REG_DEP_ANTI 49 (insn_list:REG_DEP_TRUE 60 (insn_list:REG_DEP_TRUE 41 (insn_list:REG_DEP_ANTI 37 (nil))))))))
    (expr_list:REG_DEAD (reg:DI 117)
        (expr_list:REG_UNUSED (reg:CC 24 cc)
            (expr_list:REG_EQUAL (plus:DI (reg:DI 109 [ D.5070 ])
                    (const_int 1 [0x1]))
                (nil)))))
pthread_cond_signal.c:61: confused by earlier errors, bailing out
make[2]: *** [/var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work/build-default-armv5tel-softfloat-linux-gnueabi-nptl/nptl/pthread_cond_signal.os] Error 1
make[2]: Leaving directory `/var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work/glibc-2.8-20080602/nptl'
make[1]: *** [nptl/subdir_lib] Error 2
make[1]: Leaving directory `/var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/work/glibc-2.8-20080602'
make: *** [all] Error 2
 *
 * ERROR: sys-libs/glibc-2.8_p20080602-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3490:  Called eblit-run 'src_compile'
 *             environment, line 1074:  Called eblit-glibc-src_compile
 *       src_compile.eblit, line  187:  Called toolchain-glibc_src_compile
 *       src_compile.eblit, line  122:  Called die
 * The specific snippet of code:
 *              make PARALLELMFLAGS="${MAKEOPTS}" || die "make for ${ABI} failed"
 *  The die message:
 *   make for default failed
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-libs/glibc-2.8_p20080602-r1/temp/environment'.
 *

Portage 2.1.6.7 (default/linux/arm/2008.0, gcc-4.1.2, glibc-2.8_p20080602-r1, 2.6.30-rc1-00005-g5c56d47 armv5tel)
=================================================================
System uname: Linux-2.6.30-rc1-00005-g5c56d47-armv5tel-Feroceon_88FR131_rev_1_-v5l-with-glibc2.4
Timestamp of tree: Wed, 22 Apr 2009 16:00:01 +0000
app-shells/bash:     3.2_p39
dev-lang/python:     2.5.2-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.63
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="arm"
CBUILD="armv5tel-softfloat-linux-gnueabi"
CFLAGS="-Os -march=armv5te -pipe"
CHOST="armv5tel-softfloat-linux-gnueabi"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp.fi.muni.cz/pub/linux/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://ftp.dei.uc.pt/pub/linux/gentoo/ http://mirror.switch.ch/ftp/mirror/gentoo/ http://darkstar.ist.utl.pt/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp.snt.utwente.nl/pub/os/linux/gentoo"
LDFLAGS="-Wl,-O1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--prune-empty-dirs"
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"
SYNC="rsync://boobie.gentoo.org/gentoo-portage"
USE="X aac acl arm berkdb bzip2 cli cracklib crypt dbus fbcon flac fortran gdbm gpm iconv ipv6 isdnlog jpeg kdrive midi mudflap ncurses nls nptl nptlonly ntp openmp pam pcre perl png pppd python readline reflection session spl ssl sysfs tcpd tiff 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="keyboard mouse evdev touchscreen void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="dummy fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTDIR_OVERLAY

The problem doesn't occur if -march=armv5te is removed from CFLAGS, or if '-O2' is replaced by '-O1' on common.eblits, or if >=gcc-4.2 is used.

Can we get a new gcc-4.3.2 with the latest patchset applied, so bug 261111 is fixed? Since the ARM stages have -march=armv5te by default(the armv5tel stages), any user who rebuilds it, will hit this issue.
Comment 1 Raúl Porcel (RETIRED) gentoo-dev 2009-05-25 17:40:00 UTC
Guess we can close this now that gcc-4.3 is stable. Unless you toolchain guys say otherwise