<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-op-linux/arch/x86/Makefile, branch master</title>
<subtitle>Talos™ II Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/talos-op-linux/atom?h=master</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-op-linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/'/>
<updated>2019-08-28T15:31:31+00:00</updated>
<entry>
<title>x86/build: Add -Wnoaddress-of-packed-member to REALMODE_CFLAGS, to silence GCC9 build warning</title>
<updated>2019-08-28T15:31:31+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2019-08-28T08:56:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=42e0e95474fc6076b5cd68cab8fa0340a1797a72'/>
<id>urn:sha1:42e0e95474fc6076b5cd68cab8fa0340a1797a72</id>
<content type='text'>
One of the very few warnings I have in the current build comes from
arch/x86/boot/edd.c, where I get the following with a gcc9 build:

   arch/x86/boot/edd.c: In function ‘query_edd’:
   arch/x86/boot/edd.c:148:11: warning: taking address of packed member of ‘struct boot_params’ may result in an unaligned pointer value [-Waddress-of-packed-member]
     148 |  mbrptr = boot_params.edd_mbr_sig_buffer;
         |           ^~~~~~~~~~~

This warning triggers because we throw away all the CFLAGS and then make
a new set for REALMODE_CFLAGS, so the -Wno-address-of-packed-member we
added in the following commit is not present:

  6f303d60534c ("gcc-9: silence 'address-of-packed-member' warning")

The simplest solution for now is to adjust the warning for this version
of CFLAGS as well, but it would definitely make sense to examine whether
REALMODE_CFLAGS could be derived from CFLAGS, so that it picks up changes
in the compiler flags environment automatically.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Acked-by: Borislav Petkov &lt;bp@alien8.de&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/build: Keep local relocations with ld.lld</title>
<updated>2019-04-05T10:34:35+00:00</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2019-04-04T21:40:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=7c21383f3429dd70da39c0c7f1efa12377a47ab6'/>
<id>urn:sha1:7c21383f3429dd70da39c0c7f1efa12377a47ab6</id>
<content type='text'>
The LLVM linker (ld.lld) defaults to removing local relocations, which
causes KASLR boot failures. ld.bfd and ld.gold already handle this
correctly. This adds the explicit instruction "--discard-none" during
the link phase. There is no change in output for ld.bfd and ld.gold,
but ld.lld now produces an image with all the needed relocations.

Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
Cc: Nick Desaulniers &lt;ndesaulniers@google.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: clang-built-linux@googlegroups.com
Cc: x86-ml &lt;x86@kernel.org&gt;
Link: https://lkml.kernel.org/r/20190404214027.GA7324@beast
Link: https://github.com/ClangBuiltLinux/linux/issues/404
</content>
</entry>
<entry>
<title>x86/retpolines: Disable switch jump tables when retpolines are enabled</title>
<updated>2019-03-28T12:39:48+00:00</updated>
<author>
<name>Daniel Borkmann</name>
<email>daniel@iogearbox.net</email>
</author>
<published>2019-03-25T13:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=a9d57ef15cbe327fe54416dd194ee0ea66ae53a4'/>
<id>urn:sha1:a9d57ef15cbe327fe54416dd194ee0ea66ae53a4</id>
<content type='text'>
Commit ce02ef06fcf7 ("x86, retpolines: Raise limit for generating indirect
calls from switch-case") raised the limit under retpolines to 20 switch
cases where gcc would only then start to emit jump tables, and therefore
effectively disabling the emission of slow indirect calls in this area.

After this has been brought to attention to gcc folks [0], Martin Liska
has then fixed gcc to align with clang by avoiding to generate switch jump
tables entirely under retpolines. This is taking effect in gcc starting
from stable version 8.4.0. Given kernel supports compilation with older
versions of gcc where the fix is not being available or backported anymore,
we need to keep the extra KBUILD_CFLAGS around for some time and generally
set the -fno-jump-tables to align with what more recent gcc is doing
automatically today.

More than 20 switch cases are not expected to be fast-path critical, but
it would still be good to align with gcc behavior for versions &lt; 8.4.0 in
order to have consistency across supported gcc versions. vmlinux size is
slightly growing by 0.27% for older gcc. This flag is only set to work
around affected gcc, no change for clang.

  [0] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86952

Suggested-by: Martin Liska &lt;mliska@suse.cz&gt;
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Jesper Dangaard Brouer &lt;brouer@redhat.com&gt;
Cc: Björn Töpel&lt;bjorn.topel@intel.com&gt;
Cc: Magnus Karlsson &lt;magnus.karlsson@intel.com&gt;
Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;
Cc: H.J. Lu &lt;hjl.tools@gmail.com&gt;
Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Link: https://lkml.kernel.org/r/20190325135620.14882-1-daniel@iogearbox.net
</content>
</entry>
<entry>
<title>Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2019-03-08T01:09:28+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2019-03-08T01:09:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=35a738fb5fd0fdd1cc7e749e3a45f1876ecd1db8'/>
<id>urn:sha1:35a738fb5fd0fdd1cc7e749e3a45f1876ecd1db8</id>
<content type='text'>
Pull x86 fpu updates from Ingo Molnar:
 "Three changes:

   - preparatory patch for AVX state tracking that computing-cluster
     folks would like to use for user-space batching - but we are not
     happy about the related ABI yet so this is only the kernel tracking
     side

   - a cleanup for CR0 handling in do_device_not_available()

   - plus we removed a workaround for an ancient binutils version"

* 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/fpu: Track AVX-512 usage of tasks
  x86/fpu: Get rid of CONFIG_AS_FXSAVEQ
  x86/traps: Have read_cr0() only once in the #NM handler
</content>
</entry>
<entry>
<title>x86, retpolines: Raise limit for generating indirect calls from switch-case</title>
<updated>2019-02-28T11:10:31+00:00</updated>
<author>
<name>Daniel Borkmann</name>
<email>daniel@iogearbox.net</email>
</author>
<published>2019-02-21T22:19:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=ce02ef06fcf7a399a6276adb83f37373d10cbbe1'/>
<id>urn:sha1:ce02ef06fcf7a399a6276adb83f37373d10cbbe1</id>
<content type='text'>
From networking side, there are numerous attempts to get rid of indirect
calls in fast-path wherever feasible in order to avoid the cost of
retpolines, for example, just to name a few:

  * 283c16a2dfd3 ("indirect call wrappers: helpers to speed-up indirect calls of builtin")
  * aaa5d90b395a ("net: use indirect call wrappers at GRO network layer")
  * 028e0a476684 ("net: use indirect call wrappers at GRO transport layer")
  * 356da6d0cde3 ("dma-mapping: bypass indirect calls for dma-direct")
  * 09772d92cd5a ("bpf: avoid retpoline for lookup/update/delete calls on maps")
  * 10870dd89e95 ("netfilter: nf_tables: add direct calls for all builtin expressions")
  [...]

Recent work on XDP from Björn and Magnus additionally found that manually
transforming the XDP return code switch statement with more than 5 cases
into if-else combination would result in a considerable speedup in XDP
layer due to avoidance of indirect calls in CONFIG_RETPOLINE enabled
builds. On i40e driver with XDP prog attached, a 20-26% speedup has been
observed [0]. Aside from XDP, there are many other places later in the
networking stack's critical path with similar switch-case
processing. Rather than fixing every XDP-enabled driver and locations in
stack by hand, it would be good to instead raise the limit where gcc would
emit expensive indirect calls from the switch under retpolines and stick
with the default as-is in case of !retpoline configured kernels. This would
also have the advantage that for archs where this is not necessary, we let
compiler select the underlying target optimization for these constructs and
avoid potential slow-downs by if-else hand-rewrite.

In case of gcc, this setting is controlled by case-values-threshold which
has an architecture global default that selects 4 or 5 (latter if target
does not have a case insn that compares the bounds) where some arch back
ends like arm64 or s390 override it with their own target hooks, for
example, in gcc commit db7a90aa0de5 ("S/390: Disable prediction of indirect
branches") the threshold pretty much disables jump tables by limit of 20
under retpoline builds.  Comparing gcc's and clang's default code
generation on x86-64 under O2 level with retpoline build results in the
following outcome for 5 switch cases:

* gcc with -mindirect-branch=thunk-inline -mindirect-branch-register:

  # gdb -batch -ex 'disassemble dispatch' ./c-switch
  Dump of assembler code for function dispatch:
   0x0000000000400be0 &lt;+0&gt;:     cmp    $0x4,%edi
   0x0000000000400be3 &lt;+3&gt;:     ja     0x400c35 &lt;dispatch+85&gt;
   0x0000000000400be5 &lt;+5&gt;:     lea    0x915f8(%rip),%rdx        # 0x4921e4
   0x0000000000400bec &lt;+12&gt;:    mov    %edi,%edi
   0x0000000000400bee &lt;+14&gt;:    movslq (%rdx,%rdi,4),%rax
   0x0000000000400bf2 &lt;+18&gt;:    add    %rdx,%rax
   0x0000000000400bf5 &lt;+21&gt;:    callq  0x400c01 &lt;dispatch+33&gt;
   0x0000000000400bfa &lt;+26&gt;:    pause
   0x0000000000400bfc &lt;+28&gt;:    lfence
   0x0000000000400bff &lt;+31&gt;:    jmp    0x400bfa &lt;dispatch+26&gt;
   0x0000000000400c01 &lt;+33&gt;:    mov    %rax,(%rsp)
   0x0000000000400c05 &lt;+37&gt;:    retq
   0x0000000000400c06 &lt;+38&gt;:    nopw   %cs:0x0(%rax,%rax,1)
   0x0000000000400c10 &lt;+48&gt;:    jmpq   0x400c90 &lt;fn_3&gt;
   0x0000000000400c15 &lt;+53&gt;:    nopl   (%rax)
   0x0000000000400c18 &lt;+56&gt;:    jmpq   0x400c70 &lt;fn_2&gt;
   0x0000000000400c1d &lt;+61&gt;:    nopl   (%rax)
   0x0000000000400c20 &lt;+64&gt;:    jmpq   0x400c50 &lt;fn_1&gt;
   0x0000000000400c25 &lt;+69&gt;:    nopl   (%rax)
   0x0000000000400c28 &lt;+72&gt;:    jmpq   0x400c40 &lt;fn_0&gt;
   0x0000000000400c2d &lt;+77&gt;:    nopl   (%rax)
   0x0000000000400c30 &lt;+80&gt;:    jmpq   0x400cb0 &lt;fn_4&gt;
   0x0000000000400c35 &lt;+85&gt;:    push   %rax
   0x0000000000400c36 &lt;+86&gt;:    callq  0x40dd80 &lt;abort&gt;
  End of assembler dump.

* clang with -mretpoline emitting search tree:

  # gdb -batch -ex 'disassemble dispatch' ./c-switch
  Dump of assembler code for function dispatch:
   0x0000000000400b30 &lt;+0&gt;:     cmp    $0x1,%edi
   0x0000000000400b33 &lt;+3&gt;:     jle    0x400b44 &lt;dispatch+20&gt;
   0x0000000000400b35 &lt;+5&gt;:     cmp    $0x2,%edi
   0x0000000000400b38 &lt;+8&gt;:     je     0x400b4d &lt;dispatch+29&gt;
   0x0000000000400b3a &lt;+10&gt;:    cmp    $0x3,%edi
   0x0000000000400b3d &lt;+13&gt;:    jne    0x400b52 &lt;dispatch+34&gt;
   0x0000000000400b3f &lt;+15&gt;:    jmpq   0x400c50 &lt;fn_3&gt;
   0x0000000000400b44 &lt;+20&gt;:    test   %edi,%edi
   0x0000000000400b46 &lt;+22&gt;:    jne    0x400b5c &lt;dispatch+44&gt;
   0x0000000000400b48 &lt;+24&gt;:    jmpq   0x400c20 &lt;fn_0&gt;
   0x0000000000400b4d &lt;+29&gt;:    jmpq   0x400c40 &lt;fn_2&gt;
   0x0000000000400b52 &lt;+34&gt;:    cmp    $0x4,%edi
   0x0000000000400b55 &lt;+37&gt;:    jne    0x400b66 &lt;dispatch+54&gt;
   0x0000000000400b57 &lt;+39&gt;:    jmpq   0x400c60 &lt;fn_4&gt;
   0x0000000000400b5c &lt;+44&gt;:    cmp    $0x1,%edi
   0x0000000000400b5f &lt;+47&gt;:    jne    0x400b66 &lt;dispatch+54&gt;
   0x0000000000400b61 &lt;+49&gt;:    jmpq   0x400c30 &lt;fn_1&gt;
   0x0000000000400b66 &lt;+54&gt;:    push   %rax
   0x0000000000400b67 &lt;+55&gt;:    callq  0x40dd20 &lt;abort&gt;
  End of assembler dump.

  For sake of comparison, clang without -mretpoline:

  # gdb -batch -ex 'disassemble dispatch' ./c-switch
  Dump of assembler code for function dispatch:
   0x0000000000400b30 &lt;+0&gt;:	cmp    $0x4,%edi
   0x0000000000400b33 &lt;+3&gt;:	ja     0x400b57 &lt;dispatch+39&gt;
   0x0000000000400b35 &lt;+5&gt;:	mov    %edi,%eax
   0x0000000000400b37 &lt;+7&gt;:	jmpq   *0x492148(,%rax,8)
   0x0000000000400b3e &lt;+14&gt;:	jmpq   0x400bf0 &lt;fn_0&gt;
   0x0000000000400b43 &lt;+19&gt;:	jmpq   0x400c30 &lt;fn_4&gt;
   0x0000000000400b48 &lt;+24&gt;:	jmpq   0x400c10 &lt;fn_2&gt;
   0x0000000000400b4d &lt;+29&gt;:	jmpq   0x400c20 &lt;fn_3&gt;
   0x0000000000400b52 &lt;+34&gt;:	jmpq   0x400c00 &lt;fn_1&gt;
   0x0000000000400b57 &lt;+39&gt;:	push   %rax
   0x0000000000400b58 &lt;+40&gt;:	callq  0x40dcf0 &lt;abort&gt;
  End of assembler dump.

Raising the cases to a high number (e.g. 100) will still result in similar
code generation pattern with clang and gcc as above, in other words clang
generally turns off jump table emission by having an extra expansion pass
under retpoline build to turn indirectbr instructions from their IR into
switch instructions as a built-in -mno-jump-table lowering of a switch (in
this case, even if IR input already contained an indirect branch).

For gcc, adding --param=case-values-threshold=20 as in similar fashion as
s390 in order to raise the limit for x86 retpoline enabled builds results
in a small vmlinux size increase of only 0.13% (before=18,027,528
after=18,051,192). For clang this option is ignored due to i) not being
needed as mentioned and ii) not having above cmdline
parameter. Non-retpoline-enabled builds with gcc continue to use the
default case-values-threshold setting, so nothing changes here.

[0] https://lore.kernel.org/netdev/20190129095754.9390-1-bjorn.topel@gmail.com/
    and "The Path to DPDK Speeds for AF_XDP", LPC 2018, networking track:
  - http://vger.kernel.org/lpc_net2018_talks/lpc18_pres_af_xdp_perf-v3.pdf
  - http://vger.kernel.org/lpc_net2018_talks/lpc18_paper_af_xdp_perf-v2.pdf

Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Jesper Dangaard Brouer &lt;brouer@redhat.com&gt;
Acked-by: Björn Töpel &lt;bjorn.topel@intel.com&gt;
Acked-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: netdev@vger.kernel.org
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Magnus Karlsson &lt;magnus.karlsson@intel.com&gt;
Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Cc: Borislav Petkov &lt;bp@alien8.de&gt;
Link: https://lkml.kernel.org/r/20190221221941.29358-1-daniel@iogearbox.net

</content>
</entry>
<entry>
<title>x86/fpu: Get rid of CONFIG_AS_FXSAVEQ</title>
<updated>2019-01-22T13:16:39+00:00</updated>
<author>
<name>Borislav Petkov</name>
<email>bp@suse.de</email>
</author>
<published>2019-01-17T23:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=bae54dc4f353653bbd3e3081754adad05da1d4dd'/>
<id>urn:sha1:bae54dc4f353653bbd3e3081754adad05da1d4dd</id>
<content type='text'>
This was a "workaround" to probe for binutils which could generate
FXSAVEQ, apparently gas with min version 2.16. In the meantime, minimal
required gas version is 2.20 so all those workarounds for older binutils
can be dropped.

Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Acked-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Ingo Molnar &lt;mingo@redhat.com&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Andy Lutomirski &lt;luto@kernel.org&gt;
Link: https://lkml.kernel.org/r/20190117232408.GH5023@zn.tnic
</content>
</entry>
<entry>
<title>jump_label: move 'asm goto' support test to Kconfig</title>
<updated>2019-01-06T00:46:51+00:00</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2018-12-30T15:14:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=e9666d10a5677a494260d60d1fa0b73cc7646eb3'/>
<id>urn:sha1:e9666d10a5677a494260d60d1fa0b73cc7646eb3</id>
<content type='text'>
Currently, CONFIG_JUMP_LABEL just means "I _want_ to use jump label".

The jump label is controlled by HAVE_JUMP_LABEL, which is defined
like this:

  #if defined(CC_HAVE_ASM_GOTO) &amp;&amp; defined(CONFIG_JUMP_LABEL)
  # define HAVE_JUMP_LABEL
  #endif

We can improve this by testing 'asm goto' support in Kconfig, then
make JUMP_LABEL depend on CC_HAS_ASM_GOTO.

Ugly #ifdef HAVE_JUMP_LABEL will go away, and CONFIG_JUMP_LABEL will
match to the real kernel capability.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Acked-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt; (powerpc)
Tested-by: Sedat Dilek &lt;sedat.dilek@gmail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2018-12-27T00:57:27+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2018-12-27T00:57:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=6e54df001ac9262e3b78b34b87390fcb54677a0d'/>
<id>urn:sha1:6e54df001ac9262e3b78b34b87390fcb54677a0d</id>
<content type='text'>
Pull x86 build updates from Ingo Molnar:

 - Resolve LLVM build bug by removing redundant GNU specific flag

 - Remove obsolete -funit-at-a-time and -fno-unit-at-a-time use from x86
   PowerPC and UM.

   The UML change was seen and acked by UML maintainer Richard
   Weinberger.

* 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/um/vdso: Drop implicit common-page-size linker flag
  x86, powerpc: Remove -funit-at-a-time compiler option entirely
  x86/um: Remove -fno-unit-at-a-time workaround for pre-4.0 GCC
</content>
</entry>
<entry>
<title>Revert "kbuild/Makefile: Prepare for using macros in inline assembly code to work around asm() related GCC inlining bugs"</title>
<updated>2018-12-19T11:00:28+00:00</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@kernel.org</email>
</author>
<published>2018-12-19T10:27:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=6ac389346e6964e1f6a1c675cebf8bd0912526a5'/>
<id>urn:sha1:6ac389346e6964e1f6a1c675cebf8bd0912526a5</id>
<content type='text'>
This reverts commit 77b0bf55bc675233d22cd5df97605d516d64525e.

See this commit for details about the revert:

  e769742d3584 ("Revert "x86/jump-labels: Macrofy inline assembly code to work around GCC inlining bugs"")

 Conflicts:
	arch/x86/Makefile

Reported-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Reviewed-by: Borislav Petkov &lt;bp@alien8.de&gt;
Reviewed-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Juergen Gross &lt;jgross@suse.com&gt;
Cc: Richard Biener &lt;rguenther@suse.de&gt;
Cc: Kees Cook &lt;keescook@chromium.org&gt;
Cc: Segher Boessenkool &lt;segher@kernel.crashing.org&gt;
Cc: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Josh Poimboeuf &lt;jpoimboe@redhat.com&gt;
Cc: Nadav Amit &lt;namit@vmware.com&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86, powerpc: Remove -funit-at-a-time compiler option entirely</title>
<updated>2018-12-09T10:55:32+00:00</updated>
<author>
<name>Masahiro Yamada</name>
<email>yamada.masahiro@socionext.com</email>
</author>
<published>2018-11-12T02:35:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=63fea0af43af5beb3779fd2cae078d5d77b4bb11'/>
<id>urn:sha1:63fea0af43af5beb3779fd2cae078d5d77b4bb11</id>
<content type='text'>
GCC 4.6 manual says:

  -funit-at-a-time
    This option is left for compatibility reasons. -funit-at-a-time has
    no effect, while -fno-unit-at-a-time implies -fno-toplevel-reorder
    and -fno-section-anchors. Enabled by default.

Remove it.

Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;
Signed-off-by: Borislav Petkov &lt;bp@suse.de&gt;
Acked-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Acked-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Richard Weinberger &lt;richard@sigma-star.at&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: linuxppc-dev@lists.ozlabs.org
Cc: x86-ml &lt;x86@kernel.org&gt;
Link: https://lkml.kernel.org/r/1541990120-9643-3-git-send-email-yamada.masahiro@socionext.com
</content>
</entry>
</feed>
