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

Bug 555740

Summary: sys-libs/db-4.8.30-r2: Specifies incompatible ARM assembly mutexes with -mthumb
Product: Gentoo Linux Reporter: Luke-Jr <luke-jr+gentoobugs>
Component: Current packagesAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED FIXED    
Severity: normal CC: arm, ironiridis
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build log

Description Luke-Jr 2015-07-24 02:42:17 UTC
db's ARM/gcc-assembly doesn't work in Thumb mode, so the build fails when targeting ARM Thumb. Removing the --with-mutex=ARM/gcc-assembly configure option allows the build to complete successfully.
Comment 1 Pacho Ramos gentoo-dev 2015-08-03 14:19:36 UTC
please provide emerge --info and build.log to allow to see the full error messages (that will also help in the future for finding possible duplicates of this bug for example)

Thanks a lot
Comment 2 Luke-Jr 2015-08-06 14:51:55 UTC
Created attachment 408410 [details]
build log

libtool: compile:  armv7a-hardfloat-linux-gnueabi-gcc -c -I. -I/mnt/microsd/var/tmp/portage/sys-libs/db-4.8.30-r2/work/db-4.8.30/build_unix/../dist/.. -D_GNU_SOURCE -D_REENTRANT -O2 -pipe -mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=hard -mthumb -mthumb-interwork /mnt/microsd/var/tmp/portage/sys-libs/db-4.8.30-r2/work/db-4.8.30/build_unix/../dist/../mutex/mut_tas.c  -fPIC -DPIC -o .libs/mut_tas.o
{standard input}: Assembler messages:
{standard input}:119: Error: selected processor does not support Thumb mode `swpb r3,r8,[r9]'
{standard input}:301: Error: selected processor does not support Thumb mode `swpb r3,r2,[r1]'
Makefile:1822: recipe for target 'mut_tas.lo' failed
make: *** [mut_tas.lo] Error 1
Comment 3 Luke-Jr 2015-08-06 14:53:14 UTC
Portage 2.2.20 (python 2.7.9-final-0, default/linux/arm/13.0/armv7a, gcc-4.8.4, glibc-2.19-r1, 2.6.28.10-power53 armv7l)
=================================================================
System uname: Linux-2.6.28.10-power53-armv7l-ARMv7_Processor_rev_3_-v7l-with-gentoo-2.2
KiB Mem:      235252 total,     54480 free
KiB Swap:     786424 total,    759968 free
Timestamp of repository gentoo: Mon, 13 Jul 2015 06:00:01 +0000
sh bash 4.3_p33-r2
ld GNU ld (Gentoo 2.24 p1.4) 2.24
distcc 3.2rc1 armv7a-hardfloat-linux-gnueabi [enabled]
app-shells/bash:          4.3_p33-r2::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.9-r1::gentoo, 3.4.1::gentoo
dev-util/cmake:           2.8.12.2-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo
sys-devel/binutils:       2.24-r3::gentoo
sys-devel/gcc:            4.8.4::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers)
sys-libs/glibc:           2.19-r1::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://portage.rsync.luke-jr.aliases/gentoo-portage
    priority: -1000

auto
    location: /usr/local/portage/auto
    masters: gentoo
    priority: 0

luke-jr
    location: /var/lib/layman/luke-jr
    masters: gentoo
    priority: 1

bitcoin
    location: /var/lib/layman/bitcoin
    masters: gentoo
    priority: 2

n900
    location: /var/lib/layman/n900
    masters: gentoo
    priority: 3

ABI="arm"
ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="@FSF-APPROVED @GPL-COMPATIBLE @LUKEDASHJR tmp: Subversion"
ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"
AF_DEFINES_SOURCED="1"
AF_INIT_DIR="/etc/osso-af-init"
AF_PIDDIR="/tmp/af-piddir"
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"
ARCH="arm"
ASFLAGS="-mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=hard"
AUTOCLEAN="yes"
BOOTSTRAP_USE="cxx unicode internal-glib python_targets_python3_3 python_targets_python2_7"
CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author"
CAMERAS="et8ek8 vs6555"
CBUILD="armv7a-hardfloat-linux-gnueabi"
CFLAGS="-O2 -pipe -mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=hard -mthumb -mthumb-interwork"
CHOST="armv7a-hardfloat-linux-gnueabi"
CHOST_arm="arm-unknown-linux-gnu"
CLEAN_DELAY="5"
COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog"
COLLISION_IGNORE="/lib/modules/* *.py[co] *$py.class */dropin.cache"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -mcpu=cortex-a8 -mfpu=vfpv3 -mfloat-abi=hard -mthumb -mthumb-interwork"
DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-QRGJ3FKbJ8,guid=36e13e7912544b2410db8f4300000013"
DCC_EMAILLOG_WHOM_TO_BLAME=""
DEFAULT_ABI="arm"
DISABLE_GATEWAY="1"
DISPLAY=":0.0"
DISTCC_ENABLE_DISCREPANCY_EMAIL=""
DISTCC_FALLBACK="1"
DISTCC_SAVE_TEMPS="0"
DISTCC_SSH=""
DISTCC_TCP_CORK=""
DISTCC_VERBOSE="0"
DISTDIR="/usr/portage/distfiles"
EDITOR="/bin/nano"
ELIBC="glibc"
EMERGE_DEFAULT_OPTS="--verbose --keep-going --tree --quiet-build y"
EMERGE_WARNING_DELAY="10"
EPREFIX=""
EROOT="/"
FCFLAGS="-O2 -pipe -march=armv7-a"
FEATURES="assume-digests binpkg-logs buildpkg collision-protect config-protect-if-modified distcc distlocks ebuild-locks fixlafiles merge-sync news preserve-libs protect-owned sandbox sfperms skiprocheck splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FETCHCOMMAND="wget -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
FETCHCOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}""
FETCHCOMMAND_SFTP="bash -c "x=\${2#sftp://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; eval \"declare -a ssh_opts=(\${3})\" ; exec sftp -P \${port} \"\${ssh_opts[@]}\" \"\${host}:/\${x#*/}\" \"\$1\"" sftp "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}""
FETCHCOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec rsync --rsh=\"ssh -p\${port} \${3}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}""
FFLAGS="-O2 -pipe -march=armv7-a"
GCC_SPECS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
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"
GRUB_PLATFORMS=""
GTK2_RC_FILES="/etc/hildon/theme/gtk-2.0/gtkrc"
GUILE_LOAD_PATH="/usr/share/guile/1.8"
HILDON_FM_OBEX_ROOT="obex://"
HOME="/root"
ILLEGAL_FAT_CHARS="\/:*?<>|"
INFOPATH="/usr/share/info:/usr/share/gcc-data/armv7a-hardfloat-linux-gnueabi/4.8.4/info:/usr/share/binutils-data/armv7a-hardfloat-linux-gnueabi/2.24/info"
INPUT_DEVICES="evdev keyboard tslib"
INTERNAL_MMC_MOUNTPOINT="/home/user/MyDocs"
INTERNAL_MMC_SWAP_LOCATION="/home/user/MyDocs"
IUSE_IMPLICIT="prefix prefix-guest"
KERNEL="linux"
LANG="en_US.utf8"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text"
LC_COLLATE="C"
LC_MESSAGES="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,--fix-cortex-a8"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe %s"
LIBDIR_arm="lib"
LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer"
LINGUAS="en en_GB ja la"
LOGNAME="root"
MAIL="/var/mail/root"
MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/gcc-data/armv7a-hardfloat-linux-gnueabi/4.8.4/man:/usr/share/binutils-data/armv7a-hardfloat-linux-gnueabi/2.24/man"
MAX_FILENAME_LENGTH="255"
MMC_DEVICE_FILE="/dev/mmcblk0p1"
MMC_MOUNTPOINT="/media/mmc1"
MMC_SWAP_LOCATION="/media/mmc1"
MULTILIB_ABIS="arm"
MULTIOSDIRS="."
MYDOCSDIR="/home/user/MyDocs"
NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml"
OFFICE_IMPLEMENTATION="libreoffice"
OPENGL_PROFILE="xorg-x11"
PAGER="/usr/bin/less"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/armv7a-hardfloat-linux-gnueabi/gcc-bin/4.8.4"
PHP_TARGETS="php5-5"
PKGDIR="/usr/portage/packages"
PORTAGE_ARCHLIST="alpha amd64 amd64-fbsd amd64-linux arm arm-linux arm64 hppa hppa-hpux ia64 ia64-hpux ia64-linux m68k m68k-mint mips nios2 ppc ppc-aix ppc-macos ppc-openbsd ppc64 ppc64-linux s390 sh sparc sparc-fbsd sparc-solaris sparc64-freebsd sparc64-solaris x64-cygwin x64-freebsd x64-macos x64-openbsd x64-solaris x86 x86-cygwin x86-fbsd x86-freebsd x86-interix x86-linux x86-macos x86-netbsd x86-openbsd x86-solaris x86-winnt"
PORTAGE_BIN_PATH="/usr/lib/portage/python2.7"
PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png"
PORTAGE_CONFIGROOT="/"
PORTAGE_DEBUG="0"
PORTAGE_DEPCACHEDIR="/var/cache/edb/dep"
PORTAGE_ELOG_CLASSES="log warn error"
PORTAGE_ELOG_MAILFROM="portage@localhost"
PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}"
PORTAGE_ELOG_MAILURI="root"
PORTAGE_ELOG_SYSTEM="save_summary:log,warn,error,qa echo"
PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5"
PORTAGE_FETCH_RESUME_MIN_SIZE="350K"
PORTAGE_GID="250"
PORTAGE_GPG_SIGNING_COMMAND="gpg --sign --digest-algo SHA256 --clearsign --yes --default-key "${PORTAGE_GPG_KEY}" --homedir "${PORTAGE_GPG_DIR}" "${FILE}""
PORTAGE_INST_GID="0"
PORTAGE_INST_UID="0"
PORTAGE_INTERNAL_CALLER="1"
PORTAGE_IONICE_COMMAND="ionice -c 3 -p ${PID}"
PORTAGE_NICENESS="10"
PORTAGE_OVERRIDE_EPREFIX=""
PORTAGE_PYM_PATH="/usr/lib/python2.7/site-packages"
PORTAGE_PYTHONPATH="/usr/lib/python2.7/site-packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude="/distfiles" --exclude="/local" --exclude="/packages" --exclude='ChangeLog' --exclude='/dev-java' --exclude='/dev-ruby'"
PORTAGE_RSYNC_RETRIES="-1"
PORTAGE_SYNC_STALE="30"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_VERBOSE="1"
PORTAGE_WORKDIR_MODE="0700"
PORTAGE_XATTR_EXCLUDE="btrfs.* security.evm security.ima    security.selinux system.nfs4_acl"
PORT_LOGDIR_CLEAN="find "${PORT_LOGDIR}" -type f ! -name "summary.log*" -mtime +7 -delete"
PROFILE_ONLY_VARIABLES="ARCH ELIBC IUSE_IMPLICIT KERNEL USERLAND USE_EXPAND_IMPLICIT USE_EXPAND_UNPREFIXED USE_EXPAND_VALUES_ARCH USE_EXPAND_VALUES_ELIBC USE_EXPAND_VALUES_KERNEL USE_EXPAND_VALUES_USERLAND"
PS1="\[\033]0;\u@\h:\w\007\]\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] "
PWD="/"
PYTHONDONTWRITEBYTECODE="1"
PYTHON_SINGLE_TARGET="python3_4"
PYTHON_TARGETS="python2_7 python3_4"
QT_GRAPHICSSYSTEM="raster"
QT_PLUGIN_PATH="/usr/lib/kde4/plugins"
RESUMECOMMAND="wget -c -t 3 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}""
RESUMECOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}""
RESUMECOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec rsync --rsh=\"ssh -p\${port} \${3}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}""
ROOT="/"
ROOTPATH="/opt/bin:/usr/armv7a-hardfloat-linux-gnueabi/gcc-bin/4.8.4"
RPMDIR="/usr/portage/rpm"
RUBY_TARGETS="ruby19 ruby20"
SAPWOOD_DEBUG="scaling"
SDL_AUDIODRIVER="pulse"
SESSION_BUS_ADDRESS_FILE="/tmp/session_bus_address.user"
SESSION_BUS_PID_FILE="/tmp/dbus_session_bus.pid.user"
SHELL="/bin/sh"
SHLVL="3"
SSH_AUTH_SOCK="/tmp/ssh-AFlIO16432/agent.16432"
SSH_CLIENT="192.168.77.71 41832 22"
SSH_CONNECTION="192.168.77.71 41832 192.168.77.70 22"
SSH_TTY="/dev/pts/4"
STATESAVEDIR="/tmp/osso-appl-states"
TERM="xterm"
TMPDIR="/var/tmp"
UNCACHED_ERR_FD=""
UNINSTALL_IGNORE="/lib/modules/* /var/run /var/lock"
UPNP_ROOT="upnpav://"
USE="API: GUI: IM: MISC: SCM: VoIP: X a52 aac alsa ao arm armv5te armv6 armv6t2 ass audio: avahi bazaar berkdb bluetooth bzip2 cjk cli codecs/formats: container: cracklib crypt cups curl cxx data: dbus djvu dri ebook encode exif fam fbcon fcam ffmpeg fileshare: flac fontconfig fonts: gdbm gif git gles gnutls gpg gpm gps gsm gzip hardware: iconv image: imagemagick imap inotify ipv6 irc irda jabber javascript jingle jpeg jpeg2k kate kde kontact lang: libass libv4l libv4l2 lzma maildir mailnews: matroska mikmod minizip misc: mng modplug modules mp3 mp4 mpeg mplayer ncurses neon net: network nls nptl nsplugin ntp ogg opengl openvg oss pam pcre pdf perl phonon plasma png portage posix ppds protocols: proxy: python python2 python3 qt3support qt4 raw rdesktop readline remote: rss samba security: session sftp sip socks5 speex spell sqlite sqlite3 ssh ssl subtitles: subversion svg taglib tcpd text: theora threads tiff truetype tslib twolame unicode unnecessary: usb v4l v4l2 vector: video: vlc vnc vorbis webkit wifi workaround: xface xml xv xvid zeroconf 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="et8ek8 vs6555" 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="evdev keyboard tslib" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB ja la" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="fbdev" 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"
USER="root"
USERLAND="GNU"
USE_EXPAND="ABI_MIPS ABI_PPC ABI_S390 ABI_X86 ALSA_CARDS APACHE2_MODULES APACHE2_MPMS CALLIGRA_FEATURES CAMERAS COLLECTD_PLUGINS CPU_FLAGS_X86 CROSSCOMPILE_OPTS CURL_SSL DRACUT_MODULES DVB_CARDS ELIBC ENLIGHTENMENT_MODULES FCDSL_CARDS FFTOOLS FOO2ZJS_DEVICES FRITZCAPI_CARDS GPSD_PROTOCOLS GRUB_PLATFORMS INPUT_DEVICES KERNEL LCD_DEVICES LIBREOFFICE_EXTENSIONS LINGUAS LIRC_DEVICES MONKEYD_PLUGINS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL OFED_DRIVERS OFFICE_IMPLEMENTATION OPENMPI_FABRICS OPENMPI_OFED_FEATURES OPENMPI_RM PHP_TARGETS PYTHON_SINGLE_TARGET PYTHON_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS RUBY_TARGETS SANE_BACKENDS USERLAND UWSGI_PLUGINS VIDEO_CARDS VOICEMAIL_STORAGE XFCE_PLUGINS XTABLES_ADDONS"
USE_EXPAND_HIDDEN="ABI_MIPS ABI_PPC ABI_S390 ABI_X86 CPU_FLAGS_X86 CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND"
USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL USERLAND"
USE_EXPAND_UNPREFIXED="ARCH"
USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-fbsd amd64-linux arm arm-linux arm64 hppa hppa-hpux ia64 ia64-hpux ia64-linux m68k m68k-mint mips nios2 ppc ppc64 ppc64-linux ppc-aix ppc-macos ppc-openbsd s390 sh sparc sparc64-freebsd sparc64-solaris sparc-fbsd sparc-solaris x64-cygwin x64-freebsd x64-macos x64-openbsd x64-solaris x86 x86-cygwin x86-fbsd x86-freebsd x86-interix x86-linux x86-macos x86-netbsd x86-openbsd x86-solaris x86-winnt"
USE_EXPAND_VALUES_ELIBC="AIX Cygwin Darwin DragonFly FreeBSD glibc HPUX Interix mintlib musl NetBSD OpenBSD SunOS uclibc Winnt"
USE_EXPAND_VALUES_KERNEL="AIX Darwin FreeBSD freemint HPUX linux NetBSD OpenBSD SunOS Winnt"
USE_EXPAND_VALUES_USERLAND="BSD GNU"
USE_ORDER="env:pkg:conf:defaults:pkginternal:repo:env.d"
VIDEO_CARDS="fbdev"
XDG_CONFIG_DIRS="/etc/xdg"
XDG_DATA_DIRS="/usr/local/share:/usr/share"
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"
Comment 4 Christohper Harrington 2019-05-08 00:59:54 UTC
(In reply to Pacho Ramos from comment #1)
> please provide emerge --info and build.log to allow to see the full error
> messages (that will also help in the future for finding possible duplicates
> of this bug for example)
> 
> Thanks a lot

Confirmed on my Raspberry Pi 3 Model B. My CFLAGS="-O2 -mcpu=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard" and the Cortex A53 is an ARMv8 processor. ARMv8 no longer supports the SWP instruction (see eg https://www.raspberrypi.org/forums/viewtopic.php?t=159827 ) which trips up GCC on ARM, with the error:

libtool: compile:  armv7a-unknown-linux-gnueabihf-gcc -c -I. -I/var/tmp/portage/sys-libs/db-6.0.35-r1/work/db-6.0.35/src -D_GNU_SOURCE -D_REENTRANT -O2 -mcpu=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard /var/tmp/portage/sys-libs/db-6.0.35-r1/work/db-6.0.35/src/btree/bt_compare.c -o bt_compare.o >/dev/null 2>&1
/var/tmp/portage/sys-libs/db-6.0.35-r1/temp/ccGej9aa.s: Assembler messages:
/var/tmp/portage/sys-libs/db-6.0.35-r1/temp/ccGej9aa.s:142: Error: swp{b} use is obsoleted for ARMv8 and later
/var/tmp/portage/sys-libs/db-6.0.35-r1/temp/ccGej9aa.s:409: Error: swp{b} use is obsoleted for ARMv8 and later

A modified ebuild dropping this line does not encounter this warning.

Obviously removing this from every build may be detrimental to older ARM cores. Might make sense to make it a USE flag, and mask on armv8 profiles?

I can provide a trivial ebuild patch for my modification if wanted.
Comment 5 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2019-05-08 20:33:17 UTC
Upstream's answer to this was just to rewrite the ASM code and entirely drop support for older ARM systems. I don't know if that's an acceptable compromise, esp. that we CANNOT backport the change due to the license switch.

I'll detect >=arm7 and disable the flag there for now.
Comment 6 Luke-Jr 2019-05-08 20:58:36 UTC
(In reply to Robin Johnson from comment #5)
> I'll detect >=arm7 and disable the flag there for now.

This issue was originally with <ARM7... Maybe just disable it always?
Comment 7 Christohper Harrington 2019-05-08 21:08:32 UTC
(In reply to Luke-Jr from comment #6)
> (In reply to Robin Johnson from comment #5)
> > I'll detect >=arm7 and disable the flag there for now.
> 
> This issue was originally with <ARM7... Maybe just disable it always?

Oh, you're right; the Cortex-A8 is ARMv7a. Possibly this assembly has just never worked in Thumb mode (OP has -mthumb in CFLAGS), and now also doesn't work in ARMv8 at all.

This theory seems to agree with this ASM guide page on SWPB, which says it's been deprecated since ARMv6:
http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm

In that case, with no better solutions, maybe let the compiler decide how best to optimize. I'm in favor of dropping it altogether.
Comment 8 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2019-05-08 21:11:40 UTC
Can either of you confirm that db-6.1, 6.2, 18.1 build fine with --with-mutex=ARM/gcc-assembly?
Comment 9 Christohper Harrington 2019-05-08 21:16:54 UTC
(In reply to Robin Johnson from comment #8)
> Can either of you confirm that db-6.1, 6.2, 18.1 build fine with
> --with-mutex=ARM/gcc-assembly?

I will build-test in a couple hours when I have access to the board.
Comment 10 Larry the Git Cow gentoo-dev 2019-05-08 21:24:50 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c8762844e2a26ab7ed62a161195106652675828b

commit c8762844e2a26ab7ed62a161195106652675828b
Author:     Robin H. Johnson <robbat2@gentoo.org>
AuthorDate: 2019-05-08 21:19:50 +0000
Commit:     Robin H. Johnson <robbat2@gentoo.org>
CommitDate: 2019-05-08 21:24:42 +0000

    sys-libs/db: compile-fix by dropping mutex=ARM/gcc-assembly
    
    This is a compile-fix so that old versions build on newer ARM hardware.
    
    The ARM assembly code does not work on newer hardware
    so you CANNOT use --with-mutex=ARM/gcc-assembly anymore.
    
    Specifically, it uses the SWPB op, which was deprecated [1]
    The SWPB op ALSO cannot be used in ARM-Thumb mode.
    
    >=sys-libs/db-6.1 uses LDREX instead, but that fix CANNOT be backported
    due differing licenses in the new versions (the new version is AGPL).
    
    Trust the compiler instead for older sys-libs/db versions, and just drop
    --with-mutex=ARM/gcc-assembly from the configure.
    
    [1] http://www.keil.com/support/man/docs/armasm/armasm_dom1361289909499.htm
    
    Fixes: https://bugs.gentoo.org/555740
    Reported-By: Christohper Harrington <ironiridis@gmail.com>
    Reported-By: Luke-Jr <luke-jr@utopios.org>
    Package-Manager: Portage-2.3.62, Repoman-2.3.12
    Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>

 sys-libs/db/db-4.7.25_p4.ebuild | 10 ++++++++--
 sys-libs/db/db-4.8.30-r2.ebuild | 10 ++++++++--
 sys-libs/db/db-5.1.29-r1.ebuild | 10 ++++++++--
 sys-libs/db/db-5.3.28-r2.ebuild |  8 +++++++-
 sys-libs/db/db-5.3.28-r3.ebuild |  8 +++++++-
 sys-libs/db/db-6.0.35-r1.ebuild |  8 +++++++-
 sys-libs/db/db-6.0.35.ebuild    |  8 +++++++-
 7 files changed, 52 insertions(+), 10 deletions(-)
Comment 11 Christohper Harrington 2019-05-09 01:09:39 UTC
(In reply to Robin Johnson from comment #8)
> Can either of you confirm that db-6.1, 6.2, 18.1 build fine with
> --with-mutex=ARM/gcc-assembly?

Runs to completion with no errors:
emerge -B '=sys-libs/db-6.1.38' '=sys-libs/db-6.2.38' '=sys-libs/db-18.1.32' 

raspberrypi / # emerge --info
Portage 2.3.66 (python 3.6.8-final-0, default/linux/arm/17.0/armv7a, gcc-9.1.0, glibc-2.29-r2, 4.14.98-v7+ armv7l)
=================================================================
System uname: Linux-4.14.98-v7+-armv7l-ARMv7_Processor_rev_4_-v7l-with-gentoo-2.6
KiB Mem:      994108 total,    436072 free
KiB Swap:    3696628 total,   3639952 free
Timestamp of repository gentoo: Thu, 09 May 2019 00:00:01 +0000
Head commit of repository gentoo: c4f4732b604fd49218b9005f4514ece0738d3c54
sh bash 5.0_p7
ld GNU ld (Gentoo 2.32 p2) 2.32.0
app-shells/bash:          5.0_p7::gentoo
dev-lang/perl:            5.28.2-r1::gentoo
dev-lang/python:          2.7.16::gentoo, 3.6.8::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.17::gentoo
sys-devel/autoconf:       2.69-r4::gentoo
sys-devel/automake:       1.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            9.1.0::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r5::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 5.0-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts:
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24

localrepo
    location: /usr/local/portage
    masters: gentoo

ACCEPT_KEYWORDS="arm ~arm"
ACCEPT_LICENSE="* -@EULA"
CBUILD="armv7a-unknown-linux-gnueabihf"
CFLAGS="-O2 -mcpu=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard"
CHOST="armv7a-unknown-linux-gnueabihf"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=armv7-a"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe -march=armv7-a"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=armv7-a"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
PKGDIR="/usr/local/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 --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl arm armv5te armv6 armv6t2 berkdb bzip2 cli crypt cxx dri fortran gdbm iconv ipv6 ncurses nls nptl openmp pam pcre readline seccomp ssl tcpd unicode xattr 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="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp thumb thumb2 v4 v5 v6 v7 vfp" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap 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"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 12 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2019-05-09 06:21:05 UTC
Thanks; so leaving the ARM ASM for those for now. I think we'll probably need to revisit it as the new ops are only supported in >=ARM6, and I don't know how old of ARM we still support.