Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 562706

Summary: sys-devel/llvm-3.7.0-r1 fails to build on armv5: Error: selected processor does not support ARM mode ...
Product: Gentoo Linux Reporter: Markus Meier <maekke>
Component: Current packagesAssignee: Bernard Cafarelli <voyageur>
Status: RESOLVED FIXED    
Severity: normal CC: mgorny
Priority: Normal Keywords: REGRESSION
Version: unspecified   
Hardware: ARM   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: llvm-3.7.0-r1.tar.bz2

Description Markus Meier gentoo-dev 2015-10-10 08:27:21 UTC
This is a regression, sys-devel/llvm-3.6.2 builds just fine.

 * Package:    sys-devel/llvm-3.7.0-r1
 * Repository: gentoo
 * Maintainer: voyageur@gentoo.org mgorny@gentoo.org
 * USE:        arm clang elibc_glibc kernel_linux libffi ncurses python_targets_python2_7 static-analyzer test userland_GNU xml


[1080/2525] /usr/bin/armv5tel-softfloat-linux-gnueabi-gcc  -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS  -DNDEBUG -O2 -march=armv5te -pipe  -fPIC -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-comment -Werror=date-time -ffunction-sections -fdata-sections -Wall -Iprojects/compiler-rt/lib/builtins -I/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins -Iinclude -I/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/include     -march=armv7-a -std=c99 -MMD -MT projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins-arm.dir/arm/adddf3vfp.S.o -MF projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins-arm.dir/arm/adddf3vfp.S.o.d -o projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins-arm.dir/arm/adddf3vfp.S.o -c /var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S
FAILED: /usr/bin/armv5tel-softfloat-linux-gnueabi-gcc  -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS  -DNDEBUG -O2 -march=armv5te -pipe  -fPIC -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-comment -Werror=date-time -ffunction-sections -fdata-sections -Wall -Iprojects/compiler-rt/lib/builtins -I/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins -Iinclude -I/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/include     -march=armv7-a -std=c99 -MMD -MT projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins-arm.dir/arm/adddf3vfp.S.o -MF projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins-arm.dir/arm/adddf3vfp.S.o.d -o projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins-arm.dir/arm/adddf3vfp.S.o -c /var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S:20:39: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 and ISO C++98
 DEFINE_COMPILERRT_FUNCTION(__adddf3vfp)
                                       ^
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S:20:39: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 and ISO C++98
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S:20:39: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 and ISO C++98
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S:26:36: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 and ISO C++98
 END_COMPILERRT_FUNCTION(__adddf3vfp)
                                    ^
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S:26:36: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 and ISO C++98
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S: Assembler messages:
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S:21: Error: selected processor does not support ARM mode `vmov d6,r0,r1'
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S:22: Error: selected processor does not support ARM mode `vmov d7,r2,r3'
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S:23: Error: selected processor does not support ARM mode `vadd.f64 d6,d6,d7'
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/builtins/arm/adddf3vfp.S:24: Error: selected processor does not support ARM mode `vmov r0,r1,d6'
In file included from /var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/asan/asan_interceptors.cc:192:0:
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4332:74: warning: extra ‘;’ [-Wpedantic]
 DECLARE_REAL_AND_INTERCEPTOR(void *, memmove, void *, const void *, uptr);
                                                                          ^
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4333:73: warning: extra ‘;’ [-Wpedantic]
 DECLARE_REAL_AND_INTERCEPTOR(void *, memcpy, void *, const void *, uptr);
                                                                         ^
/var/tmp/portage/sys-devel/llvm-3.7.0-r1/work/llvm-3.7.0.src/projects/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:4334:64: warning: extra ‘;’ [-Wpedantic]
 DECLARE_REAL_AND_INTERCEPTOR(void *, memset, void *, int, uptr);
                                                                ^
ninja: build stopped: subcommand failed.
 * ERROR: sys-devel/llvm-3.7.0-r1::gentoo failed (compile phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line   93:  Called src_compile
 *   environment, line 4616:  Called multilib-minimal_src_compile
 *   environment, line 2779:  Called multilib_foreach_abi 'multilib-minimal_abi_src_compile'
 *   environment, line 3003:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile'
 *   environment, line 2715:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile'
 *   environment, line 2713:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_compile'
 *   environment, line  537:  Called multilib-minimal_abi_src_compile
 *   environment, line 2773:  Called multilib_src_compile
 *   environment, line 3215:  Called cmake-utils_src_compile
 *   environment, line 1154:  Called _execute_optionally 'src_compile'
 *   environment, line  319:  Called enable_cmake-utils_src_compile
 *   environment, line 1351:  Called cmake-utils_src_make
 *   environment, line 1169:  Called ninja_src_make
 *   environment, line 3403:  Called die
 * The specific snippet of code:
 *       "$@" || die

Portage 2.2.22 (python 2.7.10-final-0, default/linux/arm/13.0/armv5te/desktop, gcc-4.9.3, glibc-2.21-r1, 3.9.2 armv5tel)
=================================================================
System uname: Linux-3.9.2-armv5tel-with-gentoo-2.2
KiB Mem:      513632 total,     41632 free
KiB Swap:    2104508 total,   2059700 free
Timestamp of repository gentoo: Sat, 03 Oct 2015 10:30:01 +0000
sh bash 4.3_p42
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
ccache version 3.2.3 [disabled]
app-shells/bash:          4.3_p42::gentoo
dev-lang/perl:            5.22.0::gentoo
dev-lang/python:          2.7.10::gentoo, 3.3.5-r2::gentoo, 3.4.3::gentoo
dev-util/ccache:          3.2.3::gentoo
dev-util/cmake:           3.3.2::gentoo
dev-util/pkgconfig:       0.29::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.9::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.4_p6-r2::gentoo, 1.8.5-r5::gentoo, 1.9.6-r4::gentoo, 1.10.3-r1::gentoo, 1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.7.4::gentoo, 4.8.5::gentoo, 4.9.3::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.2::gentoo (virtual/os-headers)
sys-libs/glibc:           2.21-r1::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://192.168.1.100/gentoo-portage
    priority: -1000

ACCEPT_KEYWORDS="arm ~arm"
ACCEPT_LICENSE="* -@EULA"
CBUILD="armv5tel-softfloat-linux-gnueabi"
CFLAGS="-O2 -march=armv5te -pipe"
CHOST="armv5tel-softfloat-linux-gnueabi"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/spool/munin-async/.ssh"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/apache2-php5.5/ext-active/ /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/php/cli-php5.6/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"
CXXFLAGS="-O2 -march=armv5te -pipe"
DISTDIR="/mnt/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n --jobs=2 --keep-going --backtrack=3"
FCFLAGS="-O2 -pipe -march=armv5te"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fail-clean fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe -march=armv5te"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa apache2 arm berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif glamor gpm graphite gtk iconv jpeg lcms libnotify mad mng modules mp3 mp4 mpeg ncurses nls nptl ogg opengl pam pango pcre pdf png policykit ppds qt3support qt4 readline sdl seccomp semantic-desktop session spell ssl startup-notification svg tcpd test threads tiff truetype udev udisks unicode upower usb vorbis wxwidgets xcb xml xv xvid zlib" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4 php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3 python3_4" RUBY_TARGETS="ruby19 ruby20 ruby21 ruby22" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap omapfb dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7 3.3 3.4"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Markus Meier gentoo-dev 2015-10-10 08:28:59 UTC
Created attachment 414240 [details]
llvm-3.7.0-r1.tar.bz2
Comment 2 Bernard Cafarelli gentoo-dev 2015-10-13 14:36:20 UTC
Hmm, the guilty file has not changed for a while:
http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/builtins/arm/adddf3vfp.S
(compiler-rt 3.6 and 3.7 have the same version)

So I suppose the build system change to cmake has changed the compilation options? There are two arches in the compile line, "-march=armv5te" and "-march=armv7-a". Is this a case where the cmake files only check for newer arm?
Comment 3 Bernard Cafarelli gentoo-dev 2015-10-16 11:40:55 UTC
OK, the arm handling in compiler-rt looks pretty basic in cmake build:
https://github.com/llvm-mirror/compiler-rt/blob/master/cmake/config-ix.cmake#L210

Does it work after dropping these 3 if tests?
Comment 4 Markus Meier gentoo-dev 2015-10-25 17:55:56 UTC
(In reply to Bernard Cafarelli from comment #3)
> OK, the arm handling in compiler-rt looks pretty basic in cmake build:
> https://github.com/llvm-mirror/compiler-rt/blob/master/cmake/config-ix.
> cmake#L210
> 
> Does it work after dropping these 3 if tests?

yes this helps!
Comment 5 Bernard Cafarelli gentoo-dev 2015-10-27 18:33:45 UTC
Thanks, these are now removed in 3.7.0-r2!