* [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
@ 2020-03-24 8:48 Masahiro Yamada
2020-03-24 8:48 ` [PATCH 14/16] Documentation/changes: Raise minimum supported binutils version to 2.23 Masahiro Yamada
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Masahiro Yamada @ 2020-03-24 8:48 UTC (permalink / raw)
To: linux-kernel
Cc: David S . Miller, Linus Torvalds, Kees Cook, clang-built-linux,
Herbert Xu, linux-crypto, Ingo Molnar, Thomas Gleixner,
Borislav Petkov, Peter Zijlstra, H . Peter Anvin, x86,
linux-kbuild, Masahiro Yamada, Daniel Vetter, David Airlie,
Jani Nikula, Jim Kukunas, Jonathan Corbet, Joonas Lahtinen,
NeilBrown, Rodrigo Vivi, Yuanhan Liu, dri-devel, intel-gfx,
linux-doc
This series of cleanups was prompted by Linus:
https://lkml.org/lkml/2020/3/12/726
First, this series drop always-on CONFIG_AS_* options.
Some of those options were introduced in old days.
For example, the check for CONFIG_AS_CFI dates back to 2006.
We raise the minimal tool versions from time to time.
Currently, we require binutils 2.21
(and we plan to bump it to 2.23 for v5.7-rc1).
After cleaning away the old checks,
as-instr calls are moved to Kconfig from Makefiles.
(patch 11)
This allows more Kconfig / Makefile cleanups.
Patch 12 is complex, but I double-checked it does the equivalent.
Patch 14 bumps the binutils version to 2.23,
and patch 15 removes more CONFIG_AS_* options.
I folded all relevanet patches into this series,
as suggested by Jason A. Donenfeld.
If x86 maintainers take care of this series, that's good.
If it is OK to queue this up to Kbuild tree,
I will send a pull request to Linus.
Thank you.
Borislav Petkov (1):
Documentation/changes: Raise minimum supported binutils version to
2.23
Jason A. Donenfeld (4):
x86: probe assembler capabilities via kconfig instead of makefile
crypto: x86 - rework configuration based on Kconfig
crypto: curve25519 - do not pollute dispatcher based on assembler
x86: update AS_* macros to binutils >=2.23, supporting ADX and AVX2
Masahiro Yamada (11):
lib/raid6/test: fix build on distros whose /bin/sh is not bash
x86: remove unneeded defined(__ASSEMBLY__) check from asm/dwarf2.h
x86: remove always-defined CONFIG_AS_CFI
x86: remove unneeded (CONFIG_AS_)CFI_SIGNAL_FRAME
x86: remove always-defined CONFIG_AS_CFI_SECTIONS
x86: remove always-defined CONFIG_AS_SSSE3
x86: remove always-defined CONFIG_AS_AVX
x86: add comments about the binutils version to support code in
as-instr
x86: replace arch macros from compiler with CONFIG_X86_{32,64}
drm/i915: remove always-defined CONFIG_AS_MOVNTDQA
crypto: x86 - clean up poly1305-x86_64-cryptogams.S by 'make clean'
Documentation/process/changes.rst | 4 +-
arch/x86/Kconfig | 2 +
arch/x86/Kconfig.assembler | 14 ++
arch/x86/Makefile | 22 ---
arch/x86/crypto/Makefile | 162 +++++++-----------
arch/x86/crypto/aesni-intel_avx-x86_64.S | 6 -
arch/x86/crypto/aesni-intel_glue.c | 21 +--
arch/x86/crypto/blake2s-core.S | 2 -
arch/x86/crypto/chacha_glue.c | 6 +-
arch/x86/crypto/poly1305-x86_64-cryptogams.pl | 16 --
arch/x86/crypto/poly1305_glue.c | 11 +-
arch/x86/crypto/sha1_ssse3_asm.S | 4 -
arch/x86/crypto/sha1_ssse3_glue.c | 13 --
arch/x86/crypto/sha256-avx-asm.S | 3 -
arch/x86/crypto/sha256-avx2-asm.S | 3 -
arch/x86/crypto/sha256_ssse3_glue.c | 12 --
arch/x86/crypto/sha512-avx-asm.S | 2 -
arch/x86/crypto/sha512-avx2-asm.S | 3 -
arch/x86/crypto/sha512_ssse3_glue.c | 10 --
arch/x86/include/asm/dwarf2.h | 44 -----
arch/x86/include/asm/xor_avx.h | 9 -
drivers/gpu/drm/i915/Makefile | 3 -
drivers/gpu/drm/i915/i915_memcpy.c | 5 -
include/crypto/curve25519.h | 6 +-
kernel/signal.c | 2 +-
lib/raid6/algos.c | 12 +-
lib/raid6/avx2.c | 4 -
lib/raid6/recov_avx2.c | 6 -
lib/raid6/recov_ssse3.c | 6 -
lib/raid6/test/Makefile | 9 +-
30 files changed, 98 insertions(+), 324 deletions(-)
create mode 100644 arch/x86/Kconfig.assembler
--
2.17.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 14/16] Documentation/changes: Raise minimum supported binutils version to 2.23
2020-03-24 8:48 [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Masahiro Yamada
@ 2020-03-24 8:48 ` Masahiro Yamada
2020-03-24 16:51 ` [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Linus Torvalds
2020-03-25 4:59 ` Ingo Molnar
2 siblings, 0 replies; 6+ messages in thread
From: Masahiro Yamada @ 2020-03-24 8:48 UTC (permalink / raw)
To: linux-kernel
Cc: David S . Miller, Linus Torvalds, Kees Cook, clang-built-linux,
Herbert Xu, linux-crypto, Ingo Molnar, Thomas Gleixner,
Borislav Petkov, Peter Zijlstra, H . Peter Anvin, x86,
linux-kbuild, Borislav Petkov, Masahiro Yamada, Jonathan Corbet,
linux-doc
From: Borislav Petkov <bp@suse.de>
The currently minimum-supported binutils version 2.21 has the problem of
promoting symbols which are defined outside of a section into absolute.
According to Arvind:
binutils-2.21 and -2.22. An x86-64 defconfig will fail with
Invalid absolute R_X86_64_32S relocation: _etext
and after fixing that one, with
Invalid absolute R_X86_64_32S relocation: __end_of_kernel_reserve
Those two versions of binutils have a bug when it comes to handling
symbols defined outside of a section and binutils 2.23 has the proper
fix, see: https://sourceware.org/legacy-ml/binutils/2012-06/msg00155.html
Therefore, up to the fixed version directly, skipping the broken ones.
Currently shipping distros already have the fixed binutils version so
there should be no breakage resulting from this.
For more details about the whole thing, see the thread in Link.
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200110202349.1881840-1-nivedita@alum.mit.edu
Acked-by: Kees Cook <keescook@chromium.org>
Acked-by: Jason A. Donenfeld <Jason@zx2c4.com>
Acked-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
Documentation/process/changes.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst
index e47863575917..91c5ff8e161e 100644
--- a/Documentation/process/changes.rst
+++ b/Documentation/process/changes.rst
@@ -31,7 +31,7 @@ you probably needn't concern yourself with pcmciautils.
====================== =============== ========================================
GNU C 4.6 gcc --version
GNU make 3.81 make --version
-binutils 2.21 ld -v
+binutils 2.23 ld -v
flex 2.5.35 flex --version
bison 2.0 bison --version
util-linux 2.10o fdformat --version
@@ -76,7 +76,7 @@ You will need GNU make 3.81 or later to build the kernel.
Binutils
--------
-Binutils 2.21 or newer is needed to build the kernel.
+Binutils 2.23 or newer is needed to build the kernel.
pkg-config
----------
--
2.17.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
2020-03-24 8:48 [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Masahiro Yamada
2020-03-24 8:48 ` [PATCH 14/16] Documentation/changes: Raise minimum supported binutils version to 2.23 Masahiro Yamada
@ 2020-03-24 16:51 ` Linus Torvalds
2020-03-25 4:59 ` Ingo Molnar
2 siblings, 0 replies; 6+ messages in thread
From: Linus Torvalds @ 2020-03-24 16:51 UTC (permalink / raw)
To: Masahiro Yamada
Cc: Linux Kernel Mailing List, David S . Miller, Kees Cook,
clang-built-linux, Herbert Xu, Linux Crypto Mailing List,
Ingo Molnar, Thomas Gleixner, Borislav Petkov, Peter Zijlstra,
H . Peter Anvin, the arch/x86 maintainers,
Linux Kbuild mailing list, Daniel Vetter, David Airlie,
Jani Nikula, Jim Kukunas, Jonathan Corbet, Joonas Lahtinen,
NeilBrown, Rodrigo Vivi, Yuanhan Liu, dri-devel, intel-gfx,
open list:DOCUMENTATION
On Tue, Mar 24, 2020 at 1:49 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> If it is OK to queue this up to Kbuild tree,
> I will send a pull request to Linus.
Looks fine to me, assuming we didn't now get some confusion due to
duplicate patches (I think Jason got his tree added to -next already).
And yeah, that end result looks much better.
Linus
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
2020-03-24 8:48 [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Masahiro Yamada
2020-03-24 8:48 ` [PATCH 14/16] Documentation/changes: Raise minimum supported binutils version to 2.23 Masahiro Yamada
2020-03-24 16:51 ` [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Linus Torvalds
@ 2020-03-25 4:59 ` Ingo Molnar
2020-03-25 5:09 ` Masahiro Yamada
2 siblings, 1 reply; 6+ messages in thread
From: Ingo Molnar @ 2020-03-25 4:59 UTC (permalink / raw)
To: Masahiro Yamada
Cc: linux-kernel, David S . Miller, Linus Torvalds, Kees Cook,
clang-built-linux, Herbert Xu, linux-crypto, Ingo Molnar,
Thomas Gleixner, Borislav Petkov, Peter Zijlstra,
H . Peter Anvin, x86, linux-kbuild, Daniel Vetter, David Airlie,
Jani Nikula, Jim Kukunas, Jonathan Corbet, Joonas Lahtinen,
NeilBrown, Rodrigo Vivi, Yuanhan Liu, dri-devel, intel-gfx,
linux-doc, Peter Zijlstra
* Masahiro Yamada <masahiroy@kernel.org> wrote:
> This series of cleanups was prompted by Linus:
> https://lkml.org/lkml/2020/3/12/726
>
> First, this series drop always-on CONFIG_AS_* options.
> Some of those options were introduced in old days.
> For example, the check for CONFIG_AS_CFI dates back to 2006.
>
> We raise the minimal tool versions from time to time.
> Currently, we require binutils 2.21
> (and we plan to bump it to 2.23 for v5.7-rc1).
>
> After cleaning away the old checks,
> as-instr calls are moved to Kconfig from Makefiles.
> (patch 11)
>
> This allows more Kconfig / Makefile cleanups.
> Patch 12 is complex, but I double-checked it does the equivalent.
>
> Patch 14 bumps the binutils version to 2.23,
> and patch 15 removes more CONFIG_AS_* options.
>
> I folded all relevanet patches into this series,
> as suggested by Jason A. Donenfeld.
>
> If x86 maintainers take care of this series, that's good.
>
> If it is OK to queue this up to Kbuild tree,
> I will send a pull request to Linus.
>
> Thank you.
LGTM. I've got these four from Jason A. Donenfeld queued up in
tip:WIP.x86/asm:
bd5b1283e41c: ("crypto: Curve25519 - do not pollute dispatcher based on assembler")
829f32d78588: ("crypto: X86 - rework configuration, based on Kconfig")
95ef9f80ed63: ("x86/build: Probe assembler from Kconfig instead of Kbuild")
1651e700664b: ("x86: Fix bitops.h warning with a moved cast")
I suppose these might interact (maybe even conflict), and are topically
related.
Would you like to pull these into the kbuild tree? You can find them in:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/asm
Thanks,
Ingo
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
2020-03-25 4:59 ` Ingo Molnar
@ 2020-03-25 5:09 ` Masahiro Yamada
2020-03-26 9:20 ` Ingo Molnar
0 siblings, 1 reply; 6+ messages in thread
From: Masahiro Yamada @ 2020-03-25 5:09 UTC (permalink / raw)
To: Ingo Molnar
Cc: Linux Kernel Mailing List, David S . Miller, Linus Torvalds,
Kees Cook, clang-built-linux, Herbert Xu,
Linux Crypto Mailing List, Ingo Molnar, Thomas Gleixner,
Borislav Petkov, Peter Zijlstra, H . Peter Anvin, X86 ML,
Linux Kbuild mailing list, Daniel Vetter, David Airlie,
Jani Nikula, Jim Kukunas, Jonathan Corbet, Joonas Lahtinen,
NeilBrown, Rodrigo Vivi, Yuanhan Liu, dri-devel, intel-gfx,
open list:DOCUMENTATION, Peter Zijlstra
Hi Ingo,
On Wed, Mar 25, 2020 at 1:59 PM Ingo Molnar <mingo@kernel.org> wrote:
>
>
> * Masahiro Yamada <masahiroy@kernel.org> wrote:
>
> > This series of cleanups was prompted by Linus:
> > https://lkml.org/lkml/2020/3/12/726
> >
> > First, this series drop always-on CONFIG_AS_* options.
> > Some of those options were introduced in old days.
> > For example, the check for CONFIG_AS_CFI dates back to 2006.
> >
> > We raise the minimal tool versions from time to time.
> > Currently, we require binutils 2.21
> > (and we plan to bump it to 2.23 for v5.7-rc1).
> >
> > After cleaning away the old checks,
> > as-instr calls are moved to Kconfig from Makefiles.
> > (patch 11)
> >
> > This allows more Kconfig / Makefile cleanups.
> > Patch 12 is complex, but I double-checked it does the equivalent.
> >
> > Patch 14 bumps the binutils version to 2.23,
> > and patch 15 removes more CONFIG_AS_* options.
> >
> > I folded all relevanet patches into this series,
> > as suggested by Jason A. Donenfeld.
> >
> > If x86 maintainers take care of this series, that's good.
> >
> > If it is OK to queue this up to Kbuild tree,
> > I will send a pull request to Linus.
> >
> > Thank you.
>
> LGTM. I've got these four from Jason A. Donenfeld queued up in
> tip:WIP.x86/asm:
>
> bd5b1283e41c: ("crypto: Curve25519 - do not pollute dispatcher based on assembler")
> 829f32d78588: ("crypto: X86 - rework configuration, based on Kconfig")
> 95ef9f80ed63: ("x86/build: Probe assembler from Kconfig instead of Kbuild")
> 1651e700664b: ("x86: Fix bitops.h warning with a moved cast")
>
> I suppose these might interact (maybe even conflict), and are topically
> related.
>
> Would you like to pull these into the kbuild tree? You can find them in:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/asm
>
> Thanks,
>
> Ingo
I did not know that these had already landed in tip tree.
They are immature version.
(In fact CONFIG_AS_CFI and AS_ADX are false-negative
if GCC that defaults to 32-bit is used.)
Can you simply discard the WIP.x86/asm branch,
and only reapply
1651e700664b: ("x86: Fix bitops.h warning with a moved cast")
?
--
Best Regards
Masahiro Yamada
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
2020-03-25 5:09 ` Masahiro Yamada
@ 2020-03-26 9:20 ` Ingo Molnar
0 siblings, 0 replies; 6+ messages in thread
From: Ingo Molnar @ 2020-03-26 9:20 UTC (permalink / raw)
To: Masahiro Yamada
Cc: Linux Kernel Mailing List, David S . Miller, Linus Torvalds,
Kees Cook, clang-built-linux, Herbert Xu,
Linux Crypto Mailing List, Ingo Molnar, Thomas Gleixner,
Borislav Petkov, Peter Zijlstra, H . Peter Anvin, X86 ML,
Linux Kbuild mailing list, Daniel Vetter, David Airlie,
Jani Nikula, Jim Kukunas, Jonathan Corbet, Joonas Lahtinen,
NeilBrown, Rodrigo Vivi, Yuanhan Liu, dri-devel, intel-gfx,
open list:DOCUMENTATION, Peter Zijlstra
* Masahiro Yamada <masahiroy@kernel.org> wrote:
> > LGTM. I've got these four from Jason A. Donenfeld queued up in
> > tip:WIP.x86/asm:
> >
> > bd5b1283e41c: ("crypto: Curve25519 - do not pollute dispatcher based on assembler")
> > 829f32d78588: ("crypto: X86 - rework configuration, based on Kconfig")
> > 95ef9f80ed63: ("x86/build: Probe assembler from Kconfig instead of Kbuild")
> > 1651e700664b: ("x86: Fix bitops.h warning with a moved cast")
> >
> > I suppose these might interact (maybe even conflict), and are topically
> > related.
> >
> > Would you like to pull these into the kbuild tree? You can find them in:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.x86/asm
> >
> > Thanks,
> >
> > Ingo
>
>
> I did not know that these had already landed in tip tree.
>
> They are immature version.
> (In fact CONFIG_AS_CFI and AS_ADX are false-negative
> if GCC that defaults to 32-bit is used.)
>
> Can you simply discard the WIP.x86/asm branch,
> and only reapply
> 1651e700664b: ("x86: Fix bitops.h warning with a moved cast")
>
> ?
Sure, done!
In case you need any x86 maintainer acks for your series:
Acked-by: Ingo Molnar <mingo@kernel.org>
Thanks,
Ingo
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-03-26 9:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-24 8:48 [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Masahiro Yamada
2020-03-24 8:48 ` [PATCH 14/16] Documentation/changes: Raise minimum supported binutils version to 2.23 Masahiro Yamada
2020-03-24 16:51 ` [PATCH 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Linus Torvalds
2020-03-25 4:59 ` Ingo Molnar
2020-03-25 5:09 ` Masahiro Yamada
2020-03-26 9:20 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).