Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 679738 - sys-devel/gcc: Backport fix allowing later -march=* to override previous -march=native
Summary: sys-devel/gcc: Backport fix allowing later -march=* to override previous -mar...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 672946
  Show dependency tree
 
Reported: 2019-03-08 07:38 UTC by Arfrever Frehtes Taifersar Arahesis
Modified: 2019-09-22 21:05 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arfrever Frehtes Taifersar Arahesis 2019-03-08 07:38:44 UTC
GCC bug:
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69471

Fix:
  https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=269164
  https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=8c0f695d83d1b4b92b9e7e8dad003701dbc04d27

"""
driver: Also prune joined switches with negation

When -march=native is passed to host_detect_local_cpu to the backend,
it overrides all command lines after it.  That means

$ gcc -march=native -march=skylake-avx512

is the treated as

$ gcc -march=skylake-avx512 -march=native

Prune joined switches with Negative and RejectNegative to allow
-march=skylake-avx512 to override previous -march=native on command-line.

gcc/

	PR driver/69471
	* opts-common.c (prune_options): Also prune joined switches
	with Negative and RejectNegative.
	* config/i386/i386.opt (march=): Add Negative(march=).
	(mtune=): Add Negative(mtune=).
	* doc/options.texi: Document Negative used together with Joined
	and RejectNegative.

gcc/testsuite/

	PR driver/69471
	* gcc.dg/pr69471-1.c: New test.
	* gcc.dg/pr69471-2.c: Likewise.
	* gcc.target/i386/pr69471-3.c: Likewise.
"""
Comment 1 Larry the Git Cow gentoo-dev 2019-03-08 07:54:56 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=28e55a54934fa758aa6af045b61bd8f268a9c11b

commit 28e55a54934fa758aa6af045b61bd8f268a9c11b
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2019-03-08 07:50:57 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2019-03-08 07:50:57 +0000

    8.3.0: allow -march=native override with -march=<arch>
    
    That fixes build breakage like https://bugs.gentoo.org/672946
    where Qt build system uses -march=core-avx2 instead of
    individual -mavx2 (and friends).
    
    Bug: https://bugs.gentoo.org/679738
    Bug: https://gcc.gnu.org/PR69471
    Bug: https://bugs.gentoo.org/672946
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 8.3.0/gentoo/26_all_overridable_native.patch | 126 +++++++++++++++++++++++++++
 8.3.0/gentoo/README.history                  |   3 +
 2 files changed, 129 insertions(+)
Comment 2 Sergei Trofimovich (RETIRED) gentoo-dev 2019-03-08 07:56:34 UTC
I'll cut a patchset in a few weeks if nothing newer pops up meanwhile.
Comment 3 Larry the Git Cow gentoo-dev 2019-04-06 12:45:19 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=c8e228e9ad5ff6e81cf0fb3a6c0f7fb2929519bf

commit c8e228e9ad5ff6e81cf0fb3a6c0f7fb2929519bf
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2019-04-06 10:44:29 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2019-04-06 10:44:29 +0000

    8.3.0: cut 1.1 patchset
    
    Three new patches:
    - 26_all_overridable_native.patch
    - 27_all_flto-make-all.patch
    - 28_all_i386_retpoline-and-jumptable.patch
    
    Bug: https://bugs.gentoo.org/679738
    Bug: https://bugs.gentoo.org/682018
    Bug: https://bugs.gentoo.org/682218
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 8.3.0/gentoo/README.history | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 4 Larry the Git Cow gentoo-dev 2019-04-06 12:50:01 UTC
The bug has been closed via the following commit(s):

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

commit ce95a47723f26ab8a687c3dffeea80aea71bfd87
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2019-04-06 12:49:11 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2019-04-06 12:49:50 +0000

    sys-devel/gcc: cut 1.1 patchset for 8.3.0
    
    Three new patches:
    - 26_all_overridable_native.patch
    - 27_all_flto-make-all.patch
    - 28_all_i386_retpoline-and-jumptable.patch
    
    This is also the first EAPI=6 gcc ebuild.
    
    Closes: https://bugs.gentoo.org/679738
    Closes: https://bugs.gentoo.org/682018
    Closes: https://bugs.gentoo.org/682218
    Package-Manager: Portage-2.3.62, Repoman-2.3.12
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 sys-devel/gcc/Manifest            |  1 +
 sys-devel/gcc/gcc-8.3.0-r1.ebuild | 19 +++++++++++++++++++
 2 files changed, 20 insertions(+)