diff mbox

[v4,4/6] tools: expand export.h with VMLINUX_SYMBOL()

Message ID 20170115211215.17216-5-mcgrof@kernel.org (mailing list archive)
State New, archived
Headers show

Commit Message

Luis Chamberlain Jan. 15, 2017, 9:12 p.m. UTC
This will be used later by the linker-table userspace sandbox.

Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
---
 tools/include/linux/export.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

Comments

Greg Kroah-Hartman Jan. 19, 2017, 11:03 a.m. UTC | #1
On Sun, Jan 15, 2017 at 01:12:13PM -0800, Luis R. Rodriguez wrote:
> This will be used later by the linker-table userspace sandbox.

That does not explan what this is, why it is needed, or anything at all
:(
Greg Kroah-Hartman Jan. 19, 2017, 11:04 a.m. UTC | #2
On Sun, Jan 15, 2017 at 01:12:13PM -0800, Luis R. Rodriguez wrote:
> This will be used later by the linker-table userspace sandbox.
> 
> Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
> ---
>  tools/include/linux/export.h | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/tools/include/linux/export.h b/tools/include/linux/export.h
> index d07e586b9ba0..cb7d6b490e08 100644
> --- a/tools/include/linux/export.h
> +++ b/tools/include/linux/export.h
> @@ -1,6 +1,28 @@
>  #ifndef _TOOLS_LINUX_EXPORT_H_
>  #define _TOOLS_LINUX_EXPORT_H_
>  
> +/*
> + * Export symbols from the kernel to modules.  Forked from module.h
> + * to reduce the amount of pointless cruft we feed to gcc when only
> + * exporting a simple symbol or two.

You copied it, yet did not remove it from the original?

> + *
> + * Try not to add #includes here.  It slows compilation and makes kernel
> + * hackers place grumpy comments in header files.

Define "slows" please.  I doubt it is measurable, and so, why even
mention it here?

thanks,

greg k-h
diff mbox

Patch

diff --git a/tools/include/linux/export.h b/tools/include/linux/export.h
index d07e586b9ba0..cb7d6b490e08 100644
--- a/tools/include/linux/export.h
+++ b/tools/include/linux/export.h
@@ -1,6 +1,28 @@ 
 #ifndef _TOOLS_LINUX_EXPORT_H_
 #define _TOOLS_LINUX_EXPORT_H_
 
+/*
+ * Export symbols from the kernel to modules.  Forked from module.h
+ * to reduce the amount of pointless cruft we feed to gcc when only
+ * exporting a simple symbol or two.
+ *
+ * Try not to add #includes here.  It slows compilation and makes kernel
+ * hackers place grumpy comments in header files.
+ */
+
+/* Some toolchains use a `_' prefix for all user symbols. */
+#ifdef CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX
+#define __VMLINUX_SYMBOL(x) _##x
+#define __VMLINUX_SYMBOL_STR(x) "_" #x
+#else
+#define __VMLINUX_SYMBOL(x) x
+#define __VMLINUX_SYMBOL_STR(x) #x
+#endif
+
+/* Indirect, so macros are expanded before pasting. */
+#define VMLINUX_SYMBOL(x) __VMLINUX_SYMBOL(x)
+#define VMLINUX_SYMBOL_STR(x) __VMLINUX_SYMBOL_STR(x)
+
 #define EXPORT_SYMBOL(sym)
 #define EXPORT_SYMBOL_GPL(sym)
 #define EXPORT_SYMBOL_GPL_FUTURE(sym)