Thread (12 messages) 12 messages, 3 authors, 2015-09-19

[PATCH 0/3] Add __ioread32_copy() and use it

From: Andi Kleen <hidden>
Date: 2015-09-19 20:16:35
Also in: linux-arm-msm, linux-mips, lkml

On Fri, Sep 18, 2015 at 12:19:19PM -0700, Andrew Morton wrote:
quoted hunk ↗ jump to hunk
On Wed, 16 Sep 2015 04:55:46 +0200 Andi Kleen [off-list ref] wrote:
quoted
quoted
Under what circumstances will the compiler (or linker?) do this? 
Compiler.
quoted
LTO enabled?
Yes it's for LTO.  The optimization allows the compiler to drop unused
functions, which is very popular with users (a lot use it to get smaller
kernel images)
Does this look truthful and complete?

--- a/include/linux/compiler-gcc.h~a
+++ a/include/linux/compiler-gcc.h
@@ -205,7 +205,10 @@
 
 #if GCC_VERSION >= 40600
 /*
- * Tell the optimizer that something else uses this function or variable.
+ * When used with Link Time Optimization, gcc can optimize away C functions or
+ * variables which are referenced only from assembly code.  __visible tells the
+ * optimizer that something else uses this function or variable, thus preventing
+ * this.
Yes,

In a few cases I also used it to work around LTO bugs in older gcc
releases. I don't think any of those fixes made it into mainline though,
and they are not needed anymore with 5.x

-Andi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help