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

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

From: akpm@linux-foundation.org (Andrew Morton)
Date: 2015-09-18 19:19:22
Also in: linux-arm-msm, linux-mips, lkml

On Wed, 16 Sep 2015 04:55:46 +0200 Andi Kleen [off-list ref] wrote:
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.
  */
 #define __visible	__attribute__((externally_visible))
 #endif
_
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help