Created attachment 387272 [details] build log for x11-drivers/ati-drivers-14.9 After upgrading to kernel 3.17.1 (vanilla) ati-drivers fails to emerge on my x86 system (error is the same for both 14.4_p1 and 14.9 versions): Building modules, stage 2. MODPOST 1 modules FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol '__static_cpu_has_safe' scripts/Makefile.modpost:90: recipe for target '__modpost' failed Full build log for 14.9 version is attached. emerge -pqv '=x11-drivers/ati-drivers-14.9::gentoo': [ebuild U ] x11-drivers/ati-drivers-14.9 [14.4_p1] USE="modules -debug (-multilib) -pax_kernel -qt4 -static-libs" emerge --info '=x11-drivers/ati-drivers-14.9::gentoo': Portage 2.2.8-r2 (default/linux/x86/13.0/desktop, gcc-4.7.3, glibc-2.19-r1, 3.14.22 i686) ================================================================= System Settings ================================================================= System uname: Linux-3.14.22-i686-AMD_E-350_Processor-with-gentoo-2.2 KiB Mem: 16211748 total, 463416 free KiB Swap: 0 total, 0 free Timestamp of tree: Thu, 23 Oct 2014 20:30:01 +0000 ld GNU ld (GNU Binutils) 2.23.2 distcc 3.1 i686-pc-linux-gnu [disabled] ccache version 3.1.9 [disabled] app-shells/bash: 4.2_p53 dev-lang/perl: 5.18.2-r2 dev-lang/python: 2.7.7 dev-util/ccache: 3.1.9-r3 dev-util/cmake: 2.8.12.2-r1 dev-util/pkgconfig: 0.28-r1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.12.4 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.10.3, 1.11.6, 1.12.6, 1.13.4 sys-devel/binutils: 2.23.2 sys-devel/gcc: 4.7.3-r1 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.2-r1 sys-devel/make: 4.0-r1 sys-kernel/linux-headers: 3.13 (virtual/os-headers) sys-libs/glibc: 2.19-r1 Repositories: gentoo local ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="*" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=native -fomit-frame-pointer -ftracer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-relea se /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=native -fomit-frame-pointer -ftracer -pipe" DISTDIR="/data/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y --quiet-build y --keep-going y" FCFLAGS="-O2 -march=i686 -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" FFLAGS="-O2 -march=i686 -pipe" GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j3" 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" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" USE="X a52 aac alsa amr apache2 audiofile bash-completion berkdb bluray bzip2 cairo caps cddb cdparanoia cracklib crypt css cups curl cxx dba dbus dri drm dts dvd dvdr dvdread egl enca encode expat faac faad fbcon ffmpeg flac fontconfig foomaticdb ftp gcrypt gd gdbm geoip gif glib gmp gpm graphviz gtk iconv idn imap ipv6 ithreads jpeg jpeg2k kerberos lcms libsamplerate lzma lzo mad matroska milter mmx mmxext mng mp3 mpeg ncurses network nls nptl nsplugin offensive ogg opengl openssl pam pcap pcre pdf perl pic png ppds pulseaudio python quicktime readline recode ruby sasl session sndfile speex spell sqlite sse sse2 sse3 ssl ssse3 svg tcpd theora threads threadsafe tiff truetype unicode usb vdpau vorbis vpx win32codecs x264 x86 xcb xml xpm xv xvid zlib" ABI_X86="32" APACHE2_MODULES="alias auth_basic authn_file authz_host authz_user autoindex cgid dir info log_config mime mime_magic negotiation rewrite setenvif so speling status" ELIBC="glibc" INPUT_DEVICES="keyboard mouse void" KERNEL="linux" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" RUBY_TARGETS="ruby19" SANE_BACKENDS="plustek" USERLAND="GNU" VIDEO_CARDS="intel nvidia fglrx" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
x11-drivers/ati-drivers-14.4_p1 emerges fine on current kernel version (3.14.22) even though __static_cpu_has_safe seems to be GPL there too. Not sure how this can be. __static_cpu_has_safe is present in .o files shipped in ati-drivers, so I'm guessing the fact that this function declared as inline can't be the reason.
I am investigating this, the cause may be kernel_fpu_begin, could you post your kernel config anyway
Created attachment 387288 [details] 3.17.1 kernel config
Created attachment 387594 [details, diff] use-kernel_fpu_begin.patch You can try, if this works for you. I think the complicated way AMD is doing things is mostly due to the possibility of not having an FPU on the cpu. I have no idea where this happens possibly it is completely irrelevant nowadays.
Created attachment 387598 [details, diff] use-kernel_fpu_begin.patch The previous patch doesn't portage-apply, this one fixes it.
Tested with ati-drivers-14.4_p1 - built successfully and runs fine. So this patch works.
Pushed to x11 overlay
So I guess this has been applied to the main tree. Please reopen, if not.