linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
@ 2020-03-26  8:00 Masahiro Yamada
  2020-03-26  8:01 ` [PATCH v2 14/16] Documentation/changes: Raise minimum supported binutils version to 2.23 Masahiro Yamada
  2020-03-26  8:12 ` [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Jason A. Donenfeld
  0 siblings, 2 replies; 7+ messages in thread
From: Masahiro Yamada @ 2020-03-26  8:00 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Thomas Gleixner, Nick Desaulniers, Borislav Petkov,
	Peter Zijlstra, H . Peter Anvin, x86, Jason A . Donenfeld,
	clang-built-linux, Masahiro Yamada, Daniel Vetter, David Airlie,
	David S. Miller, Herbert Xu, Ingo Molnar, Jani Nikula,
	Jim Kukunas, Jonathan Corbet, Joonas Lahtinen, NeilBrown,
	Rodrigo Vivi, Yuanhan Liu, dri-devel, intel-gfx, linux-crypto,
	linux-doc, linux-kernel

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 even plan to bump it to 2.23).

After cleaning away the old checks,
as-instr calls are moved to Kconfig from Makefiles,
then more Kconfig / Makefile code is cleaned up.

I folded all relevanet patches into this series,
as suggested by Jason A. Donenfeld.

The update for v2 is quite small.
I just swapped the patch order of patch 8 and 11
instead of moving comments around files,
which was addressed by Nick Desaulniers.


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: replace arch macros from compiler with CONFIG_X86_{32,64}
  drm/i915: remove always-defined CONFIG_AS_MOVNTDQA
  x86: add comments about the binutils version to support code in
    as-instr
  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                    |  17 ++
 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, 101 insertions(+), 324 deletions(-)
 create mode 100644 arch/x86/Kconfig.assembler

-- 
2.17.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 14/16] Documentation/changes: Raise minimum supported binutils version to 2.23
  2020-03-26  8:00 [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Masahiro Yamada
@ 2020-03-26  8:01 ` Masahiro Yamada
  2020-03-26  8:12 ` [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Jason A. Donenfeld
  1 sibling, 0 replies; 7+ messages in thread
From: Masahiro Yamada @ 2020-03-26  8:01 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Thomas Gleixner, Nick Desaulniers, Borislav Petkov,
	Peter Zijlstra, H . Peter Anvin, x86, Jason A . Donenfeld,
	clang-built-linux, Borislav Petkov, Masahiro Yamada,
	Jonathan Corbet, linux-doc, linux-kernel

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>
---

Changes in v2: None

 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] 7+ messages in thread

* Re: [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
  2020-03-26  8:00 [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Masahiro Yamada
  2020-03-26  8:01 ` [PATCH v2 14/16] Documentation/changes: Raise minimum supported binutils version to 2.23 Masahiro Yamada
@ 2020-03-26  8:12 ` Jason A. Donenfeld
  2020-03-26  9:22   ` Ingo Molnar
  1 sibling, 1 reply; 7+ messages in thread
From: Jason A. Donenfeld @ 2020-03-26  8:12 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Linux Kbuild mailing list, Thomas Gleixner, Nick Desaulniers,
	Borislav Petkov, Peter Zijlstra, H . Peter Anvin, X86 ML,
	clang-built-linux, Daniel Vetter, David Airlie, David S. Miller,
	Herbert Xu, Ingo Molnar, Jani Nikula, Jim Kukunas,
	Jonathan Corbet, Joonas Lahtinen, NeilBrown, Rodrigo Vivi,
	Yuanhan Liu, dri-devel, intel-gfx, Linux Crypto Mailing List,
	linux-doc, LKML

Very little has changed from last time, and this whole series still
looks good to me. I think I already ack'd most packages, but in case
it helps:

Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com>

Since this touches a lot of stuff, it might be best to get it in as
early as possible during the merge window, as I imagine new code being
added is going to want to be touching those makefiles too.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
  2020-03-26  8:12 ` [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Jason A. Donenfeld
@ 2020-03-26  9:22   ` Ingo Molnar
  2020-03-26 20:43     ` Masahiro Yamada
  0 siblings, 1 reply; 7+ messages in thread
From: Ingo Molnar @ 2020-03-26  9:22 UTC (permalink / raw)
  To: Jason A. Donenfeld
  Cc: Masahiro Yamada, Linux Kbuild mailing list, Thomas Gleixner,
	Nick Desaulniers, Borislav Petkov, Peter Zijlstra,
	H . Peter Anvin, X86 ML, clang-built-linux, Daniel Vetter,
	David Airlie, David S. Miller, Herbert Xu, Ingo Molnar,
	Jani Nikula, Jim Kukunas, Jonathan Corbet, Joonas Lahtinen,
	NeilBrown, Rodrigo Vivi, Yuanhan Liu, dri-devel, intel-gfx,
	Linux Crypto Mailing List, linux-doc, LKML


* Jason A. Donenfeld <Jason@zx2c4.com> wrote:

> Very little has changed from last time, and this whole series still
> looks good to me. I think I already ack'd most packages, but in case
> it helps:
> 
> Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com>

Acked-by: Ingo Molnar <mingo@kernel.org>

> Since this touches a lot of stuff, it might be best to get it in as 
> early as possible during the merge window, as I imagine new code being 
> added is going to want to be touching those makefiles too.

I'd argue the opposite: please merge this later in the merge window, to 
not disrupt the vast body of other stuff that has already been lined up 
and has been tested, and to give time for these new bits to get tested 
some more.

Also, please get it into -next ASAP, today would be ideal for test 
coverage ...

Thanks,

	Ingo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
  2020-03-26  9:22   ` Ingo Molnar
@ 2020-03-26 20:43     ` Masahiro Yamada
  2020-03-26 20:46       ` Jason A. Donenfeld
  0 siblings, 1 reply; 7+ messages in thread
From: Masahiro Yamada @ 2020-03-26 20:43 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Jason A. Donenfeld, Linux Kbuild mailing list, Thomas Gleixner,
	Nick Desaulniers, Borislav Petkov, Peter Zijlstra,
	H . Peter Anvin, X86 ML, clang-built-linux, Daniel Vetter,
	David Airlie, David S. Miller, Herbert Xu, Ingo Molnar,
	Jani Nikula, Jim Kukunas, Jonathan Corbet, Joonas Lahtinen,
	NeilBrown, Rodrigo Vivi, Yuanhan Liu, dri-devel, intel-gfx,
	Linux Crypto Mailing List, open list:DOCUMENTATION, LKML

Hi all,

On Thu, Mar 26, 2020 at 6:22 PM Ingo Molnar <mingo@kernel.org> wrote:
>
>
> * Jason A. Donenfeld <Jason@zx2c4.com> wrote:
>
> > Very little has changed from last time, and this whole series still
> > looks good to me. I think I already ack'd most packages, but in case
> > it helps:
> >
> > Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com>
>
> Acked-by: Ingo Molnar <mingo@kernel.org>
>
> > Since this touches a lot of stuff, it might be best to get it in as
> > early as possible during the merge window, as I imagine new code being
> > added is going to want to be touching those makefiles too.
>
> I'd argue the opposite: please merge this later in the merge window, to
> not disrupt the vast body of other stuff that has already been lined up
> and has been tested, and to give time for these new bits to get tested
> some more.

I agree.


> Also, please get it into -next ASAP, today would be ideal for test
> coverage ...

I collected more Reviewed-by and Acked-by,
then pushed this series to

git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
kbuild-asinstr

It will show up in -next soon.


-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
  2020-03-26 20:43     ` Masahiro Yamada
@ 2020-03-26 20:46       ` Jason A. Donenfeld
  2020-03-26 21:12         ` Masahiro Yamada
  0 siblings, 1 reply; 7+ messages in thread
From: Jason A. Donenfeld @ 2020-03-26 20:46 UTC (permalink / raw)
  To: Masahiro Yamada, Nick Desaulniers
  Cc: Ingo Molnar, Linux Kbuild mailing list, Thomas Gleixner,
	Borislav Petkov, Peter Zijlstra, H . Peter Anvin, X86 ML,
	clang-built-linux, Daniel Vetter, David Airlie, David S. Miller,
	Herbert Xu, Ingo Molnar, Jani Nikula, Jim Kukunas,
	Jonathan Corbet, Joonas Lahtinen, NeilBrown, Rodrigo Vivi,
	Yuanhan Liu, dri-devel, intel-gfx, Linux Crypto Mailing List,
	open list:DOCUMENTATION, LKML

On Thu, Mar 26, 2020 at 2:44 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
> I collected more Reviewed-by and Acked-by,
> then pushed this series to
>
> git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
> kbuild-asinstr

But not the version of the penultimate patch that Nick ack'd....

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles
  2020-03-26 20:46       ` Jason A. Donenfeld
@ 2020-03-26 21:12         ` Masahiro Yamada
  0 siblings, 0 replies; 7+ messages in thread
From: Masahiro Yamada @ 2020-03-26 21:12 UTC (permalink / raw)
  To: Jason A. Donenfeld
  Cc: Nick Desaulniers, Ingo Molnar, Linux Kbuild mailing list,
	Thomas Gleixner, Borislav Petkov, Peter Zijlstra,
	H . Peter Anvin, X86 ML, clang-built-linux, Daniel Vetter,
	David Airlie, David S. Miller, Herbert Xu, Ingo Molnar,
	Jani Nikula, Jim Kukunas, Jonathan Corbet, Joonas Lahtinen,
	NeilBrown, Rodrigo Vivi, Yuanhan Liu, dri-devel, intel-gfx,
	Linux Crypto Mailing List, open list:DOCUMENTATION, LKML

On Fri, Mar 27, 2020 at 5:46 AM Jason A. Donenfeld <Jason@zx2c4.com> wrote:
>
> On Thu, Mar 26, 2020 at 2:44 PM Masahiro Yamada <masahiroy@kernel.org> wrote:
> > I collected more Reviewed-by and Acked-by,
> > then pushed this series to
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
> > kbuild-asinstr
>
> But not the version of the penultimate patch that Nick ack'd....

Dropped Nick's Reviewed-by.


-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-03-26 21:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-26  8:00 [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Masahiro Yamada
2020-03-26  8:01 ` [PATCH v2 14/16] Documentation/changes: Raise minimum supported binutils version to 2.23 Masahiro Yamada
2020-03-26  8:12 ` [PATCH v2 00/16] x86, crypto: remove always-defined CONFIG_AS_* and cosolidate Kconfig/Makefiles Jason A. Donenfeld
2020-03-26  9:22   ` Ingo Molnar
2020-03-26 20:43     ` Masahiro Yamada
2020-03-26 20:46       ` Jason A. Donenfeld
2020-03-26 21:12         ` Masahiro Yamada

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).