Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 580270 - dev-libs/libgcrypt-1.7.0: impossible constraints on 'asm' operand
Summary: dev-libs/libgcrypt-1.7.0: impossible constraints on 'asm' operand
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Crypto team
URL: https://bugs.gnupg.org/gnupg/issue2325
Whiteboard:
Keywords: UPSTREAM
Depends on:
Blocks:
 
Reported: 2016-04-16 20:36 UTC by Phil Stracchino (Unix Ronin)
Modified: 2017-01-17 16:41 UTC (History)
4 users (show)

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


Attachments
Build log (build.log,90.03 KB, text/x-log)
2016-04-16 20:36 UTC, Phil Stracchino (Unix Ronin)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Phil Stracchino (Unix Ronin) 2016-04-16 20:36:48 UTC
Created attachment 430864 [details]
Build log

Compile failure in cipher/rijndael-aesni.c cites impossible constraint on 'asm':

/var/tmp/portage/dev-libs/libgcrypt-1.7.0/work/libgcrypt-1.7.0/cipher/rijndael-aesni.c: In function ‘_gcry_aes_aesni_ctr_enc’:
/var/tmp/portage/dev-libs/libgcrypt-1.7.0/work/libgcrypt-1.7.0/cipher/rijndael-aesni.c:817:3: error: ‘asm’ operand has impossible constraints
   asm volatile (/* detect if 8-bit carry handling is needed */
   ^

This seems similar at first glance to bug #490276, bug #499994, bug #523726 et al, many of which cite that for them, the error can be avoided by USE=pic.  However, dev-libs/libgcrypt has no 'pic' USE flag.




babylon5:root:~:10 # emerge -pqv '=dev-libs/libgcrypt-1.7.0::gentoo'
[ebuild     U ] dev-libs/libgcrypt-1.7.0 [1.6.5] USE="threads -doc -static-libs" ABI_X86="32 (64) (-x32)"

babylon5:root:~:9 # emerge --info '=dev-libs/libgcrypt-1.7.0::gentoo'
Portage 2.2.28 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop, gcc-4.8.5, glibc-2.22-r4, 4.5.0-gentoo-babylon5 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.5.0-gentoo-babylon5-x86_64-AMD_Phenom-tm-_II_X6_1090T_Processor-with-gentoo-2.2
KiB Mem:    16411836 total,   3507124 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Sat, 16 Apr 2016 06:00:01 +0000
sh bash 4.3_p42-r2
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
ccache version 3.2.4 [disabled]
app-shells/bash:          4.3_p42-r2::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.3.5-r7::gentoo, 3.4.3-r7::gentoo, 3.5.1-r2::gentoo
dev-util/ccache:          3.2.4::gentoo
dev-util/cmake:           3.3.1-r1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.19.1::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       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.8.5::gentoo, 4.9.3::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: 4.3::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r4::gentoo
Repositories:

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

alaric
    location: /var/lib/alaric
    masters: gentoo

farmboy0
    location: /var/lib/layman/farmboy0
    sync-type: laymansync
    sync-uri: https://github.com/farmboy0/portage-overlay.git
    masters: gentoo
    priority: 50

mysql
    location: /var/lib/layman/mysql
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/mysql.git
    masters: gentoo
    priority: 50

x11
    location: /var/lib/layman/x11
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/x11
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -O2 -pipe -mfpmath=sse -mcx16 -mpopcnt"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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="-march=amdfam10 -O2 -pipe -mfpmath=sse -mcx16 -mpopcnt"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --verbose-conflicts --keep-going"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.cites.uiuc.edu/pub/gentoo                 http://gentoo.chem.wisc.edu/gentoo                 http://gentoo.osuosl.org                 http://www.gtlib.gatech.edu/pub/gentoo                 ftp://mirrors.rit.edu/gentoo                 http://mirrors.cs.wmich.edu/gentoo                 "
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j12"
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 --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdda cddb cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif firefox flac fltk fortran gdbm gif glamor gpm gtk iconv id3tag imagemagick ipv6 java jpeg jpeg2k kde lcms ldap libnotify mad mmx mmxext mng modules mp3 mp4 mpeg multilib mysql ncurses nls nptl nsplugin ogg opengl openmp opus pam pango pcre pdf png policykit ppds qt3support qt4 readline sdl seccomp session speex spell sse sse2 sse4 ssl startup-notification svg tcpd theora threads tiff tk tools truetype udev udisks unicode upower usb utils v4l v4l2 vdpau vorbis wxwidgets x264 xattr xcb xml xpm xv xvid zlib" ABI_X86="64" ALSA_CARDS="emu10k1 hda-intel" 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" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a" 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 mouse" KERNEL="linux" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" USERLAND="GNU" VIDEO_CARDS="nouveau 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Kristian Fiskerstrand gentoo-dev Security 2016-04-23 17:55:52 UTC
Can you still reproduce this with gcc 4.9.3?
Comment 2 Phil Stracchino (Unix Ronin) 2016-04-23 18:05:47 UTC
Hmm,.  I hadn't noticed I'd neglected to switch gcc-config.

Give me a few minutes, I'll retest.
Comment 3 Phil Stracchino (Unix Ronin) 2016-04-23 18:10:58 UTC
...And the answer appears to be, "With gcc 4.9.3, it works."
Comment 4 Kristian Fiskerstrand gentoo-dev Security 2016-04-23 18:13:51 UTC
(In reply to Phil Stracchino (Unix Ronin) from comment #3)
> ...And the answer appears to be, "With gcc 4.9.3, it works."

Well thats good at least, will see whether we can work with upstream to get it fixed or adding a check to gcc version downstream
Comment 5 Klaus Kusche 2016-04-24 07:54:22 UTC
Similar problem but different error message here:

In file included from /usr/include/features.h:368:0,
                 from /usr/include/stdio.h:27,
                 from /var/portage/portage/dev-libs/libgcrypt-1.7.0/work/libgcrypt-1.7.0/cipher/rijndael-ssse3-amd64.c:38:
/var/portage/portage/dev-libs/libgcrypt-1.7.0/work/libgcrypt-1.7.0/cipher/rijndael-ssse3-amd64.c: In function '_gcry_aes_ssse3_do_setkey':
/usr/include/bits/string3.h:50:1: error: inlining failed in call to always_inline 'memcpy': target specific option mismatch
 __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
 ^
/var/portage/portage/dev-libs/libgcrypt-1.7.0/work/libgcrypt-1.7.0/cipher/rijndael-ssse3-amd64.c:175:3: error: called from here
   memcpy(&ctx->keyschdec32[0][0], key, keybits / 8);
   ^

gcc 5.3.0
Comment 6 Kristian Fiskerstrand gentoo-dev Security 2016-04-24 19:30:40 UTC
(In reply to Klaus Kusche from comment #5)
> Similar problem but different error message here:

Please file a separate bug for this issue