Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 721828 - sys-kernel/gentoo-sources-5.6.11 does not apply gcc optimization patch with gcc 10
Summary: sys-kernel/gentoo-sources-5.6.11 does not apply gcc optimization patch with g...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-09 10:03 UTC by Klemen Mihevc
Modified: 2020-05-13 15:45 UTC (History)
6 users (show)

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


Attachments
build.log (build.log,7.90 KB, application/octet-stream)
2020-05-10 16:36 UTC, Klemen Mihevc
Details
5013_enable-cpu-optimizations-for-gcc101.patch (enable_additional_cpu_optimizations_for_gcc_v10.1+_kernel_v5.5+.patch,25.67 KB, patch)
2020-05-12 19:01 UTC, Adam Tygart
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Klemen Mihevc 2020-05-09 10:03:49 UTC
gentoo-sources-5.6.11 (and others) do not apply gcc optimization patch as per kernel-2.eclass.

I applied 5012_enable-cpu-optimizations-for-gcc91.patch manually and it seems to apply fine, however after i didnt try to recompile kernel, because i decided im gonna wait for "next" kernel in case some more things needs to be fixed... Posting this just for reference in case someone is missing compile options with gcc 10...

Reproducible: Always
Comment 1 Jonas Stein gentoo-dev 2020-05-10 16:25:38 UTC
Thank you for the report. We need to have all information at hand before ticket assignment. That is why I ask you to 
* attach the logs and 
* paste the emerge info 
as described on https://wiki.gentoo.org/wiki/Attach_the_logs_to_the_bug_ticket

Please reopen this ticket (Status:UNCONFIRMED) afterwards.
Comment 2 Klemen Mihevc 2020-05-10 16:36:42 UTC
Created attachment 637662 [details]
build.log

build.log
Comment 3 Klemen Mihevc 2020-05-10 16:37:09 UTC
Portage 2.3.99 (python 3.8.2-final-0, default/linux/amd64/17.1/hardened, gcc-10.1.0, glibc-2.31-r2, 5.6.11-gentoo x86_64)
=================================================================
System uname: Linux-5.6.11-gentoo-x86_64-Intel-R-_Xeon-R-_CPU_X5670_@_2.93GHz-with-glibc2.2.5
KiB Mem:    12268704 total,   7048548 free
KiB Swap:   16777684 total,  16766164 free
Timestamp of repository gentoo: Sun, 10 May 2020 15:07:15 +0000
Head commit of repository gentoo: 0f9ca8deac034376dc6fd9ae395868902f807e4d

sh bash 5.0_p17
ld GNU ld (Gentoo 2.34 p1) 2.34.0
app-shells/bash:          5.0_p17::gentoo
dev-lang/perl:            5.30.2::gentoo
dev-lang/python:          3.8.2-r2::gentoo
dev-util/cmake:           3.17.2::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.69-r5::gentoo
sys-devel/automake:       1.16.2::gentoo
sys-devel/binutils:       2.34::gentoo
sys-devel/gcc:            10.1.0::gentoo
sys-devel/gcc-config:     2.2.1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.6::gentoo (virtual/os-headers)
sys-libs/glibc:           2.31-r2::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000
    sync-git-verify-commit-signature: true

local
    location: /var/db/repos/local
    masters: gentoo

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -pipe -O2 -fomit-frame-pointer"
CHOST="x86_64-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-release /etc/php/apache2-php7.4/ext-active/ /etc/php/cgi-php7.4/ext-active/ /etc/php/cli-php7.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -pipe -O2 -fomit-frame-pointer"
DISTDIR="/var/cache/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="-march=native -pipe -O2 -fomit-frame-pointer"
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 parallel-install pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -pipe -O2 -fomit-frame-pointer"
GENTOO_MIRRORS="https://mirror.netcologne.de/gentoo/ https://ftp.halifax.rwth-aachen.de/gentoo/ https://mirror.yandex.ru/gentoo-distfiles/"
LANG="sl_SI.utf8"
LDFLAGS="-Wl,-O2 -Wl,--as-needed -Wl,--sort-common -Wl,--hash-style=gnu"
LINGUAS="en sl"
MAKEOPTS="-j12 -l12"
PKGDIR="/var/cache/binpkgs"
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 acpi amd64 apache2 apng berkdb bittorrent bzip2 caps cgi cli client corefonts cracklib crypt curl dhcp dlz dovecot-sasl eap exif expat experimental extraengine fontconfig ftp gd gdbm glib gmp gssapi gzip hardened http2 iconv icu idn intl iptables ipv6 ithreads jpeg kerberos lcms libtirpc lz4 lzma lzo managesieve mp3 multilib mysql mysqli ncurses nls nping nptl openmp openssl pam pci pcntl pcre pcre16 pcre32 pdo perl pie png posix python rar readline rpc rtmp ruby samba seccomp server session sieve slang smtp soap sockets socks5 split-usr sqlite ssh ssl ssp suexec svg tcpd threads tiff tracepath truetype udev unicode urandom usb vhosts webui x264 x265 xattr xml xmlreader xmlrpc xmlwriter xslt xtpax xvid xz zip zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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 authn_dbd authn_socache authz_dbd cache_socache dbd http2 proxy proxy_html proxy_http proxy_http2 proxy_wstunnel xml2enc" APACHE2_MPMS="event" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en sl" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python3_8" RUBY_TARGETS="ruby27" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="geoip"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 4 Klemen Mihevc 2020-05-10 16:39:43 UTC
I can also tell where the problem is... in kernel-2.eclass in function unipatch, when it excludes patches based on gcc major version... Dont know if actual patch needs any changing...
Comment 5 Adam Tygart 2020-05-12 19:01:16 UTC
Created attachment 638476 [details, diff]
5013_enable-cpu-optimizations-for-gcc101.patch

I've rebased the upstream 10.1 patch for the 5.7 line back for 5.5/5.6.
upstream for reference: https://github.com/graysky2/kernel_gcc_patch/blob/master/enable_additional_cpu_optimizations_for_gcc_v10.1%2B_kernel_v5.7%2B.patch

Seems to be working for me.
Comment 6 Klemen Mihevc 2020-05-12 19:14:30 UTC
Seems to work, was using old gcc 91 patch before, with 5.6.12 released yesterday, only difference seems to be that 101 supports 2 more cpu familys.
Comment 7 Mike Pagano gentoo-dev 2020-05-13 15:45:23 UTC
I fixed the eclass but will keep the patch as is to keep aligned with upstream.
Feel free to do a pull request to upstream for your rebase.

If it get's accepted we will pull it down in genpatches.

commit ea75508d300e0fd2e3fcf46e2c9d1e9302a0f383 (HEAD -> master, origin/master, origin/HEAD)
Author: Mike Pagano <mpagano@gentoo.org>
Date:   Wed May 13 11:39:22 2020 -0400

    kernel-2.eclass: Add gcc 10.X compatibility to CPU opt patch
    
    Signed-off-by: Mike Pagano <mpagano@gentoo.org>